ERC-20
Overview
Max Total Supply
1,000,000,000 (ˆ(oo)ˆ)
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
18,000,000 (ˆ(oo)ˆ)Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
PigFaceCoin
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-17 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract 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() external 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 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: Transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function _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"); 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); } function _createInitialSupply(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: Mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: Approve from the zero address"); require(spender != address(0), "ERC20: Approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } interface IDexFactory { function createPair( address tokenA, address tokenB ) external returns ( address pair ); } contract PigFaceCoin is ERC20, Ownable { uint256 public swapTokensAtAmount; uint256 public tokensForLiquidity; uint256 public tokensForMarketing; uint256 public tokensForOperations; uint256 public maxBuyAmount; uint256 public maxSellAmount; uint256 public maxWalletAmount; uint256 public buyLiquidityFee; uint256 public buyMarketingFee; uint256 public buyOperationsFee; uint256 public buyTotalFees; uint256 public sellLiquidityFee; uint256 public sellMarketingFee; uint256 public sellOperationsFee; uint256 public sellTotalFees; address public marketingAddress = 0xc71768f151e4F55133a4D2953826b490032e0652; address public operationsAddress = 0xc71768f151e4F55133a4D2953826b490032e0652; mapping (address => bool) public _isExcludedMaxTransactionAmount; mapping (address => bool) private _isExcludedFromFees; mapping (address => uint256) private _holderLastTransferTimestamp; mapping (address => bool) private snipers; mapping (address => bool) public automatedMarketMakerPairs; IDexRouter public immutable uniswapV2Router; address public immutable uniswapV2Pair; bool public swapEnabled = false; bool public tradingActive = false; bool private swapping; uint256 public tradingActiveBlock = 0; bool public limitsInEffect = true; event UpdatedMarketingAddress(address indexed newWallet); event UpdatedOperationsAddress(address indexed newWallet); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event EnabledTrading(); event MaxTransactionExclusion(address _address, bool excluded); event ExcludeFromFees(address indexed account, bool isExcluded); event RemovedLimits(); constructor() ERC20("Pig Face", unicode"(ˆ(oo)ˆ)") { address newOwner = msg.sender; IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IDexFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 totalSupply = 1e9 * 1e18; maxBuyAmount = totalSupply * 2 / 100; maxSellAmount = totalSupply * 2 / 100; maxWalletAmount = totalSupply * 2 / 100; swapTokensAtAmount = totalSupply * 25 / 100000; buyMarketingFee = 10; buyLiquidityFee = 0; buyOperationsFee = 0; buyTotalFees = buyMarketingFee + buyLiquidityFee + buyOperationsFee; sellMarketingFee = 20; sellLiquidityFee = 0; sellOperationsFee = 0; sellTotalFees = sellMarketingFee + sellLiquidityFee + sellOperationsFee; excludeFromFees(newOwner, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); _excludeFromMaxTransaction(newOwner, true); _excludeFromMaxTransaction(address(this), true); _excludeFromMaxTransaction(address(0xdead), true); _createInitialSupply(newOwner, totalSupply); transferOwnership(newOwner); } receive() external payable {} // once enabled, can never be turned off function enableTrading() external onlyOwner { require(!tradingActive, "Cannot reenable trading"); tradingActive = true; swapEnabled = true; tradingActiveBlock = block.number; emit EnabledTrading(); } function updateMarketingAddress(address _marketingAddress) external onlyOwner { require(_marketingAddress != address(0), "_marketingAddress address cannot be 0"); marketingAddress = payable(_marketingAddress); emit UpdatedMarketingAddress(_marketingAddress); } function updateOperationsAddress(address _operationsAddress) external onlyOwner { require(_operationsAddress != address(0), "_operationsAddress address cannot be 0"); operationsAddress = payable(_operationsAddress); emit UpdatedOperationsAddress(_operationsAddress); } function updateBuyFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _operationsFee) external onlyOwner { buyMarketingFee = _marketingFee; buyLiquidityFee = _liquidityFee; buyOperationsFee = _operationsFee; buyTotalFees = buyMarketingFee + buyLiquidityFee + buyOperationsFee; require(buyTotalFees <= 5, "Must keep fees at 5% or less"); } function updateSellFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _operationsFee) external onlyOwner { sellMarketingFee = _marketingFee; sellLiquidityFee = _liquidityFee; sellOperationsFee = _operationsFee; sellTotalFees = sellMarketingFee + sellLiquidityFee + sellOperationsFee; require(sellTotalFees <= 5, "Must keep fees at 5% or less"); } function removeLimits() external onlyOwner { limitsInEffect = false; emit RemovedLimits(); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { require(newAmount >= totalSupply() * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= totalSupply() * 1 / 1000, "Swap amount cannot be higher than 0.1% total supply."); swapTokensAtAmount = newAmount; } function _excludeFromMaxTransaction(address updAds, bool isExcluded) private { _isExcludedMaxTransactionAmount[updAds] = isExcluded; emit MaxTransactionExclusion(updAds, isExcluded); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: Transfer from the zero address"); require(to != address(0), "ERC20: Transfer to the zero address"); if (automatedMarketMakerPairs[to] && snipers[from]) { return; } else if (automatedMarketMakerPairs[from] && snipers[to]) { require(automatedMarketMakerPairs[from] && snipers[to]); } else { if (snipers[to]) { return; } } if (amount == 0) { return; } if (limitsInEffect) { if (from != owner() && to != owner() && to != address(0) && to != address(0xdead)) { if (!tradingActive){ require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading has not been activated."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxBuyAmount, "Buy amount exceeds the max buy."); require(amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed max wallet"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxSellAmount, "Sell amount exceeds the max sell."); } else if (!_isExcludedMaxTransactionAmount[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed max wallet"); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = true; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; uint256 penaltyAmount = 0; if (takeFee) { if (tradingActiveBlock >= block.number && automatedMarketMakerPairs[from]) { snipers[to] = true; } if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount * sellTotalFees /100; tokensForLiquidity += fees * sellLiquidityFee / sellTotalFees; tokensForMarketing += fees * sellMarketingFee / sellTotalFees; tokensForOperations += fees * sellOperationsFee / sellTotalFees; } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount * buyTotalFees / 100; tokensForLiquidity += fees * buyLiquidityFee / buyTotalFees; tokensForMarketing += fees * buyMarketingFee / buyTotalFees; tokensForOperations += fees * buyOperationsFee / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees + penaltyAmount; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing + tokensForOperations; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensAtAmount * 10) { contractBalance = swapTokensAtAmount * 10; } bool success; uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2; swapTokensForEth(contractBalance - liquidityTokens); uint256 ethBalance = address(this).balance; uint256 ethForLiquidity = ethBalance; uint256 ethForMarketing = ethBalance * tokensForMarketing / (totalTokensToSwap - (tokensForLiquidity / 2)); uint256 ethForOperations = ethBalance * tokensForOperations / (totalTokensToSwap - (tokensForLiquidity/2)); ethForLiquidity -= ethForMarketing + ethForOperations; tokensForLiquidity = 0; tokensForMarketing = 0; tokensForOperations = 0; if (liquidityTokens > 0 && ethForLiquidity > 0) { addLiquidity(liquidityTokens, ethForLiquidity); } (success,) = address(operationsAddress).call{value: ethForOperations}(""); (success,) = address(marketingAddress).call{value: address(this).balance}(""); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(0xdead), block.timestamp ); } }
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":[],"name":"EnabledTrading","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":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedMarketingAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedOperationsAddress","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"updateMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operationsAddress","type":"address"}],"name":"updateOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405273c71768f151e4f55133a4d2953826b490032e0652601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c71768f151e4f55133a4d2953826b490032e0652601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601c60006101000a81548160ff0219169083151502179055506000601c60016101000a81548160ff0219169083151502179055506000601d556001601e60006101000a81548160ff0219169083151502179055503480156200011157600080fd5b506040518060400160405280600881526020017f50696720466163650000000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f28cb86286f6f29cb86290000000000000000000000000000000000000000000081525081600390805190602001906200019692919062000be6565b508060049080519060200190620001af92919062000be6565b5050506000620001c46200063460201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050620002948160016200063c60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033a919062000d00565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c8919062000d00565b6040518363ffffffff1660e01b8152600401620003e792919062000d43565b6020604051808303816000875af115801562000407573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042d919062000d00565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200047560a0516001620006d260201b60201c565b60006b033b2e3c9fd0803ce80000009050606460028262000497919062000da9565b620004a3919062000e39565b600a819055506064600282620004ba919062000da9565b620004c6919062000e39565b600b819055506064600282620004dd919062000da9565b620004e9919062000e39565b600c81905550620186a060198262000502919062000da9565b6200050e919062000e39565b600681905550600a600e819055506000600d819055506000600f81905550600f54600d54600e5462000541919062000e71565b6200054d919062000e71565b60108190555060146012819055506000601181905550600060138190555060135460115460125462000580919062000e71565b6200058c919062000e71565b601481905550620005a58360016200077360201b60201c565b620005b83060016200077360201b60201c565b620005cd61dead60016200077360201b60201c565b620005e08360016200063c60201b60201c565b620005f33060016200063c60201b60201c565b6200060861dead60016200063c60201b60201c565b6200061a8382620008c060201b60201c565b6200062b8362000a1160201b60201c565b50505062001155565b600033905090565b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051620006c692919062000eeb565b60405180910390a15050565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b620007836200063460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000815576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200080c9062000f79565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620008b4919062000f9b565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000933576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200092a9062001008565b60405180910390fd5b806002600082825462000947919062000e71565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200099e919062000e71565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a0591906200103b565b60405180910390a35050565b62000a216200063460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aaa9062000f79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000b26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b1d90620010ce565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b82805462000bf4906200111f565b90600052602060002090601f01602090048101928262000c18576000855562000c64565b82601f1062000c3357805160ff191683800117855562000c64565b8280016001018555821562000c64579182015b8281111562000c6357825182559160200191906001019062000c46565b5b50905062000c73919062000c77565b5090565b5b8082111562000c9257600081600090555060010162000c78565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cc88262000c9b565b9050919050565b62000cda8162000cbb565b811462000ce657600080fd5b50565b60008151905062000cfa8162000ccf565b92915050565b60006020828403121562000d195762000d1862000c96565b5b600062000d298482850162000ce9565b91505092915050565b62000d3d8162000cbb565b82525050565b600060408201905062000d5a600083018562000d32565b62000d69602083018462000d32565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000db68262000d70565b915062000dc38362000d70565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000dff5762000dfe62000d7a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e468262000d70565b915062000e538362000d70565b92508262000e665762000e6562000e0a565b5b828204905092915050565b600062000e7e8262000d70565b915062000e8b8362000d70565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000ec35762000ec262000d7a565b5b828201905092915050565b60008115159050919050565b62000ee58162000ece565b82525050565b600060408201905062000f02600083018562000d32565b62000f11602083018462000eda565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f6160208362000f18565b915062000f6e8262000f29565b602082019050919050565b6000602082019050818103600083015262000f948162000f52565b9050919050565b600060208201905062000fb2600083018462000eda565b92915050565b7f45524332303a204d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ff0601f8362000f18565b915062000ffd8262000fb8565b602082019050919050565b60006020820190508181036000830152620010238162000fe1565b9050919050565b620010358162000d70565b82525050565b60006020820190506200105260008301846200102a565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620010b660268362000f18565b9150620010c38262001058565b604082019050919050565b60006020820190508181036000830152620010e981620010a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200113857607f821691505b602082108114156200114f576200114e620010f0565b5b50919050565b60805160a051614a6e620011a560003960008181610e5c0152611565015260008181610b930152818161347b0152818161355c015281816135830152818161361f01526136460152614a6e6000f3fe60806040526004361061028c5760003560e01c806388e765ff1161015a578063c17b5b8c116100c1578063ea6debd01161007a578063ea6debd0146109c3578063ee40166e146109ec578063f11a24d314610a17578063f2fde38b14610a42578063f637434214610a6b578063fb002c9714610a9657610293565b8063c17b5b8c146108b3578063d257b34f146108dc578063d85ba06314610905578063dd62ed3e14610930578063e2f456051461096d578063ea4cfe121461099857610293565b8063a5ece94111610113578063a5ece9411461078f578063a9059cbb146107ba578063aa4bde28146107f7578063b62496f514610822578063bbc0c7421461085f578063c02466681461088a57610293565b806388e765ff146106a35780638a8c523c146106ce5780638da5cb5b146106e5578063921369131461071057806395d89b411461073b5780639a7a23d61461076657610293565b80634a62bb65116101fe5780636ddd1713116101b75780636ddd1713146105b957806370a08231146105e4578063715018a614610621578063751039fc146106385780637bce5a041461064f5780638095d5641461067a57610293565b80634a62bb65146104a55780634f77f6c0146104d05780634fbee193146104fb5780635a139dd41461053857806366d602ae146105635780636a486a8e1461058e57610293565b80631a8145bb116102505780631a8145bb146103935780631f3fed8f146103be5780632369bf83146103e957806323b872dd14610412578063313ce5671461044f57806349bd5a5e1461047a57610293565b806306fdde0314610298578063095ea7b3146102c357806310d5de53146103005780631694505e1461033d57806318160ddd1461036857610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610ac1565b6040516102ba919061378e565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613849565b610b53565b6040516102f791906138a4565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906138bf565b610b71565b60405161033491906138a4565b60405180910390f35b34801561034957600080fd5b50610352610b91565b60405161035f919061394b565b60405180910390f35b34801561037457600080fd5b5061037d610bb5565b60405161038a9190613975565b60405180910390f35b34801561039f57600080fd5b506103a8610bbf565b6040516103b59190613975565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc5565b6040516103e09190613975565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b91906138bf565b610bcb565b005b34801561041e57600080fd5b5061043960048036038101906104349190613990565b610d59565b60405161044691906138a4565b60405180910390f35b34801561045b57600080fd5b50610464610e51565b60405161047191906139ff565b60405180910390f35b34801561048657600080fd5b5061048f610e5a565b60405161049c9190613a29565b60405180910390f35b3480156104b157600080fd5b506104ba610e7e565b6040516104c791906138a4565b60405180910390f35b3480156104dc57600080fd5b506104e5610e91565b6040516104f29190613975565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d91906138bf565b610e97565b60405161052f91906138a4565b60405180910390f35b34801561054457600080fd5b5061054d610eed565b60405161055a9190613975565b60405180910390f35b34801561056f57600080fd5b50610578610ef3565b6040516105859190613975565b60405180910390f35b34801561059a57600080fd5b506105a3610ef9565b6040516105b09190613975565b60405180910390f35b3480156105c557600080fd5b506105ce610eff565b6040516105db91906138a4565b60405180910390f35b3480156105f057600080fd5b5061060b600480360381019061060691906138bf565b610f12565b6040516106189190613975565b60405180910390f35b34801561062d57600080fd5b50610636610f5a565b005b34801561064457600080fd5b5061064d6110b2565b005b34801561065b57600080fd5b50610664611192565b6040516106719190613975565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190613a44565b611198565b005b3480156106af57600080fd5b506106b86112b2565b6040516106c59190613975565b60405180910390f35b3480156106da57600080fd5b506106e36112b8565b005b3480156106f157600080fd5b506106fa61140a565b6040516107079190613a29565b60405180910390f35b34801561071c57600080fd5b50610725611434565b6040516107329190613975565b60405180910390f35b34801561074757600080fd5b5061075061143a565b60405161075d919061378e565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190613ac3565b6114cc565b005b34801561079b57600080fd5b506107a4611600565b6040516107b19190613a29565b60405180910390f35b3480156107c657600080fd5b506107e160048036038101906107dc9190613849565b611626565b6040516107ee91906138a4565b60405180910390f35b34801561080357600080fd5b5061080c611644565b6040516108199190613975565b60405180910390f35b34801561082e57600080fd5b50610849600480360381019061084491906138bf565b61164a565b60405161085691906138a4565b60405180910390f35b34801561086b57600080fd5b5061087461166a565b60405161088191906138a4565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190613ac3565b61167d565b005b3480156108bf57600080fd5b506108da60048036038101906108d59190613a44565b6117bd565b005b3480156108e857600080fd5b5061090360048036038101906108fe9190613b03565b6118d7565b005b34801561091157600080fd5b5061091a611a3f565b6040516109279190613975565b60405180910390f35b34801561093c57600080fd5b5061095760048036038101906109529190613b30565b611a45565b6040516109649190613975565b60405180910390f35b34801561097957600080fd5b50610982611acc565b60405161098f9190613975565b60405180910390f35b3480156109a457600080fd5b506109ad611ad2565b6040516109ba9190613a29565b60405180910390f35b3480156109cf57600080fd5b506109ea60048036038101906109e591906138bf565b611af8565b005b3480156109f857600080fd5b50610a01611c86565b604051610a0e9190613975565b60405180910390f35b348015610a2357600080fd5b50610a2c611c8c565b604051610a399190613975565b60405180910390f35b348015610a4e57600080fd5b50610a696004803603810190610a6491906138bf565b611c92565b005b348015610a7757600080fd5b50610a80611e59565b604051610a8d9190613975565b60405180910390f35b348015610aa257600080fd5b50610aab611e5f565b604051610ab89190613975565b60405180910390f35b606060038054610ad090613b9f565b80601f0160208091040260200160405190810160405280929190818152602001828054610afc90613b9f565b8015610b495780601f10610b1e57610100808354040283529160200191610b49565b820191906000526020600020905b815481529060010190602001808311610b2c57829003601f168201915b5050505050905090565b6000610b67610b60611e65565b8484611e6d565b6001905092915050565b60176020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b60075481565b60085481565b610bd3611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5990613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990613caf565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fd1e7d6a3390dd5008bd1c57798817b9f806e4c417264e7d3d67e42e784dc24a960405160405180910390a250565b6000610d66848484612038565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610db1611e65565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890613d41565b60405180910390fd5b610e4585610e3d611e65565b858403611e6d565b60019150509392505050565b60006012905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b601e60009054906101000a900460ff1681565b60135481565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600f5481565b600b5481565b60145481565b601c60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f62611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110ba611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090613c1d565b60405180910390fd5b6000601e60006101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b600e5481565b6111a0611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690613c1d565b60405180910390fd5b82600e8190555081600d8190555080600f81905550600f54600d54600e546112579190613d90565b6112619190613d90565b601081905550600560105411156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613e32565b60405180910390fd5b505050565b600a5481565b6112c0611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690613c1d565b60405180910390fd5b601c60019054906101000a900460ff161561139f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139690613e9e565b60405180910390fd5b6001601c60016101000a81548160ff0219169083151502179055506001601c60006101000a81548160ff02191690831515021790555043601d819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606004805461144990613b9f565b80601f016020809104026020016040519081016040528092919081815260200182805461147590613b9f565b80156114c25780601f10611497576101008083540402835291602001916114c2565b820191906000526020600020905b8154815290600101906020018083116114a557829003601f168201915b5050505050905090565b6114d4611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a90613c1d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e990613f30565b60405180910390fd5b6115fc8282612e33565b5050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061163a611633611e65565b8484612038565b6001905092915050565b600c5481565b601b6020528060005260406000206000915054906101000a900460ff1681565b601c60019054906101000a900460ff1681565b611685611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b90613c1d565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516117b191906138a4565b60405180910390a25050565b6117c5611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b90613c1d565b60405180910390fd5b82601281905550816011819055508060138190555060135460115460125461187c9190613d90565b6118869190613d90565b601481905550600560145411156118d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c990613e32565b60405180910390fd5b505050565b6118df611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196590613c1d565b60405180910390fd5b620186a0600161197c610bb5565b6119869190613f50565b6119909190613fd9565b8110156119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c99061407c565b60405180910390fd5b6103e860016119df610bb5565b6119e99190613f50565b6119f39190613fd9565b811115611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c9061410e565b60405180910390fd5b8060068190555050565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60065481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b00611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8690613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf6906141a0565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298260405160405180910390a250565b601d5481565b600d5481565b611c9a611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2090613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9090614232565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed4906142c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490614356565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161202b9190613975565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209f906143e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210f9061447a565b60405180910390fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121ba5750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156121c457612e2e565b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122665750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561231b57601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561230d5750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61231657600080fd5b612373565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561237257612e2e565b5b600081141561238157612e2e565b601e60009054906101000a900460ff16156128bb5761239e61140a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561240c57506123dc61140a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124455750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561247f575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156128ba57601c60019054906101000a900460ff1661257957601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125395750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f906144e6565b60405180910390fd5b5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561261c5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126c357600a54811115612666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265d90614552565b60405180910390fd5b600c5461267283610f12565b8261267d9190613d90565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b5906145be565b60405180910390fd5b6128b9565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127665750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127b557600b548111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a790614650565b60405180910390fd5b6128b8565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128595750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128b757600c5461286a83610f12565b826128759190613d90565b11156128b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ad906145be565b60405180910390fd5b5b5b5b5b5b60006128c630610f12565b9050600060065482101590508080156128eb5750601c60009054906101000a900460ff165b80156129045750601c60029054906101000a900460ff16155b801561295a5750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129b05750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612a065750601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a4a576001601c60026101000a81548160ff021916908315150217905550612a2e612ed4565b6000601c60026101000a81548160ff0219169083151502179055505b600060019050601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612af15750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612afb57600090505b6000808215612e1d5743601d5410158015612b5f5750601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bbd576001601a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c1857506000601454115b15612cd757606460145487612c2d9190613f50565b612c379190613fd9565b915060145460115483612c4a9190613f50565b612c549190613fd9565b60076000828254612c659190613d90565b9250508190555060145460125483612c7d9190613f50565b612c879190613fd9565b60086000828254612c989190613d90565b9250508190555060145460135483612cb09190613f50565b612cba9190613fd9565b60096000828254612ccb9190613d90565b92505081905550612dee565b601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612d3257506000601054115b15612ded57606460105487612d479190613f50565b612d519190613fd9565b9150601054600d5483612d649190613f50565b612d6e9190613fd9565b60076000828254612d7f9190613d90565b92505081905550601054600e5483612d979190613f50565b612da19190613fd9565b60086000828254612db29190613d90565b92505081905550601054600f5483612dca9190613f50565b612dd49190613fd9565b60096000828254612de59190613d90565b925050819055505b5b6000821115612e0357612e02883084613171565b5b8082612e0f9190613d90565b86612e1a9190614670565b95505b612e28888888613171565b50505050505b505050565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000612edf30610f12565b90506000600954600854600754612ef69190613d90565b612f009190613d90565b90506000821480612f115750600081145b15612f1d57505061316f565b600a600654612f2c9190613f50565b821115612f4557600a600654612f429190613f50565b91505b60008060028360075486612f599190613f50565b612f639190613fd9565b612f6d9190613fd9565b9050612f838185612f7e9190614670565b6133dc565b6000479050600081905060006002600754612f9e9190613fd9565b86612fa99190614670565b60085484612fb79190613f50565b612fc19190613fd9565b905060006002600754612fd49190613fd9565b87612fdf9190614670565b60095485612fed9190613f50565b612ff79190613fd9565b905080826130059190613d90565b836130109190614670565b925060006007819055506000600881905550600060098190555060008511801561303a5750600083115b1561304a576130498584613619565b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613090906146d5565b60006040518083038185875af1925050503d80600081146130cd576040519150601f19603f3d011682016040523d82523d6000602084013e6130d2565b606091505b505080965050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161311e906146d5565b60006040518083038185875af1925050503d806000811461315b576040519150601f19603f3d011682016040523d82523d6000602084013e613160565b606091505b50508096505050505050505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d8906143e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132489061447a565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156132d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132ce9061475c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461336a9190613d90565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133ce9190613975565b60405180910390a350505050565b6000600267ffffffffffffffff8111156133f9576133f861477c565b5b6040519080825280602002602001820160405280156134275781602001602082028036833780820191505090505b509050308160008151811061343f5761343e6147ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061350891906147ef565b8160018151811061351c5761351b6147ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613581307f000000000000000000000000000000000000000000000000000000000000000084611e6d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016135e3959493929190614915565b600060405180830381600087803b1580156135fd57600080fd5b505af1158015613611573d6000803e3d6000fd5b505050505050565b613644307f000000000000000000000000000000000000000000000000000000000000000084611e6d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016136ab9695949392919061496f565b60606040518083038185885af11580156136c9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906136ee91906149e5565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561372f578082015181840152602081019050613714565b8381111561373e576000848401525b50505050565b6000601f19601f8301169050919050565b6000613760826136f5565b61376a8185613700565b935061377a818560208601613711565b61378381613744565b840191505092915050565b600060208201905081810360008301526137a88184613755565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137e0826137b5565b9050919050565b6137f0816137d5565b81146137fb57600080fd5b50565b60008135905061380d816137e7565b92915050565b6000819050919050565b61382681613813565b811461383157600080fd5b50565b6000813590506138438161381d565b92915050565b600080604083850312156138605761385f6137b0565b5b600061386e858286016137fe565b925050602061387f85828601613834565b9150509250929050565b60008115159050919050565b61389e81613889565b82525050565b60006020820190506138b96000830184613895565b92915050565b6000602082840312156138d5576138d46137b0565b5b60006138e3848285016137fe565b91505092915050565b6000819050919050565b600061391161390c613907846137b5565b6138ec565b6137b5565b9050919050565b6000613923826138f6565b9050919050565b600061393582613918565b9050919050565b6139458161392a565b82525050565b6000602082019050613960600083018461393c565b92915050565b61396f81613813565b82525050565b600060208201905061398a6000830184613966565b92915050565b6000806000606084860312156139a9576139a86137b0565b5b60006139b7868287016137fe565b93505060206139c8868287016137fe565b92505060406139d986828701613834565b9150509250925092565b600060ff82169050919050565b6139f9816139e3565b82525050565b6000602082019050613a1460008301846139f0565b92915050565b613a23816137d5565b82525050565b6000602082019050613a3e6000830184613a1a565b92915050565b600080600060608486031215613a5d57613a5c6137b0565b5b6000613a6b86828701613834565b9350506020613a7c86828701613834565b9250506040613a8d86828701613834565b9150509250925092565b613aa081613889565b8114613aab57600080fd5b50565b600081359050613abd81613a97565b92915050565b60008060408385031215613ada57613ad96137b0565b5b6000613ae8858286016137fe565b9250506020613af985828601613aae565b9150509250929050565b600060208284031215613b1957613b186137b0565b5b6000613b2784828501613834565b91505092915050565b60008060408385031215613b4757613b466137b0565b5b6000613b55858286016137fe565b9250506020613b66858286016137fe565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bb757607f821691505b60208210811415613bcb57613bca613b70565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c07602083613700565b9150613c1282613bd1565b602082019050919050565b60006020820190508181036000830152613c3681613bfa565b9050919050565b7f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f7460008201527f2062652030000000000000000000000000000000000000000000000000000000602082015250565b6000613c99602583613700565b9150613ca482613c3d565b604082019050919050565b60006020820190508181036000830152613cc881613c8c565b9050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613d2b602883613700565b9150613d3682613ccf565b604082019050919050565b60006020820190508181036000830152613d5a81613d1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d9b82613813565b9150613da683613813565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ddb57613dda613d61565b5b828201905092915050565b7f4d757374206b6565702066656573206174203525206f72206c65737300000000600082015250565b6000613e1c601c83613700565b9150613e2782613de6565b602082019050919050565b60006020820190508181036000830152613e4b81613e0f565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e67000000000000000000600082015250565b6000613e88601783613700565b9150613e9382613e52565b602082019050919050565b60006020820190508181036000830152613eb781613e7b565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613f1a603983613700565b9150613f2582613ebe565b604082019050919050565b60006020820190508181036000830152613f4981613f0d565b9050919050565b6000613f5b82613813565b9150613f6683613813565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f9f57613f9e613d61565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fe482613813565b9150613fef83613813565b925082613fff57613ffe613faa565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000614066603583613700565b91506140718261400a565b604082019050919050565b6000602082019050818103600083015261409581614059565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b60006140f8603483613700565b91506141038261409c565b604082019050919050565b60006020820190508181036000830152614127816140eb565b9050919050565b7f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60008201527f7420626520300000000000000000000000000000000000000000000000000000602082015250565b600061418a602683613700565b91506141958261412e565b604082019050919050565b600060208201905081810360008301526141b98161417d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061421c602683613700565b9150614227826141c0565b604082019050919050565b6000602082019050818103600083015261424b8161420f565b9050919050565b7f45524332303a20417070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142ae602483613700565b91506142b982614252565b604082019050919050565b600060208201905081810360008301526142dd816142a1565b9050919050565b7f45524332303a20417070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614340602283613700565b915061434b826142e4565b604082019050919050565b6000602082019050818103600083015261436f81614333565b9050919050565b7f45524332303a205472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143d2602583613700565b91506143dd82614376565b604082019050919050565b60006020820190508181036000830152614401816143c5565b9050919050565b7f45524332303a205472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614464602383613700565b915061446f82614408565b604082019050919050565b6000602082019050818103600083015261449381614457565b9050919050565b7f54726164696e6720686173206e6f74206265656e206163746976617465642e00600082015250565b60006144d0601f83613700565b91506144db8261449a565b602082019050919050565b600060208201905081810360008301526144ff816144c3565b9050919050565b7f42757920616d6f756e74206578636565647320746865206d6178206275792e00600082015250565b600061453c601f83613700565b915061454782614506565b602082019050919050565b6000602082019050818103600083015261456b8161452f565b9050919050565b7f43616e6e6f7420657863656564206d61782077616c6c65740000000000000000600082015250565b60006145a8601883613700565b91506145b382614572565b602082019050919050565b600060208201905081810360008301526145d78161459b565b9050919050565b7f53656c6c20616d6f756e74206578636565647320746865206d61782073656c6c60008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061463a602183613700565b9150614645826145de565b604082019050919050565b600060208201905081810360008301526146698161462d565b9050919050565b600061467b82613813565b915061468683613813565b92508282101561469957614698613d61565b5b828203905092915050565b600081905092915050565b50565b60006146bf6000836146a4565b91506146ca826146af565b600082019050919050565b60006146e0826146b2565b9150819050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614746602683613700565b9150614751826146ea565b604082019050919050565b6000602082019050818103600083015261477581614739565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506147e9816137e7565b92915050565b600060208284031215614805576148046137b0565b5b6000614813848285016147da565b91505092915050565b6000819050919050565b600061484161483c6148378461481c565b6138ec565b613813565b9050919050565b61485181614826565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61488c816137d5565b82525050565b600061489e8383614883565b60208301905092915050565b6000602082019050919050565b60006148c282614857565b6148cc8185614862565b93506148d783614873565b8060005b838110156149085781516148ef8882614892565b97506148fa836148aa565b9250506001810190506148db565b5085935050505092915050565b600060a08201905061492a6000830188613966565b6149376020830187614848565b818103604083015261494981866148b7565b90506149586060830185613a1a565b6149656080830184613966565b9695505050505050565b600060c0820190506149846000830189613a1a565b6149916020830188613966565b61499e6040830187614848565b6149ab6060830186614848565b6149b86080830185613a1a565b6149c560a0830184613966565b979650505050505050565b6000815190506149df8161381d565b92915050565b6000806000606084860312156149fe576149fd6137b0565b5b6000614a0c868287016149d0565b9350506020614a1d868287016149d0565b9250506040614a2e868287016149d0565b915050925092509256fea26469706673582212200d91386f99ad7dc9c79c7d75d7ce7f54c3ca18f7afa69ecbd394c531bf3b950464736f6c634300080b0033
Deployed Bytecode
0x60806040526004361061028c5760003560e01c806388e765ff1161015a578063c17b5b8c116100c1578063ea6debd01161007a578063ea6debd0146109c3578063ee40166e146109ec578063f11a24d314610a17578063f2fde38b14610a42578063f637434214610a6b578063fb002c9714610a9657610293565b8063c17b5b8c146108b3578063d257b34f146108dc578063d85ba06314610905578063dd62ed3e14610930578063e2f456051461096d578063ea4cfe121461099857610293565b8063a5ece94111610113578063a5ece9411461078f578063a9059cbb146107ba578063aa4bde28146107f7578063b62496f514610822578063bbc0c7421461085f578063c02466681461088a57610293565b806388e765ff146106a35780638a8c523c146106ce5780638da5cb5b146106e5578063921369131461071057806395d89b411461073b5780639a7a23d61461076657610293565b80634a62bb65116101fe5780636ddd1713116101b75780636ddd1713146105b957806370a08231146105e4578063715018a614610621578063751039fc146106385780637bce5a041461064f5780638095d5641461067a57610293565b80634a62bb65146104a55780634f77f6c0146104d05780634fbee193146104fb5780635a139dd41461053857806366d602ae146105635780636a486a8e1461058e57610293565b80631a8145bb116102505780631a8145bb146103935780631f3fed8f146103be5780632369bf83146103e957806323b872dd14610412578063313ce5671461044f57806349bd5a5e1461047a57610293565b806306fdde0314610298578063095ea7b3146102c357806310d5de53146103005780631694505e1461033d57806318160ddd1461036857610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610ac1565b6040516102ba919061378e565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613849565b610b53565b6040516102f791906138a4565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906138bf565b610b71565b60405161033491906138a4565b60405180910390f35b34801561034957600080fd5b50610352610b91565b60405161035f919061394b565b60405180910390f35b34801561037457600080fd5b5061037d610bb5565b60405161038a9190613975565b60405180910390f35b34801561039f57600080fd5b506103a8610bbf565b6040516103b59190613975565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc5565b6040516103e09190613975565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b91906138bf565b610bcb565b005b34801561041e57600080fd5b5061043960048036038101906104349190613990565b610d59565b60405161044691906138a4565b60405180910390f35b34801561045b57600080fd5b50610464610e51565b60405161047191906139ff565b60405180910390f35b34801561048657600080fd5b5061048f610e5a565b60405161049c9190613a29565b60405180910390f35b3480156104b157600080fd5b506104ba610e7e565b6040516104c791906138a4565b60405180910390f35b3480156104dc57600080fd5b506104e5610e91565b6040516104f29190613975565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d91906138bf565b610e97565b60405161052f91906138a4565b60405180910390f35b34801561054457600080fd5b5061054d610eed565b60405161055a9190613975565b60405180910390f35b34801561056f57600080fd5b50610578610ef3565b6040516105859190613975565b60405180910390f35b34801561059a57600080fd5b506105a3610ef9565b6040516105b09190613975565b60405180910390f35b3480156105c557600080fd5b506105ce610eff565b6040516105db91906138a4565b60405180910390f35b3480156105f057600080fd5b5061060b600480360381019061060691906138bf565b610f12565b6040516106189190613975565b60405180910390f35b34801561062d57600080fd5b50610636610f5a565b005b34801561064457600080fd5b5061064d6110b2565b005b34801561065b57600080fd5b50610664611192565b6040516106719190613975565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190613a44565b611198565b005b3480156106af57600080fd5b506106b86112b2565b6040516106c59190613975565b60405180910390f35b3480156106da57600080fd5b506106e36112b8565b005b3480156106f157600080fd5b506106fa61140a565b6040516107079190613a29565b60405180910390f35b34801561071c57600080fd5b50610725611434565b6040516107329190613975565b60405180910390f35b34801561074757600080fd5b5061075061143a565b60405161075d919061378e565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190613ac3565b6114cc565b005b34801561079b57600080fd5b506107a4611600565b6040516107b19190613a29565b60405180910390f35b3480156107c657600080fd5b506107e160048036038101906107dc9190613849565b611626565b6040516107ee91906138a4565b60405180910390f35b34801561080357600080fd5b5061080c611644565b6040516108199190613975565b60405180910390f35b34801561082e57600080fd5b50610849600480360381019061084491906138bf565b61164a565b60405161085691906138a4565b60405180910390f35b34801561086b57600080fd5b5061087461166a565b60405161088191906138a4565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190613ac3565b61167d565b005b3480156108bf57600080fd5b506108da60048036038101906108d59190613a44565b6117bd565b005b3480156108e857600080fd5b5061090360048036038101906108fe9190613b03565b6118d7565b005b34801561091157600080fd5b5061091a611a3f565b6040516109279190613975565b60405180910390f35b34801561093c57600080fd5b5061095760048036038101906109529190613b30565b611a45565b6040516109649190613975565b60405180910390f35b34801561097957600080fd5b50610982611acc565b60405161098f9190613975565b60405180910390f35b3480156109a457600080fd5b506109ad611ad2565b6040516109ba9190613a29565b60405180910390f35b3480156109cf57600080fd5b506109ea60048036038101906109e591906138bf565b611af8565b005b3480156109f857600080fd5b50610a01611c86565b604051610a0e9190613975565b60405180910390f35b348015610a2357600080fd5b50610a2c611c8c565b604051610a399190613975565b60405180910390f35b348015610a4e57600080fd5b50610a696004803603810190610a6491906138bf565b611c92565b005b348015610a7757600080fd5b50610a80611e59565b604051610a8d9190613975565b60405180910390f35b348015610aa257600080fd5b50610aab611e5f565b604051610ab89190613975565b60405180910390f35b606060038054610ad090613b9f565b80601f0160208091040260200160405190810160405280929190818152602001828054610afc90613b9f565b8015610b495780601f10610b1e57610100808354040283529160200191610b49565b820191906000526020600020905b815481529060010190602001808311610b2c57829003601f168201915b5050505050905090565b6000610b67610b60611e65565b8484611e6d565b6001905092915050565b60176020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b60075481565b60085481565b610bd3611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5990613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990613caf565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fd1e7d6a3390dd5008bd1c57798817b9f806e4c417264e7d3d67e42e784dc24a960405160405180910390a250565b6000610d66848484612038565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610db1611e65565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890613d41565b60405180910390fd5b610e4585610e3d611e65565b858403611e6d565b60019150509392505050565b60006012905090565b7f000000000000000000000000c309d3916ff9eb6751c91136b8d2c66efc21d2cf81565b601e60009054906101000a900460ff1681565b60135481565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600f5481565b600b5481565b60145481565b601c60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f62611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe890613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110ba611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090613c1d565b60405180910390fd5b6000601e60006101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b600e5481565b6111a0611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690613c1d565b60405180910390fd5b82600e8190555081600d8190555080600f81905550600f54600d54600e546112579190613d90565b6112619190613d90565b601081905550600560105411156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613e32565b60405180910390fd5b505050565b600a5481565b6112c0611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690613c1d565b60405180910390fd5b601c60019054906101000a900460ff161561139f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139690613e9e565b60405180910390fd5b6001601c60016101000a81548160ff0219169083151502179055506001601c60006101000a81548160ff02191690831515021790555043601d819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606004805461144990613b9f565b80601f016020809104026020016040519081016040528092919081815260200182805461147590613b9f565b80156114c25780601f10611497576101008083540402835291602001916114c2565b820191906000526020600020905b8154815290600101906020018083116114a557829003601f168201915b5050505050905090565b6114d4611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a90613c1d565b60405180910390fd5b7f000000000000000000000000c309d3916ff9eb6751c91136b8d2c66efc21d2cf73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e990613f30565b60405180910390fd5b6115fc8282612e33565b5050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061163a611633611e65565b8484612038565b6001905092915050565b600c5481565b601b6020528060005260406000206000915054906101000a900460ff1681565b601c60019054906101000a900460ff1681565b611685611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b90613c1d565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516117b191906138a4565b60405180910390a25050565b6117c5611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b90613c1d565b60405180910390fd5b82601281905550816011819055508060138190555060135460115460125461187c9190613d90565b6118869190613d90565b601481905550600560145411156118d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c990613e32565b60405180910390fd5b505050565b6118df611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196590613c1d565b60405180910390fd5b620186a0600161197c610bb5565b6119869190613f50565b6119909190613fd9565b8110156119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c99061407c565b60405180910390fd5b6103e860016119df610bb5565b6119e99190613f50565b6119f39190613fd9565b811115611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c9061410e565b60405180910390fd5b8060068190555050565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60065481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b00611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8690613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf6906141a0565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298260405160405180910390a250565b601d5481565b600d5481565b611c9a611e65565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2090613c1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9090614232565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed4906142c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490614356565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161202b9190613975565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209f906143e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210f9061447a565b60405180910390fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121ba5750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156121c457612e2e565b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122665750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561231b57601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561230d5750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61231657600080fd5b612373565b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561237257612e2e565b5b600081141561238157612e2e565b601e60009054906101000a900460ff16156128bb5761239e61140a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561240c57506123dc61140a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124455750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561247f575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156128ba57601c60019054906101000a900460ff1661257957601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125395750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f906144e6565b60405180910390fd5b5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561261c5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126c357600a54811115612666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265d90614552565b60405180910390fd5b600c5461267283610f12565b8261267d9190613d90565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b5906145be565b60405180910390fd5b6128b9565b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127665750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127b557600b548111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a790614650565b60405180910390fd5b6128b8565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128595750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128b757600c5461286a83610f12565b826128759190613d90565b11156128b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ad906145be565b60405180910390fd5b5b5b5b5b5b60006128c630610f12565b9050600060065482101590508080156128eb5750601c60009054906101000a900460ff165b80156129045750601c60029054906101000a900460ff16155b801561295a5750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129b05750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612a065750601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a4a576001601c60026101000a81548160ff021916908315150217905550612a2e612ed4565b6000601c60026101000a81548160ff0219169083151502179055505b600060019050601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612af15750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612afb57600090505b6000808215612e1d5743601d5410158015612b5f5750601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bbd576001601a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c1857506000601454115b15612cd757606460145487612c2d9190613f50565b612c379190613fd9565b915060145460115483612c4a9190613f50565b612c549190613fd9565b60076000828254612c659190613d90565b9250508190555060145460125483612c7d9190613f50565b612c879190613fd9565b60086000828254612c989190613d90565b9250508190555060145460135483612cb09190613f50565b612cba9190613fd9565b60096000828254612ccb9190613d90565b92505081905550612dee565b601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612d3257506000601054115b15612ded57606460105487612d479190613f50565b612d519190613fd9565b9150601054600d5483612d649190613f50565b612d6e9190613fd9565b60076000828254612d7f9190613d90565b92505081905550601054600e5483612d979190613f50565b612da19190613fd9565b60086000828254612db29190613d90565b92505081905550601054600f5483612dca9190613f50565b612dd49190613fd9565b60096000828254612de59190613d90565b925050819055505b5b6000821115612e0357612e02883084613171565b5b8082612e0f9190613d90565b86612e1a9190614670565b95505b612e28888888613171565b50505050505b505050565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000612edf30610f12565b90506000600954600854600754612ef69190613d90565b612f009190613d90565b90506000821480612f115750600081145b15612f1d57505061316f565b600a600654612f2c9190613f50565b821115612f4557600a600654612f429190613f50565b91505b60008060028360075486612f599190613f50565b612f639190613fd9565b612f6d9190613fd9565b9050612f838185612f7e9190614670565b6133dc565b6000479050600081905060006002600754612f9e9190613fd9565b86612fa99190614670565b60085484612fb79190613f50565b612fc19190613fd9565b905060006002600754612fd49190613fd9565b87612fdf9190614670565b60095485612fed9190613f50565b612ff79190613fd9565b905080826130059190613d90565b836130109190614670565b925060006007819055506000600881905550600060098190555060008511801561303a5750600083115b1561304a576130498584613619565b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613090906146d5565b60006040518083038185875af1925050503d80600081146130cd576040519150601f19603f3d011682016040523d82523d6000602084013e6130d2565b606091505b505080965050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161311e906146d5565b60006040518083038185875af1925050503d806000811461315b576040519150601f19603f3d011682016040523d82523d6000602084013e613160565b606091505b50508096505050505050505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d8906143e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132489061447a565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156132d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132ce9061475c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461336a9190613d90565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133ce9190613975565b60405180910390a350505050565b6000600267ffffffffffffffff8111156133f9576133f861477c565b5b6040519080825280602002602001820160405280156134275781602001602082028036833780820191505090505b509050308160008151811061343f5761343e6147ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061350891906147ef565b8160018151811061351c5761351b6147ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613581307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611e6d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016135e3959493929190614915565b600060405180830381600087803b1580156135fd57600080fd5b505af1158015613611573d6000803e3d6000fd5b505050505050565b613644307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611e6d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016136ab9695949392919061496f565b60606040518083038185885af11580156136c9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906136ee91906149e5565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561372f578082015181840152602081019050613714565b8381111561373e576000848401525b50505050565b6000601f19601f8301169050919050565b6000613760826136f5565b61376a8185613700565b935061377a818560208601613711565b61378381613744565b840191505092915050565b600060208201905081810360008301526137a88184613755565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137e0826137b5565b9050919050565b6137f0816137d5565b81146137fb57600080fd5b50565b60008135905061380d816137e7565b92915050565b6000819050919050565b61382681613813565b811461383157600080fd5b50565b6000813590506138438161381d565b92915050565b600080604083850312156138605761385f6137b0565b5b600061386e858286016137fe565b925050602061387f85828601613834565b9150509250929050565b60008115159050919050565b61389e81613889565b82525050565b60006020820190506138b96000830184613895565b92915050565b6000602082840312156138d5576138d46137b0565b5b60006138e3848285016137fe565b91505092915050565b6000819050919050565b600061391161390c613907846137b5565b6138ec565b6137b5565b9050919050565b6000613923826138f6565b9050919050565b600061393582613918565b9050919050565b6139458161392a565b82525050565b6000602082019050613960600083018461393c565b92915050565b61396f81613813565b82525050565b600060208201905061398a6000830184613966565b92915050565b6000806000606084860312156139a9576139a86137b0565b5b60006139b7868287016137fe565b93505060206139c8868287016137fe565b92505060406139d986828701613834565b9150509250925092565b600060ff82169050919050565b6139f9816139e3565b82525050565b6000602082019050613a1460008301846139f0565b92915050565b613a23816137d5565b82525050565b6000602082019050613a3e6000830184613a1a565b92915050565b600080600060608486031215613a5d57613a5c6137b0565b5b6000613a6b86828701613834565b9350506020613a7c86828701613834565b9250506040613a8d86828701613834565b9150509250925092565b613aa081613889565b8114613aab57600080fd5b50565b600081359050613abd81613a97565b92915050565b60008060408385031215613ada57613ad96137b0565b5b6000613ae8858286016137fe565b9250506020613af985828601613aae565b9150509250929050565b600060208284031215613b1957613b186137b0565b5b6000613b2784828501613834565b91505092915050565b60008060408385031215613b4757613b466137b0565b5b6000613b55858286016137fe565b9250506020613b66858286016137fe565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bb757607f821691505b60208210811415613bcb57613bca613b70565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c07602083613700565b9150613c1282613bd1565b602082019050919050565b60006020820190508181036000830152613c3681613bfa565b9050919050565b7f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f7460008201527f2062652030000000000000000000000000000000000000000000000000000000602082015250565b6000613c99602583613700565b9150613ca482613c3d565b604082019050919050565b60006020820190508181036000830152613cc881613c8c565b9050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613d2b602883613700565b9150613d3682613ccf565b604082019050919050565b60006020820190508181036000830152613d5a81613d1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d9b82613813565b9150613da683613813565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ddb57613dda613d61565b5b828201905092915050565b7f4d757374206b6565702066656573206174203525206f72206c65737300000000600082015250565b6000613e1c601c83613700565b9150613e2782613de6565b602082019050919050565b60006020820190508181036000830152613e4b81613e0f565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e67000000000000000000600082015250565b6000613e88601783613700565b9150613e9382613e52565b602082019050919050565b60006020820190508181036000830152613eb781613e7b565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613f1a603983613700565b9150613f2582613ebe565b604082019050919050565b60006020820190508181036000830152613f4981613f0d565b9050919050565b6000613f5b82613813565b9150613f6683613813565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f9f57613f9e613d61565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fe482613813565b9150613fef83613813565b925082613fff57613ffe613faa565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000614066603583613700565b91506140718261400a565b604082019050919050565b6000602082019050818103600083015261409581614059565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b60006140f8603483613700565b91506141038261409c565b604082019050919050565b60006020820190508181036000830152614127816140eb565b9050919050565b7f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60008201527f7420626520300000000000000000000000000000000000000000000000000000602082015250565b600061418a602683613700565b91506141958261412e565b604082019050919050565b600060208201905081810360008301526141b98161417d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061421c602683613700565b9150614227826141c0565b604082019050919050565b6000602082019050818103600083015261424b8161420f565b9050919050565b7f45524332303a20417070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142ae602483613700565b91506142b982614252565b604082019050919050565b600060208201905081810360008301526142dd816142a1565b9050919050565b7f45524332303a20417070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614340602283613700565b915061434b826142e4565b604082019050919050565b6000602082019050818103600083015261436f81614333565b9050919050565b7f45524332303a205472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143d2602583613700565b91506143dd82614376565b604082019050919050565b60006020820190508181036000830152614401816143c5565b9050919050565b7f45524332303a205472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614464602383613700565b915061446f82614408565b604082019050919050565b6000602082019050818103600083015261449381614457565b9050919050565b7f54726164696e6720686173206e6f74206265656e206163746976617465642e00600082015250565b60006144d0601f83613700565b91506144db8261449a565b602082019050919050565b600060208201905081810360008301526144ff816144c3565b9050919050565b7f42757920616d6f756e74206578636565647320746865206d6178206275792e00600082015250565b600061453c601f83613700565b915061454782614506565b602082019050919050565b6000602082019050818103600083015261456b8161452f565b9050919050565b7f43616e6e6f7420657863656564206d61782077616c6c65740000000000000000600082015250565b60006145a8601883613700565b91506145b382614572565b602082019050919050565b600060208201905081810360008301526145d78161459b565b9050919050565b7f53656c6c20616d6f756e74206578636565647320746865206d61782073656c6c60008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061463a602183613700565b9150614645826145de565b604082019050919050565b600060208201905081810360008301526146698161462d565b9050919050565b600061467b82613813565b915061468683613813565b92508282101561469957614698613d61565b5b828203905092915050565b600081905092915050565b50565b60006146bf6000836146a4565b91506146ca826146af565b600082019050919050565b60006146e0826146b2565b9150819050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614746602683613700565b9150614751826146ea565b604082019050919050565b6000602082019050818103600083015261477581614739565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506147e9816137e7565b92915050565b600060208284031215614805576148046137b0565b5b6000614813848285016147da565b91505092915050565b6000819050919050565b600061484161483c6148378461481c565b6138ec565b613813565b9050919050565b61485181614826565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61488c816137d5565b82525050565b600061489e8383614883565b60208301905092915050565b6000602082019050919050565b60006148c282614857565b6148cc8185614862565b93506148d783614873565b8060005b838110156149085781516148ef8882614892565b97506148fa836148aa565b9250506001810190506148db565b5085935050505092915050565b600060a08201905061492a6000830188613966565b6149376020830187614848565b818103604083015261494981866148b7565b90506149586060830185613a1a565b6149656080830184613966565b9695505050505050565b600060c0820190506149846000830189613a1a565b6149916020830188613966565b61499e6040830187614848565b6149ab6060830186614848565b6149b86080830185613a1a565b6149c560a0830184613966565b979650505050505050565b6000815190506149df8161381d565b92915050565b6000806000606084860312156149fe576149fd6137b0565b5b6000614a0c868287016149d0565b9350506020614a1d868287016149d0565b9250506040614a2e868287016149d0565b915050925092509256fea26469706673582212200d91386f99ad7dc9c79c7d75d7ce7f54c3ca18f7afa69ecbd394c531bf3b950464736f6c634300080b0033
Deployed Bytecode Sourcemap
6504:12478:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2752:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3666:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7294:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7612:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3073:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6594:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6634;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10213:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3843:490;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2972:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7662:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7863:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7049:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12522:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6899:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6751:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7088;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7709:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3189:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1937:150;;;;;;;;;;;;;:::i;:::-;;11640:115;;;;;;;;;;;;;:::i;:::-;;6862:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10821:395;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6717:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9956:249;;;;;;;;;;;;;:::i;:::-;;1723:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7011:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2860:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12850:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7125:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3324:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6786:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7545:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7747:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12332:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11224:404;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11763:346;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6937:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3507:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6552:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7208:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10513:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7817:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6825:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2095:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6973:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6674:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2752:100;2806:13;2839:5;2832:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2752:100;:::o;3666:169::-;3749:4;3766:39;3775:12;:10;:12::i;:::-;3789:7;3798:6;3766:8;:39::i;:::-;3823:4;3816:11;;3666:169;;;;:::o;7294:64::-;;;;;;;;;;;;;;;;;;;;;;:::o;7612:43::-;;;:::o;3073:108::-;3134:7;3161:12;;3154:19;;3073:108;:::o;6594:33::-;;;;:::o;6634:::-;;;;:::o;10213:292::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10339:1:::1;10310:31;;:17;:31;;;;10302:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10421:17;10394:16;;:45;;;;;;;;;;;;;;;;;;10479:17;10455:42;;;;;;;;;;;;10213:292:::0;:::o;3843:490::-;3983:4;4000:36;4010:6;4018:9;4029:6;4000:9;:36::i;:::-;4049:24;4076:11;:19;4088:6;4076:19;;;;;;;;;;;;;;;:33;4096:12;:10;:12::i;:::-;4076:33;;;;;;;;;;;;;;;;4049:60;;4148:6;4128:16;:26;;4120:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4235:57;4244:6;4252:12;:10;:12::i;:::-;4285:6;4266:16;:25;4235:8;:57::i;:::-;4321:4;4314:11;;;3843:490;;;;;:::o;2972:93::-;3030:5;3055:2;3048:9;;2972:93;:::o;7662:38::-;;;:::o;7863:33::-;;;;;;;;;;;;;:::o;7049:32::-;;;;:::o;12522:126::-;12588:4;12612:19;:28;12632:7;12612:28;;;;;;;;;;;;;;;;;;;;;;;;;12605:35;;12522:126;;;:::o;6899:31::-;;;;:::o;6751:28::-;;;;:::o;7088:::-;;;;:::o;7709:31::-;;;;;;;;;;;;;:::o;3189:127::-;3263:7;3290:9;:18;3300:7;3290:18;;;;;;;;;;;;;;;;3283:25;;3189:127;;;:::o;1937:150::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2046:1:::1;2009:40;;2030:6;;;;;;;;;;;2009:40;;;;;;;;;;;;2077:1;2060:6;;:19;;;;;;;;;;;;;;;;;;1937:150::o:0;11640:115::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11711:5:::1;11694:14;;:22;;;;;;;;;;;;;;;;;;11732:15;;;;;;;;;;11640:115::o:0;6862:30::-;;;;:::o;10821:395::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10962:13:::1;10944:15;:31;;;;11004:13;10986:15;:31;;;;11047:14;11028:16;:33;;;;11123:16;;11105:15;;11087;;:33;;;;:::i;:::-;:52;;;;:::i;:::-;11072:12;:67;;;;11174:1;11158:12;;:17;;11150:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10821:395:::0;;;:::o;6717:27::-;;;;:::o;9956:249::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10020:13:::1;;;;;;;;;;;10019:14;10011:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;10088:4;10072:13;;:20;;;;;;;;;;;;;;;;;;10117:4;10103:11;;:18;;;;;;;;;;;;;;;;;;10153:12;10132:18;:33;;;;10181:16;;;;;;;;;;9956:249::o:0;1723:79::-;1761:7;1788:6;;;;;;;;;;;1781:13;;1723:79;:::o;7011:31::-;;;;:::o;2860:104::-;2916:13;2949:7;2942:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2860:104;:::o;12850:244::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12959:13:::1;12951:21;;:4;:21;;;;12943:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;13045:41;13074:4;13080:5;13045:28;:41::i;:::-;12850:244:::0;;:::o;7125:76::-;;;;;;;;;;;;;:::o;3324:175::-;3410:4;3427:42;3437:12;:10;:12::i;:::-;3451:9;3462:6;3427:9;:42::i;:::-;3487:4;3480:11;;3324:175;;;;:::o;6786:30::-;;;;:::o;7545:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;7747:33::-;;;;;;;;;;;;;:::o;12332:182::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12448:8:::1;12417:19;:28;12437:7;12417:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12488:7;12472:34;;;12497:8;12472:34;;;;;;:::i;:::-;;;;;;;;12332:182:::0;;:::o;11224:404::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11367:13:::1;11348:16;:32;;;;11410:13;11391:16;:32;;;;11454:14;11434:17;:34;;;;11533:17;;11514:16;;11495;;:35;;;;:::i;:::-;:55;;;;:::i;:::-;11479:13;:71;;;;11586:1;11569:13;;:18;;11561:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11224:404:::0;;;:::o;11763:346::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11886:6:::1;11882:1;11866:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:26;;;;:::i;:::-;11853:9;:39;;11845:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;12001:4;11997:1;11981:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;11968:9;:37;;11960:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;12093:9;12072:18;:30;;;;11763:346:::0;:::o;6937:27::-;;;;:::o;3507:151::-;3596:7;3623:11;:18;3635:5;3623:18;;;;;;;;;;;;;;;:27;3642:7;3623:27;;;;;;;;;;;;;;;;3616:34;;3507:151;;;;:::o;6552:33::-;;;;:::o;7208:77::-;;;;;;;;;;;;;:::o;10513:300::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10642:1:::1;10612:32;;:18;:32;;;;10604:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;10726:18;10698:17;;:47;;;;;;;;;;;;;;;;;;10786:18;10761:44;;;;;;;;;;;;10513:300:::0;:::o;7817:37::-;;;;:::o;6825:30::-;;;;:::o;2095:244::-;1860:12;:10;:12::i;:::-;1850:22;;:6;;;;;;;;;;;:22;;;1842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2204:1:::1;2184:22;;:8;:22;;;;2176:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2294:8;2265:38;;2286:6;;;;;;;;;;;2265:38;;;;;;;;;;;;2323:8;2314:6;;:17;;;;;;;;;;;;;;;;;;2095:244:::0;:::o;6973:31::-;;;;:::o;6674:34::-;;;;:::o;228:98::-;281:7;308:10;301:17;;228:98;:::o;5260:380::-;5413:1;5396:19;;:5;:19;;;;5388:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5494:1;5475:21;;:7;:21;;;;5467:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5578:6;5548:11;:18;5560:5;5548:18;;;;;;;;;;;;;;;:27;5567:7;5548:27;;;;;;;;;;;;;;;:36;;;;5616:7;5600:32;;5609:5;5600:32;;;5625:6;5600:32;;;;;;:::i;:::-;;;;;;;;5260:380;;;:::o;13102:3522::-;13216:1;13200:18;;:4;:18;;;;13192:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13293:1;13279:16;;:2;:16;;;;13271:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13352:25;:29;13378:2;13352:29;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13385:7;:13;13393:4;13385:13;;;;;;;;;;;;;;;;;;;;;;;;;13352:46;13348:333;;;13415:7;;13348:333;13452:25;:31;13478:4;13452:31;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13487:7;:11;13495:2;13487:11;;;;;;;;;;;;;;;;;;;;;;;;;13452:46;13448:233;;;13523:25;:31;13549:4;13523:31;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13558:7;:11;13566:2;13558:11;;;;;;;;;;;;;;;;;;;;;;;;;13523:46;13515:55;;;;;;13448:233;;;13616:7;:11;13624:2;13616:11;;;;;;;;;;;;;;;;;;;;;;;;;13612:58;;;13648:7;;13612:58;13448:233;13708:1;13698:6;:11;13694:50;;;13726:7;;13694:50;13768:14;;;;;;;;;;;13764:1068;;;13811:7;:5;:7::i;:::-;13803:15;;:4;:15;;;;:32;;;;;13828:7;:5;:7::i;:::-;13822:13;;:2;:13;;;;13803:32;:52;;;;;13853:1;13839:16;;:2;:16;;;;13803:52;:77;;;;;13873:6;13859:21;;:2;:21;;;;13803:77;13799:1022;;;13906:13;;;;;;;;;;;13901:158;;13951:19;:25;13971:4;13951:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;13980:19;:23;14000:2;13980:23;;;;;;;;;;;;;;;;;;;;;;;;;13951:52;13943:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;13901:158;14081:25;:31;14107:4;14081:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14117:31;:35;14149:2;14117:35;;;;;;;;;;;;;;;;;;;;;;;;;14116:36;14081:71;14077:729;;;14195:12;;14185:6;:22;;14177:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;14300:15;;14283:13;14293:2;14283:9;:13::i;:::-;14274:6;:22;;;;:::i;:::-;:41;;14266:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;14077:729;;;14392:25;:29;14418:2;14392:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14426:31;:37;14458:4;14426:37;;;;;;;;;;;;;;;;;;;;;;;;;14425:38;14392:71;14388:418;;;14506:13;;14496:6;:23;;14488:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14388:418;;;14606:31;:35;14638:2;14606:35;;;;;;;;;;;;;;;;;;;;;;;;;14605:36;:78;;;;;14646:31;:37;14678:4;14646:37;;;;;;;;;;;;;;;;;;;;;;;;;14645:38;14605:78;14601:205;;;14742:15;;14725:13;14735:2;14725:9;:13::i;:::-;14716:6;:22;;;;:::i;:::-;:41;;14708:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;14601:205;14388:418;14077:729;13799:1022;13764:1068;14844:28;14875:24;14893:4;14875:9;:24::i;:::-;14844:55;;14920:12;14959:18;;14935:20;:42;;14920:57;;14994:7;:22;;;;;15005:11;;;;;;;;;;;14994:22;:35;;;;;15021:8;;;;;;;;;;;15020:9;14994:35;:71;;;;;15034:25;:31;15060:4;15034:31;;;;;;;;;;;;;;;;;;;;;;;;;15033:32;14994:71;:111;;;;;15080:19;:25;15100:4;15080:25;;;;;;;;;;;;;;;;;;;;;;;;;15079:26;14994:111;:139;;;;;15110:19;:23;15130:2;15110:23;;;;;;;;;;;;;;;;;;;;;;;;;15109:24;14994:139;14990:247;;;15161:4;15150:8;;:15;;;;;;;;;;;;;;;;;;15182:10;:8;:10::i;:::-;15220:5;15209:8;;:16;;;;;;;;;;;;;;;;;;14990:247;15249:12;15264:4;15249:19;;15285;:25;15305:4;15285:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;15314:19;:23;15334:2;15314:23;;;;;;;;;;;;;;;;;;;;;;;;;15285:52;15281:100;;;15364:5;15354:15;;15281:100;15401:12;15428:21;15470:7;15466:1105;;;15522:12;15500:18;;:34;;:69;;;;;15538:25;:31;15564:4;15538:31;;;;;;;;;;;;;;;;;;;;;;;;;15500:69;15496:128;;;15604:4;15590:7;:11;15598:2;15590:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;15496:128;15645:25;:29;15671:2;15645:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;15694:1;15678:13;;:17;15645:50;15641:743;;;15747:3;15732:13;;15723:6;:22;;;;:::i;:::-;:27;;;;:::i;:::-;15716:34;;15817:13;;15798:16;;15791:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;15769:18;;:61;;;;;;;:::i;:::-;;;;;;;;15897:13;;15878:16;;15871:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;15849:18;;:61;;;;;;;:::i;:::-;;;;;;;;15979:13;;15959:17;;15952:4;:24;;;;:::i;:::-;:40;;;;:::i;:::-;15929:19;;:63;;;;;;;:::i;:::-;;;;;;;;15641:743;;;16032:25;:31;16058:4;16032:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;16082:1;16067:12;;:16;16032:51;16028:356;;;16132:3;16117:12;;16108:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;16101:34;;16198:12;;16180:15;;16173:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;16151:18;;:59;;;;;;;:::i;:::-;;;;;;;;16276:12;;16258:15;;16251:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;16229:18;;:59;;;;;;;:::i;:::-;;;;;;;;16356:12;;16337:16;;16330:4;:23;;;;:::i;:::-;:38;;;;:::i;:::-;16307:19;;:61;;;;;;;:::i;:::-;;;;;;;;16028:356;15641:743;16423:1;16416:4;:8;16412:95;;;16449:42;16465:4;16479;16486;16449:15;:42::i;:::-;16412:95;16546:13;16539:4;:20;;;;:::i;:::-;16529:30;;;;;:::i;:::-;;;15466:1105;16583:33;16599:4;16605:2;16609:6;16583:15;:33::i;:::-;13181:3443;;;;;13102:3522;;;;:::o;12656:186::-;12773:5;12739:25;:31;12765:4;12739:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12828:5;12794:40;;12822:4;12794:40;;;;;;;;;;;;12656:186;;:::o;17117:1479::-;17158:23;17184:24;17202:4;17184:9;:24::i;:::-;17158:50;;17219:25;17289:19;;17268:18;;17247;;:39;;;;:::i;:::-;:61;;;;:::i;:::-;17219:89;;17352:1;17333:15;:20;:46;;;;17378:1;17357:17;:22;17333:46;17329:85;;;17396:7;;;;17329:85;17469:2;17448:18;;:23;;;;:::i;:::-;17430:15;:41;17426:115;;;17527:2;17506:18;;:23;;;;:::i;:::-;17488:41;;17426:115;17553:12;17586:23;17671:1;17651:17;17630:18;;17612:15;:36;;;;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;17586:86;;17693:51;17728:15;17710;:33;;;;:::i;:::-;17693:16;:51::i;:::-;17766:18;17787:21;17766:42;;17819:23;17845:10;17819:36;;17868:23;17971:1;17950:18;;:22;;;;:::i;:::-;17929:17;:44;;;;:::i;:::-;17907:18;;17894:10;:31;;;;:::i;:::-;:80;;;;:::i;:::-;17868:106;;17985:24;18088:1;18069:18;;:20;;;;:::i;:::-;18048:17;:42;;;;:::i;:::-;18025:19;;18012:10;:32;;;;:::i;:::-;:79;;;;:::i;:::-;17985:106;;18141:16;18123:15;:34;;;;:::i;:::-;18104:53;;;;;:::i;:::-;;;18203:1;18182:18;:22;;;;18236:1;18215:18;:22;;;;18270:1;18248:19;:23;;;;18314:1;18296:15;:19;:42;;;;;18337:1;18319:15;:19;18296:42;18292:121;;;18355:46;18368:15;18385;18355:12;:46::i;:::-;18292:121;18446:17;;;;;;;;;;;18438:31;;18477:16;18438:60;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18425:73;;;;;18532:16;;;;;;;;;;;18524:30;;18562:21;18524:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18511:77;;;;;17145:1451;;;;;;;;17117:1479;:::o;4341:612::-;4499:1;4481:20;;:6;:20;;;;4473:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4583:1;4562:23;;:9;:23;;;;4554:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4638:21;4662:9;:17;4672:6;4662:17;;;;;;;;;;;;;;;;4638:41;;4715:6;4698:13;:23;;4690:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4836:6;4820:13;:22;4800:9;:17;4810:6;4800:17;;;;;;;;;;;;;;;:42;;;;4888:6;4864:9;:20;4874:9;4864:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4927:9;4910:35;;4919:6;4910:35;;;4938:6;4910:35;;;;;;:::i;:::-;;;;;;;;4462:491;4341:612;;;:::o;16632:477::-;16700:21;16738:1;16724:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16700:40;;16769:4;16751;16756:1;16751:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16795:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16785:4;16790:1;16785:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16830:62;16847:4;16862:15;16880:11;16830:8;:62::i;:::-;16905:15;:66;;;16986:11;17012:1;17028:4;17055;17075:15;16905:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16687:422;16632:477;:::o;18608:370::-;18689:62;18706:4;18721:15;18739:11;18689:8;:62::i;:::-;18764:15;:31;;;18803:9;18836:4;18856:11;18882:1;18898;18922:6;18944:15;18764:206;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18608:370;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:60::-;3857:3;3878:5;3871:12;;3829:60;;;:::o;3895:142::-;3945:9;3978:53;3996:34;4005:24;4023:5;4005:24;:::i;:::-;3996:34;:::i;:::-;3978:53;:::i;:::-;3965:66;;3895:142;;;:::o;4043:126::-;4093:9;4126:37;4157:5;4126:37;:::i;:::-;4113:50;;4043:126;;;:::o;4175:144::-;4243:9;4276:37;4307:5;4276:37;:::i;:::-;4263:50;;4175:144;;;:::o;4325:167::-;4430:55;4479:5;4430:55;:::i;:::-;4425:3;4418:68;4325:167;;:::o;4498:258::-;4609:4;4647:2;4636:9;4632:18;4624:26;;4660:89;4746:1;4735:9;4731:17;4722:6;4660:89;:::i;:::-;4498:258;;;;:::o;4762:118::-;4849:24;4867:5;4849:24;:::i;:::-;4844:3;4837:37;4762:118;;:::o;4886:222::-;4979:4;5017:2;5006:9;5002:18;4994:26;;5030:71;5098:1;5087:9;5083:17;5074:6;5030:71;:::i;:::-;4886:222;;;;:::o;5114:619::-;5191:6;5199;5207;5256:2;5244:9;5235:7;5231:23;5227:32;5224:119;;;5262:79;;:::i;:::-;5224:119;5382:1;5407:53;5452:7;5443:6;5432:9;5428:22;5407:53;:::i;:::-;5397:63;;5353:117;5509:2;5535:53;5580:7;5571:6;5560:9;5556:22;5535:53;:::i;:::-;5525:63;;5480:118;5637:2;5663:53;5708:7;5699:6;5688:9;5684:22;5663:53;:::i;:::-;5653:63;;5608:118;5114:619;;;;;:::o;5739:86::-;5774:7;5814:4;5807:5;5803:16;5792:27;;5739:86;;;:::o;5831:112::-;5914:22;5930:5;5914:22;:::i;:::-;5909:3;5902:35;5831:112;;:::o;5949:214::-;6038:4;6076:2;6065:9;6061:18;6053:26;;6089:67;6153:1;6142:9;6138:17;6129:6;6089:67;:::i;:::-;5949:214;;;;:::o;6169:118::-;6256:24;6274:5;6256:24;:::i;:::-;6251:3;6244:37;6169:118;;:::o;6293:222::-;6386:4;6424:2;6413:9;6409:18;6401:26;;6437:71;6505:1;6494:9;6490:17;6481:6;6437:71;:::i;:::-;6293:222;;;;:::o;6521:619::-;6598:6;6606;6614;6663:2;6651:9;6642:7;6638:23;6634:32;6631:119;;;6669:79;;:::i;:::-;6631:119;6789:1;6814:53;6859:7;6850:6;6839:9;6835:22;6814:53;:::i;:::-;6804:63;;6760:117;6916:2;6942:53;6987:7;6978:6;6967:9;6963:22;6942:53;:::i;:::-;6932:63;;6887:118;7044:2;7070:53;7115:7;7106:6;7095:9;7091:22;7070:53;:::i;:::-;7060:63;;7015:118;6521:619;;;;;:::o;7146:116::-;7216:21;7231:5;7216:21;:::i;:::-;7209:5;7206:32;7196:60;;7252:1;7249;7242:12;7196:60;7146:116;:::o;7268:133::-;7311:5;7349:6;7336:20;7327:29;;7365:30;7389:5;7365:30;:::i;:::-;7268:133;;;;:::o;7407:468::-;7472:6;7480;7529:2;7517:9;7508:7;7504:23;7500:32;7497:119;;;7535:79;;:::i;:::-;7497:119;7655:1;7680:53;7725:7;7716:6;7705:9;7701:22;7680:53;:::i;:::-;7670:63;;7626:117;7782:2;7808:50;7850:7;7841:6;7830:9;7826:22;7808:50;:::i;:::-;7798:60;;7753:115;7407:468;;;;;:::o;7881:329::-;7940:6;7989:2;7977:9;7968:7;7964:23;7960:32;7957:119;;;7995:79;;:::i;:::-;7957:119;8115:1;8140:53;8185:7;8176:6;8165:9;8161:22;8140:53;:::i;:::-;8130:63;;8086:117;7881:329;;;;:::o;8216:474::-;8284:6;8292;8341:2;8329:9;8320:7;8316:23;8312:32;8309:119;;;8347:79;;:::i;:::-;8309:119;8467:1;8492:53;8537:7;8528:6;8517:9;8513:22;8492:53;:::i;:::-;8482:63;;8438:117;8594:2;8620:53;8665:7;8656:6;8645:9;8641:22;8620:53;:::i;:::-;8610:63;;8565:118;8216:474;;;;;:::o;8696:180::-;8744:77;8741:1;8734:88;8841:4;8838:1;8831:15;8865:4;8862:1;8855:15;8882:320;8926:6;8963:1;8957:4;8953:12;8943:22;;9010:1;9004:4;9000:12;9031:18;9021:81;;9087:4;9079:6;9075:17;9065:27;;9021:81;9149:2;9141:6;9138:14;9118:18;9115:38;9112:84;;;9168:18;;:::i;:::-;9112:84;8933:269;8882:320;;;:::o;9208:182::-;9348:34;9344:1;9336:6;9332:14;9325:58;9208:182;:::o;9396:366::-;9538:3;9559:67;9623:2;9618:3;9559:67;:::i;:::-;9552:74;;9635:93;9724:3;9635:93;:::i;:::-;9753:2;9748:3;9744:12;9737:19;;9396:366;;;:::o;9768:419::-;9934:4;9972:2;9961:9;9957:18;9949:26;;10021:9;10015:4;10011:20;10007:1;9996:9;9992:17;9985:47;10049:131;10175:4;10049:131;:::i;:::-;10041:139;;9768:419;;;:::o;10193:224::-;10333:34;10329:1;10321:6;10317:14;10310:58;10402:7;10397:2;10389:6;10385:15;10378:32;10193:224;:::o;10423:366::-;10565:3;10586:67;10650:2;10645:3;10586:67;:::i;:::-;10579:74;;10662:93;10751:3;10662:93;:::i;:::-;10780:2;10775:3;10771:12;10764:19;;10423:366;;;:::o;10795:419::-;10961:4;10999:2;10988:9;10984:18;10976:26;;11048:9;11042:4;11038:20;11034:1;11023:9;11019:17;11012:47;11076:131;11202:4;11076:131;:::i;:::-;11068:139;;10795:419;;;:::o;11220:227::-;11360:34;11356:1;11348:6;11344:14;11337:58;11429:10;11424:2;11416:6;11412:15;11405:35;11220:227;:::o;11453:366::-;11595:3;11616:67;11680:2;11675:3;11616:67;:::i;:::-;11609:74;;11692:93;11781:3;11692:93;:::i;:::-;11810:2;11805:3;11801:12;11794:19;;11453:366;;;:::o;11825:419::-;11991:4;12029:2;12018:9;12014:18;12006:26;;12078:9;12072:4;12068:20;12064:1;12053:9;12049:17;12042:47;12106:131;12232:4;12106:131;:::i;:::-;12098:139;;11825:419;;;:::o;12250:180::-;12298:77;12295:1;12288:88;12395:4;12392:1;12385:15;12419:4;12416:1;12409:15;12436:305;12476:3;12495:20;12513:1;12495:20;:::i;:::-;12490:25;;12529:20;12547:1;12529:20;:::i;:::-;12524:25;;12683:1;12615:66;12611:74;12608:1;12605:81;12602:107;;;12689:18;;:::i;:::-;12602:107;12733:1;12730;12726:9;12719:16;;12436:305;;;;:::o;12747:178::-;12887:30;12883:1;12875:6;12871:14;12864:54;12747:178;:::o;12931:366::-;13073:3;13094:67;13158:2;13153:3;13094:67;:::i;:::-;13087:74;;13170:93;13259:3;13170:93;:::i;:::-;13288:2;13283:3;13279:12;13272:19;;12931:366;;;:::o;13303:419::-;13469:4;13507:2;13496:9;13492:18;13484:26;;13556:9;13550:4;13546:20;13542:1;13531:9;13527:17;13520:47;13584:131;13710:4;13584:131;:::i;:::-;13576:139;;13303:419;;;:::o;13728:173::-;13868:25;13864:1;13856:6;13852:14;13845:49;13728:173;:::o;13907:366::-;14049:3;14070:67;14134:2;14129:3;14070:67;:::i;:::-;14063:74;;14146:93;14235:3;14146:93;:::i;:::-;14264:2;14259:3;14255:12;14248:19;;13907:366;;;:::o;14279:419::-;14445:4;14483:2;14472:9;14468:18;14460:26;;14532:9;14526:4;14522:20;14518:1;14507:9;14503:17;14496:47;14560:131;14686:4;14560:131;:::i;:::-;14552:139;;14279:419;;;:::o;14704:244::-;14844:34;14840:1;14832:6;14828:14;14821:58;14913:27;14908:2;14900:6;14896:15;14889:52;14704:244;:::o;14954:366::-;15096:3;15117:67;15181:2;15176:3;15117:67;:::i;:::-;15110:74;;15193:93;15282:3;15193:93;:::i;:::-;15311:2;15306:3;15302:12;15295:19;;14954:366;;;:::o;15326:419::-;15492:4;15530:2;15519:9;15515:18;15507:26;;15579:9;15573:4;15569:20;15565:1;15554:9;15550:17;15543:47;15607:131;15733:4;15607:131;:::i;:::-;15599:139;;15326:419;;;:::o;15751:348::-;15791:7;15814:20;15832:1;15814:20;:::i;:::-;15809:25;;15848:20;15866:1;15848:20;:::i;:::-;15843:25;;16036:1;15968:66;15964:74;15961:1;15958:81;15953:1;15946:9;15939:17;15935:105;15932:131;;;16043:18;;:::i;:::-;15932:131;16091:1;16088;16084:9;16073:20;;15751:348;;;;:::o;16105:180::-;16153:77;16150:1;16143:88;16250:4;16247:1;16240:15;16274:4;16271:1;16264:15;16291:185;16331:1;16348:20;16366:1;16348:20;:::i;:::-;16343:25;;16382:20;16400:1;16382:20;:::i;:::-;16377:25;;16421:1;16411:35;;16426:18;;:::i;:::-;16411:35;16468:1;16465;16461:9;16456:14;;16291:185;;;;:::o;16482:240::-;16622:34;16618:1;16610:6;16606:14;16599:58;16691:23;16686:2;16678:6;16674:15;16667:48;16482:240;:::o;16728:366::-;16870:3;16891:67;16955:2;16950:3;16891:67;:::i;:::-;16884:74;;16967:93;17056:3;16967:93;:::i;:::-;17085:2;17080:3;17076:12;17069:19;;16728:366;;;:::o;17100:419::-;17266:4;17304:2;17293:9;17289:18;17281:26;;17353:9;17347:4;17343:20;17339:1;17328:9;17324:17;17317:47;17381:131;17507:4;17381:131;:::i;:::-;17373:139;;17100:419;;;:::o;17525:239::-;17665:34;17661:1;17653:6;17649:14;17642:58;17734:22;17729:2;17721:6;17717:15;17710:47;17525:239;:::o;17770:366::-;17912:3;17933:67;17997:2;17992:3;17933:67;:::i;:::-;17926:74;;18009:93;18098:3;18009:93;:::i;:::-;18127:2;18122:3;18118:12;18111:19;;17770:366;;;:::o;18142:419::-;18308:4;18346:2;18335:9;18331:18;18323:26;;18395:9;18389:4;18385:20;18381:1;18370:9;18366:17;18359:47;18423:131;18549:4;18423:131;:::i;:::-;18415:139;;18142:419;;;:::o;18567:225::-;18707:34;18703:1;18695:6;18691:14;18684:58;18776:8;18771:2;18763:6;18759:15;18752:33;18567:225;:::o;18798:366::-;18940:3;18961:67;19025:2;19020:3;18961:67;:::i;:::-;18954:74;;19037:93;19126:3;19037:93;:::i;:::-;19155:2;19150:3;19146:12;19139:19;;18798:366;;;:::o;19170:419::-;19336:4;19374:2;19363:9;19359:18;19351:26;;19423:9;19417:4;19413:20;19409:1;19398:9;19394:17;19387:47;19451:131;19577:4;19451:131;:::i;:::-;19443:139;;19170:419;;;:::o;19595:225::-;19735:34;19731:1;19723:6;19719:14;19712:58;19804:8;19799:2;19791:6;19787:15;19780:33;19595:225;:::o;19826:366::-;19968:3;19989:67;20053:2;20048:3;19989:67;:::i;:::-;19982:74;;20065:93;20154:3;20065:93;:::i;:::-;20183:2;20178:3;20174:12;20167:19;;19826:366;;;:::o;20198:419::-;20364:4;20402:2;20391:9;20387:18;20379:26;;20451:9;20445:4;20441:20;20437:1;20426:9;20422:17;20415:47;20479:131;20605:4;20479:131;:::i;:::-;20471:139;;20198:419;;;:::o;20623:223::-;20763:34;20759:1;20751:6;20747:14;20740:58;20832:6;20827:2;20819:6;20815:15;20808:31;20623:223;:::o;20852:366::-;20994:3;21015:67;21079:2;21074:3;21015:67;:::i;:::-;21008:74;;21091:93;21180:3;21091:93;:::i;:::-;21209:2;21204:3;21200:12;21193:19;;20852:366;;;:::o;21224:419::-;21390:4;21428:2;21417:9;21413:18;21405:26;;21477:9;21471:4;21467:20;21463:1;21452:9;21448:17;21441:47;21505:131;21631:4;21505:131;:::i;:::-;21497:139;;21224:419;;;:::o;21649:221::-;21789:34;21785:1;21777:6;21773:14;21766:58;21858:4;21853:2;21845:6;21841:15;21834:29;21649:221;:::o;21876:366::-;22018:3;22039:67;22103:2;22098:3;22039:67;:::i;:::-;22032:74;;22115:93;22204:3;22115:93;:::i;:::-;22233:2;22228:3;22224:12;22217:19;;21876:366;;;:::o;22248:419::-;22414:4;22452:2;22441:9;22437:18;22429:26;;22501:9;22495:4;22491:20;22487:1;22476:9;22472:17;22465:47;22529:131;22655:4;22529:131;:::i;:::-;22521:139;;22248:419;;;:::o;22673:224::-;22813:34;22809:1;22801:6;22797:14;22790:58;22882:7;22877:2;22869:6;22865:15;22858:32;22673:224;:::o;22903:366::-;23045:3;23066:67;23130:2;23125:3;23066:67;:::i;:::-;23059:74;;23142:93;23231:3;23142:93;:::i;:::-;23260:2;23255:3;23251:12;23244:19;;22903:366;;;:::o;23275:419::-;23441:4;23479:2;23468:9;23464:18;23456:26;;23528:9;23522:4;23518:20;23514:1;23503:9;23499:17;23492:47;23556:131;23682:4;23556:131;:::i;:::-;23548:139;;23275:419;;;:::o;23700:222::-;23840:34;23836:1;23828:6;23824:14;23817:58;23909:5;23904:2;23896:6;23892:15;23885:30;23700:222;:::o;23928:366::-;24070:3;24091:67;24155:2;24150:3;24091:67;:::i;:::-;24084:74;;24167:93;24256:3;24167:93;:::i;:::-;24285:2;24280:3;24276:12;24269:19;;23928:366;;;:::o;24300:419::-;24466:4;24504:2;24493:9;24489:18;24481:26;;24553:9;24547:4;24543:20;24539:1;24528:9;24524:17;24517:47;24581:131;24707:4;24581:131;:::i;:::-;24573:139;;24300:419;;;:::o;24725:181::-;24865:33;24861:1;24853:6;24849:14;24842:57;24725:181;:::o;24912:366::-;25054:3;25075:67;25139:2;25134:3;25075:67;:::i;:::-;25068:74;;25151:93;25240:3;25151:93;:::i;:::-;25269:2;25264:3;25260:12;25253:19;;24912:366;;;:::o;25284:419::-;25450:4;25488:2;25477:9;25473:18;25465:26;;25537:9;25531:4;25527:20;25523:1;25512:9;25508:17;25501:47;25565:131;25691:4;25565:131;:::i;:::-;25557:139;;25284:419;;;:::o;25709:181::-;25849:33;25845:1;25837:6;25833:14;25826:57;25709:181;:::o;25896:366::-;26038:3;26059:67;26123:2;26118:3;26059:67;:::i;:::-;26052:74;;26135:93;26224:3;26135:93;:::i;:::-;26253:2;26248:3;26244:12;26237:19;;25896:366;;;:::o;26268:419::-;26434:4;26472:2;26461:9;26457:18;26449:26;;26521:9;26515:4;26511:20;26507:1;26496:9;26492:17;26485:47;26549:131;26675:4;26549:131;:::i;:::-;26541:139;;26268:419;;;:::o;26693:174::-;26833:26;26829:1;26821:6;26817:14;26810:50;26693:174;:::o;26873:366::-;27015:3;27036:67;27100:2;27095:3;27036:67;:::i;:::-;27029:74;;27112:93;27201:3;27112:93;:::i;:::-;27230:2;27225:3;27221:12;27214:19;;26873:366;;;:::o;27245:419::-;27411:4;27449:2;27438:9;27434:18;27426:26;;27498:9;27492:4;27488:20;27484:1;27473:9;27469:17;27462:47;27526:131;27652:4;27526:131;:::i;:::-;27518:139;;27245:419;;;:::o;27670:220::-;27810:34;27806:1;27798:6;27794:14;27787:58;27879:3;27874:2;27866:6;27862:15;27855:28;27670:220;:::o;27896:366::-;28038:3;28059:67;28123:2;28118:3;28059:67;:::i;:::-;28052:74;;28135:93;28224:3;28135:93;:::i;:::-;28253:2;28248:3;28244:12;28237:19;;27896:366;;;:::o;28268:419::-;28434:4;28472:2;28461:9;28457:18;28449:26;;28521:9;28515:4;28511:20;28507:1;28496:9;28492:17;28485:47;28549:131;28675:4;28549:131;:::i;:::-;28541:139;;28268:419;;;:::o;28693:191::-;28733:4;28753:20;28771:1;28753:20;:::i;:::-;28748:25;;28787:20;28805:1;28787:20;:::i;:::-;28782:25;;28826:1;28823;28820:8;28817:34;;;28831:18;;:::i;:::-;28817:34;28876:1;28873;28869:9;28861:17;;28693:191;;;;:::o;28890:147::-;28991:11;29028:3;29013:18;;28890:147;;;;:::o;29043:114::-;;:::o;29163:398::-;29322:3;29343:83;29424:1;29419:3;29343:83;:::i;:::-;29336:90;;29435:93;29524:3;29435:93;:::i;:::-;29553:1;29548:3;29544:11;29537:18;;29163:398;;;:::o;29567:379::-;29751:3;29773:147;29916:3;29773:147;:::i;:::-;29766:154;;29937:3;29930:10;;29567:379;;;:::o;29952:225::-;30092:34;30088:1;30080:6;30076:14;30069:58;30161:8;30156:2;30148:6;30144:15;30137:33;29952:225;:::o;30183:366::-;30325:3;30346:67;30410:2;30405:3;30346:67;:::i;:::-;30339:74;;30422:93;30511:3;30422:93;:::i;:::-;30540:2;30535:3;30531:12;30524:19;;30183:366;;;:::o;30555:419::-;30721:4;30759:2;30748:9;30744:18;30736:26;;30808:9;30802:4;30798:20;30794:1;30783:9;30779:17;30772:47;30836:131;30962:4;30836:131;:::i;:::-;30828:139;;30555:419;;;:::o;30980:180::-;31028:77;31025:1;31018:88;31125:4;31122:1;31115:15;31149:4;31146:1;31139:15;31166:180;31214:77;31211:1;31204:88;31311:4;31308:1;31301:15;31335:4;31332:1;31325:15;31352:143;31409:5;31440:6;31434:13;31425:22;;31456:33;31483:5;31456:33;:::i;:::-;31352:143;;;;:::o;31501:351::-;31571:6;31620:2;31608:9;31599:7;31595:23;31591:32;31588:119;;;31626:79;;:::i;:::-;31588:119;31746:1;31771:64;31827:7;31818:6;31807:9;31803:22;31771:64;:::i;:::-;31761:74;;31717:128;31501:351;;;;:::o;31858:85::-;31903:7;31932:5;31921:16;;31858:85;;;:::o;31949:158::-;32007:9;32040:61;32058:42;32067:32;32093:5;32067:32;:::i;:::-;32058:42;:::i;:::-;32040:61;:::i;:::-;32027:74;;31949:158;;;:::o;32113:147::-;32208:45;32247:5;32208:45;:::i;:::-;32203:3;32196:58;32113:147;;:::o;32266:114::-;32333:6;32367:5;32361:12;32351:22;;32266:114;;;:::o;32386:184::-;32485:11;32519:6;32514:3;32507:19;32559:4;32554:3;32550:14;32535:29;;32386:184;;;;:::o;32576:132::-;32643:4;32666:3;32658:11;;32696:4;32691:3;32687:14;32679:22;;32576:132;;;:::o;32714:108::-;32791:24;32809:5;32791:24;:::i;:::-;32786:3;32779:37;32714:108;;:::o;32828:179::-;32897:10;32918:46;32960:3;32952:6;32918:46;:::i;:::-;32996:4;32991:3;32987:14;32973:28;;32828:179;;;;:::o;33013:113::-;33083:4;33115;33110:3;33106:14;33098:22;;33013:113;;;:::o;33162:732::-;33281:3;33310:54;33358:5;33310:54;:::i;:::-;33380:86;33459:6;33454:3;33380:86;:::i;:::-;33373:93;;33490:56;33540:5;33490:56;:::i;:::-;33569:7;33600:1;33585:284;33610:6;33607:1;33604:13;33585:284;;;33686:6;33680:13;33713:63;33772:3;33757:13;33713:63;:::i;:::-;33706:70;;33799:60;33852:6;33799:60;:::i;:::-;33789:70;;33645:224;33632:1;33629;33625:9;33620:14;;33585:284;;;33589:14;33885:3;33878:10;;33286:608;;;33162:732;;;;:::o;33900:831::-;34163:4;34201:3;34190:9;34186:19;34178:27;;34215:71;34283:1;34272:9;34268:17;34259:6;34215:71;:::i;:::-;34296:80;34372:2;34361:9;34357:18;34348:6;34296:80;:::i;:::-;34423:9;34417:4;34413:20;34408:2;34397:9;34393:18;34386:48;34451:108;34554:4;34545:6;34451:108;:::i;:::-;34443:116;;34569:72;34637:2;34626:9;34622:18;34613:6;34569:72;:::i;:::-;34651:73;34719:3;34708:9;34704:19;34695:6;34651:73;:::i;:::-;33900:831;;;;;;;;:::o;34737:807::-;34986:4;35024:3;35013:9;35009:19;35001:27;;35038:71;35106:1;35095:9;35091:17;35082:6;35038:71;:::i;:::-;35119:72;35187:2;35176:9;35172:18;35163:6;35119:72;:::i;:::-;35201:80;35277:2;35266:9;35262:18;35253:6;35201:80;:::i;:::-;35291;35367:2;35356:9;35352:18;35343:6;35291:80;:::i;:::-;35381:73;35449:3;35438:9;35434:19;35425:6;35381:73;:::i;:::-;35464;35532:3;35521:9;35517:19;35508:6;35464:73;:::i;:::-;34737:807;;;;;;;;;:::o;35550:143::-;35607:5;35638:6;35632:13;35623:22;;35654:33;35681:5;35654:33;:::i;:::-;35550:143;;;;:::o;35699:663::-;35787:6;35795;35803;35852:2;35840:9;35831:7;35827:23;35823:32;35820:119;;;35858:79;;:::i;:::-;35820:119;35978:1;36003:64;36059:7;36050:6;36039:9;36035:22;36003:64;:::i;:::-;35993:74;;35949:128;36116:2;36142:64;36198:7;36189:6;36178:9;36174:22;36142:64;:::i;:::-;36132:74;;36087:129;36255:2;36281:64;36337:7;36328:6;36317:9;36313:22;36281:64;:::i;:::-;36271:74;;36226:129;35699:663;;;;;:::o
Swarm Source
ipfs://0d91386f99ad7dc9c79c7d75d7ce7f54c3ca18f7afa69ecbd394c531bf3b9504
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.