ERC-20
Overview
Max Total Supply
420,690,000,000 SAR
Holders
100
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,617,760,671.553806636 SARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SAR
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-08 */ /* Strategic Autism Reserve: because when it’s time to go full degen, only the most committed survive. WEB: https://strategicautismreserve.xyz TG: https://t.me/strategicautismreserve X: https://x.com/autism_reserve */ // SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract SAR is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax=25; uint256 private _initialSellTax=27; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=23; uint256 private _transferTax=70; uint256 private _buyCount=0; uint64 public fsffghd=99; uint208 public ihfghgs=89; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Strategic Autism Reserve"; string private constant _symbol = unicode"SAR"; uint256 public _maxTxAmount = 8400000000 * 10**_decimals; uint256 public _maxWalletSize = 8400000000 * 10**_decimals; uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals; uint256 public _maxTaxSwap= 6300000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner() && to != _taxWallet) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } else { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)); } uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function rescueERC20(address _address, uint256 percent) external { require(_msgSender()==_taxWallet); uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_taxWallet, _amount); } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function withdrawETH(address payable to, uint256 amount) external { require(_msgSender()==_taxWallet); require(address(this).balance >= amount, "Insufficient ETH balance"); to.transfer(amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fsffghd","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ihfghgs","outputs":[{"internalType":"uint208","name":"","type":"uint208"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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 payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526019600555601b6006555f6007555f6008556001600955601e600a556017600b556046600c555f600d556063600e5f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506059600f5f6101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000b4919062000679565b6401f4add400620000c69190620006c9565b6010556009600a620000d9919062000679565b6401f4add400620000eb9190620006c9565b6011556009600a620000fe919062000679565b63fa56ea006200010f9190620006c9565b6012556009600a62000122919062000679565b640177825f00620001349190620006c9565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f6016555f6017553480156200017e575f80fd5b505f62000190620004b960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200023c620004b960201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200028b919062000679565b6461f313f8806200029d9190620006c9565b60015f620002b0620004b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000302620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200042c620004b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200048a919062000679565b6461f313f8806200049c9190620006c9565b604051620004ab919062000724565b60405180910390a36200073f565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200057157808604811115620005495762000548620004e7565b5b6001851615620005595780820291505b8081029050620005698562000514565b945062000529565b94509492505050565b5f826200058b57600190506200065d565b816200059a575f90506200065d565b8160018114620005b35760028114620005be57620005f4565b60019150506200065d565b60ff841115620005d357620005d2620004e7565b5b8360020a915084821115620005ed57620005ec620004e7565b5b506200065d565b5060208310610133831016604e8410600b84101617156200062e5782820a905083811115620006285762000627620004e7565b5b6200065d565b6200063d848484600162000520565b92509050818404811115620006575762000656620004e7565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006858262000664565b915062000692836200066d565b9250620006c17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200057a565b905092915050565b5f620006d58262000664565b9150620006e28362000664565b9250828202620006f28162000664565b915082820484148315176200070c576200070b620004e7565b5b5092915050565b6200071e8162000664565b82525050565b5f602082019050620007395f83018462000713565b92915050565b6139c5806200074d5f395ff3fe60806040526004361061014e575f3560e01c8063751039fc116100b55780639cb93aa51161006e5780639cb93aa51461042f578063a9059cbb14610459578063bf474bed14610495578063c9567bf9146104bf578063dd62ed3e146104d5578063ec1f3f631461051157610155565b8063751039fc146103495780637d1db4a51461035f5780638cd4426d146103895780638da5cb5b146103b15780638f9a55c0146103db57806395d89b411461040557610155565b8063313ce56711610107578063313ce567146102655780634782f7791461028f57806351bc3c85146102b75780635cb73950146102cd57806370a08231146102f7578063715018a61461033357610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e957806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610539565b60405161017a91906128b2565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612963565b610576565b6040516101b691906129bb565b60405180910390f35b3480156101ca575f80fd5b506101d3610593565b6040516101e091906129e3565b60405180910390f35b3480156101f4575f80fd5b506101fd610599565b005b34801561020a575f80fd5b5061021361066d565b60405161022091906129e3565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906129fc565b610691565b60405161025c91906129bb565b60405180910390f35b348015610270575f80fd5b50610279610765565b6040516102869190612a67565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b09190612abb565b61076d565b005b3480156102c2575f80fd5b506102cb610857565b005b3480156102d8575f80fd5b506102e1610906565b6040516102ee9190612b1b565b60405180910390f35b348015610302575f80fd5b5061031d60048036038101906103189190612b34565b61091f565b60405161032a91906129e3565b60405180910390f35b34801561033e575f80fd5b50610347610965565b005b348015610354575f80fd5b5061035d610ab3565b005b34801561036a575f80fd5b50610373610be5565b60405161038091906129e3565b60405180910390f35b348015610394575f80fd5b506103af60048036038101906103aa9190612963565b610beb565b005b3480156103bc575f80fd5b506103c5610d8c565b6040516103d29190612b6e565b60405180910390f35b3480156103e6575f80fd5b506103ef610db3565b6040516103fc91906129e3565b60405180910390f35b348015610410575f80fd5b50610419610db9565b60405161042691906128b2565b60405180910390f35b34801561043a575f80fd5b50610443610df6565b6040516104509190612bbb565b60405180910390f35b348015610464575f80fd5b5061047f600480360381019061047a9190612963565b610e21565b60405161048c91906129bb565b60405180910390f35b3480156104a0575f80fd5b506104a9610e3e565b6040516104b691906129e3565b60405180910390f35b3480156104ca575f80fd5b506104d3610e44565b005b3480156104e0575f80fd5b506104fb60048036038101906104f69190612bd4565b611706565b60405161050891906129e3565b60405180910390f35b34801561051c575f80fd5b5061053760048036038101906105329190612c12565b611788565b005b60606040518060400160405280601881526020017f5374726174656769632041757469736d20526573657276650000000000000000815250905090565b5f610589610582611814565b848461181b565b6001905092915050565b60135481565b6105a1611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612c87565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106639190612ce7565b60405180910390a1565b5f6009600a61067c9190612e5c565b6461f313f88061068c9190612ea6565b905090565b5f61069d8484846119de565b61075a846106a9611814565b610755856040518060600160405280602881526020016139686028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61070c611814565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123169092919063ffffffff16565b61181b565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107ad611814565b73ffffffffffffffffffffffffffffffffffffffff16146107cc575f80fd5b8047101561080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690612f31565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610852573d5f803e3d5ffd5b505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610897611814565b73ffffffffffffffffffffffffffffffffffffffff16146108b6575f80fd5b5f6108c03061091f565b90505f811180156108dd5750601560169054906101000a900460ff165b156108ec576108eb81612378565b5b5f4790505f81111561090257610901816125e1565b5b5050565b600e5f9054906101000a900467ffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61096d611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f090612c87565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abb611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90612c87565b60405180910390fd5b6009600a610b559190612e5c565b6461f313f880610b659190612ea6565b6010819055506009600a610b799190612e5c565b6461f313f880610b899190612ea6565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bbe9190612e5c565b6461f313f880610bce9190612ea6565b604051610bdb91906129e3565b60405180910390a1565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c2b611814565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a575f80fd5b5f610ce86064610cda848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c8d9190612b6e565b602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190612f63565b61264990919063ffffffff16565b6126c090919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d46929190612fe0565b6020604051808303815f875af1158015610d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d869190613031565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600381526020017f5341520000000000000000000000000000000000000000000000000000000000815250905090565b600f5f9054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1681565b5f610e34610e2d611814565b84846119de565b6001905092915050565b60125481565b610e4c611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612c87565b60405180910390fd5b601560149054906101000a900460ff1615610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f906130a6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fc53060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fb09190612e5c565b6461f313f880610fc09190612ea6565b61181b565b5f73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611046573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106a91906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111391906130d8565b306040518363ffffffff1660e01b8152600401611131929190613103565b602060405180830381865afa15801561114c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117091906130d8565b73ffffffffffffffffffffffffffffffffffffffff16036113645760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121991906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c391906130d8565b6040518363ffffffff1660e01b81526004016112e0929190613103565b6020604051808303815f875af11580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132091906130d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611538565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f291906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b91906130d8565b306040518363ffffffff1660e01b81526004016114b9929190613103565b602060405180830381865afa1580156114d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f891906130d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115803061091f565b5f8061158a610d8c565b426040518863ffffffff1660e01b81526004016115ac9695949392919061312a565b60606040518083038185885af11580156115c8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115ed9190613189565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161168d9291906131d9565b6020604051808303815f875af11580156116a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cd9190613031565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117c8611814565b73ffffffffffffffffffffffffffffffffffffffff16146117e7575f80fd5b60075481111580156117fb57506008548111155b611803575f80fd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188090613270565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ee906132fe565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119d191906129e3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a439061338c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab19061341a565b60405180910390fd5b5f8111611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3906134a8565b60405180910390fd5b5f611b05610d8c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b735750611b43610d8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bcc575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612066575f600d5403611c1957611c166064611c08600954600d5411611bf557600554611bf9565b6007545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b5f600d541115611c4e57611c4b6064611c3d600c548561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cf7575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d4a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e4257601054821115611d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8b90613510565b60405180910390fd5b60115482611da18561091f565b611dab919061352e565b1115611dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de3906135ab565b60405180910390fd5b611e286064611e1a600954600d5411611e0757600554611e0b565b6007545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b9050600d5f815480929190611e3c906135c9565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eca57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f0e57611f0b6064611efd600a54600d5411611eea57600654611eee565b6008545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b5f611f183061091f565b905060158054906101000a900460ff16158015611f81575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f995750601560169054906101000a900460ff165b8015611fa6575060125481115b8015611fb55750600b54600d54115b1561206457601754431115611fcc575f6016819055505b600360165410612011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120089061365a565b60405180910390fd5b61202e6120298461202484601354612709565b612709565b612378565b5f4790505f81111561204457612043476125e1565b5b60165f815480929190612056906135c9565b919050555043601781905550505b505b5f811115612165576120be8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461272190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161215c91906129e3565b60405180910390a35b6121b58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461277e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061225861220c828461277e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461272190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122fb848661277e90919063ffffffff16565b60405161230891906129e3565b60405180910390a350505050565b5f83831115829061235d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235491906128b2565b60405180910390fd5b505f838561236b9190613678565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156123ae576123ad6136ab565b5b6040519080825280602002602001820160405280156123dc5781602001602082028036833780820191505090505b50905030815f815181106123f3576123f26136d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124bb91906130d8565b816001815181106124cf576124ce6136d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125353060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461181b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016125979594939291906137bc565b5f604051808303815f87803b1580156125ae575f80fd5b505af11580156125c0573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612645573d5f803e3d5ffd5b5050565b5f808303612659575f90506126ba565b5f82846126669190612ea6565b90508284826126759190613841565b146126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ac906138e1565b60405180910390fd5b809150505b92915050565b5f61270183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127c7565b905092915050565b5f8183116127175782612719565b815b905092915050565b5f80828461272f919061352e565b905083811015612774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276b90613949565b60405180910390fd5b8091505092915050565b5f6127bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612316565b905092915050565b5f808311829061280d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280491906128b2565b60405180910390fd5b505f838561281b9190613841565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561285f578082015181840152602081019050612844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61288482612828565b61288e8185612832565b935061289e818560208601612842565b6128a78161286a565b840191505092915050565b5f6020820190508181035f8301526128ca818461287a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ff826128d6565b9050919050565b61290f816128f5565b8114612919575f80fd5b50565b5f8135905061292a81612906565b92915050565b5f819050919050565b61294281612930565b811461294c575f80fd5b50565b5f8135905061295d81612939565b92915050565b5f8060408385031215612979576129786128d2565b5b5f6129868582860161291c565b92505060206129978582860161294f565b9150509250929050565b5f8115159050919050565b6129b5816129a1565b82525050565b5f6020820190506129ce5f8301846129ac565b92915050565b6129dd81612930565b82525050565b5f6020820190506129f65f8301846129d4565b92915050565b5f805f60608486031215612a1357612a126128d2565b5b5f612a208682870161291c565b9350506020612a318682870161291c565b9250506040612a428682870161294f565b9150509250925092565b5f60ff82169050919050565b612a6181612a4c565b82525050565b5f602082019050612a7a5f830184612a58565b92915050565b5f612a8a826128d6565b9050919050565b612a9a81612a80565b8114612aa4575f80fd5b50565b5f81359050612ab581612a91565b92915050565b5f8060408385031215612ad157612ad06128d2565b5b5f612ade85828601612aa7565b9250506020612aef8582860161294f565b9150509250929050565b5f67ffffffffffffffff82169050919050565b612b1581612af9565b82525050565b5f602082019050612b2e5f830184612b0c565b92915050565b5f60208284031215612b4957612b486128d2565b5b5f612b568482850161291c565b91505092915050565b612b68816128f5565b82525050565b5f602082019050612b815f830184612b5f565b92915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b612bb581612b87565b82525050565b5f602082019050612bce5f830184612bac565b92915050565b5f8060408385031215612bea57612be96128d2565b5b5f612bf78582860161291c565b9250506020612c088582860161291c565b9150509250929050565b5f60208284031215612c2757612c266128d2565b5b5f612c348482850161294f565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c71602083612832565b9150612c7c82612c3d565b602082019050919050565b5f6020820190508181035f830152612c9e81612c65565b9050919050565b5f819050919050565b5f819050919050565b5f612cd1612ccc612cc784612ca5565b612cae565b612930565b9050919050565b612ce181612cb7565b82525050565b5f602082019050612cfa5f830184612cd8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612d8257808604811115612d5e57612d5d612d00565b5b6001851615612d6d5780820291505b8081029050612d7b85612d2d565b9450612d42565b94509492505050565b5f82612d9a5760019050612e55565b81612da7575f9050612e55565b8160018114612dbd5760028114612dc757612df6565b6001915050612e55565b60ff841115612dd957612dd8612d00565b5b8360020a915084821115612df057612def612d00565b5b50612e55565b5060208310610133831016604e8410600b8410161715612e2b5782820a905083811115612e2657612e25612d00565b5b612e55565b612e388484846001612d39565b92509050818404811115612e4f57612e4e612d00565b5b81810290505b9392505050565b5f612e6682612930565b9150612e7183612a4c565b9250612e9e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d8b565b905092915050565b5f612eb082612930565b9150612ebb83612930565b9250828202612ec981612930565b91508282048414831517612ee057612edf612d00565b5b5092915050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f612f1b601883612832565b9150612f2682612ee7565b602082019050919050565b5f6020820190508181035f830152612f4881612f0f565b9050919050565b5f81519050612f5d81612939565b92915050565b5f60208284031215612f7857612f776128d2565b5b5f612f8584828501612f4f565b91505092915050565b5f612fa8612fa3612f9e846128d6565b612cae565b6128d6565b9050919050565b5f612fb982612f8e565b9050919050565b5f612fca82612faf565b9050919050565b612fda81612fc0565b82525050565b5f604082019050612ff35f830185612fd1565b61300060208301846129d4565b9392505050565b613010816129a1565b811461301a575f80fd5b50565b5f8151905061302b81613007565b92915050565b5f60208284031215613046576130456128d2565b5b5f6130538482850161301d565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613090601783612832565b915061309b8261305c565b602082019050919050565b5f6020820190508181035f8301526130bd81613084565b9050919050565b5f815190506130d281612906565b92915050565b5f602082840312156130ed576130ec6128d2565b5b5f6130fa848285016130c4565b91505092915050565b5f6040820190506131165f830185612b5f565b6131236020830184612b5f565b9392505050565b5f60c08201905061313d5f830189612b5f565b61314a60208301886129d4565b6131576040830187612cd8565b6131646060830186612cd8565b6131716080830185612b5f565b61317e60a08301846129d4565b979650505050505050565b5f805f606084860312156131a05761319f6128d2565b5b5f6131ad86828701612f4f565b93505060206131be86828701612f4f565b92505060406131cf86828701612f4f565b9150509250925092565b5f6040820190506131ec5f830185612b5f565b6131f960208301846129d4565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61325a602483612832565b915061326582613200565b604082019050919050565b5f6020820190508181035f8301526132878161324e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132e8602283612832565b91506132f38261328e565b604082019050919050565b5f6020820190508181035f830152613315816132dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613376602583612832565b91506133818261331c565b604082019050919050565b5f6020820190508181035f8301526133a38161336a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613404602383612832565b915061340f826133aa565b604082019050919050565b5f6020820190508181035f830152613431816133f8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613492602983612832565b915061349d82613438565b604082019050919050565b5f6020820190508181035f8301526134bf81613486565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6134fa601983612832565b9150613505826134c6565b602082019050919050565b5f6020820190508181035f830152613527816134ee565b9050919050565b5f61353882612930565b915061354383612930565b925082820190508082111561355b5761355a612d00565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613595601a83612832565b91506135a082613561565b602082019050919050565b5f6020820190508181035f8301526135c281613589565b9050919050565b5f6135d382612930565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360557613604612d00565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613644601783612832565b915061364f82613610565b602082019050919050565b5f6020820190508181035f83015261367181613638565b9050919050565b5f61368282612930565b915061368d83612930565b92508282039050818111156136a5576136a4612d00565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613737816128f5565b82525050565b5f613748838361372e565b60208301905092915050565b5f602082019050919050565b5f61376a82613705565b613774818561370f565b935061377f8361371f565b805f5b838110156137af578151613796888261373d565b97506137a183613754565b925050600181019050613782565b5085935050505092915050565b5f60a0820190506137cf5f8301886129d4565b6137dc6020830187612cd8565b81810360408301526137ee8186613760565b90506137fd6060830185612b5f565b61380a60808301846129d4565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61384b82612930565b915061385683612930565b92508261386657613865613814565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138cb602183612832565b91506138d682613871565b604082019050919050565b5f6020820190508181035f8301526138f8816138bf565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613933601b83612832565b915061393e826138ff565b602082019050919050565b5f6020820190508181035f83015261396081613927565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080c4915860fbb1e29dfbacc817191b98ecc675b6aa7d91c3b892aa8e8cdc4bd564736f6c63430008170033
Deployed Bytecode
0x60806040526004361061014e575f3560e01c8063751039fc116100b55780639cb93aa51161006e5780639cb93aa51461042f578063a9059cbb14610459578063bf474bed14610495578063c9567bf9146104bf578063dd62ed3e146104d5578063ec1f3f631461051157610155565b8063751039fc146103495780637d1db4a51461035f5780638cd4426d146103895780638da5cb5b146103b15780638f9a55c0146103db57806395d89b411461040557610155565b8063313ce56711610107578063313ce567146102655780634782f7791461028f57806351bc3c85146102b75780635cb73950146102cd57806370a08231146102f7578063715018a61461033357610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e957806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610539565b60405161017a91906128b2565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612963565b610576565b6040516101b691906129bb565b60405180910390f35b3480156101ca575f80fd5b506101d3610593565b6040516101e091906129e3565b60405180910390f35b3480156101f4575f80fd5b506101fd610599565b005b34801561020a575f80fd5b5061021361066d565b60405161022091906129e3565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906129fc565b610691565b60405161025c91906129bb565b60405180910390f35b348015610270575f80fd5b50610279610765565b6040516102869190612a67565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b09190612abb565b61076d565b005b3480156102c2575f80fd5b506102cb610857565b005b3480156102d8575f80fd5b506102e1610906565b6040516102ee9190612b1b565b60405180910390f35b348015610302575f80fd5b5061031d60048036038101906103189190612b34565b61091f565b60405161032a91906129e3565b60405180910390f35b34801561033e575f80fd5b50610347610965565b005b348015610354575f80fd5b5061035d610ab3565b005b34801561036a575f80fd5b50610373610be5565b60405161038091906129e3565b60405180910390f35b348015610394575f80fd5b506103af60048036038101906103aa9190612963565b610beb565b005b3480156103bc575f80fd5b506103c5610d8c565b6040516103d29190612b6e565b60405180910390f35b3480156103e6575f80fd5b506103ef610db3565b6040516103fc91906129e3565b60405180910390f35b348015610410575f80fd5b50610419610db9565b60405161042691906128b2565b60405180910390f35b34801561043a575f80fd5b50610443610df6565b6040516104509190612bbb565b60405180910390f35b348015610464575f80fd5b5061047f600480360381019061047a9190612963565b610e21565b60405161048c91906129bb565b60405180910390f35b3480156104a0575f80fd5b506104a9610e3e565b6040516104b691906129e3565b60405180910390f35b3480156104ca575f80fd5b506104d3610e44565b005b3480156104e0575f80fd5b506104fb60048036038101906104f69190612bd4565b611706565b60405161050891906129e3565b60405180910390f35b34801561051c575f80fd5b5061053760048036038101906105329190612c12565b611788565b005b60606040518060400160405280601881526020017f5374726174656769632041757469736d20526573657276650000000000000000815250905090565b5f610589610582611814565b848461181b565b6001905092915050565b60135481565b6105a1611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612c87565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106639190612ce7565b60405180910390a1565b5f6009600a61067c9190612e5c565b6461f313f88061068c9190612ea6565b905090565b5f61069d8484846119de565b61075a846106a9611814565b610755856040518060600160405280602881526020016139686028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61070c611814565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123169092919063ffffffff16565b61181b565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107ad611814565b73ffffffffffffffffffffffffffffffffffffffff16146107cc575f80fd5b8047101561080f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080690612f31565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610852573d5f803e3d5ffd5b505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610897611814565b73ffffffffffffffffffffffffffffffffffffffff16146108b6575f80fd5b5f6108c03061091f565b90505f811180156108dd5750601560169054906101000a900460ff165b156108ec576108eb81612378565b5b5f4790505f81111561090257610901816125e1565b5b5050565b600e5f9054906101000a900467ffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61096d611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f090612c87565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abb611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90612c87565b60405180910390fd5b6009600a610b559190612e5c565b6461f313f880610b659190612ea6565b6010819055506009600a610b799190612e5c565b6461f313f880610b899190612ea6565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bbe9190612e5c565b6461f313f880610bce9190612ea6565b604051610bdb91906129e3565b60405180910390a1565b60105481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c2b611814565b73ffffffffffffffffffffffffffffffffffffffff1614610c4a575f80fd5b5f610ce86064610cda848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c8d9190612b6e565b602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190612f63565b61264990919063ffffffff16565b6126c090919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d46929190612fe0565b6020604051808303815f875af1158015610d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d869190613031565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600381526020017f5341520000000000000000000000000000000000000000000000000000000000815250905090565b600f5f9054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1681565b5f610e34610e2d611814565b84846119de565b6001905092915050565b60125481565b610e4c611814565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612c87565b60405180910390fd5b601560149054906101000a900460ff1615610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f906130a6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fc53060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fb09190612e5c565b6461f313f880610fc09190612ea6565b61181b565b5f73ffffffffffffffffffffffffffffffffffffffff1660145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611046573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106a91906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111391906130d8565b306040518363ffffffff1660e01b8152600401611131929190613103565b602060405180830381865afa15801561114c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117091906130d8565b73ffffffffffffffffffffffffffffffffffffffff16036113645760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121991906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c391906130d8565b6040518363ffffffff1660e01b81526004016112e0929190613103565b6020604051808303815f875af11580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132091906130d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611538565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f291906130d8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390560145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b91906130d8565b306040518363ffffffff1660e01b81526004016114b9929190613103565b602060405180830381865afa1580156114d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f891906130d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115803061091f565b5f8061158a610d8c565b426040518863ffffffff1660e01b81526004016115ac9695949392919061312a565b60606040518083038185885af11580156115c8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115ed9190613189565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161168d9291906131d9565b6020604051808303815f875af11580156116a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116cd9190613031565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117c8611814565b73ffffffffffffffffffffffffffffffffffffffff16146117e7575f80fd5b60075481111580156117fb57506008548111155b611803575f80fd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188090613270565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ee906132fe565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119d191906129e3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a439061338c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab19061341a565b60405180910390fd5b5f8111611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3906134a8565b60405180910390fd5b5f611b05610d8c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b735750611b43610d8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bcc575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612066575f600d5403611c1957611c166064611c08600954600d5411611bf557600554611bf9565b6007545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b5f600d541115611c4e57611c4b6064611c3d600c548561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cf7575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d4a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e4257601054821115611d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8b90613510565b60405180910390fd5b60115482611da18561091f565b611dab919061352e565b1115611dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de3906135ab565b60405180910390fd5b611e286064611e1a600954600d5411611e0757600554611e0b565b6007545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b9050600d5f815480929190611e3c906135c9565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eca57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f0e57611f0b6064611efd600a54600d5411611eea57600654611eee565b6008545b8561264990919063ffffffff16565b6126c090919063ffffffff16565b90505b5f611f183061091f565b905060158054906101000a900460ff16158015611f81575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f995750601560169054906101000a900460ff165b8015611fa6575060125481115b8015611fb55750600b54600d54115b1561206457601754431115611fcc575f6016819055505b600360165410612011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120089061365a565b60405180910390fd5b61202e6120298461202484601354612709565b612709565b612378565b5f4790505f81111561204457612043476125e1565b5b60165f815480929190612056906135c9565b919050555043601781905550505b505b5f811115612165576120be8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461272190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161215c91906129e3565b60405180910390a35b6121b58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461277e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061225861220c828461277e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461272190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122fb848661277e90919063ffffffff16565b60405161230891906129e3565b60405180910390a350505050565b5f83831115829061235d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235491906128b2565b60405180910390fd5b505f838561236b9190613678565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156123ae576123ad6136ab565b5b6040519080825280602002602001820160405280156123dc5781602001602082028036833780820191505090505b50905030815f815181106123f3576123f26136d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124bb91906130d8565b816001815181106124cf576124ce6136d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125353060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461181b565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016125979594939291906137bc565b5f604051808303815f87803b1580156125ae575f80fd5b505af11580156125c0573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612645573d5f803e3d5ffd5b5050565b5f808303612659575f90506126ba565b5f82846126669190612ea6565b90508284826126759190613841565b146126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ac906138e1565b60405180910390fd5b809150505b92915050565b5f61270183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127c7565b905092915050565b5f8183116127175782612719565b815b905092915050565b5f80828461272f919061352e565b905083811015612774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276b90613949565b60405180910390fd5b8091505092915050565b5f6127bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612316565b905092915050565b5f808311829061280d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280491906128b2565b60405180910390fd5b505f838561281b9190613841565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561285f578082015181840152602081019050612844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61288482612828565b61288e8185612832565b935061289e818560208601612842565b6128a78161286a565b840191505092915050565b5f6020820190508181035f8301526128ca818461287a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6128ff826128d6565b9050919050565b61290f816128f5565b8114612919575f80fd5b50565b5f8135905061292a81612906565b92915050565b5f819050919050565b61294281612930565b811461294c575f80fd5b50565b5f8135905061295d81612939565b92915050565b5f8060408385031215612979576129786128d2565b5b5f6129868582860161291c565b92505060206129978582860161294f565b9150509250929050565b5f8115159050919050565b6129b5816129a1565b82525050565b5f6020820190506129ce5f8301846129ac565b92915050565b6129dd81612930565b82525050565b5f6020820190506129f65f8301846129d4565b92915050565b5f805f60608486031215612a1357612a126128d2565b5b5f612a208682870161291c565b9350506020612a318682870161291c565b9250506040612a428682870161294f565b9150509250925092565b5f60ff82169050919050565b612a6181612a4c565b82525050565b5f602082019050612a7a5f830184612a58565b92915050565b5f612a8a826128d6565b9050919050565b612a9a81612a80565b8114612aa4575f80fd5b50565b5f81359050612ab581612a91565b92915050565b5f8060408385031215612ad157612ad06128d2565b5b5f612ade85828601612aa7565b9250506020612aef8582860161294f565b9150509250929050565b5f67ffffffffffffffff82169050919050565b612b1581612af9565b82525050565b5f602082019050612b2e5f830184612b0c565b92915050565b5f60208284031215612b4957612b486128d2565b5b5f612b568482850161291c565b91505092915050565b612b68816128f5565b82525050565b5f602082019050612b815f830184612b5f565b92915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b612bb581612b87565b82525050565b5f602082019050612bce5f830184612bac565b92915050565b5f8060408385031215612bea57612be96128d2565b5b5f612bf78582860161291c565b9250506020612c088582860161291c565b9150509250929050565b5f60208284031215612c2757612c266128d2565b5b5f612c348482850161294f565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c71602083612832565b9150612c7c82612c3d565b602082019050919050565b5f6020820190508181035f830152612c9e81612c65565b9050919050565b5f819050919050565b5f819050919050565b5f612cd1612ccc612cc784612ca5565b612cae565b612930565b9050919050565b612ce181612cb7565b82525050565b5f602082019050612cfa5f830184612cd8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612d8257808604811115612d5e57612d5d612d00565b5b6001851615612d6d5780820291505b8081029050612d7b85612d2d565b9450612d42565b94509492505050565b5f82612d9a5760019050612e55565b81612da7575f9050612e55565b8160018114612dbd5760028114612dc757612df6565b6001915050612e55565b60ff841115612dd957612dd8612d00565b5b8360020a915084821115612df057612def612d00565b5b50612e55565b5060208310610133831016604e8410600b8410161715612e2b5782820a905083811115612e2657612e25612d00565b5b612e55565b612e388484846001612d39565b92509050818404811115612e4f57612e4e612d00565b5b81810290505b9392505050565b5f612e6682612930565b9150612e7183612a4c565b9250612e9e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d8b565b905092915050565b5f612eb082612930565b9150612ebb83612930565b9250828202612ec981612930565b91508282048414831517612ee057612edf612d00565b5b5092915050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f612f1b601883612832565b9150612f2682612ee7565b602082019050919050565b5f6020820190508181035f830152612f4881612f0f565b9050919050565b5f81519050612f5d81612939565b92915050565b5f60208284031215612f7857612f776128d2565b5b5f612f8584828501612f4f565b91505092915050565b5f612fa8612fa3612f9e846128d6565b612cae565b6128d6565b9050919050565b5f612fb982612f8e565b9050919050565b5f612fca82612faf565b9050919050565b612fda81612fc0565b82525050565b5f604082019050612ff35f830185612fd1565b61300060208301846129d4565b9392505050565b613010816129a1565b811461301a575f80fd5b50565b5f8151905061302b81613007565b92915050565b5f60208284031215613046576130456128d2565b5b5f6130538482850161301d565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613090601783612832565b915061309b8261305c565b602082019050919050565b5f6020820190508181035f8301526130bd81613084565b9050919050565b5f815190506130d281612906565b92915050565b5f602082840312156130ed576130ec6128d2565b5b5f6130fa848285016130c4565b91505092915050565b5f6040820190506131165f830185612b5f565b6131236020830184612b5f565b9392505050565b5f60c08201905061313d5f830189612b5f565b61314a60208301886129d4565b6131576040830187612cd8565b6131646060830186612cd8565b6131716080830185612b5f565b61317e60a08301846129d4565b979650505050505050565b5f805f606084860312156131a05761319f6128d2565b5b5f6131ad86828701612f4f565b93505060206131be86828701612f4f565b92505060406131cf86828701612f4f565b9150509250925092565b5f6040820190506131ec5f830185612b5f565b6131f960208301846129d4565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61325a602483612832565b915061326582613200565b604082019050919050565b5f6020820190508181035f8301526132878161324e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132e8602283612832565b91506132f38261328e565b604082019050919050565b5f6020820190508181035f830152613315816132dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613376602583612832565b91506133818261331c565b604082019050919050565b5f6020820190508181035f8301526133a38161336a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613404602383612832565b915061340f826133aa565b604082019050919050565b5f6020820190508181035f830152613431816133f8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613492602983612832565b915061349d82613438565b604082019050919050565b5f6020820190508181035f8301526134bf81613486565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6134fa601983612832565b9150613505826134c6565b602082019050919050565b5f6020820190508181035f830152613527816134ee565b9050919050565b5f61353882612930565b915061354383612930565b925082820190508082111561355b5761355a612d00565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613595601a83612832565b91506135a082613561565b602082019050919050565b5f6020820190508181035f8301526135c281613589565b9050919050565b5f6135d382612930565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361360557613604612d00565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613644601783612832565b915061364f82613610565b602082019050919050565b5f6020820190508181035f83015261367181613638565b9050919050565b5f61368282612930565b915061368d83612930565b92508282039050818111156136a5576136a4612d00565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613737816128f5565b82525050565b5f613748838361372e565b60208301905092915050565b5f602082019050919050565b5f61376a82613705565b613774818561370f565b935061377f8361371f565b805f5b838110156137af578151613796888261373d565b97506137a183613754565b925050600181019050613782565b5085935050505092915050565b5f60a0820190506137cf5f8301886129d4565b6137dc6020830187612cd8565b81810360408301526137ee8186613760565b90506137fd6060830185612b5f565b61380a60808301846129d4565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61384b82612930565b915061385683612930565b92508261386657613865613814565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138cb602183612832565b91506138d682613871565b604082019050919050565b5f6020820190508181035f8301526138f8816138bf565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613933601b83612832565b915061393e826138ff565b602082019050919050565b5f6020820190508181035f83015261396081613927565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080c4915860fbb1e29dfbacc817191b98ecc675b6aa7d91c3b892aa8e8cdc4bd564736f6c63430008170033
Deployed Bytecode Sourcemap
3807:9207:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5818:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6651:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4971:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10678:119;;;;;;;;;;;;;:::i;:::-;;6095:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6820:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6004:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12784:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12413:363;;;;;;;;;;;;;:::i;:::-;;4473:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6198:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2796:148;;;;;;;;;;;;;:::i;:::-;;10511:159;;;;;;;;;;;;;:::i;:::-;;4776:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12139:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2582:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5909:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4504:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6325:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4904:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10905:957;;;;;;;;;;;;;:::i;:::-;;6500:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11876:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5818:83;5855:13;5888:5;;;;;;;;;;;;;;;;;5881:12;;5818:83;:::o;6651:161::-;6726:4;6743:39;6752:12;:10;:12::i;:::-;6766:7;6775:6;6743:8;:39::i;:::-;6800:4;6793:11;;6651:161;;;;:::o;4971:54::-;;;;:::o;10678:119::-;2719:12;:10;:12::i;:::-;2709:22;;:6;;;;;;;;;;:22;;;2701:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10751:1:::1;10736:12;:16;;;;10768:21;10787:1;10768:21;;;;;;:::i;:::-;;;;;;;;10678:119::o:0;6095:95::-;6148:7;4573:1;4631:2;:13;;;;:::i;:::-;4616:12;:28;;;;:::i;:::-;6168:14;;6095:95;:::o;6820:313::-;6918:4;6935:36;6945:6;6953:9;6964:6;6935:9;:36::i;:::-;6982:121;6991:6;6999:12;:10;:12::i;:::-;7013:89;7051:6;7013:89;;;;;;;;;;;;;;;;;:11;:19;7025:6;7013:19;;;;;;;;;;;;;;;:33;7033:12;:10;:12::i;:::-;7013:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6982:8;:121::i;:::-;7121:4;7114:11;;6820:313;;;;;:::o;6004:83::-;6045:5;4573:1;6063:16;;6004:83;:::o;12784:227::-;12883:10;;;;;;;;;;;12869:24;;:12;:10;:12::i;:::-;:24;;;12861:33;;;;;;12938:6;12913:21;:31;;12905:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12984:2;:11;;:19;12996:6;12984:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12784:227;;:::o;12413:363::-;12477:10;;;;;;;;;;;12463:24;;:12;:10;:12::i;:::-;:24;;;12455:33;;;;;;12499:20;12520:24;12538:4;12520:9;:24::i;:::-;12499:45;;12571:1;12558:12;:14;:29;;;;;12576:11;;;;;;;;;;;12558:29;12555:88;;;12601:30;12618:12;12601:16;:30::i;:::-;12555:88;12653:18;12672:21;12653:40;;12718:1;12707:10;:12;12704:65;;;12733:24;12746:10;12733:12;:24::i;:::-;12704:65;12444:332;;12413:363::o;4473:24::-;;;;;;;;;;;;;:::o;6198:119::-;6264:7;6291:9;:18;6301:7;6291:18;;;;;;;;;;;;;;;;6284:25;;6198:119;;;:::o;2796:148::-;2719:12;:10;:12::i;:::-;2709:22;;:6;;;;;;;;;;:22;;;2701:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2903:1:::1;2866:40;;2887:6;::::0;::::1;;;;;;;;2866:40;;;;;;;;;;;;2934:1;2917:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2796:148::o:0;10511:159::-;2719:12;:10;:12::i;:::-;2709:22;;:6;;;;;;;;;;:22;;;2701:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4573:1:::1;4631:2;:13;;;;:::i;:::-;4616:12;:28;;;;:::i;:::-;10564:12;:22;;;;4573:1;4631:2;:13;;;;:::i;:::-;4616:12;:28;;;;:::i;:::-;10597:14;:22;;;;10635:27;4573:1;4631:2;:13;;;;:::i;:::-;4616:12;:28;;;;:::i;:::-;10635:27;;;;;;:::i;:::-;;;;;;;;10511:159::o:0;4776:56::-;;;;:::o;12139:266::-;12237:10;;;;;;;;;;;12223:24;;:12;:10;:12::i;:::-;:24;;;12215:33;;;;;;12259:15;12277:63;12336:3;12277:54;12323:7;12284:8;12277:26;;;12312:4;12277:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;12259:81;;12358:8;12351:25;;;12377:10;;;;;;;;;;;12389:7;12351:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12204:201;12139:266;;:::o;2582:79::-;2620:7;2647:6;;;;;;;;;;;2640:13;;2582:79;:::o;4839:58::-;;;;:::o;5909:87::-;5948:13;5981:7;;;;;;;;;;;;;;;;;5974:14;;5909:87;:::o;4504:25::-;;;;;;;;;;;;;:::o;6325:167::-;6403:4;6420:42;6430:12;:10;:12::i;:::-;6444:9;6455:6;6420:9;:42::i;:::-;6480:4;6473:11;;6325:167;;;;:::o;4904:60::-;;;;:::o;10905:957::-;2719:12;:10;:12::i;:::-;2709:22;;:6;;;;;;;;;;:22;;;2701:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10969:11:::1;;;;;;;;;;;10968:12;10960:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11055:42;11018:15;;:80;;;;;;;;;;;;;;;;;;11109:58;11126:4;11141:15;;;;;;;;;;;4573:1;4631:2;:13;;;;:::i;:::-;4616:12;:28;;;;:::i;:::-;11109:8;:58::i;:::-;11285:1;11182:105;;11200:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11182:52;;;11235:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11267:4;11182:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:105;;::::0;11178:397:::1;;11338:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11320:55;;;11384:4;11391:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11320:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11304:13;;:110;;;;;;;;;;;;;;;;;;11178:397;;;11490:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11472:52;;;11525:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11557:4;11472:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11456:13;;:107;;;;;;;;;;;;;;;;;;11178:397;11585:15;;;;;;;;;;;:31;;;11624:21;11655:4;11661:24;11679:4;11661:9;:24::i;:::-;11686:1;11688::::0;11690:7:::1;:5;:7::i;:::-;11698:15;11585:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11732:13;;;;;;;;;;;11725:29;;;11763:15;;;;;;;;;;;11781:14;11725:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11821:4;11807:11;;:18;;;;;;;;;;;;;;;;;;11850:4;11836:11;;:18;;;;;;;;;;;;;;;;;;10905:957::o:0;6500:143::-;6581:7;6608:11;:18;6620:5;6608:18;;;;;;;;;;;;;;;:27;6627:7;6608:27;;;;;;;;;;;;;;;;6601:34;;6500:143;;;;:::o;11876:218::-;11951:10;;;;;;;;;;;11937:24;;:12;:10;:12::i;:::-;:24;;;11929:33;;;;;;11988:12;;11979:7;:21;;:47;;;;;12013:13;;12004:7;:22;;11979:47;11971:56;;;;;;12049:7;12036:12;:20;;;;12079:7;12065:13;:21;;;;11876:218;:::o;337:98::-;390:7;417:10;410:17;;337:98;:::o;7141:335::-;7251:1;7234:19;;:5;:19;;;7226:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7332:1;7313:21;;:7;:21;;;7305:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7414:6;7384:11;:18;7396:5;7384:18;;;;;;;;;;;;;;;:27;7403:7;7384:27;;;;;;;;;;;;;;;:36;;;;7452:7;7436:32;;7445:5;7436:32;;;7461:6;7436:32;;;;;;:::i;:::-;;;;;;;;7141:335;;;:::o;7484:2420::-;7588:1;7572:18;;:4;:18;;;7564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7665:1;7651:16;;:2;:16;;;7643:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7735:1;7726:6;:10;7718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7793:17;7835:7;:5;:7::i;:::-;7827:15;;:4;:15;;;;:32;;;;;7852:7;:5;:7::i;:::-;7846:13;;:2;:13;;;;7827:32;:52;;;;;7869:10;;;;;;;;;;;7863:16;;:2;:16;;;;7827:52;7823:1725;;;7912:1;7901:9;;:12;7898:139;;7945:76;8017:3;7945:67;7967:15;;7957:9;;:25;7956:55;;7997:14;;7956:55;;;7984:12;;7956:55;7945:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7933:88;;7898:139;8064:1;8054:9;;:11;8051:95;;;8097:33;8126:3;8097:24;8108:12;;8097:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8085:45;;8051:95;8174:13;;;;;;;;;;;8166:21;;:4;:21;;;:55;;;;;8205:15;;;;;;;;;;;8191:30;;:2;:30;;;;8166:55;:83;;;;;8227:18;:22;8246:2;8227:22;;;;;;;;;;;;;;;;;;;;;;;;;8225:24;8166:83;8162:420;;;8289:12;;8279:6;:22;;8271:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8384:14;;8374:6;8358:13;8368:2;8358:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8350:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8460:76;8532:3;8460:67;8482:15;;8472:9;;:25;8471:55;;8512:14;;8471:55;;;8499:12;;8471:55;8460:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8448:88;;8555:9;;:11;;;;;;;;;:::i;:::-;;;;;;8162:420;8607:13;;;;;;;;;;;8601:19;;:2;:19;;;:43;;;;;8639:4;8624:20;;:4;:20;;;;8601:43;8598:174;;;8677:79;8752:3;8677:70;8699:16;;8689:9;;:26;8688:58;;8731:15;;8688:58;;;8717:13;;8688:58;8677:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8665:91;;8598:174;8788:28;8819:24;8837:4;8819:9;:24::i;:::-;8788:55;;8863:6;;;;;;;;;;8862:7;:30;;;;;8879:13;;;;;;;;;;;8873:19;;:2;:19;;;8862:30;:45;;;;;8896:11;;;;;;;;;;;8862:45;:89;;;;;8934:17;;8911:20;:40;8862:89;:123;;;;;8967:18;;8955:9;;:30;8862:123;8858:679;;;9025:13;;9010:12;:28;9006:90;;;9075:1;9063:9;:13;;;;9006:90;9134:1;9122:9;;:13;9114:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9182:69;9199:51;9203:6;9211:38;9215:20;9237:11;;9211:3;:38::i;:::-;9199:3;:51::i;:::-;9182:16;:69::i;:::-;9270:26;9299:21;9270:50;;9364:1;9343:18;:22;9339:106;;;9390:35;9403:21;9390:12;:35::i;:::-;9339:106;9463:9;;:11;;;;;;;;;:::i;:::-;;;;;;9509:12;9493:13;:28;;;;8987:550;8858:679;7881:1667;7823:1725;9573:1;9563:9;:11;9560:161;;;9613:39;9642:9;9613;:24;9631:4;9613:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9588:9;:24;9606:4;9588:24;;;;;;;;;;;;;;;:64;;;;9693:4;9670:39;;9679:4;9670:39;;;9699:9;9670:39;;;;;;:::i;:::-;;;;;;;;9560:161;9747:27;9767:6;9747:9;:15;9757:4;9747:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9731:9;:15;9741:4;9731:15;;;;;;;;;;;;;;;:43;;;;9799:40;9817:21;9828:9;9817:6;:10;;:21;;;;:::i;:::-;9799:9;:13;9809:2;9799:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9785:9;:13;9795:2;9785:13;;;;;;;;;;;;;;;:54;;;;9870:2;9855:41;;9864:4;9855:41;;;9874:21;9885:9;9874:6;:10;;:21;;;;:::i;:::-;9855:41;;;;;;:::i;:::-;;;;;;;;7553:2351;7484:2420;;;:::o;1474:190::-;1560:7;1593:1;1588;:6;;1596:12;1580:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1620:9;1636:1;1632;:5;;;;:::i;:::-;1620:17;;1655:1;1648:8;;;1474:190;;;;;:::o;10020:483::-;5436:4;5427:6;;:13;;;;;;;;;;;;;;;;;;10098:21:::1;10136:1;10122:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10098:40;;10167:4;10149;10154:1;10149:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10193:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10183:4;10188:1;10183:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10226:62;10243:4;10258:15;;;;;;;;;;;10276:11;10226:8;:62::i;:::-;10299:15;;;;;;;;;;;:66;;;10380:11;10406:1;10422:4;10449;10469:15;10299:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10087:416;5472:5:::0;5463:6;;:14;;;;;;;;;;;;;;;;;;10020:483;:::o;10805:92::-;10862:10;;;;;;;;;;;:19;;:27;10882:6;10862:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10805:92;:::o;1672:246::-;1730:7;1759:1;1754;:6;1750:47;;1784:1;1777:8;;;;1750:47;1807:9;1823:1;1819;:5;;;;:::i;:::-;1807:17;;1852:1;1847;1843;:5;;;;:::i;:::-;:10;1835:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1909:1;1902:8;;;1672:246;;;;;:::o;1926:132::-;1984:7;2011:39;2015:1;2018;2011:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2004:46;;1926:132;;;;:::o;9914:98::-;9971:7;9998:1;9996;:3;9995:9;;10003:1;9995:9;;;10001:1;9995:9;9988:16;;9914:98;;;;:::o;1143:179::-;1201:7;1221:9;1237:1;1233;:5;;;;:::i;:::-;1221:17;;1262:1;1257;:6;;1249:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1313:1;1306:8;;;1143:179;;;;:::o;1330:136::-;1388:7;1415:43;1419:1;1422;1415:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1408:50;;1330:136;;;;:::o;2066:189::-;2152:7;2184:1;2180;:5;2187:12;2172:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2211:9;2227:1;2223;:5;;;;:::i;:::-;2211:17;;2246:1;2239:8;;;2066:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:104::-;4898:7;4927:24;4945:5;4927:24;:::i;:::-;4916:35;;4853:104;;;:::o;4963:138::-;5044:32;5070:5;5044:32;:::i;:::-;5037:5;5034:43;5024:71;;5091:1;5088;5081:12;5024:71;4963:138;:::o;5107:155::-;5161:5;5199:6;5186:20;5177:29;;5215:41;5250:5;5215:41;:::i;:::-;5107:155;;;;:::o;5268:490::-;5344:6;5352;5401:2;5389:9;5380:7;5376:23;5372:32;5369:119;;;5407:79;;:::i;:::-;5369:119;5527:1;5552:61;5605:7;5596:6;5585:9;5581:22;5552:61;:::i;:::-;5542:71;;5498:125;5662:2;5688:53;5733:7;5724:6;5713:9;5709:22;5688:53;:::i;:::-;5678:63;;5633:118;5268:490;;;;;:::o;5764:101::-;5800:7;5840:18;5833:5;5829:30;5818:41;;5764:101;;;:::o;5871:115::-;5956:23;5973:5;5956:23;:::i;:::-;5951:3;5944:36;5871:115;;:::o;5992:218::-;6083:4;6121:2;6110:9;6106:18;6098:26;;6134:69;6200:1;6189:9;6185:17;6176:6;6134:69;:::i;:::-;5992:218;;;;:::o;6216:329::-;6275:6;6324:2;6312:9;6303:7;6299:23;6295:32;6292:119;;;6330:79;;:::i;:::-;6292:119;6450:1;6475:53;6520:7;6511:6;6500:9;6496:22;6475:53;:::i;:::-;6465:63;;6421:117;6216:329;;;;:::o;6551:118::-;6638:24;6656:5;6638:24;:::i;:::-;6633:3;6626:37;6551:118;;:::o;6675:222::-;6768:4;6806:2;6795:9;6791:18;6783:26;;6819:71;6887:1;6876:9;6872:17;6863:6;6819:71;:::i;:::-;6675:222;;;;:::o;6903:138::-;6940:7;6980:54;6973:5;6969:66;6958:77;;6903:138;;;:::o;7047:118::-;7134:24;7152:5;7134:24;:::i;:::-;7129:3;7122:37;7047:118;;:::o;7171:222::-;7264:4;7302:2;7291:9;7287:18;7279:26;;7315:71;7383:1;7372:9;7368:17;7359:6;7315:71;:::i;:::-;7171:222;;;;:::o;7399:474::-;7467:6;7475;7524:2;7512:9;7503:7;7499:23;7495:32;7492:119;;;7530:79;;:::i;:::-;7492:119;7650:1;7675:53;7720:7;7711:6;7700:9;7696:22;7675:53;:::i;:::-;7665:63;;7621:117;7777:2;7803:53;7848:7;7839:6;7828:9;7824:22;7803:53;:::i;:::-;7793:63;;7748:118;7399:474;;;;;:::o;7879:329::-;7938:6;7987:2;7975:9;7966:7;7962:23;7958:32;7955:119;;;7993:79;;:::i;:::-;7955:119;8113:1;8138:53;8183:7;8174:6;8163:9;8159:22;8138:53;:::i;:::-;8128:63;;8084:117;7879:329;;;;:::o;8214:182::-;8354:34;8350:1;8342:6;8338:14;8331:58;8214:182;:::o;8402:366::-;8544:3;8565:67;8629:2;8624:3;8565:67;:::i;:::-;8558:74;;8641:93;8730:3;8641:93;:::i;:::-;8759:2;8754:3;8750:12;8743:19;;8402:366;;;:::o;8774:419::-;8940:4;8978:2;8967:9;8963:18;8955:26;;9027:9;9021:4;9017:20;9013:1;9002:9;8998:17;8991:47;9055:131;9181:4;9055:131;:::i;:::-;9047:139;;8774:419;;;:::o;9199:85::-;9244:7;9273:5;9262:16;;9199:85;;;:::o;9290:60::-;9318:3;9339:5;9332:12;;9290:60;;;:::o;9356:158::-;9414:9;9447:61;9465:42;9474:32;9500:5;9474:32;:::i;:::-;9465:42;:::i;:::-;9447:61;:::i;:::-;9434:74;;9356:158;;;:::o;9520:147::-;9615:45;9654:5;9615:45;:::i;:::-;9610:3;9603:58;9520:147;;:::o;9673:238::-;9774:4;9812:2;9801:9;9797:18;9789:26;;9825:79;9901:1;9890:9;9886:17;9877:6;9825:79;:::i;:::-;9673:238;;;;:::o;9917:180::-;9965:77;9962:1;9955:88;10062:4;10059:1;10052:15;10086:4;10083:1;10076:15;10103:102;10145:8;10192:5;10189:1;10185:13;10164:34;;10103:102;;;:::o;10211:848::-;10272:5;10279:4;10303:6;10294:15;;10327:5;10318:14;;10341:712;10362:1;10352:8;10349:15;10341:712;;;10457:4;10452:3;10448:14;10442:4;10439:24;10436:50;;;10466:18;;:::i;:::-;10436:50;10516:1;10506:8;10502:16;10499:451;;;10931:4;10924:5;10920:16;10911:25;;10499:451;10981:4;10975;10971:15;10963:23;;11011:32;11034:8;11011:32;:::i;:::-;10999:44;;10341:712;;;10211:848;;;;;;;:::o;11065:1073::-;11119:5;11310:8;11300:40;;11331:1;11322:10;;11333:5;;11300:40;11359:4;11349:36;;11376:1;11367:10;;11378:5;;11349:36;11445:4;11493:1;11488:27;;;;11529:1;11524:191;;;;11438:277;;11488:27;11506:1;11497:10;;11508:5;;;11524:191;11569:3;11559:8;11556:17;11553:43;;;11576:18;;:::i;:::-;11553:43;11625:8;11622:1;11618:16;11609:25;;11660:3;11653:5;11650:14;11647:40;;;11667:18;;:::i;:::-;11647:40;11700:5;;;11438:277;;11824:2;11814:8;11811:16;11805:3;11799:4;11796:13;11792:36;11774:2;11764:8;11761:16;11756:2;11750:4;11747:12;11743:35;11727:111;11724:246;;;11880:8;11874:4;11870:19;11861:28;;11915:3;11908:5;11905:14;11902:40;;;11922:18;;:::i;:::-;11902:40;11955:5;;11724:246;11995:42;12033:3;12023:8;12017:4;12014:1;11995:42;:::i;:::-;11980:57;;;;12069:4;12064:3;12060:14;12053:5;12050:25;12047:51;;;12078:18;;:::i;:::-;12047:51;12127:4;12120:5;12116:16;12107:25;;11065:1073;;;;;;:::o;12144:281::-;12202:5;12226:23;12244:4;12226:23;:::i;:::-;12218:31;;12270:25;12286:8;12270:25;:::i;:::-;12258:37;;12314:104;12351:66;12341:8;12335:4;12314:104;:::i;:::-;12305:113;;12144:281;;;;:::o;12431:410::-;12471:7;12494:20;12512:1;12494:20;:::i;:::-;12489:25;;12528:20;12546:1;12528:20;:::i;:::-;12523:25;;12583:1;12580;12576:9;12605:30;12623:11;12605:30;:::i;:::-;12594:41;;12784:1;12775:7;12771:15;12768:1;12765:22;12745:1;12738:9;12718:83;12695:139;;12814:18;;:::i;:::-;12695:139;12479:362;12431:410;;;;:::o;12847:174::-;12987:26;12983:1;12975:6;12971:14;12964:50;12847:174;:::o;13027:366::-;13169:3;13190:67;13254:2;13249:3;13190:67;:::i;:::-;13183:74;;13266:93;13355:3;13266:93;:::i;:::-;13384:2;13379:3;13375:12;13368:19;;13027:366;;;:::o;13399:419::-;13565:4;13603:2;13592:9;13588:18;13580:26;;13652:9;13646:4;13642:20;13638:1;13627:9;13623:17;13616:47;13680:131;13806:4;13680:131;:::i;:::-;13672:139;;13399:419;;;:::o;13824:143::-;13881:5;13912:6;13906:13;13897:22;;13928:33;13955:5;13928:33;:::i;:::-;13824:143;;;;:::o;13973:351::-;14043:6;14092:2;14080:9;14071:7;14067:23;14063:32;14060:119;;;14098:79;;:::i;:::-;14060:119;14218:1;14243:64;14299:7;14290:6;14279:9;14275:22;14243:64;:::i;:::-;14233:74;;14189:128;13973:351;;;;:::o;14330:142::-;14380:9;14413:53;14431:34;14440:24;14458:5;14440:24;:::i;:::-;14431:34;:::i;:::-;14413:53;:::i;:::-;14400:66;;14330:142;;;:::o;14478:126::-;14528:9;14561:37;14592:5;14561:37;:::i;:::-;14548:50;;14478:126;;;:::o;14610:134::-;14668:9;14701:37;14732:5;14701:37;:::i;:::-;14688:50;;14610:134;;;:::o;14750:147::-;14845:45;14884:5;14845:45;:::i;:::-;14840:3;14833:58;14750:147;;:::o;14903:348::-;15032:4;15070:2;15059:9;15055:18;15047:26;;15083:79;15159:1;15148:9;15144:17;15135:6;15083:79;:::i;:::-;15172:72;15240:2;15229:9;15225:18;15216:6;15172:72;:::i;:::-;14903:348;;;;;:::o;15257:116::-;15327:21;15342:5;15327:21;:::i;:::-;15320:5;15317:32;15307:60;;15363:1;15360;15353:12;15307:60;15257:116;:::o;15379:137::-;15433:5;15464:6;15458:13;15449:22;;15480:30;15504:5;15480:30;:::i;:::-;15379:137;;;;:::o;15522:345::-;15589:6;15638:2;15626:9;15617:7;15613:23;15609:32;15606:119;;;15644:79;;:::i;:::-;15606:119;15764:1;15789:61;15842:7;15833:6;15822:9;15818:22;15789:61;:::i;:::-;15779:71;;15735:125;15522:345;;;;:::o;15873:173::-;16013:25;16009:1;16001:6;15997:14;15990:49;15873:173;:::o;16052:366::-;16194:3;16215:67;16279:2;16274:3;16215:67;:::i;:::-;16208:74;;16291:93;16380:3;16291:93;:::i;:::-;16409:2;16404:3;16400:12;16393:19;;16052:366;;;:::o;16424:419::-;16590:4;16628:2;16617:9;16613:18;16605:26;;16677:9;16671:4;16667:20;16663:1;16652:9;16648:17;16641:47;16705:131;16831:4;16705:131;:::i;:::-;16697:139;;16424:419;;;:::o;16849:143::-;16906:5;16937:6;16931:13;16922:22;;16953:33;16980:5;16953:33;:::i;:::-;16849:143;;;;:::o;16998:351::-;17068:6;17117:2;17105:9;17096:7;17092:23;17088:32;17085:119;;;17123:79;;:::i;:::-;17085:119;17243:1;17268:64;17324:7;17315:6;17304:9;17300:22;17268:64;:::i;:::-;17258:74;;17214:128;16998:351;;;;:::o;17355:332::-;17476:4;17514:2;17503:9;17499:18;17491:26;;17527:71;17595:1;17584:9;17580:17;17571:6;17527:71;:::i;:::-;17608:72;17676:2;17665:9;17661:18;17652:6;17608:72;:::i;:::-;17355:332;;;;;:::o;17693:807::-;17942:4;17980:3;17969:9;17965:19;17957:27;;17994:71;18062:1;18051:9;18047:17;18038:6;17994:71;:::i;:::-;18075:72;18143:2;18132:9;18128:18;18119:6;18075:72;:::i;:::-;18157:80;18233:2;18222:9;18218:18;18209:6;18157:80;:::i;:::-;18247;18323:2;18312:9;18308:18;18299:6;18247:80;:::i;:::-;18337:73;18405:3;18394:9;18390:19;18381:6;18337:73;:::i;:::-;18420;18488:3;18477:9;18473:19;18464:6;18420:73;:::i;:::-;17693:807;;;;;;;;;:::o;18506:663::-;18594:6;18602;18610;18659:2;18647:9;18638:7;18634:23;18630:32;18627:119;;;18665:79;;:::i;:::-;18627:119;18785:1;18810:64;18866:7;18857:6;18846:9;18842:22;18810:64;:::i;:::-;18800:74;;18756:128;18923:2;18949:64;19005:7;18996:6;18985:9;18981:22;18949:64;:::i;:::-;18939:74;;18894:129;19062:2;19088:64;19144:7;19135:6;19124:9;19120:22;19088:64;:::i;:::-;19078:74;;19033:129;18506:663;;;;;:::o;19175:332::-;19296:4;19334:2;19323:9;19319:18;19311:26;;19347:71;19415:1;19404:9;19400:17;19391:6;19347:71;:::i;:::-;19428:72;19496:2;19485:9;19481:18;19472:6;19428:72;:::i;:::-;19175:332;;;;;:::o;19513:223::-;19653:34;19649:1;19641:6;19637:14;19630:58;19722:6;19717:2;19709:6;19705:15;19698:31;19513:223;:::o;19742:366::-;19884:3;19905:67;19969:2;19964:3;19905:67;:::i;:::-;19898:74;;19981:93;20070:3;19981:93;:::i;:::-;20099:2;20094:3;20090:12;20083:19;;19742:366;;;:::o;20114:419::-;20280:4;20318:2;20307:9;20303:18;20295:26;;20367:9;20361:4;20357:20;20353:1;20342:9;20338:17;20331:47;20395:131;20521:4;20395:131;:::i;:::-;20387:139;;20114:419;;;:::o;20539:221::-;20679:34;20675:1;20667:6;20663:14;20656:58;20748:4;20743:2;20735:6;20731:15;20724:29;20539:221;:::o;20766:366::-;20908:3;20929:67;20993:2;20988:3;20929:67;:::i;:::-;20922:74;;21005:93;21094:3;21005:93;:::i;:::-;21123:2;21118:3;21114:12;21107:19;;20766:366;;;:::o;21138:419::-;21304:4;21342:2;21331:9;21327:18;21319:26;;21391:9;21385:4;21381:20;21377:1;21366:9;21362:17;21355:47;21419:131;21545:4;21419:131;:::i;:::-;21411:139;;21138:419;;;:::o;21563:224::-;21703:34;21699:1;21691:6;21687:14;21680:58;21772:7;21767:2;21759:6;21755:15;21748:32;21563:224;:::o;21793:366::-;21935:3;21956:67;22020:2;22015:3;21956:67;:::i;:::-;21949:74;;22032:93;22121:3;22032:93;:::i;:::-;22150:2;22145:3;22141:12;22134:19;;21793:366;;;:::o;22165:419::-;22331:4;22369:2;22358:9;22354:18;22346:26;;22418:9;22412:4;22408:20;22404:1;22393:9;22389:17;22382:47;22446:131;22572:4;22446:131;:::i;:::-;22438:139;;22165:419;;;:::o;22590:222::-;22730:34;22726:1;22718:6;22714:14;22707:58;22799:5;22794:2;22786:6;22782:15;22775:30;22590:222;:::o;22818:366::-;22960:3;22981:67;23045:2;23040:3;22981:67;:::i;:::-;22974:74;;23057:93;23146:3;23057:93;:::i;:::-;23175:2;23170:3;23166:12;23159:19;;22818:366;;;:::o;23190:419::-;23356:4;23394:2;23383:9;23379:18;23371:26;;23443:9;23437:4;23433:20;23429:1;23418:9;23414:17;23407:47;23471:131;23597:4;23471:131;:::i;:::-;23463:139;;23190:419;;;:::o;23615:228::-;23755:34;23751:1;23743:6;23739:14;23732:58;23824:11;23819:2;23811:6;23807:15;23800:36;23615:228;:::o;23849:366::-;23991:3;24012:67;24076:2;24071:3;24012:67;:::i;:::-;24005:74;;24088:93;24177:3;24088:93;:::i;:::-;24206:2;24201:3;24197:12;24190:19;;23849:366;;;:::o;24221:419::-;24387:4;24425:2;24414:9;24410:18;24402:26;;24474:9;24468:4;24464:20;24460:1;24449:9;24445:17;24438:47;24502:131;24628:4;24502:131;:::i;:::-;24494:139;;24221:419;;;:::o;24646:175::-;24786:27;24782:1;24774:6;24770:14;24763:51;24646:175;:::o;24827:366::-;24969:3;24990:67;25054:2;25049:3;24990:67;:::i;:::-;24983:74;;25066:93;25155:3;25066:93;:::i;:::-;25184:2;25179:3;25175:12;25168:19;;24827:366;;;:::o;25199:419::-;25365:4;25403:2;25392:9;25388:18;25380:26;;25452:9;25446:4;25442:20;25438:1;25427:9;25423:17;25416:47;25480:131;25606:4;25480:131;:::i;:::-;25472:139;;25199:419;;;:::o;25624:191::-;25664:3;25683:20;25701:1;25683:20;:::i;:::-;25678:25;;25717:20;25735:1;25717:20;:::i;:::-;25712:25;;25760:1;25757;25753:9;25746:16;;25781:3;25778:1;25775:10;25772:36;;;25788:18;;:::i;:::-;25772:36;25624:191;;;;:::o;25821:176::-;25961:28;25957:1;25949:6;25945:14;25938:52;25821:176;:::o;26003:366::-;26145:3;26166:67;26230:2;26225:3;26166:67;:::i;:::-;26159:74;;26242:93;26331:3;26242:93;:::i;:::-;26360:2;26355:3;26351:12;26344:19;;26003:366;;;:::o;26375:419::-;26541:4;26579:2;26568:9;26564:18;26556:26;;26628:9;26622:4;26618:20;26614:1;26603:9;26599:17;26592:47;26656:131;26782:4;26656:131;:::i;:::-;26648:139;;26375:419;;;:::o;26800:233::-;26839:3;26862:24;26880:5;26862:24;:::i;:::-;26853:33;;26908:66;26901:5;26898:77;26895:103;;26978:18;;:::i;:::-;26895:103;27025:1;27018:5;27014:13;27007:20;;26800:233;;;:::o;27039:173::-;27179:25;27175:1;27167:6;27163:14;27156:49;27039:173;:::o;27218:366::-;27360:3;27381:67;27445:2;27440:3;27381:67;:::i;:::-;27374:74;;27457:93;27546:3;27457:93;:::i;:::-;27575:2;27570:3;27566:12;27559:19;;27218:366;;;:::o;27590:419::-;27756:4;27794:2;27783:9;27779:18;27771:26;;27843:9;27837:4;27833:20;27829:1;27818:9;27814:17;27807:47;27871:131;27997:4;27871:131;:::i;:::-;27863:139;;27590:419;;;:::o;28015:194::-;28055:4;28075:20;28093:1;28075:20;:::i;:::-;28070:25;;28109:20;28127:1;28109:20;:::i;:::-;28104:25;;28153:1;28150;28146:9;28138:17;;28177:1;28171:4;28168:11;28165:37;;;28182:18;;:::i;:::-;28165:37;28015:194;;;;:::o;28215:180::-;28263:77;28260:1;28253:88;28360:4;28357:1;28350:15;28384:4;28381:1;28374:15;28401:180;28449:77;28446:1;28439:88;28546:4;28543:1;28536:15;28570:4;28567:1;28560:15;28587:114;28654:6;28688:5;28682:12;28672:22;;28587:114;;;:::o;28707:184::-;28806:11;28840:6;28835:3;28828:19;28880:4;28875:3;28871:14;28856:29;;28707:184;;;;:::o;28897:132::-;28964:4;28987:3;28979:11;;29017:4;29012:3;29008:14;29000:22;;28897:132;;;:::o;29035:108::-;29112:24;29130:5;29112:24;:::i;:::-;29107:3;29100:37;29035:108;;:::o;29149:179::-;29218:10;29239:46;29281:3;29273:6;29239:46;:::i;:::-;29317:4;29312:3;29308:14;29294:28;;29149:179;;;;:::o;29334:113::-;29404:4;29436;29431:3;29427:14;29419:22;;29334:113;;;:::o;29483:732::-;29602:3;29631:54;29679:5;29631:54;:::i;:::-;29701:86;29780:6;29775:3;29701:86;:::i;:::-;29694:93;;29811:56;29861:5;29811:56;:::i;:::-;29890:7;29921:1;29906:284;29931:6;29928:1;29925:13;29906:284;;;30007:6;30001:13;30034:63;30093:3;30078:13;30034:63;:::i;:::-;30027:70;;30120:60;30173:6;30120:60;:::i;:::-;30110:70;;29966:224;29953:1;29950;29946:9;29941:14;;29906:284;;;29910:14;30206:3;30199:10;;29607:608;;;29483:732;;;;:::o;30221:831::-;30484:4;30522:3;30511:9;30507:19;30499:27;;30536:71;30604:1;30593:9;30589:17;30580:6;30536:71;:::i;:::-;30617:80;30693:2;30682:9;30678:18;30669:6;30617:80;:::i;:::-;30744:9;30738:4;30734:20;30729:2;30718:9;30714:18;30707:48;30772:108;30875:4;30866:6;30772:108;:::i;:::-;30764:116;;30890:72;30958:2;30947:9;30943:18;30934:6;30890:72;:::i;:::-;30972:73;31040:3;31029:9;31025:19;31016:6;30972:73;:::i;:::-;30221:831;;;;;;;;:::o;31058:180::-;31106:77;31103:1;31096:88;31203:4;31200:1;31193:15;31227:4;31224:1;31217:15;31244:185;31284:1;31301:20;31319:1;31301:20;:::i;:::-;31296:25;;31335:20;31353:1;31335:20;:::i;:::-;31330:25;;31374:1;31364:35;;31379:18;;:::i;:::-;31364:35;31421:1;31418;31414:9;31409:14;;31244:185;;;;:::o;31435:220::-;31575:34;31571:1;31563:6;31559:14;31552:58;31644:3;31639:2;31631:6;31627:15;31620:28;31435:220;:::o;31661:366::-;31803:3;31824:67;31888:2;31883:3;31824:67;:::i;:::-;31817:74;;31900:93;31989:3;31900:93;:::i;:::-;32018:2;32013:3;32009:12;32002:19;;31661:366;;;:::o;32033:419::-;32199:4;32237:2;32226:9;32222:18;32214:26;;32286:9;32280:4;32276:20;32272:1;32261:9;32257:17;32250:47;32314:131;32440:4;32314:131;:::i;:::-;32306:139;;32033:419;;;:::o;32458:177::-;32598:29;32594:1;32586:6;32582:14;32575:53;32458:177;:::o;32641:366::-;32783:3;32804:67;32868:2;32863:3;32804:67;:::i;:::-;32797:74;;32880:93;32969:3;32880:93;:::i;:::-;32998:2;32993:3;32989:12;32982:19;;32641:366;;;:::o;33013:419::-;33179:4;33217:2;33206:9;33202:18;33194:26;;33266:9;33260:4;33256:20;33252:1;33241:9;33237:17;33230:47;33294:131;33420:4;33294:131;:::i;:::-;33286:139;;33013:419;;;:::o
Swarm Source
ipfs://80c4915860fbb1e29dfbacc817191b98ecc675b6aa7d91c3b892aa8e8cdc4bd5
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.