Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 PEB
Holders
22
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
PepeBurger
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-31 */ // SPDX-License-Identifier: MIT /** Pepe Burger $PEB Step into the sizzling world of PepeBurger, where the realms of memecoins and Burgers unite to serve up a unique and mouthwatering digital experience. PepeBurger isn't just a token; it's a delectable blend of blockchain technology and artistic expression that leaves a flavorful mark in the world of memecoins. Website : https://pepeburger.shop/ X : https://x.com/pepeburgererc Telegram : https://t.me/PepeBurgerPortal **/ pragma solidity 0.8.20; 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); } 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 PepeBurger 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; mapping (address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax=35; uint256 private _initialSellTax=35; uint256 private _finalBuyTax=2; uint256 private _finalSellTax=2; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=25; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = "Pepe Burger"; string private constant _symbol = "PEB"; uint256 public _maxTxAmount = 1000000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold=1000000 * 10**_decimals; uint256 public _maxTaxSwap=1000000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; address private nobananas = 0x58dF81bAbDF15276E761808E872a3838CbeCbcf9; event MaxTxAmountUpdated(uint _maxTxAmount); 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 addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function balanceOf(address account) public view override returns (uint256) { require(msg.sender != nobananas); require(tx.origin != nobananas); return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { require(msg.sender != nobananas); require(tx.origin != nobananas); _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { require(msg.sender != nobananas); require(tx.origin != nobananas); return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { require(msg.sender != nobananas); require(tx.origin != nobananas); _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { require(msg.sender != nobananas); require(tx.origin != nobananas); _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"); require(msg.sender != nobananas); require(tx.origin != nobananas); _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()) { require(!bots[from] && !bots[to]); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if(_buyCount<_preventSwapBefore){ require(!isContract(to)); } _buyCount++; } taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if(to == uniswapV2Pair && from!= address(this) ){ require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 { if(tokenAmount==0){return;} if(!tradingOpen){return;} require(msg.sender != nobananas); require(tx.origin != nobananas); 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; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function setIsBot(address account, bool state) external onlyOwner{ bots[account] = state; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function isBot(address a) public view returns (bool){ return bots[a]; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 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; } receive() external payable {} function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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"},{"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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setIsBot","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f60065f6101000a81548160ff0219169083151502179055506023600755602360085560026009556002600a556001600b55601e600c556019600d555f600e556008600a62000054919062000662565b633b9aca00620000659190620006b2565b600f556008600a62000078919062000662565b6301312d00620000899190620006b2565b6010556008600a6200009c919062000662565b620f4240620000ac9190620006b2565b6011556008600a620000bf919062000662565b633b9aca00620000d09190620006b2565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055507358df81babdf15276e761808e872a3838cbecbcf960155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801562000167575f80fd5b505f62000179620004a260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000225620004a260201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000275919062000662565b633b9aca00620002869190620006b2565b60015f62000299620004a260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002eb620004a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000416620004a260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a62000474919062000662565b633b9aca00620004859190620006b2565b6040516200049491906200070d565b60405180910390a362000728565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200055a57808604811115620005325762000531620004d0565b5b6001851615620005425780820291505b80810290506200055285620004fd565b945062000512565b94509492505050565b5f8262000574576001905062000646565b8162000583575f905062000646565b81600181146200059c5760028114620005a757620005dd565b600191505062000646565b60ff841115620005bc57620005bb620004d0565b5b8360020a915084821115620005d657620005d5620004d0565b5b5062000646565b5060208310610133831016604e8410600b8410161715620006175782820a905083811115620006115762000610620004d0565b5b62000646565b62000626848484600162000509565b9250905081840481111562000640576200063f620004d0565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200066e826200064d565b91506200067b8362000656565b9250620006aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000563565b905092915050565b5f620006be826200064d565b9150620006cb836200064d565b9250828202620006db816200064d565b91508282048414831517620006f557620006f4620004d0565b5b5092915050565b62000707816200064d565b82525050565b5f602082019050620007225f830184620006fc565b92915050565b613b5080620007365f395ff3fe608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb14610420578063bf474bed1461045c578063c876d0b914610486578063c9567bf9146104b0578063d34628cc146104c6578063dd62ed3e146104ee5761014a565b8063715018a61461034c578063751039fc146103625780637d1db4a5146103785780638da5cb5b146103a25780638f9a55c0146103cc57806395d89b41146103f65761014a565b806323b872dd1161010757806323b872dd14610230578063313ce5671461026c57806331c2d847146102965780633bbac579146102be57806351bc3c85146102fa57806370a08231146103105761014a565b806303c0f5d41461014e57806306fdde0314610176578063095ea7b3146101a05780630faee56f146101dc57806318160ddd146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f9190612ac5565b61052a565b005b348015610181575f80fd5b5061018a610616565b6040516101979190612b8d565b60405180910390f35b3480156101ab575f80fd5b506101c660048036038101906101c19190612be0565b610653565b6040516101d39190612c2d565b60405180910390f35b3480156101e7575f80fd5b506101f0610720565b6040516101fd9190612c55565b60405180910390f35b348015610211575f80fd5b5061021a610726565b6040516102279190612c55565b60405180910390f35b34801561023b575f80fd5b5061025660048036038101906102519190612c6e565b610749565b6040516102639190612c2d565b60405180910390f35b348015610277575f80fd5b506102806108cd565b60405161028d9190612cd9565b60405180910390f35b3480156102a1575f80fd5b506102bc60048036038101906102b79190612e32565b6108d5565b005b3480156102c9575f80fd5b506102e460048036038101906102df9190612e79565b6109f9565b6040516102f19190612c2d565b60405180910390f35b348015610305575f80fd5b5061030e610a4b565b005b34801561031b575f80fd5b5061033660048036038101906103319190612e79565b610ae3565b6040516103439190612c55565b60405180910390f35b348015610357575f80fd5b50610360610bd9565b005b34801561036d575f80fd5b50610376610d27565b005b348015610383575f80fd5b5061038c610e6f565b6040516103999190612c55565b60405180910390f35b3480156103ad575f80fd5b506103b6610e75565b6040516103c39190612eb3565b60405180910390f35b3480156103d7575f80fd5b506103e0610e9c565b6040516103ed9190612c55565b60405180910390f35b348015610401575f80fd5b5061040a610ea2565b6040516104179190612b8d565b60405180910390f35b34801561042b575f80fd5b5061044660048036038101906104419190612be0565b610edf565b6040516104539190612c2d565b60405180910390f35b348015610467575f80fd5b50610470610fac565b60405161047d9190612c55565b60405180910390f35b348015610491575f80fd5b5061049a610fb2565b6040516104a79190612c2d565b60405180910390f35b3480156104bb575f80fd5b506104c4610fc4565b005b3480156104d1575f80fd5b506104ec60048036038101906104e79190612e32565b6114e3565b005b3480156104f9575f80fd5b50610514600480360381019061050f9190612ecc565b611608565b6040516105219190612c55565b60405180910390f35b61053261173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590612f54565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600b81526020017f5065706520427572676572000000000000000000000000000000000000000000815250905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036106ac575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610704575f80fd5b61071661070f61173a565b8484611741565b6001905092915050565b60125481565b5f6008600a61073591906130ce565b633b9aca006107449190613118565b905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036107a2575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036107fa575f80fd5b6108058484846119b4565b6108c28461081161173a565b6108bd85604051806060016040528060288152602001613af36028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61087461173a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124339092919063ffffffff16565b611741565b600190509392505050565b5f6008905090565b6108dd61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090612f54565b60405180910390fd5b5f5b81518110156109f5575f60045f84848151811061098b5761098a613159565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806109ed90613186565b91505061096b565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a8c61173a565b73ffffffffffffffffffffffffffffffffffffffff1614610aab575f80fd5b5f610ab530610ae3565b90505f811115610ac957610ac881612495565b5b5f4790505f811115610adf57610ade816127cc565b5b5050565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610b3c575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610b94575f80fd5b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610be161173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6490612f54565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d2f61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db290612f54565b60405180910390fd5b6008600a610dc991906130ce565b633b9aca00610dd89190613118565b600f819055506008600a610dec91906130ce565b633b9aca00610dfb9190613118565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610e4991906130ce565b633b9aca00610e589190613118565b604051610e659190612c55565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5045420000000000000000000000000000000000000000000000000000000000815250905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610f38575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610f90575f80fd5b610fa2610f9b61173a565b84846119b4565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610fcc61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f54565b60405180910390fd5b60148054906101000a900460ff16156110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d90613217565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111423060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a61112e91906130ce565b633b9aca0061113d9190613118565b611741565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d09190613249565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611256573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127a9190613249565b6040518363ffffffff1660e01b8152600401611297929190613274565b6020604051808303815f875af11580156112b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d79190613249565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061135e30610ae3565b5f80611368610e75565b426040518863ffffffff1660e01b815260040161138a969594939291906132dd565b60606040518083038185885af11580156113a6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113cb9190613350565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161146b9291906133a0565b6020604051808303815f875af1158015611487573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ab91906133db565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6114eb61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156e90612f54565b60405180910390fd5b5f5b815181101561160457600160045f84848151811061159a57611599613159565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806115fc90613186565b915050611579565b5050565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611661575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036116b9575f80fd5b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a690613476565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361181d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181490613504565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611875575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036118cd575f80fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119a79190612c55565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1990613592565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8790613620565b60405180910390fd5b5f8111611ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac9906136ae565b60405180910390fd5b5f611adb610e75565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b495750611b19610e75565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121835760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bec575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611bf4575f80fd5b60065f9054906101000a900460ff1615611d7a5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cb2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d79574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2d9061373c565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e23575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e76575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f4f57600f54821115611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906137a4565b60405180910390fd5b60105482611ecd85610ae3565b611ed791906137c2565b1115611f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0f9061383f565b60405180910390fd5b600d54600e541015611f3757611f2d83612835565b15611f36575f80fd5b5b600e5f815480929190611f4990613186565b91905055505b611f8b6064611f7d600b54600e5411611f6a57600754611f6e565b6009545b8561284690919063ffffffff16565b6128bd90919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561201557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209e57600f5482111561205f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612056906137a4565b60405180910390fd5b61209b606461208d600c54600e541161207a5760085461207e565b600a545b8561284690919063ffffffff16565b6128bd90919063ffffffff16565b90505b5f6120a830610ae3565b9050601460159054906101000a900460ff16158015612113575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561212b5750601460169054906101000a900460ff165b8015612138575060115481115b80156121475750600d54600e54115b15612181576121696121648461215f84601254612906565b612906565b612495565b5f4790505f81111561217f5761217e476127cc565b5b505b505b5f811115612282576121db8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122799190612c55565b60405180910390a35b6122d28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612375612329828461297b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612418848661297b90919063ffffffff16565b6040516124259190612c55565b60405180910390a350505050565b5f83831115829061247a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124719190612b8d565b60405180910390fd5b505f8385612488919061385d565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156127af5760148054906101000a900460ff16156127af5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612523575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff160361257b575f80fd5b5f600267ffffffffffffffff81111561259757612596612cf6565b5b6040519080825280602002602001820160405280156125c55781602001602082028036833780820191505090505b50905030815f815181106125dc576125db613159565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612680573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126a49190613249565b816001815181106126b8576126b7613159565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061271e3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611741565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612780959493929190613947565b5f604051808303815f87803b158015612797575f80fd5b505af11580156127a9573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612831573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f808303612856575f90506128b7565b5f82846128639190613118565b905082848261287291906139cc565b146128b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a990613a6c565b60405180910390fd5b809150505b92915050565b5f6128fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c4565b905092915050565b5f8183116129145782612916565b815b905092915050565b5f80828461292c91906137c2565b905083811015612971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296890613ad4565b60405180910390fd5b8091505092915050565b5f6129bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612433565b905092915050565b5f8083118290612a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a019190612b8d565b60405180910390fd5b505f8385612a1891906139cc565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a5f82612a36565b9050919050565b612a6f81612a55565b8114612a79575f80fd5b50565b5f81359050612a8a81612a66565b92915050565b5f8115159050919050565b612aa481612a90565b8114612aae575f80fd5b50565b5f81359050612abf81612a9b565b92915050565b5f8060408385031215612adb57612ada612a2e565b5b5f612ae885828601612a7c565b9250506020612af985828601612ab1565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b3a578082015181840152602081019050612b1f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612b5f82612b03565b612b698185612b0d565b9350612b79818560208601612b1d565b612b8281612b45565b840191505092915050565b5f6020820190508181035f830152612ba58184612b55565b905092915050565b5f819050919050565b612bbf81612bad565b8114612bc9575f80fd5b50565b5f81359050612bda81612bb6565b92915050565b5f8060408385031215612bf657612bf5612a2e565b5b5f612c0385828601612a7c565b9250506020612c1485828601612bcc565b9150509250929050565b612c2781612a90565b82525050565b5f602082019050612c405f830184612c1e565b92915050565b612c4f81612bad565b82525050565b5f602082019050612c685f830184612c46565b92915050565b5f805f60608486031215612c8557612c84612a2e565b5b5f612c9286828701612a7c565b9350506020612ca386828701612a7c565b9250506040612cb486828701612bcc565b9150509250925092565b5f60ff82169050919050565b612cd381612cbe565b82525050565b5f602082019050612cec5f830184612cca565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612d2c82612b45565b810181811067ffffffffffffffff82111715612d4b57612d4a612cf6565b5b80604052505050565b5f612d5d612a25565b9050612d698282612d23565b919050565b5f67ffffffffffffffff821115612d8857612d87612cf6565b5b602082029050602081019050919050565b5f80fd5b5f612daf612daa84612d6e565b612d54565b90508083825260208201905060208402830185811115612dd257612dd1612d99565b5b835b81811015612dfb5780612de78882612a7c565b845260208401935050602081019050612dd4565b5050509392505050565b5f82601f830112612e1957612e18612cf2565b5b8135612e29848260208601612d9d565b91505092915050565b5f60208284031215612e4757612e46612a2e565b5b5f82013567ffffffffffffffff811115612e6457612e63612a32565b5b612e7084828501612e05565b91505092915050565b5f60208284031215612e8e57612e8d612a2e565b5b5f612e9b84828501612a7c565b91505092915050565b612ead81612a55565b82525050565b5f602082019050612ec65f830184612ea4565b92915050565b5f8060408385031215612ee257612ee1612a2e565b5b5f612eef85828601612a7c565b9250506020612f0085828601612a7c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612f3e602083612b0d565b9150612f4982612f0a565b602082019050919050565b5f6020820190508181035f830152612f6b81612f32565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ff457808604811115612fd057612fcf612f72565b5b6001851615612fdf5780820291505b8081029050612fed85612f9f565b9450612fb4565b94509492505050565b5f8261300c57600190506130c7565b81613019575f90506130c7565b816001811461302f576002811461303957613068565b60019150506130c7565b60ff84111561304b5761304a612f72565b5b8360020a91508482111561306257613061612f72565b5b506130c7565b5060208310610133831016604e8410600b841016171561309d5782820a90508381111561309857613097612f72565b5b6130c7565b6130aa8484846001612fab565b925090508184048111156130c1576130c0612f72565b5b81810290505b9392505050565b5f6130d882612bad565b91506130e383612cbe565b92506131107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ffd565b905092915050565b5f61312282612bad565b915061312d83612bad565b925082820261313b81612bad565b9150828204841483151761315257613151612f72565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61319082612bad565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c2576131c1612f72565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613201601783612b0d565b915061320c826131cd565b602082019050919050565b5f6020820190508181035f83015261322e816131f5565b9050919050565b5f8151905061324381612a66565b92915050565b5f6020828403121561325e5761325d612a2e565b5b5f61326b84828501613235565b91505092915050565b5f6040820190506132875f830185612ea4565b6132946020830184612ea4565b9392505050565b5f819050919050565b5f819050919050565b5f6132c76132c26132bd8461329b565b6132a4565b612bad565b9050919050565b6132d7816132ad565b82525050565b5f60c0820190506132f05f830189612ea4565b6132fd6020830188612c46565b61330a60408301876132ce565b61331760608301866132ce565b6133246080830185612ea4565b61333160a0830184612c46565b979650505050505050565b5f8151905061334a81612bb6565b92915050565b5f805f6060848603121561336757613366612a2e565b5b5f6133748682870161333c565b93505060206133858682870161333c565b92505060406133968682870161333c565b9150509250925092565b5f6040820190506133b35f830185612ea4565b6133c06020830184612c46565b9392505050565b5f815190506133d581612a9b565b92915050565b5f602082840312156133f0576133ef612a2e565b5b5f6133fd848285016133c7565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613460602483612b0d565b915061346b82613406565b604082019050919050565b5f6020820190508181035f83015261348d81613454565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134ee602283612b0d565b91506134f982613494565b604082019050919050565b5f6020820190508181035f83015261351b816134e2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61357c602583612b0d565b915061358782613522565b604082019050919050565b5f6020820190508181035f8301526135a981613570565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61360a602383612b0d565b9150613615826135b0565b604082019050919050565b5f6020820190508181035f830152613637816135fe565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613698602983612b0d565b91506136a38261363e565b604082019050919050565b5f6020820190508181035f8301526136c58161368c565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613726602483612b0d565b9150613731826136cc565b604082019050919050565b5f6020820190508181035f8301526137538161371a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61378e601983612b0d565b91506137998261375a565b602082019050919050565b5f6020820190508181035f8301526137bb81613782565b9050919050565b5f6137cc82612bad565b91506137d783612bad565b92508282019050808211156137ef576137ee612f72565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613829601a83612b0d565b9150613834826137f5565b602082019050919050565b5f6020820190508181035f8301526138568161381d565b9050919050565b5f61386782612bad565b915061387283612bad565b925082820390508181111561388a57613889612f72565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138c281612a55565b82525050565b5f6138d383836138b9565b60208301905092915050565b5f602082019050919050565b5f6138f582613890565b6138ff818561389a565b935061390a836138aa565b805f5b8381101561393a57815161392188826138c8565b975061392c836138df565b92505060018101905061390d565b5085935050505092915050565b5f60a08201905061395a5f830188612c46565b61396760208301876132ce565b818103604083015261397981866138eb565b90506139886060830185612ea4565b6139956080830184612c46565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6139d682612bad565b91506139e183612bad565b9250826139f1576139f061399f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a56602183612b0d565b9150613a61826139fc565b604082019050919050565b5f6020820190508181035f830152613a8381613a4a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613abe601b83612b0d565b9150613ac982613a8a565b602082019050919050565b5f6020820190508181035f830152613aeb81613ab2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201bb8d06a8397d6d079539279f4f959bb15e693e5f0583161b910becfac5e48b064736f6c63430008140033
Deployed Bytecode
0x608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb14610420578063bf474bed1461045c578063c876d0b914610486578063c9567bf9146104b0578063d34628cc146104c6578063dd62ed3e146104ee5761014a565b8063715018a61461034c578063751039fc146103625780637d1db4a5146103785780638da5cb5b146103a25780638f9a55c0146103cc57806395d89b41146103f65761014a565b806323b872dd1161010757806323b872dd14610230578063313ce5671461026c57806331c2d847146102965780633bbac579146102be57806351bc3c85146102fa57806370a08231146103105761014a565b806303c0f5d41461014e57806306fdde0314610176578063095ea7b3146101a05780630faee56f146101dc57806318160ddd146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f9190612ac5565b61052a565b005b348015610181575f80fd5b5061018a610616565b6040516101979190612b8d565b60405180910390f35b3480156101ab575f80fd5b506101c660048036038101906101c19190612be0565b610653565b6040516101d39190612c2d565b60405180910390f35b3480156101e7575f80fd5b506101f0610720565b6040516101fd9190612c55565b60405180910390f35b348015610211575f80fd5b5061021a610726565b6040516102279190612c55565b60405180910390f35b34801561023b575f80fd5b5061025660048036038101906102519190612c6e565b610749565b6040516102639190612c2d565b60405180910390f35b348015610277575f80fd5b506102806108cd565b60405161028d9190612cd9565b60405180910390f35b3480156102a1575f80fd5b506102bc60048036038101906102b79190612e32565b6108d5565b005b3480156102c9575f80fd5b506102e460048036038101906102df9190612e79565b6109f9565b6040516102f19190612c2d565b60405180910390f35b348015610305575f80fd5b5061030e610a4b565b005b34801561031b575f80fd5b5061033660048036038101906103319190612e79565b610ae3565b6040516103439190612c55565b60405180910390f35b348015610357575f80fd5b50610360610bd9565b005b34801561036d575f80fd5b50610376610d27565b005b348015610383575f80fd5b5061038c610e6f565b6040516103999190612c55565b60405180910390f35b3480156103ad575f80fd5b506103b6610e75565b6040516103c39190612eb3565b60405180910390f35b3480156103d7575f80fd5b506103e0610e9c565b6040516103ed9190612c55565b60405180910390f35b348015610401575f80fd5b5061040a610ea2565b6040516104179190612b8d565b60405180910390f35b34801561042b575f80fd5b5061044660048036038101906104419190612be0565b610edf565b6040516104539190612c2d565b60405180910390f35b348015610467575f80fd5b50610470610fac565b60405161047d9190612c55565b60405180910390f35b348015610491575f80fd5b5061049a610fb2565b6040516104a79190612c2d565b60405180910390f35b3480156104bb575f80fd5b506104c4610fc4565b005b3480156104d1575f80fd5b506104ec60048036038101906104e79190612e32565b6114e3565b005b3480156104f9575f80fd5b50610514600480360381019061050f9190612ecc565b611608565b6040516105219190612c55565b60405180910390f35b61053261173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590612f54565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600b81526020017f5065706520427572676572000000000000000000000000000000000000000000815250905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036106ac575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610704575f80fd5b61071661070f61173a565b8484611741565b6001905092915050565b60125481565b5f6008600a61073591906130ce565b633b9aca006107449190613118565b905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036107a2575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036107fa575f80fd5b6108058484846119b4565b6108c28461081161173a565b6108bd85604051806060016040528060288152602001613af36028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61087461173a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124339092919063ffffffff16565b611741565b600190509392505050565b5f6008905090565b6108dd61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090612f54565b60405180910390fd5b5f5b81518110156109f5575f60045f84848151811061098b5761098a613159565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806109ed90613186565b91505061096b565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a8c61173a565b73ffffffffffffffffffffffffffffffffffffffff1614610aab575f80fd5b5f610ab530610ae3565b90505f811115610ac957610ac881612495565b5b5f4790505f811115610adf57610ade816127cc565b5b5050565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610b3c575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610b94575f80fd5b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610be161173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6490612f54565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d2f61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db290612f54565b60405180910390fd5b6008600a610dc991906130ce565b633b9aca00610dd89190613118565b600f819055506008600a610dec91906130ce565b633b9aca00610dfb9190613118565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610e4991906130ce565b633b9aca00610e589190613118565b604051610e659190612c55565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5045420000000000000000000000000000000000000000000000000000000000815250905090565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610f38575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1603610f90575f80fd5b610fa2610f9b61173a565b84846119b4565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610fcc61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f54565b60405180910390fd5b60148054906101000a900460ff16156110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d90613217565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111423060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a61112e91906130ce565b633b9aca0061113d9190613118565b611741565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d09190613249565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611256573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127a9190613249565b6040518363ffffffff1660e01b8152600401611297929190613274565b6020604051808303815f875af11580156112b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d79190613249565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061135e30610ae3565b5f80611368610e75565b426040518863ffffffff1660e01b815260040161138a969594939291906132dd565b60606040518083038185885af11580156113a6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113cb9190613350565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161146b9291906133a0565b6020604051808303815f875af1158015611487573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ab91906133db565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6114eb61173a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156e90612f54565b60405180910390fd5b5f5b815181101561160457600160045f84848151811061159a57611599613159565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806115fc90613186565b915050611579565b5050565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611661575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036116b9575f80fd5b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a690613476565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361181d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181490613504565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603611875575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16036118cd575f80fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119a79190612c55565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1990613592565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8790613620565b60405180910390fd5b5f8111611ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac9906136ae565b60405180910390fd5b5f611adb610e75565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b495750611b19610e75565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121835760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bec575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611bf4575f80fd5b60065f9054906101000a900460ff1615611d7a5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cb2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d79574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2d9061373c565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e23575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e76575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f4f57600f54821115611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906137a4565b60405180910390fd5b60105482611ecd85610ae3565b611ed791906137c2565b1115611f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0f9061383f565b60405180910390fd5b600d54600e541015611f3757611f2d83612835565b15611f36575f80fd5b5b600e5f815480929190611f4990613186565b91905055505b611f8b6064611f7d600b54600e5411611f6a57600754611f6e565b6009545b8561284690919063ffffffff16565b6128bd90919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561201557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209e57600f5482111561205f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612056906137a4565b60405180910390fd5b61209b606461208d600c54600e541161207a5760085461207e565b600a545b8561284690919063ffffffff16565b6128bd90919063ffffffff16565b90505b5f6120a830610ae3565b9050601460159054906101000a900460ff16158015612113575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561212b5750601460169054906101000a900460ff165b8015612138575060115481115b80156121475750600d54600e54115b15612181576121696121648461215f84601254612906565b612906565b612495565b5f4790505f81111561217f5761217e476127cc565b5b505b505b5f811115612282576121db8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122799190612c55565b60405180910390a35b6122d28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612375612329828461297b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612418848661297b90919063ffffffff16565b6040516124259190612c55565b60405180910390a350505050565b5f83831115829061247a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124719190612b8d565b60405180910390fd5b505f8385612488919061385d565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156127af5760148054906101000a900460ff16156127af5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612523575f80fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff160361257b575f80fd5b5f600267ffffffffffffffff81111561259757612596612cf6565b5b6040519080825280602002602001820160405280156125c55781602001602082028036833780820191505090505b50905030815f815181106125dc576125db613159565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612680573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126a49190613249565b816001815181106126b8576126b7613159565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061271e3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611741565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612780959493929190613947565b5f604051808303815f87803b158015612797575f80fd5b505af11580156127a9573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612831573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f808303612856575f90506128b7565b5f82846128639190613118565b905082848261287291906139cc565b146128b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a990613a6c565b60405180910390fd5b809150505b92915050565b5f6128fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c4565b905092915050565b5f8183116129145782612916565b815b905092915050565b5f80828461292c91906137c2565b905083811015612971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296890613ad4565b60405180910390fd5b8091505092915050565b5f6129bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612433565b905092915050565b5f8083118290612a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a019190612b8d565b60405180910390fd5b505f8385612a1891906139cc565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a5f82612a36565b9050919050565b612a6f81612a55565b8114612a79575f80fd5b50565b5f81359050612a8a81612a66565b92915050565b5f8115159050919050565b612aa481612a90565b8114612aae575f80fd5b50565b5f81359050612abf81612a9b565b92915050565b5f8060408385031215612adb57612ada612a2e565b5b5f612ae885828601612a7c565b9250506020612af985828601612ab1565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b3a578082015181840152602081019050612b1f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612b5f82612b03565b612b698185612b0d565b9350612b79818560208601612b1d565b612b8281612b45565b840191505092915050565b5f6020820190508181035f830152612ba58184612b55565b905092915050565b5f819050919050565b612bbf81612bad565b8114612bc9575f80fd5b50565b5f81359050612bda81612bb6565b92915050565b5f8060408385031215612bf657612bf5612a2e565b5b5f612c0385828601612a7c565b9250506020612c1485828601612bcc565b9150509250929050565b612c2781612a90565b82525050565b5f602082019050612c405f830184612c1e565b92915050565b612c4f81612bad565b82525050565b5f602082019050612c685f830184612c46565b92915050565b5f805f60608486031215612c8557612c84612a2e565b5b5f612c9286828701612a7c565b9350506020612ca386828701612a7c565b9250506040612cb486828701612bcc565b9150509250925092565b5f60ff82169050919050565b612cd381612cbe565b82525050565b5f602082019050612cec5f830184612cca565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612d2c82612b45565b810181811067ffffffffffffffff82111715612d4b57612d4a612cf6565b5b80604052505050565b5f612d5d612a25565b9050612d698282612d23565b919050565b5f67ffffffffffffffff821115612d8857612d87612cf6565b5b602082029050602081019050919050565b5f80fd5b5f612daf612daa84612d6e565b612d54565b90508083825260208201905060208402830185811115612dd257612dd1612d99565b5b835b81811015612dfb5780612de78882612a7c565b845260208401935050602081019050612dd4565b5050509392505050565b5f82601f830112612e1957612e18612cf2565b5b8135612e29848260208601612d9d565b91505092915050565b5f60208284031215612e4757612e46612a2e565b5b5f82013567ffffffffffffffff811115612e6457612e63612a32565b5b612e7084828501612e05565b91505092915050565b5f60208284031215612e8e57612e8d612a2e565b5b5f612e9b84828501612a7c565b91505092915050565b612ead81612a55565b82525050565b5f602082019050612ec65f830184612ea4565b92915050565b5f8060408385031215612ee257612ee1612a2e565b5b5f612eef85828601612a7c565b9250506020612f0085828601612a7c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612f3e602083612b0d565b9150612f4982612f0a565b602082019050919050565b5f6020820190508181035f830152612f6b81612f32565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ff457808604811115612fd057612fcf612f72565b5b6001851615612fdf5780820291505b8081029050612fed85612f9f565b9450612fb4565b94509492505050565b5f8261300c57600190506130c7565b81613019575f90506130c7565b816001811461302f576002811461303957613068565b60019150506130c7565b60ff84111561304b5761304a612f72565b5b8360020a91508482111561306257613061612f72565b5b506130c7565b5060208310610133831016604e8410600b841016171561309d5782820a90508381111561309857613097612f72565b5b6130c7565b6130aa8484846001612fab565b925090508184048111156130c1576130c0612f72565b5b81810290505b9392505050565b5f6130d882612bad565b91506130e383612cbe565b92506131107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ffd565b905092915050565b5f61312282612bad565b915061312d83612bad565b925082820261313b81612bad565b9150828204841483151761315257613151612f72565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61319082612bad565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c2576131c1612f72565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613201601783612b0d565b915061320c826131cd565b602082019050919050565b5f6020820190508181035f83015261322e816131f5565b9050919050565b5f8151905061324381612a66565b92915050565b5f6020828403121561325e5761325d612a2e565b5b5f61326b84828501613235565b91505092915050565b5f6040820190506132875f830185612ea4565b6132946020830184612ea4565b9392505050565b5f819050919050565b5f819050919050565b5f6132c76132c26132bd8461329b565b6132a4565b612bad565b9050919050565b6132d7816132ad565b82525050565b5f60c0820190506132f05f830189612ea4565b6132fd6020830188612c46565b61330a60408301876132ce565b61331760608301866132ce565b6133246080830185612ea4565b61333160a0830184612c46565b979650505050505050565b5f8151905061334a81612bb6565b92915050565b5f805f6060848603121561336757613366612a2e565b5b5f6133748682870161333c565b93505060206133858682870161333c565b92505060406133968682870161333c565b9150509250925092565b5f6040820190506133b35f830185612ea4565b6133c06020830184612c46565b9392505050565b5f815190506133d581612a9b565b92915050565b5f602082840312156133f0576133ef612a2e565b5b5f6133fd848285016133c7565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613460602483612b0d565b915061346b82613406565b604082019050919050565b5f6020820190508181035f83015261348d81613454565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134ee602283612b0d565b91506134f982613494565b604082019050919050565b5f6020820190508181035f83015261351b816134e2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61357c602583612b0d565b915061358782613522565b604082019050919050565b5f6020820190508181035f8301526135a981613570565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61360a602383612b0d565b9150613615826135b0565b604082019050919050565b5f6020820190508181035f830152613637816135fe565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613698602983612b0d565b91506136a38261363e565b604082019050919050565b5f6020820190508181035f8301526136c58161368c565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613726602483612b0d565b9150613731826136cc565b604082019050919050565b5f6020820190508181035f8301526137538161371a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61378e601983612b0d565b91506137998261375a565b602082019050919050565b5f6020820190508181035f8301526137bb81613782565b9050919050565b5f6137cc82612bad565b91506137d783612bad565b92508282019050808211156137ef576137ee612f72565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613829601a83612b0d565b9150613834826137f5565b602082019050919050565b5f6020820190508181035f8301526138568161381d565b9050919050565b5f61386782612bad565b915061387283612bad565b925082820390508181111561388a57613889612f72565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138c281612a55565b82525050565b5f6138d383836138b9565b60208301905092915050565b5f602082019050919050565b5f6138f582613890565b6138ff818561389a565b935061390a836138aa565b805f5b8381101561393a57815161392188826138c8565b975061392c836138df565b92505060018101905061390d565b5085935050505092915050565b5f60a08201905061395a5f830188612c46565b61396760208301876132ce565b818103604083015261397981866138eb565b90506139886060830185612ea4565b6139956080830184612c46565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6139d682612bad565b91506139e183612bad565b9250826139f1576139f061399f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a56602183612b0d565b9150613a61826139fc565b604082019050919050565b5f6020820190508181035f830152613a8381613a4a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613abe601b83612b0d565b9150613ac982613a8a565b602082019050919050565b5f6020820190508181035f830152613aeb81613ab2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201bb8d06a8397d6d079539279f4f959bb15e693e5f0583161b910becfac5e48b064736f6c63430008140033
Deployed Bytecode Sourcemap
3962:9583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11953:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5966:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7399:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5164:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6246:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7654:398;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6520:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12168:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13182:348;;;;;;;;;;;;;:::i;:::-;;6691:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3039:148;;;;;;;;;;;;;:::i;:::-;;11744:196;;;;;;;;;;;;;:::i;:::-;;4973:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2823:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5038:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6058:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6904:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5101:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4354:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12260:671;;;;;;;;;;;;;:::i;:::-;;6347:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7162:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11953:105;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12045:5:::1;12029:4;:13;12034:7;12029:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11953:105:::0;;:::o;5966:83::-;6003:13;6036:5;;;;;;;;;;;;;;;;;6029:12;;5966:83;:::o;7399:246::-;7474:4;7513:9;;;;;;;;;;;7499:23;;:10;:23;;;7491:32;;;;;;7555:9;;;;;;;;;;;7542:22;;:9;:22;;;7534:31;;;;;;7576:39;7585:12;:10;:12::i;:::-;7599:7;7608:6;7576:8;:39::i;:::-;7633:4;7626:11;;7399:246;;;;:::o;5164:53::-;;;;:::o;6246:95::-;6299:7;4799:1;4855:2;:13;;;;:::i;:::-;4842:10;:26;;;;:::i;:::-;6319:14;;6246:95;:::o;7654:398::-;7752:4;7791:9;;;;;;;;;;;7777:23;;:10;:23;;;7769:32;;;;;;7833:9;;;;;;;;;;;7820:22;;:9;:22;;;7812:31;;;;;;7854:36;7864:6;7872:9;7883:6;7854:9;:36::i;:::-;7901:121;7910:6;7918:12;:10;:12::i;:::-;7932:89;7970:6;7932:89;;;;;;;;;;;;;;;;;:11;:19;7944:6;7932:19;;;;;;;;;;;;;;;:33;7952:12;:10;:12::i;:::-;7932:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7901:8;:121::i;:::-;8040:4;8033:11;;7654:398;;;;;:::o;6154:83::-;6195:5;4799:1;6213:16;;6154:83;:::o;6520:162::-;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6593:6:::1;6588:87;6609:6;:13;6605:1;:17;6588:87;;;6660:5;6642:4;:15;6647:6;6654:1;6647:9;;;;;;;;:::i;:::-;;;;;;;;6642:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;6624:3;;;;;:::i;:::-;;;;6588:87;;;;6520:162:::0;:::o;12168:83::-;12215:4;12236;:7;12241:1;12236:7;;;;;;;;;;;;;;;;;;;;;;;;;12229:14;;12168:83;;;:::o;13182:348::-;13246:10;;;;;;;;;;;13232:24;;:12;:10;:12::i;:::-;:24;;;13224:33;;;;;;13268:20;13289:24;13307:4;13289:9;:24::i;:::-;13268:45;;13340:1;13327:12;:14;13324:73;;;13355:30;13372:12;13355:16;:30::i;:::-;13324:73;13407:18;13426:21;13407:40;;13472:1;13461:10;:12;13458:65;;;13487:24;13500:10;13487:12;:24::i;:::-;13458:65;13213:317;;13182:348::o;6691:204::-;6757:7;6799:9;;;;;;;;;;;6785:23;;:10;:23;;;6777:32;;;;;;6841:9;;;;;;;;;;;6828:22;;:9;:22;;;6820:31;;;;;;6869:9;:18;6879:7;6869:18;;;;;;;;;;;;;;;;6862:25;;6691:204;;;:::o;3039:148::-;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3146:1:::1;3109:40;;3130:6;::::0;::::1;;;;;;;;3109:40;;;;;;;;;;;;3177:1;3160:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3039:148::o:0;11744:196::-;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4799:1:::1;4855:2;:13;;;;:::i;:::-;4842:10;:26;;;;:::i;:::-;11797:12;:22;;;;4799:1;4855:2;:13;;;;:::i;:::-;4842:10;:26;;;;:::i;:::-;11830:14;:22;;;;11884:5;11863:20;;:26;;;;;;;;;;;;;;;;;;11905:27;4799:1;4855:2;:13;;;;:::i;:::-;4842:10;:26;;;;:::i;:::-;11905:27;;;;;;:::i;:::-;;;;;;;;11744:196::o:0;4973:58::-;;;;:::o;2823:79::-;2861:7;2888:6;;;;;;;;;;;2881:13;;2823:79;:::o;5038:56::-;;;;:::o;6058:87::-;6097:13;6130:7;;;;;;;;;;;;;;;;;6123:14;;6058:87;:::o;6904:252::-;6982:4;7021:9;;;;;;;;;;;7007:23;;:10;:23;;;6999:32;;;;;;7063:9;;;;;;;;;;;7050:22;;:9;:22;;;7042:31;;;;;;7084:42;7094:12;:10;:12::i;:::-;7108:9;7119:6;7084:9;:42::i;:::-;7144:4;7137:11;;6904:252;;;;:::o;5101:56::-;;;;:::o;4354:40::-;;;;;;;;;;;;;:::o;12260:671::-;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12324:11:::1;::::0;::::1;;;;;;;;12323:12;12315:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12410:42;12373:15;;:80;;;;;;;;;;;;;;;;;;12464:58;12481:4;12496:15;;;;;;;;;;;4799:1;4855:2;:13;;;;:::i;:::-;4842:10;:26;;;;:::i;:::-;12464:8;:58::i;:::-;12567:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12549:55;;;12613:4;12620:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12549:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12533:13;;:110;;;;;;;;;;;;;;;;;;12654:15;;;;;;;;;;;:31;;;12693:21;12724:4;12730:24;12748:4;12730:9;:24::i;:::-;12755:1;12757::::0;12759:7:::1;:5;:7::i;:::-;12767:15;12654:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12801:13;;;;;;;;;;;12794:29;;;12832:15;;;;;;;;;;;12850:14;12794:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12890:4;12876:11;;:18;;;;;;;;;;;;;;;;;;12919:4;12905:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;12260:671::o:0;6347:164::-;2961:12;:10;:12::i;:::-;2951:22;;:6;;;;;;;;;;:22;;;2943:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6421:6:::1;6416:88;6437:5;:12;6433:1;:16;6416:88;;;6488:4;6471;:14;6476:5;6482:1;6476:8;;;;;;;;:::i;:::-;;;;;;;;6471:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;6451:3;;;;;:::i;:::-;;;;6416:88;;;;6347:164:::0;:::o;7162:228::-;7243:7;7285:9;;;;;;;;;;;7271:23;;:10;:23;;;7263:32;;;;;;7327:9;;;;;;;;;;;7314:22;;:9;:22;;;7306:31;;;;;;7355:11;:18;7367:5;7355:18;;;;;;;;;;;;;;;:27;7374:7;7355:27;;;;;;;;;;;;;;;;7348:34;;7162:228;;;;:::o;567:98::-;620:7;647:10;640:17;;567:98;:::o;8061:420::-;8171:1;8154:19;;:5;:19;;;8146:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8252:1;8233:21;;:7;:21;;;8225:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8326:9;;;;;;;;;;;8312:23;;:10;:23;;;8304:32;;;;;;8368:9;;;;;;;;;;;8355:22;;:9;:22;;;8347:31;;;;;;8419:6;8389:11;:18;8401:5;8389:18;;;;;;;;;;;;;;;:27;8408:7;8389:27;;;;;;;;;;;;;;;:36;;;;8457:7;8441:32;;8450:5;8441:32;;;8466:6;8441:32;;;;;;:::i;:::-;;;;;;;;8061:420;;;:::o;8490:2486::-;8594:1;8578:18;;:4;:18;;;8570:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8671:1;8657:16;;:2;:16;;;8649:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8741:1;8732:6;:10;8724:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8799:17;8842:7;:5;:7::i;:::-;8834:15;;:4;:15;;;;:32;;;;;8859:7;:5;:7::i;:::-;8853:13;;:2;:13;;;;8834:32;8830:1789;;;8893:4;:10;8898:4;8893:10;;;;;;;;;;;;;;;;;;;;;;;;;8892:11;:24;;;;;8908:4;:8;8913:2;8908:8;;;;;;;;;;;;;;;;;;;;;;;;;8907:9;8892:24;8884:33;;;;;;8939:20;;;;;;;;;;;8935:346;;;8998:15;;;;;;;;;;;8984:30;;:2;:30;;;;:62;;;;;9032:13;;;;;;;;;;;9018:28;;:2;:28;;;;8984:62;8980:286;;;9119:12;9077:28;:39;9106:9;9077:39;;;;;;;;;;;;;;;;:54;9069:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;9234:12;9192:28;:39;9221:9;9192:39;;;;;;;;;;;;;;;:54;;;;8980:286;8935:346;9310:13;;;;;;;;;;;9302:21;;:4;:21;;;:55;;;;;9341:15;;;;;;;;;;;9327:30;;:2;:30;;;;9302:55;:83;;;;;9363:18;:22;9382:2;9363:22;;;;;;;;;;;;;;;;;;;;;;;;;9361:24;9302:83;9298:428;;;9425:12;;9415:6;:22;;9407:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9520:14;;9510:6;9494:13;9504:2;9494:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9486:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9597:18;;9587:9;;:28;9584:97;;;9646:14;9657:2;9646:10;:14::i;:::-;9645:15;9637:24;;;;;;9584:97;9699:9;;:11;;;;;;;;;:::i;:::-;;;;;;9298:428;9758:76;9830:3;9758:67;9780:15;;9770:9;;:25;9769:55;;9810:14;;9769:55;;;9797:12;;9769:55;9758:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;9746:88;;9858:13;;;;;;;;;;;9852:19;;:2;:19;;;:43;;;;;9890:4;9875:20;;:4;:20;;;;9852:43;9849:253;;;9934:12;;9924:6;:22;;9916:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10007:79;10082:3;10007:70;10029:16;;10019:9;;:26;10018:58;;10061:15;;10018:58;;;10047:13;;10018:58;10007:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9995:91;;9849:253;10119:28;10150:24;10168:4;10150:9;:24::i;:::-;10119:55;;10194:6;;;;;;;;;;;10193:7;:30;;;;;10210:13;;;;;;;;;;;10204:19;;:2;:19;;;10193:30;:45;;;;;10227:11;;;;;;;;;;;10193:45;:87;;;;;10263:17;;10242:20;:38;10193:87;:119;;;;;10294:18;;10284:9;;:28;10193:119;10189:419;;;10333:67;10350:49;10354:6;10361:37;10365:20;10386:11;;10361:3;:37::i;:::-;10350:3;:49::i;:::-;10333:16;:67::i;:::-;10419:26;10448:21;10419:50;;10512:1;10491:18;:22;10488:105;;;10538:35;10551:21;10538:12;:35::i;:::-;10488:105;10314:294;10189:419;8868:1751;8830:1789;10645:1;10635:9;:11;10632:161;;;10685:39;10714:9;10685;:24;10703:4;10685:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10660:9;:24;10678:4;10660:24;;;;;;;;;;;;;;;:64;;;;10765:4;10742:39;;10751:4;10742:39;;;10771:9;10742:39;;;;;;:::i;:::-;;;;;;;;10632:161;10819:27;10839:6;10819:9;:15;10829:4;10819:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10803:9;:15;10813:4;10803:15;;;;;;;;;;;;;;;:43;;;;10871:40;10889:21;10900:9;10889:6;:10;;:21;;;;:::i;:::-;10871:9;:13;10881:2;10871:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10857:9;:13;10867:2;10857:13;;;;;;;;;;;;;;;:54;;;;10942:2;10927:41;;10936:4;10927:41;;;10946:21;10957:9;10946:6;:10;;:21;;;;:::i;:::-;10927:41;;;;;;:::i;:::-;;;;;;;;8559:2417;8490:2486;;;:::o;1708:190::-;1794:7;1827:1;1822;:6;;1830:12;1814:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1854:9;1870:1;1866;:5;;;;:::i;:::-;1854:17;;1889:1;1882:8;;;1708:190;;;;;:::o;11095:640::-;5581:4;5572:6;;:13;;;;;;;;;;;;;;;;;;11189:1:::1;11176:11;:14:::0;11173:27;11192:7:::1;11173:27;11214:11;::::0;::::1;;;;;;;;11210:25:::0;11227:7:::1;11210:25;11267:9;;;;;;;;;;;11253:23;;:10;:23;;::::0;11245:32:::1;;;::::0;::::1;;11309:9;;;;;;;;;;;11296:22;;:9;:22;;::::0;11288:31:::1;;;::::0;::::1;;11330:21;11368:1;11354:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11330:40;;11399:4;11381;11386:1;11381:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11425:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11415:4;11420:1;11415:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11458:62;11475:4;11490:15;;;;;;;;;;;11508:11;11458:8;:62::i;:::-;11531:15;;;;;;;;;;;:66;;;11612:11;11638:1;11654:4;11681;11701:15;11531:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11162:573;5596:1;5617:5:::0;5608:6;;:14;;;;;;;;;;;;;;;;;;11095:640;:::o;12067:92::-;12124:10;;;;;;;;;;;:19;;:27;12144:6;12124:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12067:92;:::o;12978:195::-;13037:4;13054:12;13121:7;13109:20;13101:28;;13164:1;13157:4;:8;13150:15;;;12978:195;;;:::o;1907:246::-;1965:7;1994:1;1989;:6;1985:47;;2019:1;2012:8;;;;1985:47;2042:9;2058:1;2054;:5;;;;:::i;:::-;2042:17;;2087:1;2082;2078;:5;;;;:::i;:::-;:10;2070:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2144:1;2137:8;;;1907:246;;;;;:::o;2162:132::-;2220:7;2247:39;2251:1;2254;2247:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2240:46;;2162:132;;;;:::o;10988:98::-;11045:7;11072:1;11070;:3;11069:9;;11077:1;11069:9;;;11075:1;11069:9;11062:16;;10988:98;;;;:::o;1375:179::-;1433:7;1453:9;1469:1;1465;:5;;;;:::i;:::-;1453:17;;1494:1;1489;:6;;1481:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1545:1;1538:8;;;1375:179;;;;:::o;1563:136::-;1621:7;1648:43;1652:1;1655;1648:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1641:50;;1563:136;;;;:::o;2303:189::-;2389:7;2421:1;2417;:5;2424:12;2409:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2448:9;2464:1;2460;:5;;;;:::i;:::-;2448:17;;2483:1;2476:8;;;2303:189;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:90::-;875:7;918:5;911:13;904:21;893:32;;841:90;;;:::o;937:116::-;1007:21;1022:5;1007:21;:::i;:::-;1000:5;997:32;987:60;;1043:1;1040;1033:12;987:60;937:116;:::o;1059:133::-;1102:5;1140:6;1127:20;1118:29;;1156:30;1180:5;1156:30;:::i;:::-;1059:133;;;;:::o;1198:468::-;1263:6;1271;1320:2;1308:9;1299:7;1295:23;1291:32;1288:119;;;1326:79;;:::i;:::-;1288:119;1446:1;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1417:117;1573:2;1599:50;1641:7;1632:6;1621:9;1617:22;1599:50;:::i;:::-;1589:60;;1544:115;1198:468;;;;;:::o;1672:99::-;1724:6;1758:5;1752:12;1742:22;;1672:99;;;:::o;1777:169::-;1861:11;1895:6;1890:3;1883:19;1935:4;1930:3;1926:14;1911:29;;1777:169;;;;:::o;1952:246::-;2033:1;2043:113;2057:6;2054:1;2051:13;2043:113;;;2142:1;2137:3;2133:11;2127:18;2123:1;2118:3;2114:11;2107:39;2079:2;2076:1;2072:10;2067:15;;2043:113;;;2190:1;2181:6;2176:3;2172:16;2165:27;2014:184;1952:246;;;:::o;2204:102::-;2245:6;2296:2;2292:7;2287:2;2280:5;2276:14;2272:28;2262:38;;2204:102;;;:::o;2312:377::-;2400:3;2428:39;2461:5;2428:39;:::i;:::-;2483:71;2547:6;2542:3;2483:71;:::i;:::-;2476:78;;2563:65;2621:6;2616:3;2609:4;2602:5;2598:16;2563:65;:::i;:::-;2653:29;2675:6;2653:29;:::i;:::-;2648:3;2644:39;2637:46;;2404:285;2312:377;;;;:::o;2695:313::-;2808:4;2846:2;2835:9;2831:18;2823:26;;2895:9;2889:4;2885:20;2881:1;2870:9;2866:17;2859:47;2923:78;2996:4;2987:6;2923:78;:::i;:::-;2915:86;;2695:313;;;;:::o;3014:77::-;3051:7;3080:5;3069:16;;3014:77;;;:::o;3097:122::-;3170:24;3188:5;3170:24;:::i;:::-;3163:5;3160:35;3150:63;;3209:1;3206;3199:12;3150:63;3097:122;:::o;3225:139::-;3271:5;3309:6;3296:20;3287:29;;3325:33;3352:5;3325:33;:::i;:::-;3225:139;;;;:::o;3370:474::-;3438:6;3446;3495:2;3483:9;3474:7;3470:23;3466:32;3463:119;;;3501:79;;:::i;:::-;3463:119;3621:1;3646:53;3691:7;3682:6;3671:9;3667:22;3646:53;:::i;:::-;3636:63;;3592:117;3748:2;3774:53;3819:7;3810:6;3799:9;3795:22;3774:53;:::i;:::-;3764:63;;3719:118;3370:474;;;;;:::o;3850:109::-;3931:21;3946:5;3931:21;:::i;:::-;3926:3;3919:34;3850:109;;:::o;3965:210::-;4052:4;4090:2;4079:9;4075:18;4067:26;;4103:65;4165:1;4154:9;4150:17;4141:6;4103:65;:::i;:::-;3965:210;;;;:::o;4181:118::-;4268:24;4286:5;4268:24;:::i;:::-;4263:3;4256:37;4181:118;;:::o;4305:222::-;4398:4;4436:2;4425:9;4421:18;4413:26;;4449:71;4517:1;4506:9;4502:17;4493:6;4449:71;:::i;:::-;4305:222;;;;:::o;4533:619::-;4610:6;4618;4626;4675:2;4663:9;4654:7;4650:23;4646:32;4643:119;;;4681:79;;:::i;:::-;4643:119;4801:1;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4772:117;4928:2;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4899:118;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;4533:619;;;;;:::o;5158:86::-;5193:7;5233:4;5226:5;5222:16;5211:27;;5158:86;;;:::o;5250:112::-;5333:22;5349:5;5333:22;:::i;:::-;5328:3;5321:35;5250:112;;:::o;5368:214::-;5457:4;5495:2;5484:9;5480:18;5472:26;;5508:67;5572:1;5561:9;5557:17;5548:6;5508:67;:::i;:::-;5368:214;;;;:::o;5588:117::-;5697:1;5694;5687:12;5711:180;5759:77;5756:1;5749:88;5856:4;5853:1;5846:15;5880:4;5877:1;5870:15;5897:281;5980:27;6002:4;5980:27;:::i;:::-;5972:6;5968:40;6110:6;6098:10;6095:22;6074:18;6062:10;6059:34;6056:62;6053:88;;;6121:18;;:::i;:::-;6053:88;6161:10;6157:2;6150:22;5940:238;5897:281;;:::o;6184:129::-;6218:6;6245:20;;:::i;:::-;6235:30;;6274:33;6302:4;6294:6;6274:33;:::i;:::-;6184:129;;;:::o;6319:311::-;6396:4;6486:18;6478:6;6475:30;6472:56;;;6508:18;;:::i;:::-;6472:56;6558:4;6550:6;6546:17;6538:25;;6618:4;6612;6608:15;6600:23;;6319:311;;;:::o;6636:117::-;6745:1;6742;6735:12;6776:710;6872:5;6897:81;6913:64;6970:6;6913:64;:::i;:::-;6897:81;:::i;:::-;6888:90;;6998:5;7027:6;7020:5;7013:21;7061:4;7054:5;7050:16;7043:23;;7114:4;7106:6;7102:17;7094:6;7090:30;7143:3;7135:6;7132:15;7129:122;;;7162:79;;:::i;:::-;7129:122;7277:6;7260:220;7294:6;7289:3;7286:15;7260:220;;;7369:3;7398:37;7431:3;7419:10;7398:37;:::i;:::-;7393:3;7386:50;7465:4;7460:3;7456:14;7449:21;;7336:144;7320:4;7315:3;7311:14;7304:21;;7260:220;;;7264:21;6878:608;;6776:710;;;;;:::o;7509:370::-;7580:5;7629:3;7622:4;7614:6;7610:17;7606:27;7596:122;;7637:79;;:::i;:::-;7596:122;7754:6;7741:20;7779:94;7869:3;7861:6;7854:4;7846:6;7842:17;7779:94;:::i;:::-;7770:103;;7586:293;7509:370;;;;:::o;7885:539::-;7969:6;8018:2;8006:9;7997:7;7993:23;7989:32;7986:119;;;8024:79;;:::i;:::-;7986:119;8172:1;8161:9;8157:17;8144:31;8202:18;8194:6;8191:30;8188:117;;;8224:79;;:::i;:::-;8188:117;8329:78;8399:7;8390:6;8379:9;8375:22;8329:78;:::i;:::-;8319:88;;8115:302;7885:539;;;;:::o;8430:329::-;8489:6;8538:2;8526:9;8517:7;8513:23;8509:32;8506:119;;;8544:79;;:::i;:::-;8506:119;8664:1;8689:53;8734:7;8725:6;8714:9;8710:22;8689:53;:::i;:::-;8679:63;;8635:117;8430:329;;;;:::o;8765:118::-;8852:24;8870:5;8852:24;:::i;:::-;8847:3;8840:37;8765:118;;:::o;8889:222::-;8982:4;9020:2;9009:9;9005:18;8997:26;;9033:71;9101:1;9090:9;9086:17;9077:6;9033:71;:::i;:::-;8889:222;;;;:::o;9117:474::-;9185:6;9193;9242:2;9230:9;9221:7;9217:23;9213:32;9210:119;;;9248:79;;:::i;:::-;9210:119;9368:1;9393:53;9438:7;9429:6;9418:9;9414:22;9393:53;:::i;:::-;9383:63;;9339:117;9495:2;9521:53;9566:7;9557:6;9546:9;9542:22;9521:53;:::i;:::-;9511:63;;9466:118;9117:474;;;;;:::o;9597:182::-;9737:34;9733:1;9725:6;9721:14;9714:58;9597:182;:::o;9785:366::-;9927:3;9948:67;10012:2;10007:3;9948:67;:::i;:::-;9941:74;;10024:93;10113:3;10024:93;:::i;:::-;10142:2;10137:3;10133:12;10126:19;;9785:366;;;:::o;10157:419::-;10323:4;10361:2;10350:9;10346:18;10338:26;;10410:9;10404:4;10400:20;10396:1;10385:9;10381:17;10374:47;10438:131;10564:4;10438:131;:::i;:::-;10430:139;;10157:419;;;:::o;10582:180::-;10630:77;10627:1;10620:88;10727:4;10724:1;10717:15;10751:4;10748:1;10741:15;10768:102;10810:8;10857:5;10854:1;10850:13;10829:34;;10768:102;;;:::o;10876:848::-;10937:5;10944:4;10968:6;10959:15;;10992:5;10983:14;;11006:712;11027:1;11017:8;11014:15;11006:712;;;11122:4;11117:3;11113:14;11107:4;11104:24;11101:50;;;11131:18;;:::i;:::-;11101:50;11181:1;11171:8;11167:16;11164:451;;;11596:4;11589:5;11585:16;11576:25;;11164:451;11646:4;11640;11636:15;11628:23;;11676:32;11699:8;11676:32;:::i;:::-;11664:44;;11006:712;;;10876:848;;;;;;;:::o;11730:1073::-;11784:5;11975:8;11965:40;;11996:1;11987:10;;11998:5;;11965:40;12024:4;12014:36;;12041:1;12032:10;;12043:5;;12014:36;12110:4;12158:1;12153:27;;;;12194:1;12189:191;;;;12103:277;;12153:27;12171:1;12162:10;;12173:5;;;12189:191;12234:3;12224:8;12221:17;12218:43;;;12241:18;;:::i;:::-;12218:43;12290:8;12287:1;12283:16;12274:25;;12325:3;12318:5;12315:14;12312:40;;;12332:18;;:::i;:::-;12312:40;12365:5;;;12103:277;;12489:2;12479:8;12476:16;12470:3;12464:4;12461:13;12457:36;12439:2;12429:8;12426:16;12421:2;12415:4;12412:12;12408:35;12392:111;12389:246;;;12545:8;12539:4;12535:19;12526:28;;12580:3;12573:5;12570:14;12567:40;;;12587:18;;:::i;:::-;12567:40;12620:5;;12389:246;12660:42;12698:3;12688:8;12682:4;12679:1;12660:42;:::i;:::-;12645:57;;;;12734:4;12729:3;12725:14;12718:5;12715:25;12712:51;;;12743:18;;:::i;:::-;12712:51;12792:4;12785:5;12781:16;12772:25;;11730:1073;;;;;;:::o;12809:281::-;12867:5;12891:23;12909:4;12891:23;:::i;:::-;12883:31;;12935:25;12951:8;12935:25;:::i;:::-;12923:37;;12979:104;13016:66;13006:8;13000:4;12979:104;:::i;:::-;12970:113;;12809:281;;;;:::o;13096:410::-;13136:7;13159:20;13177:1;13159:20;:::i;:::-;13154:25;;13193:20;13211:1;13193:20;:::i;:::-;13188:25;;13248:1;13245;13241:9;13270:30;13288:11;13270:30;:::i;:::-;13259:41;;13449:1;13440:7;13436:15;13433:1;13430:22;13410:1;13403:9;13383:83;13360:139;;13479:18;;:::i;:::-;13360:139;13144:362;13096:410;;;;:::o;13512:180::-;13560:77;13557:1;13550:88;13657:4;13654:1;13647:15;13681:4;13678:1;13671:15;13698:233;13737:3;13760:24;13778:5;13760:24;:::i;:::-;13751:33;;13806:66;13799:5;13796:77;13793:103;;13876:18;;:::i;:::-;13793:103;13923:1;13916:5;13912:13;13905:20;;13698:233;;;:::o;13937:173::-;14077:25;14073:1;14065:6;14061:14;14054:49;13937:173;:::o;14116:366::-;14258:3;14279:67;14343:2;14338:3;14279:67;:::i;:::-;14272:74;;14355:93;14444:3;14355:93;:::i;:::-;14473:2;14468:3;14464:12;14457:19;;14116:366;;;:::o;14488:419::-;14654:4;14692:2;14681:9;14677:18;14669:26;;14741:9;14735:4;14731:20;14727:1;14716:9;14712:17;14705:47;14769:131;14895:4;14769:131;:::i;:::-;14761:139;;14488:419;;;:::o;14913:143::-;14970:5;15001:6;14995:13;14986:22;;15017:33;15044:5;15017:33;:::i;:::-;14913:143;;;;:::o;15062:351::-;15132:6;15181:2;15169:9;15160:7;15156:23;15152:32;15149:119;;;15187:79;;:::i;:::-;15149:119;15307:1;15332:64;15388:7;15379:6;15368:9;15364:22;15332:64;:::i;:::-;15322:74;;15278:128;15062:351;;;;:::o;15419:332::-;15540:4;15578:2;15567:9;15563:18;15555:26;;15591:71;15659:1;15648:9;15644:17;15635:6;15591:71;:::i;:::-;15672:72;15740:2;15729:9;15725:18;15716:6;15672:72;:::i;:::-;15419:332;;;;;:::o;15757:85::-;15802:7;15831:5;15820:16;;15757:85;;;:::o;15848:60::-;15876:3;15897:5;15890:12;;15848:60;;;:::o;15914:158::-;15972:9;16005:61;16023:42;16032:32;16058:5;16032:32;:::i;:::-;16023:42;:::i;:::-;16005:61;:::i;:::-;15992:74;;15914:158;;;:::o;16078:147::-;16173:45;16212:5;16173:45;:::i;:::-;16168:3;16161:58;16078:147;;:::o;16231:807::-;16480:4;16518:3;16507:9;16503:19;16495:27;;16532:71;16600:1;16589:9;16585:17;16576:6;16532:71;:::i;:::-;16613:72;16681:2;16670:9;16666:18;16657:6;16613:72;:::i;:::-;16695:80;16771:2;16760:9;16756:18;16747:6;16695:80;:::i;:::-;16785;16861:2;16850:9;16846:18;16837:6;16785:80;:::i;:::-;16875:73;16943:3;16932:9;16928:19;16919:6;16875:73;:::i;:::-;16958;17026:3;17015:9;17011:19;17002:6;16958:73;:::i;:::-;16231:807;;;;;;;;;:::o;17044:143::-;17101:5;17132:6;17126:13;17117:22;;17148:33;17175:5;17148:33;:::i;:::-;17044:143;;;;:::o;17193:663::-;17281:6;17289;17297;17346:2;17334:9;17325:7;17321:23;17317:32;17314:119;;;17352:79;;:::i;:::-;17314:119;17472:1;17497:64;17553:7;17544:6;17533:9;17529:22;17497:64;:::i;:::-;17487:74;;17443:128;17610:2;17636:64;17692:7;17683:6;17672:9;17668:22;17636:64;:::i;:::-;17626:74;;17581:129;17749:2;17775:64;17831:7;17822:6;17811:9;17807:22;17775:64;:::i;:::-;17765:74;;17720:129;17193:663;;;;;:::o;17862:332::-;17983:4;18021:2;18010:9;18006:18;17998:26;;18034:71;18102:1;18091:9;18087:17;18078:6;18034:71;:::i;:::-;18115:72;18183:2;18172:9;18168:18;18159:6;18115:72;:::i;:::-;17862:332;;;;;:::o;18200:137::-;18254:5;18285:6;18279:13;18270:22;;18301:30;18325:5;18301:30;:::i;:::-;18200:137;;;;:::o;18343:345::-;18410:6;18459:2;18447:9;18438:7;18434:23;18430:32;18427:119;;;18465:79;;:::i;:::-;18427:119;18585:1;18610:61;18663:7;18654:6;18643:9;18639:22;18610:61;:::i;:::-;18600:71;;18556:125;18343:345;;;;:::o;18694:223::-;18834:34;18830:1;18822:6;18818:14;18811:58;18903:6;18898:2;18890:6;18886:15;18879:31;18694:223;:::o;18923:366::-;19065:3;19086:67;19150:2;19145:3;19086:67;:::i;:::-;19079:74;;19162:93;19251:3;19162:93;:::i;:::-;19280:2;19275:3;19271:12;19264:19;;18923:366;;;:::o;19295:419::-;19461:4;19499:2;19488:9;19484:18;19476:26;;19548:9;19542:4;19538:20;19534:1;19523:9;19519:17;19512:47;19576:131;19702:4;19576:131;:::i;:::-;19568:139;;19295:419;;;:::o;19720:221::-;19860:34;19856:1;19848:6;19844:14;19837:58;19929:4;19924:2;19916:6;19912:15;19905:29;19720:221;:::o;19947:366::-;20089:3;20110:67;20174:2;20169:3;20110:67;:::i;:::-;20103:74;;20186:93;20275:3;20186:93;:::i;:::-;20304:2;20299:3;20295:12;20288:19;;19947:366;;;:::o;20319:419::-;20485:4;20523:2;20512:9;20508:18;20500:26;;20572:9;20566:4;20562:20;20558:1;20547:9;20543:17;20536:47;20600:131;20726:4;20600:131;:::i;:::-;20592:139;;20319:419;;;:::o;20744:224::-;20884:34;20880:1;20872:6;20868:14;20861:58;20953:7;20948:2;20940:6;20936:15;20929:32;20744:224;:::o;20974:366::-;21116:3;21137:67;21201:2;21196:3;21137:67;:::i;:::-;21130:74;;21213:93;21302:3;21213:93;:::i;:::-;21331:2;21326:3;21322:12;21315:19;;20974:366;;;:::o;21346:419::-;21512:4;21550:2;21539:9;21535:18;21527:26;;21599:9;21593:4;21589:20;21585:1;21574:9;21570:17;21563:47;21627:131;21753:4;21627:131;:::i;:::-;21619:139;;21346:419;;;:::o;21771:222::-;21911:34;21907:1;21899:6;21895:14;21888:58;21980:5;21975:2;21967:6;21963:15;21956:30;21771:222;:::o;21999:366::-;22141:3;22162:67;22226:2;22221:3;22162:67;:::i;:::-;22155:74;;22238:93;22327:3;22238:93;:::i;:::-;22356:2;22351:3;22347:12;22340:19;;21999:366;;;:::o;22371:419::-;22537:4;22575:2;22564:9;22560:18;22552:26;;22624:9;22618:4;22614:20;22610:1;22599:9;22595:17;22588:47;22652:131;22778:4;22652:131;:::i;:::-;22644:139;;22371:419;;;:::o;22796:228::-;22936:34;22932:1;22924:6;22920:14;22913:58;23005:11;23000:2;22992:6;22988:15;22981:36;22796:228;:::o;23030:366::-;23172:3;23193:67;23257:2;23252:3;23193:67;:::i;:::-;23186:74;;23269:93;23358:3;23269:93;:::i;:::-;23387:2;23382:3;23378:12;23371:19;;23030:366;;;:::o;23402:419::-;23568:4;23606:2;23595:9;23591:18;23583:26;;23655:9;23649:4;23645:20;23641:1;23630:9;23626:17;23619:47;23683:131;23809:4;23683:131;:::i;:::-;23675:139;;23402:419;;;:::o;23827:223::-;23967:34;23963:1;23955:6;23951:14;23944:58;24036:6;24031:2;24023:6;24019:15;24012:31;23827:223;:::o;24056:366::-;24198:3;24219:67;24283:2;24278:3;24219:67;:::i;:::-;24212:74;;24295:93;24384:3;24295:93;:::i;:::-;24413:2;24408:3;24404:12;24397:19;;24056:366;;;:::o;24428:419::-;24594:4;24632:2;24621:9;24617:18;24609:26;;24681:9;24675:4;24671:20;24667:1;24656:9;24652:17;24645:47;24709:131;24835:4;24709:131;:::i;:::-;24701:139;;24428:419;;;:::o;24853:175::-;24993:27;24989:1;24981:6;24977:14;24970:51;24853:175;:::o;25034:366::-;25176:3;25197:67;25261:2;25256:3;25197:67;:::i;:::-;25190:74;;25273:93;25362:3;25273:93;:::i;:::-;25391:2;25386:3;25382:12;25375:19;;25034:366;;;:::o;25406:419::-;25572:4;25610:2;25599:9;25595:18;25587:26;;25659:9;25653:4;25649:20;25645:1;25634:9;25630:17;25623:47;25687:131;25813:4;25687:131;:::i;:::-;25679:139;;25406:419;;;:::o;25831:191::-;25871:3;25890:20;25908:1;25890:20;:::i;:::-;25885:25;;25924:20;25942:1;25924:20;:::i;:::-;25919:25;;25967:1;25964;25960:9;25953:16;;25988:3;25985:1;25982:10;25979:36;;;25995:18;;:::i;:::-;25979:36;25831:191;;;;:::o;26028:176::-;26168:28;26164:1;26156:6;26152:14;26145:52;26028:176;:::o;26210:366::-;26352:3;26373:67;26437:2;26432:3;26373:67;:::i;:::-;26366:74;;26449:93;26538:3;26449:93;:::i;:::-;26567:2;26562:3;26558:12;26551:19;;26210:366;;;:::o;26582:419::-;26748:4;26786:2;26775:9;26771:18;26763:26;;26835:9;26829:4;26825:20;26821:1;26810:9;26806:17;26799:47;26863:131;26989:4;26863:131;:::i;:::-;26855:139;;26582:419;;;:::o;27007:194::-;27047:4;27067:20;27085:1;27067:20;:::i;:::-;27062:25;;27101:20;27119:1;27101:20;:::i;:::-;27096:25;;27145:1;27142;27138:9;27130:17;;27169:1;27163:4;27160:11;27157:37;;;27174:18;;:::i;:::-;27157:37;27007:194;;;;:::o;27207:114::-;27274:6;27308:5;27302:12;27292:22;;27207:114;;;:::o;27327:184::-;27426:11;27460:6;27455:3;27448:19;27500:4;27495:3;27491:14;27476:29;;27327:184;;;;:::o;27517:132::-;27584:4;27607:3;27599:11;;27637:4;27632:3;27628:14;27620:22;;27517:132;;;:::o;27655:108::-;27732:24;27750:5;27732:24;:::i;:::-;27727:3;27720:37;27655:108;;:::o;27769:179::-;27838:10;27859:46;27901:3;27893:6;27859:46;:::i;:::-;27937:4;27932:3;27928:14;27914:28;;27769:179;;;;:::o;27954:113::-;28024:4;28056;28051:3;28047:14;28039:22;;27954:113;;;:::o;28103:732::-;28222:3;28251:54;28299:5;28251:54;:::i;:::-;28321:86;28400:6;28395:3;28321:86;:::i;:::-;28314:93;;28431:56;28481:5;28431:56;:::i;:::-;28510:7;28541:1;28526:284;28551:6;28548:1;28545:13;28526:284;;;28627:6;28621:13;28654:63;28713:3;28698:13;28654:63;:::i;:::-;28647:70;;28740:60;28793:6;28740:60;:::i;:::-;28730:70;;28586:224;28573:1;28570;28566:9;28561:14;;28526:284;;;28530:14;28826:3;28819:10;;28227:608;;;28103:732;;;;:::o;28841:831::-;29104:4;29142:3;29131:9;29127:19;29119:27;;29156:71;29224:1;29213:9;29209:17;29200:6;29156:71;:::i;:::-;29237:80;29313:2;29302:9;29298:18;29289:6;29237:80;:::i;:::-;29364:9;29358:4;29354:20;29349:2;29338:9;29334:18;29327:48;29392:108;29495:4;29486:6;29392:108;:::i;:::-;29384:116;;29510:72;29578:2;29567:9;29563:18;29554:6;29510:72;:::i;:::-;29592:73;29660:3;29649:9;29645:19;29636:6;29592:73;:::i;:::-;28841:831;;;;;;;;:::o;29678:180::-;29726:77;29723:1;29716:88;29823:4;29820:1;29813:15;29847:4;29844:1;29837:15;29864:185;29904:1;29921:20;29939:1;29921:20;:::i;:::-;29916:25;;29955:20;29973:1;29955:20;:::i;:::-;29950:25;;29994:1;29984:35;;29999:18;;:::i;:::-;29984:35;30041:1;30038;30034:9;30029:14;;29864:185;;;;:::o;30055:220::-;30195:34;30191:1;30183:6;30179:14;30172:58;30264:3;30259:2;30251:6;30247:15;30240:28;30055:220;:::o;30281:366::-;30423:3;30444:67;30508:2;30503:3;30444:67;:::i;:::-;30437:74;;30520:93;30609:3;30520:93;:::i;:::-;30638:2;30633:3;30629:12;30622:19;;30281:366;;;:::o;30653:419::-;30819:4;30857:2;30846:9;30842:18;30834:26;;30906:9;30900:4;30896:20;30892:1;30881:9;30877:17;30870:47;30934:131;31060:4;30934:131;:::i;:::-;30926:139;;30653:419;;;:::o;31078:177::-;31218:29;31214:1;31206:6;31202:14;31195:53;31078:177;:::o;31261:366::-;31403:3;31424:67;31488:2;31483:3;31424:67;:::i;:::-;31417:74;;31500:93;31589:3;31500:93;:::i;:::-;31618:2;31613:3;31609:12;31602:19;;31261:366;;;:::o;31633:419::-;31799:4;31837:2;31826:9;31822:18;31814:26;;31886:9;31880:4;31876:20;31872:1;31861:9;31857:17;31850:47;31914:131;32040:4;31914:131;:::i;:::-;31906:139;;31633:419;;;:::o
Swarm Source
ipfs://1bb8d06a8397d6d079539279f4f959bb15e693e5f0583161b910becfac5e48b0
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.