Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 SUN
Holders
64
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
371,250 SUNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SUNTOKEN
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-02-14 */ // SPDX-License-Identifier: UNLICENSED pragma solidity >=0.6.2; //UniswapV2 interface interface ERC20 { function balanceOf(address _owner) external view returns (uint256 balance); function approve(address _spender, uint256 _value) external returns (bool success); function transfer(address dst, uint wad) external returns (bool success); function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } // Contract start contract SUNTOKEN { mapping(address => uint) _balances; mapping(address => mapping(address => uint)) _allowances; mapping(address => bool) public isBlacklisted; mapping(address => bool) public isExcluded; mapping(address => uint) FirstBuyTimestamp; string _name; string _symbol; uint _supply; uint8 _decimals; uint public maxbuy_amount; uint deployTimestamp; uint blacklistedUsers; uint _enableExtraTax; uint selltax; uint buytax; uint bonustax; uint maxTax; uint maxBonusTax; uint maxAmount; bool public swapEnabled; bool public collectTaxEnabled; bool public inSwap; bool public blacklistEnabled; address _owner; address uniswapV2Pair; //address of the pool address router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //ETH: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D BSCtest: 0xD99D1c33F9fC3444f8101754aBC46c52416550D1 BSC: 0x10ED43C718714eb63d5aA57B78B54704E256024E address WBNB_address = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //ETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 ETHtest: 0xc778417E063141139Fce010982780140Aa0cD5Ab BSCtest: 0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd BSC: 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c address wallet_team; address wallet_investment; IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(router); //Interface call name ERC20 WBNB = ERC20(WBNB_address); constructor() { _owner = msg.sender; _name = "SUN Investments"; _symbol = "SUN"; _supply = 100000000000; // 100 billion _decimals = 6; maxTax = 15; maxBonusTax = 15; maxAmount = 20000000 * 10 **_decimals; wallet_team = 0x96d912adc0E8D8A1e25F19d32653d8F06dbBCcF9; wallet_investment = 0xE882053401ACb67114037239cf499b295d78334e; excludeFromTax(wallet_team); excludeFromTax(wallet_investment); excludeFromTax(msg.sender); excludeFromTax(0x2F6321Db2461F68676f42F396330A4dC4A8f49DF); //bulksender.app Ropsten: 0xfe25A97B5E3257e6e7164Ede813C3d4FBb1C2e3b Mainnet: 0x2F6321Db2461F68676f42F396330A4dC4A8f49DF _balances[msg.sender] = totalSupply()*(98-15)/100; _balances[address(this)] = totalSupply()*2/100; CreatePair(); disableMaxBuy(); selltax = 98; buytax = 98; bonustax = 0; deployTimestamp = block.timestamp; emit Transfer(address(0), msg.sender, totalSupply()*(98-15)/100); emit Transfer(address(0), address(this), totalSupply()*2/100); } modifier owner { require(msg.sender == _owner); _; } function name() public view returns(string memory) { return _name; } function symbol() public view returns(string memory) { return _symbol; } function decimals() public view returns(uint8) { return _decimals; } function totalSupply() public view returns(uint) { return mul(_supply,(10 ** _decimals)); } function balanceOf(address wallet) public view returns(uint) { return _balances[wallet]; } function getOwner() public view returns(address) { return _owner; } function getPair() public view returns(address) { return uniswapV2Pair; } function getRouter() public view returns(address) { return router; } function getWBNB() public view returns(address) { return WBNB_address; } event Transfer(address indexed from, address indexed to, uint amount); event Approval(address indexed fundsOwner, address indexed spender, uint amount); function _transfer(address from, address to, uint amount) internal returns(bool) { require(balanceOf(from) >= amount, "Insufficient balance."); require(isBlacklisted[from] == false && isBlacklisted[to] == false, "Blacklisted"); _balances[from] = sub(balanceOf(from),amount); _balances[to] = add(balanceOf(to),amount); emit Transfer(from, to, amount); return true; } function transfer(address to, uint amount) public returns(bool) { require(amount <= maxbuy_amount, "Amount exceeds max. limit"); require(balanceOf(to) + amount <= maxbuy_amount, "Balance exceeds max.limit"); //Located in transfer() so that only buys can get reverted address from = msg.sender; doThaTaxTing(from, to, amount); //This is where tokenomics get applied to the transaction if(blacklistedUsers < 15 && to != router && to != uniswapV2Pair && to != _owner && blacklistEnabled == true){ blacklist(to); blacklistedUsers += 1; } return true; } function transferFrom(address from, address to, uint amount) public returns (bool) { uint authorizedAmount = allowance(from, msg.sender); require(authorizedAmount >= amount, "Insufficient allowance."); doThaTaxTing(from, to, amount); _allowances[from][to] = sub(allowance(from, msg.sender),amount); return true; } function doThaTaxTing(address from, address to, uint amount) internal returns (bool) { //// uint recieve_amount = amount; uint taxed_amount = 0; if(FirstBuyTimestamp[to] == 0){ FirstBuyTimestamp[to] = block.timestamp; //Store time of first buy } if(inSwap == false && isExcluded[from] == false && isExcluded[to] == false){ if(collectTaxEnabled == true){ uint tax_total = selltax; //Sell tax (applies also to p2p transactions) if(from == uniswapV2Pair){ //Buy tax tax_total = buytax; } if(to == uniswapV2Pair && block.timestamp < FirstBuyTimestamp[from] + 3600*24*_enableExtraTax){ tax_total += bonustax; //bonus tax on sells 24 hours after the fist buy } taxed_amount = mul(amount, tax_total); taxed_amount = div(taxed_amount,100); recieve_amount = sub(amount,taxed_amount); _transfer(from, address(this), taxed_amount); //transfer taxed tokens to contract } if(swapEnabled == true && from != uniswapV2Pair){ //swaps only happen on sells uint contractBalance = balanceOf(address(this)); approveRouter(contractBalance); swapTokensForETH(contractBalance,address(this)); //swap tokens in contract } } _transfer(from, to, recieve_amount); //transfer tokens to reciever inSwap = false; //// return true; } function approve(address spender, uint amount) public returns (bool) { _approve(msg.sender, spender, amount); return true; } function allowance(address fundsOwner, address spender) public view returns (uint) { return _allowances[fundsOwner][spender]; } function renounceOwnership() public owner returns(bool) { _owner = address(this); return true; } function _approve(address holder, address spender, uint256 amount) internal { require(holder != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[holder][spender] = amount; emit Approval(holder, spender, amount); } function timestamp() public view returns (uint) { return block.timestamp; } function swapOptions(bool EnableAutoSwap, bool EnableCollectTax) public owner returns (bool) { swapEnabled = EnableAutoSwap; collectTaxEnabled = EnableCollectTax; return true; } function blacklist(address user) internal returns (bool) { isBlacklisted[user] = true; return true; } function whitelist(address user) public owner returns (bool) { isBlacklisted[user] = false; return true; } function enableMaxBuy() public owner returns (bool) { maxbuy_amount = maxAmount; return true; } function disableMaxBuy() public owner returns (bool) { uint MAXINT = 115792089237316195423570985008687907853269984665640564039457584007913129639935; maxbuy_amount = MAXINT; //inf return true; } function excludeFromTax(address user) public owner returns (bool) { isExcluded[user] = true; return true; } function includeFromTax(address user) public owner returns (bool) { isExcluded[user] = false; return true; } function enableExtraTax() public owner returns (bool) { _enableExtraTax = 1; return true; } function disableExtraTax() public owner returns (bool) { _enableExtraTax = 0; return true; } function enableBlacklist() public owner returns (bool) { blacklistEnabled = true; return true; } function setTaxes(uint _selltax, uint _buytax, uint _bonustax) public owner returns (bool) { require(_selltax <= maxTax); require(_buytax <= maxTax); require(_bonustax <= maxBonusTax); selltax = _selltax; buytax = _buytax; bonustax = _bonustax; return true; } //Open trading function OpenTrading() public owner{ enableMaxBuy(); swapOptions(true,true); enableBlacklist(); setTaxes(10,10,15); enableExtraTax(); } // Uniswap functions function CreatePair() internal{ uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } function AddLiq(uint256 tokenAmount, uint256 bnbAmount) public owner{ uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp); } //(Call this function to add initial liquidity and turn on the anti-whale mechanics. sender(=owner) gets the LP tokens) function AddFullLiq() public owner{ approveRouter(totalSupply()); uint bnbAmount = getBNBbalance(address(this)); uint tokenAmount = balanceOf(address(this)); uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp); approveRouter(0); //router is initially approved totalsupply() in constructor swapOptions(true,true); } function AddHalfLiq() public owner{ uint contractBalance = getBNBbalance(address(this)); uint bnbAmount = div(contractBalance,2); contractBalance = balanceOf(address(this)); uint tokenAmount = div(contractBalance,2); uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp); } function swapTokensForETH(uint amount, address to) internal{ inSwap = true; address[] memory path = new address[](2); //Creates a memory string path[0] = address(this); //Token address path[1] = WBNB_address; //BNB address uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,to,block.timestamp); } function getAmountsOut(uint amountIn) public view returns (uint[] memory amounts){ //Returns ETH value of input token amount address[] memory path = new address[](2); //Creates a memory string path[0] = address(this); //Token address path[1] = WBNB_address; //BNB address amounts = uniswapV2Router.getAmountsOut(amountIn,path); return amounts; } function approveRouter(uint amount) internal returns (bool){ _approve(address(this), router, amount); return true; } function withdrawTokens(address reciever) public owner returns (bool) { _transfer(address(this), reciever, balanceOf(address(this))); //Used if router gets clogged return true; } //Native ETH/BNB functions function claim() public owner returns (bool){ uint contractBalance = address(this).balance; payable(wallet_team).transfer(contractBalance/2); payable(wallet_investment).transfer(contractBalance/2); return true; } function getBNBbalance(address holder) public view returns (uint){ uint balance = holder.balance; return balance; } // SafeMath function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0 || b == 0) { return 0; } c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } //to recieve ETH from uniswapV2Router when swaping. just accept it. receive() external payable {} fallback() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fundsOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"AddFullLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AddHalfLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"bnbAmount","type":"uint256"}],"name":"AddLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fundsOwner","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":"wallet","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collectTaxEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableExtraTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableExtraTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"excludeFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"getBNBbalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWBNB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"includeFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxbuy_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_selltax","type":"uint256"},{"internalType":"uint256","name":"_buytax","type":"uint256"},{"internalType":"uint256","name":"_bonustax","type":"uint256"}],"name":"setTaxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"EnableAutoSwap","type":"bool"},{"internalType":"bool","name":"EnableCollectTax","type":"bool"}],"name":"swapOptions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"reciever","type":"address"}],"name":"withdrawTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200018157600080fd5b5033601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600f81526020017f53554e20496e766573746d656e74730000000000000000000000000000000000815250600590805190602001906200021092919062000a58565b506040518060400160405280600381526020017f53554e0000000000000000000000000000000000000000000000000000000000815250600690805190602001906200025e92919062000a58565b5064174876e8006007819055506006600860006101000a81548160ff021916908360ff160217905550600f601081905550600f601181905550600860009054906101000a900460ff16600a620002b5919062000c50565b6301312d00620002c6919062000d8d565b6012819055507396d912adc0e8d8a1e25f19d32653d8f06dbbccf9601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e882053401acb67114037239cf499b295d78334e601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003a9601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200065e60201b60201c565b50620003dd601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200065e60201b60201c565b50620003ef336200065e60201b60201c565b5062000415732f6321db2461f68676f42f396330a4dc4a8f49df6200065e60201b60201c565b50606460536200042a6200071c60201b60201c565b62000436919062000d8d565b62000442919062000bbd565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060646002620004986200071c60201b60201c565b620004a4919062000d8d565b620004b0919062000bbd565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005026200075460201b60201c565b620005126200096f60201b60201c565b506062600d819055506062600e819055506000600f8190555042600a819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646053620005966200071c60201b60201c565b620005a2919062000d8d565b620005ae919062000bbd565b604051620005bd919062000ba0565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646002620006296200071c60201b60201c565b62000635919062000d8d565b62000641919062000bbd565b60405162000650919062000ba0565b60405180910390a362000f57565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620006bb57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006200074f600754600860009054906101000a900460ff16600a62000743919062000c50565b62000a0060201b60201c565b905090565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620007bd57600080fd5b505afa158015620007d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f8919062000b1f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200087d57600080fd5b505afa15801562000892573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008b8919062000b1f565b6040518363ffffffff1660e01b8152600401620008d792919062000b73565b602060405180830381600087803b158015620008f257600080fd5b505af115801562000907573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200092d919062000b1f565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620009cc57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b60008083148062000a115750600082145b1562000a21576000905062000a52565b818362000a2f919062000d8d565b905081838262000a40919062000bbd565b1462000a515762000a5062000e6f565b5b5b92915050565b82805462000a669062000e39565b90600052602060002090601f01602090048101928262000a8a576000855562000ad6565b82601f1062000aa557805160ff191683800117855562000ad6565b8280016001018555821562000ad6579182015b8281111562000ad557825182559160200191906001019062000ab8565b5b50905062000ae5919062000ae9565b5090565b5b8082111562000b0457600081600090555060010162000aea565b5090565b60008151905062000b198162000f3d565b92915050565b60006020828403121562000b385762000b3762000f2b565b5b600062000b488482850162000b08565b91505092915050565b62000b5c8162000dee565b82525050565b62000b6d8162000e22565b82525050565b600060408201905062000b8a600083018562000b51565b62000b99602083018462000b51565b9392505050565b600060208201905062000bb7600083018462000b62565b92915050565b600062000bca8262000e22565b915062000bd78362000e22565b92508262000bea5762000be962000ecd565b5b828204905092915050565b6000808291508390505b600185111562000c475780860481111562000c1f5762000c1e62000e9e565b5b600185161562000c2f5780820291505b808102905062000c3f8562000f30565b945062000bff565b94509492505050565b600062000c5d8262000e22565b915062000c6a8362000e2c565b925062000c997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ca1565b905092915050565b60008262000cb3576001905062000d86565b8162000cc3576000905062000d86565b816001811462000cdc576002811462000ce75762000d1d565b600191505062000d86565b60ff84111562000cfc5762000cfb62000e9e565b5b8360020a91508482111562000d165762000d1562000e9e565b5b5062000d86565b5060208310610133831016604e8410600b841016171562000d575782820a90508381111562000d515762000d5062000e9e565b5b62000d86565b62000d66848484600162000bf5565b9250905081840481111562000d805762000d7f62000e9e565b5b81810290505b9392505050565b600062000d9a8262000e22565b915062000da78362000e22565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000de35762000de262000e9e565b5b828202905092915050565b600062000dfb8262000e02565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e5257607f821691505b6020821081141562000e695762000e6862000efc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000f488162000dee565b811462000f5457600080fd5b50565b613a118062000f676000396000f3fe60806040526004361061023f5760003560e01c8063937453581161012e578063c1beb570116100ab578063dd62ed3e1161006f578063dd62ed3e146108b1578063e9dae5ed146108ee578063f520f8ee1461092b578063fe575a8714610968578063ff25856c146109a557610246565b8063c1beb570146107dc578063c1f1b1b5146107f3578063c66f6f9b1461081e578063cba0e99614610849578063d83067861461088657610246565b8063b165ae35116100f2578063b165ae35146106e1578063b80777ea1461070c578063bffb691d14610737578063bffc28f814610762578063c1153aaa1461079f57610246565b806393745358146105e657806395d89b41146106115780639b19251a1461063c578063a9059cbb14610679578063b0f479a1146106b657610246565b80634e71d92d116101bc57806370a082311161018057806370a08231146104eb578063715018a61461052857806376b35d81146105535780638604fc5a1461057e578063893d20e8146105bb57610246565b80634e71d92d1461041657806351cd7cc31461044157806360d1259e146104585780636ac3861a146104955780636ddd1713146104c057610246565b806323b872dd1161020357806323b872dd14610331578063313ce5671461036e578063465cf64e1461039957806349df728c146103b05780634cad9641146103ed57610246565b806306fdde0314610248578063095ea7b31461027357806312e5b101146102b057806318160ddd146102db57806321d5c2311461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d6109d0565b60405161026a91906130bb565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190612ba3565b610a62565b6040516102a791906130a0565b60405180910390f35b3480156102bc57600080fd5b506102c5610a79565b6040516102d291906130a0565b60405180910390f35b3480156102e757600080fd5b506102f0610a8c565b6040516102fd91906131bd565b60405180910390f35b34801561031257600080fd5b5061031b610aba565b60405161032891906130a0565b60405180910390f35b34801561033d57600080fd5b5061035860048036038101906103539190612b50565b610b25565b60405161036591906130a0565b60405180910390f35b34801561037a57600080fd5b50610383610c22565b6040516103909190613262565b60405180910390f35b3480156103a557600080fd5b506103ae610c39565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612ae3565b610d91565b6040516103e491906130a0565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612c99565b610e0a565b005b34801561042257600080fd5b5061042b610f2b565b60405161043891906130a0565b60405180910390f35b34801561044d57600080fd5b5061045661107e565b005b34801561046457600080fd5b5061047f600480360381019061047a9190612ae3565b61110f565b60405161048c91906130a0565b60405180910390f35b3480156104a157600080fd5b506104aa6111cc565b6040516104b79190613002565b60405180910390f35b3480156104cc57600080fd5b506104d56111f6565b6040516104e291906130a0565b60405180910390f35b3480156104f757600080fd5b50610512600480360381019061050d9190612ae3565b611209565b60405161051f91906131bd565b60405180910390f35b34801561053457600080fd5b5061053d611251565b60405161054a91906130a0565b60405180910390f35b34801561055f57600080fd5b506105686112f5565b60405161057591906130a0565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a09190612ae3565b611385565b6040516105b291906131bd565b60405180910390f35b3480156105c757600080fd5b506105d06113ab565b6040516105dd9190613002565b60405180910390f35b3480156105f257600080fd5b506105fb6113d5565b60405161060891906130a0565b60405180910390f35b34801561061d57600080fd5b50610626611440565b60405161063391906130bb565b60405180910390f35b34801561064857600080fd5b50610663600480360381019061065e9190612ae3565b6114d2565b60405161067091906130a0565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612ba3565b61158f565b6040516106ad91906130a0565b60405180910390f35b3480156106c257600080fd5b506106cb6117a7565b6040516106d89190613002565b60405180910390f35b3480156106ed57600080fd5b506106f66117d1565b60405161070391906130a0565b60405180910390f35b34801561071857600080fd5b5061072161183d565b60405161072e91906131bd565b60405180910390f35b34801561074357600080fd5b5061074c611845565b60405161075991906130a0565b60405180910390f35b34801561076e57600080fd5b5061078960048036038101906107849190612c2c565b611858565b60405161079691906130a0565b60405180910390f35b3480156107ab57600080fd5b506107c660048036038101906107c19190612c6c565b6118f2565b6040516107d3919061307e565b60405180910390f35b3480156107e857600080fd5b506107f1611abc565b005b3480156107ff57600080fd5b50610808611c1f565b6040516108159190613002565b60405180910390f35b34801561082a57600080fd5b50610833611c49565b60405161084091906131bd565b60405180910390f35b34801561085557600080fd5b50610870600480360381019061086b9190612ae3565b611c4f565b60405161087d91906130a0565b60405180910390f35b34801561089257600080fd5b5061089b611c6f565b6040516108a891906130a0565b60405180910390f35b3480156108bd57600080fd5b506108d860048036038101906108d39190612b10565b611c82565b6040516108e591906131bd565b60405180910390f35b3480156108fa57600080fd5b5061091560048036038101906109109190612cd9565b611d09565b60405161092291906130a0565b60405180910390f35b34801561093757600080fd5b50610952600480360381019061094d9190612ae3565b611db2565b60405161095f91906130a0565b60405180910390f35b34801561097457600080fd5b5061098f600480360381019061098a9190612ae3565b611e6f565b60405161099c91906130a0565b60405180910390f35b3480156109b157600080fd5b506109ba611e8f565b6040516109c791906130a0565b60405180910390f35b6060600580546109df9061367c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0b9061367c565b8015610a585780601f10610a2d57610100808354040283529160200191610a58565b820191906000526020600020905b815481529060010190602001808311610a3b57829003601f168201915b5050505050905090565b6000610a6f338484611f0d565b6001905092915050565b601360019054906101000a900460ff1681565b6000610ab5600754600860009054906101000a900460ff16600a610ab09190613436565b6120d8565b905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1657600080fd5b6001600c819055506001905090565b600080610b328533611c82565b905082811015610b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6e9061313d565b60405180910390fd5b610b82858585612126565b50610b96610b908633611c82565b846124da565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9357600080fd5b6000610c9e30611385565b90506000610cad826002612501565b9050610cb830611209565b91506000610cc7836002612501565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610d156113ab565b426040518863ffffffff1660e01b8152600401610d379695949392919061301d565b6060604051808303818588803b158015610d5057600080fd5b505af1158015610d64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d899190612d2c565b505050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ded57600080fd5b610e003083610dfb30611209565b612517565b5060019050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6457600080fd5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080610eb06113ab565b426040518863ffffffff1660e01b8152600401610ed29695949392919061301d565b6060604051808303818588803b158015610eeb57600080fd5b505af1158015610eff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f249190612d2c565b5050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8757600080fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283610fd591906133b2565b9081150290604051600060405180830381858888f19350505050158015611000573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361104a91906133b2565b9081150290604051600060405180830381858888f19350505050158015611075573d6000803e3d6000fd5b50600191505090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110d857600080fd5b6110e06117d1565b506110ec600180611858565b506110f5611e8f565b50611103600a80600f611d09565b5061110c610aba565b50565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116b57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601360009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ad57600080fd5b30601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461135157600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461143157600080fd5b6000600c819055506001905090565b60606006805461144f9061367c565b80601f016020809104026020016040519081016040528092919081815260200182805461147b9061367c565b80156114c85780601f1061149d576101008083540402835291602001916114c8565b820191906000526020600020905b8154815290600101906020018083116114ab57829003601f168201915b5050505050905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461152e57600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006009548211156115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd9061317d565b60405180910390fd5b600954826115e385611209565b6115ed919061335c565b111561162e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611625906130fd565b60405180910390fd5b600033905061163e818585612126565b50600f600b5410801561169f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116f95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117535750601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611772575060011515601360039054906101000a900460ff161515145b1561179c576117808461276b565b506001600b6000828254611794919061335c565b925050819055505b600191505092915050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182d57600080fd5b6012546009819055506001905090565b600042905090565b601360039054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118b457600080fd5b82601360006101000a81548160ff02191690831515021790555081601360016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611911576119106137ca565b5b60405190808252806020026020018201604052801561193f5781602001602082028036833780820191505090505b50905030816000815181106119575761195661379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106119c8576119c761379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611a5f9291906131d8565b60006040518083038186803b158015611a7757600080fd5b505afa158015611a8b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611ab49190612be3565b915050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b1657600080fd5b611b26611b21610a8c565b6127ce565b506000611b3230611385565b90506000611b3f30611209565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611b8d6113ab565b426040518863ffffffff1660e01b8152600401611baf9695949392919061301d565b6060604051808303818588803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c019190612d2c565b505050611c0e60006127ce565b50611c1a600180611858565b505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b601360029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6557600080fd5b601054841115611d7457600080fd5b601054831115611d8357600080fd5b601154821115611d9257600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0e57600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eeb57600080fd5b6001601360036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f749061315d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe4906130dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120cb91906131bd565b60405180910390a3505050565b6000808314806120e85750600082145b156120f65760009050612120565b81836121029190613554565b905081838261211191906133b2565b1461211f5761211e6136df565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156121ba5742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601360029054906101000a900460ff16151514801561222d575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b8015612289575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156124a65760011515601360019054906101000a900460ff161515141561240c576000600d549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561230d57600e5490505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156123c35750600c54620151806123769190613554565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c0919061335c565b42105b156123d957600f54816123d6919061335c565b90505b6123e385826120d8565b91506123f0826064612501565b91506123fc85836124da565b9250612409873084612517565b50505b60011515601360009054906101000a900460ff16151514801561247d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156124a557600061248d30611209565b9050612498816127ce565b506124a38130612806565b505b5b6124b1868684612517565b506000601360026101000a81548160ff0219169083151502179055506001925050509392505050565b6000828211156124ed576124ec6136df565b5b81836124f991906135ae565b905092915050565b6000818361250f91906133b2565b905092915050565b60008161252385611209565b1015612564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255b9061311d565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612614575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264a9061319d565b60405180910390fd5b61266561265f85611209565b836124da565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126b96126b384611209565b836129ca565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161275891906131bd565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006127fd30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0d565b60019050919050565b6001601360026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561283e5761283d6137ca565b5b60405190808252806020026020018201604052801561286c5781602001602082028036833780820191505090505b50905030816000815181106128845761288361379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106128f5576128f461379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401612993959493929190613208565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050565b600081836129d8919061335c565b9050828110156129eb576129ea6136df565b5b92915050565b6000612a046129ff846132a2565b61327d565b90508083825260208201905082856020860282011115612a2757612a266137fe565b5b60005b85811015612a575781612a3d8882612ace565b845260208401935060208301925050600181019050612a2a565b5050509392505050565b600081359050612a7081613996565b92915050565b600082601f830112612a8b57612a8a6137f9565b5b8151612a9b8482602086016129f1565b91505092915050565b600081359050612ab3816139ad565b92915050565b600081359050612ac8816139c4565b92915050565b600081519050612add816139c4565b92915050565b600060208284031215612af957612af8613808565b5b6000612b0784828501612a61565b91505092915050565b60008060408385031215612b2757612b26613808565b5b6000612b3585828601612a61565b9250506020612b4685828601612a61565b9150509250929050565b600080600060608486031215612b6957612b68613808565b5b6000612b7786828701612a61565b9350506020612b8886828701612a61565b9250506040612b9986828701612ab9565b9150509250925092565b60008060408385031215612bba57612bb9613808565b5b6000612bc885828601612a61565b9250506020612bd985828601612ab9565b9150509250929050565b600060208284031215612bf957612bf8613808565b5b600082015167ffffffffffffffff811115612c1757612c16613803565b5b612c2384828501612a76565b91505092915050565b60008060408385031215612c4357612c42613808565b5b6000612c5185828601612aa4565b9250506020612c6285828601612aa4565b9150509250929050565b600060208284031215612c8257612c81613808565b5b6000612c9084828501612ab9565b91505092915050565b60008060408385031215612cb057612caf613808565b5b6000612cbe85828601612ab9565b9250506020612ccf85828601612ab9565b9150509250929050565b600080600060608486031215612cf257612cf1613808565b5b6000612d0086828701612ab9565b9350506020612d1186828701612ab9565b9250506040612d2286828701612ab9565b9150509250925092565b600080600060608486031215612d4557612d44613808565b5b6000612d5386828701612ace565b9350506020612d6486828701612ace565b9250506040612d7586828701612ace565b9150509250925092565b6000612d8b8383612daf565b60208301905092915050565b6000612da38383612fd5565b60208301905092915050565b612db8816135e2565b82525050565b612dc7816135e2565b82525050565b6000612dd8826132ee565b612de28185613329565b9350612ded836132ce565b8060005b83811015612e1e578151612e058882612d7f565b9750612e108361330f565b925050600181019050612df1565b5085935050505092915050565b6000612e36826132f9565b612e40818561333a565b9350612e4b836132de565b8060005b83811015612e7c578151612e638882612d97565b9750612e6e8361331c565b925050600181019050612e4f565b5085935050505092915050565b612e92816135f4565b82525050565b612ea181613637565b82525050565b6000612eb282613304565b612ebc818561334b565b9350612ecc818560208601613649565b612ed58161380d565b840191505092915050565b6000612eed60228361334b565b9150612ef88261382b565b604082019050919050565b6000612f1060198361334b565b9150612f1b8261387a565b602082019050919050565b6000612f3360158361334b565b9150612f3e826138a3565b602082019050919050565b6000612f5660178361334b565b9150612f61826138cc565b602082019050919050565b6000612f7960248361334b565b9150612f84826138f5565b604082019050919050565b6000612f9c60198361334b565b9150612fa782613944565b602082019050919050565b6000612fbf600b8361334b565b9150612fca8261396d565b602082019050919050565b612fde81613620565b82525050565b612fed81613620565b82525050565b612ffc8161362a565b82525050565b60006020820190506130176000830184612dbe565b92915050565b600060c0820190506130326000830189612dbe565b61303f6020830188612fe4565b61304c6040830187612e98565b6130596060830186612e98565b6130666080830185612dbe565b61307360a0830184612fe4565b979650505050505050565b600060208201905081810360008301526130988184612e2b565b905092915050565b60006020820190506130b56000830184612e89565b92915050565b600060208201905081810360008301526130d58184612ea7565b905092915050565b600060208201905081810360008301526130f681612ee0565b9050919050565b6000602082019050818103600083015261311681612f03565b9050919050565b6000602082019050818103600083015261313681612f26565b9050919050565b6000602082019050818103600083015261315681612f49565b9050919050565b6000602082019050818103600083015261317681612f6c565b9050919050565b6000602082019050818103600083015261319681612f8f565b9050919050565b600060208201905081810360008301526131b681612fb2565b9050919050565b60006020820190506131d26000830184612fe4565b92915050565b60006040820190506131ed6000830185612fe4565b81810360208301526131ff8184612dcd565b90509392505050565b600060a08201905061321d6000830188612fe4565b61322a6020830187612e98565b818103604083015261323c8186612dcd565b905061324b6060830185612dbe565b6132586080830184612fe4565b9695505050505050565b60006020820190506132776000830184612ff3565b92915050565b6000613287613298565b905061329382826136ae565b919050565b6000604051905090565b600067ffffffffffffffff8211156132bd576132bc6137ca565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061336782613620565b915061337283613620565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133a7576133a661370e565b5b828201905092915050565b60006133bd82613620565b91506133c883613620565b9250826133d8576133d761373d565b5b828204905092915050565b6000808291508390505b600185111561342d578086048111156134095761340861370e565b5b60018516156134185780820291505b80810290506134268561381e565b94506133ed565b94509492505050565b600061344182613620565b915061344c8361362a565b92506134797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613481565b905092915050565b600082613491576001905061354d565b8161349f576000905061354d565b81600181146134b557600281146134bf576134ee565b600191505061354d565b60ff8411156134d1576134d061370e565b5b8360020a9150848211156134e8576134e761370e565b5b5061354d565b5060208310610133831016604e8410600b84101617156135235782820a90508381111561351e5761351d61370e565b5b61354d565b61353084848460016133e3565b925090508184048111156135475761354661370e565b5b81810290505b9392505050565b600061355f82613620565b915061356a83613620565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135a3576135a261370e565b5b828202905092915050565b60006135b982613620565b91506135c483613620565b9250828210156135d7576135d661370e565b5b828203905092915050565b60006135ed82613600565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061364282613620565b9050919050565b60005b8381101561366757808201518184015260208101905061364c565b83811115613676576000848401525b50505050565b6000600282049050600182168061369457607f821691505b602082108114156136a8576136a761376c565b5b50919050565b6136b78261380d565b810181811067ffffffffffffffff821117156136d6576136d56137ca565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b61399f816135e2565b81146139aa57600080fd5b50565b6139b6816135f4565b81146139c157600080fd5b50565b6139cd81613620565b81146139d857600080fd5b5056fea264697066735822122042d483434a8733c4f8a0574a3afd0db80e5d1ce27a5afe4d5b9148d21b2b7c8e64736f6c63430008060033
Deployed Bytecode
0x60806040526004361061023f5760003560e01c8063937453581161012e578063c1beb570116100ab578063dd62ed3e1161006f578063dd62ed3e146108b1578063e9dae5ed146108ee578063f520f8ee1461092b578063fe575a8714610968578063ff25856c146109a557610246565b8063c1beb570146107dc578063c1f1b1b5146107f3578063c66f6f9b1461081e578063cba0e99614610849578063d83067861461088657610246565b8063b165ae35116100f2578063b165ae35146106e1578063b80777ea1461070c578063bffb691d14610737578063bffc28f814610762578063c1153aaa1461079f57610246565b806393745358146105e657806395d89b41146106115780639b19251a1461063c578063a9059cbb14610679578063b0f479a1146106b657610246565b80634e71d92d116101bc57806370a082311161018057806370a08231146104eb578063715018a61461052857806376b35d81146105535780638604fc5a1461057e578063893d20e8146105bb57610246565b80634e71d92d1461041657806351cd7cc31461044157806360d1259e146104585780636ac3861a146104955780636ddd1713146104c057610246565b806323b872dd1161020357806323b872dd14610331578063313ce5671461036e578063465cf64e1461039957806349df728c146103b05780634cad9641146103ed57610246565b806306fdde0314610248578063095ea7b31461027357806312e5b101146102b057806318160ddd146102db57806321d5c2311461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d6109d0565b60405161026a91906130bb565b60405180910390f35b34801561027f57600080fd5b5061029a60048036038101906102959190612ba3565b610a62565b6040516102a791906130a0565b60405180910390f35b3480156102bc57600080fd5b506102c5610a79565b6040516102d291906130a0565b60405180910390f35b3480156102e757600080fd5b506102f0610a8c565b6040516102fd91906131bd565b60405180910390f35b34801561031257600080fd5b5061031b610aba565b60405161032891906130a0565b60405180910390f35b34801561033d57600080fd5b5061035860048036038101906103539190612b50565b610b25565b60405161036591906130a0565b60405180910390f35b34801561037a57600080fd5b50610383610c22565b6040516103909190613262565b60405180910390f35b3480156103a557600080fd5b506103ae610c39565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612ae3565b610d91565b6040516103e491906130a0565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612c99565b610e0a565b005b34801561042257600080fd5b5061042b610f2b565b60405161043891906130a0565b60405180910390f35b34801561044d57600080fd5b5061045661107e565b005b34801561046457600080fd5b5061047f600480360381019061047a9190612ae3565b61110f565b60405161048c91906130a0565b60405180910390f35b3480156104a157600080fd5b506104aa6111cc565b6040516104b79190613002565b60405180910390f35b3480156104cc57600080fd5b506104d56111f6565b6040516104e291906130a0565b60405180910390f35b3480156104f757600080fd5b50610512600480360381019061050d9190612ae3565b611209565b60405161051f91906131bd565b60405180910390f35b34801561053457600080fd5b5061053d611251565b60405161054a91906130a0565b60405180910390f35b34801561055f57600080fd5b506105686112f5565b60405161057591906130a0565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a09190612ae3565b611385565b6040516105b291906131bd565b60405180910390f35b3480156105c757600080fd5b506105d06113ab565b6040516105dd9190613002565b60405180910390f35b3480156105f257600080fd5b506105fb6113d5565b60405161060891906130a0565b60405180910390f35b34801561061d57600080fd5b50610626611440565b60405161063391906130bb565b60405180910390f35b34801561064857600080fd5b50610663600480360381019061065e9190612ae3565b6114d2565b60405161067091906130a0565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612ba3565b61158f565b6040516106ad91906130a0565b60405180910390f35b3480156106c257600080fd5b506106cb6117a7565b6040516106d89190613002565b60405180910390f35b3480156106ed57600080fd5b506106f66117d1565b60405161070391906130a0565b60405180910390f35b34801561071857600080fd5b5061072161183d565b60405161072e91906131bd565b60405180910390f35b34801561074357600080fd5b5061074c611845565b60405161075991906130a0565b60405180910390f35b34801561076e57600080fd5b5061078960048036038101906107849190612c2c565b611858565b60405161079691906130a0565b60405180910390f35b3480156107ab57600080fd5b506107c660048036038101906107c19190612c6c565b6118f2565b6040516107d3919061307e565b60405180910390f35b3480156107e857600080fd5b506107f1611abc565b005b3480156107ff57600080fd5b50610808611c1f565b6040516108159190613002565b60405180910390f35b34801561082a57600080fd5b50610833611c49565b60405161084091906131bd565b60405180910390f35b34801561085557600080fd5b50610870600480360381019061086b9190612ae3565b611c4f565b60405161087d91906130a0565b60405180910390f35b34801561089257600080fd5b5061089b611c6f565b6040516108a891906130a0565b60405180910390f35b3480156108bd57600080fd5b506108d860048036038101906108d39190612b10565b611c82565b6040516108e591906131bd565b60405180910390f35b3480156108fa57600080fd5b5061091560048036038101906109109190612cd9565b611d09565b60405161092291906130a0565b60405180910390f35b34801561093757600080fd5b50610952600480360381019061094d9190612ae3565b611db2565b60405161095f91906130a0565b60405180910390f35b34801561097457600080fd5b5061098f600480360381019061098a9190612ae3565b611e6f565b60405161099c91906130a0565b60405180910390f35b3480156109b157600080fd5b506109ba611e8f565b6040516109c791906130a0565b60405180910390f35b6060600580546109df9061367c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0b9061367c565b8015610a585780601f10610a2d57610100808354040283529160200191610a58565b820191906000526020600020905b815481529060010190602001808311610a3b57829003601f168201915b5050505050905090565b6000610a6f338484611f0d565b6001905092915050565b601360019054906101000a900460ff1681565b6000610ab5600754600860009054906101000a900460ff16600a610ab09190613436565b6120d8565b905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b1657600080fd5b6001600c819055506001905090565b600080610b328533611c82565b905082811015610b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6e9061313d565b60405180910390fd5b610b82858585612126565b50610b96610b908633611c82565b846124da565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c9357600080fd5b6000610c9e30611385565b90506000610cad826002612501565b9050610cb830611209565b91506000610cc7836002612501565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610d156113ab565b426040518863ffffffff1660e01b8152600401610d379695949392919061301d565b6060604051808303818588803b158015610d5057600080fd5b505af1158015610d64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d899190612d2c565b505050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ded57600080fd5b610e003083610dfb30611209565b612517565b5060019050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6457600080fd5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080610eb06113ab565b426040518863ffffffff1660e01b8152600401610ed29695949392919061301d565b6060604051808303818588803b158015610eeb57600080fd5b505af1158015610eff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f249190612d2c565b5050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8757600080fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283610fd591906133b2565b9081150290604051600060405180830381858888f19350505050158015611000573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361104a91906133b2565b9081150290604051600060405180830381858888f19350505050158015611075573d6000803e3d6000fd5b50600191505090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110d857600080fd5b6110e06117d1565b506110ec600180611858565b506110f5611e8f565b50611103600a80600f611d09565b5061110c610aba565b50565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116b57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601360009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ad57600080fd5b30601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461135157600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461143157600080fd5b6000600c819055506001905090565b60606006805461144f9061367c565b80601f016020809104026020016040519081016040528092919081815260200182805461147b9061367c565b80156114c85780601f1061149d576101008083540402835291602001916114c8565b820191906000526020600020905b8154815290600101906020018083116114ab57829003601f168201915b5050505050905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461152e57600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006009548211156115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd9061317d565b60405180910390fd5b600954826115e385611209565b6115ed919061335c565b111561162e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611625906130fd565b60405180910390fd5b600033905061163e818585612126565b50600f600b5410801561169f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116f95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117535750601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611772575060011515601360039054906101000a900460ff161515145b1561179c576117808461276b565b506001600b6000828254611794919061335c565b925050819055505b600191505092915050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182d57600080fd5b6012546009819055506001905090565b600042905090565b601360039054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118b457600080fd5b82601360006101000a81548160ff02191690831515021790555081601360016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611911576119106137ca565b5b60405190808252806020026020018201604052801561193f5781602001602082028036833780820191505090505b50905030816000815181106119575761195661379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106119c8576119c761379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611a5f9291906131d8565b60006040518083038186803b158015611a7757600080fd5b505afa158015611a8b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611ab49190612be3565b915050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b1657600080fd5b611b26611b21610a8c565b6127ce565b506000611b3230611385565b90506000611b3f30611209565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611b8d6113ab565b426040518863ffffffff1660e01b8152600401611baf9695949392919061301d565b6060604051808303818588803b158015611bc857600080fd5b505af1158015611bdc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c019190612d2c565b505050611c0e60006127ce565b50611c1a600180611858565b505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b601360029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d6557600080fd5b601054841115611d7457600080fd5b601054831115611d8357600080fd5b601154821115611d9257600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0e57600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eeb57600080fd5b6001601360036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f749061315d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe4906130dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120cb91906131bd565b60405180910390a3505050565b6000808314806120e85750600082145b156120f65760009050612120565b81836121029190613554565b905081838261211191906133b2565b1461211f5761211e6136df565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156121ba5742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601360029054906101000a900460ff16151514801561222d575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b8015612289575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156124a65760011515601360019054906101000a900460ff161515141561240c576000600d549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561230d57600e5490505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156123c35750600c54620151806123769190613554565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c0919061335c565b42105b156123d957600f54816123d6919061335c565b90505b6123e385826120d8565b91506123f0826064612501565b91506123fc85836124da565b9250612409873084612517565b50505b60011515601360009054906101000a900460ff16151514801561247d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156124a557600061248d30611209565b9050612498816127ce565b506124a38130612806565b505b5b6124b1868684612517565b506000601360026101000a81548160ff0219169083151502179055506001925050509392505050565b6000828211156124ed576124ec6136df565b5b81836124f991906135ae565b905092915050565b6000818361250f91906133b2565b905092915050565b60008161252385611209565b1015612564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255b9061311d565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612614575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264a9061319d565b60405180910390fd5b61266561265f85611209565b836124da565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126b96126b384611209565b836129ca565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161275891906131bd565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006127fd30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0d565b60019050919050565b6001601360026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561283e5761283d6137ca565b5b60405190808252806020026020018201604052801561286c5781602001602082028036833780820191505090505b50905030816000815181106128845761288361379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106128f5576128f461379b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401612993959493929190613208565b600060405180830381600087803b1580156129ad57600080fd5b505af11580156129c1573d6000803e3d6000fd5b50505050505050565b600081836129d8919061335c565b9050828110156129eb576129ea6136df565b5b92915050565b6000612a046129ff846132a2565b61327d565b90508083825260208201905082856020860282011115612a2757612a266137fe565b5b60005b85811015612a575781612a3d8882612ace565b845260208401935060208301925050600181019050612a2a565b5050509392505050565b600081359050612a7081613996565b92915050565b600082601f830112612a8b57612a8a6137f9565b5b8151612a9b8482602086016129f1565b91505092915050565b600081359050612ab3816139ad565b92915050565b600081359050612ac8816139c4565b92915050565b600081519050612add816139c4565b92915050565b600060208284031215612af957612af8613808565b5b6000612b0784828501612a61565b91505092915050565b60008060408385031215612b2757612b26613808565b5b6000612b3585828601612a61565b9250506020612b4685828601612a61565b9150509250929050565b600080600060608486031215612b6957612b68613808565b5b6000612b7786828701612a61565b9350506020612b8886828701612a61565b9250506040612b9986828701612ab9565b9150509250925092565b60008060408385031215612bba57612bb9613808565b5b6000612bc885828601612a61565b9250506020612bd985828601612ab9565b9150509250929050565b600060208284031215612bf957612bf8613808565b5b600082015167ffffffffffffffff811115612c1757612c16613803565b5b612c2384828501612a76565b91505092915050565b60008060408385031215612c4357612c42613808565b5b6000612c5185828601612aa4565b9250506020612c6285828601612aa4565b9150509250929050565b600060208284031215612c8257612c81613808565b5b6000612c9084828501612ab9565b91505092915050565b60008060408385031215612cb057612caf613808565b5b6000612cbe85828601612ab9565b9250506020612ccf85828601612ab9565b9150509250929050565b600080600060608486031215612cf257612cf1613808565b5b6000612d0086828701612ab9565b9350506020612d1186828701612ab9565b9250506040612d2286828701612ab9565b9150509250925092565b600080600060608486031215612d4557612d44613808565b5b6000612d5386828701612ace565b9350506020612d6486828701612ace565b9250506040612d7586828701612ace565b9150509250925092565b6000612d8b8383612daf565b60208301905092915050565b6000612da38383612fd5565b60208301905092915050565b612db8816135e2565b82525050565b612dc7816135e2565b82525050565b6000612dd8826132ee565b612de28185613329565b9350612ded836132ce565b8060005b83811015612e1e578151612e058882612d7f565b9750612e108361330f565b925050600181019050612df1565b5085935050505092915050565b6000612e36826132f9565b612e40818561333a565b9350612e4b836132de565b8060005b83811015612e7c578151612e638882612d97565b9750612e6e8361331c565b925050600181019050612e4f565b5085935050505092915050565b612e92816135f4565b82525050565b612ea181613637565b82525050565b6000612eb282613304565b612ebc818561334b565b9350612ecc818560208601613649565b612ed58161380d565b840191505092915050565b6000612eed60228361334b565b9150612ef88261382b565b604082019050919050565b6000612f1060198361334b565b9150612f1b8261387a565b602082019050919050565b6000612f3360158361334b565b9150612f3e826138a3565b602082019050919050565b6000612f5660178361334b565b9150612f61826138cc565b602082019050919050565b6000612f7960248361334b565b9150612f84826138f5565b604082019050919050565b6000612f9c60198361334b565b9150612fa782613944565b602082019050919050565b6000612fbf600b8361334b565b9150612fca8261396d565b602082019050919050565b612fde81613620565b82525050565b612fed81613620565b82525050565b612ffc8161362a565b82525050565b60006020820190506130176000830184612dbe565b92915050565b600060c0820190506130326000830189612dbe565b61303f6020830188612fe4565b61304c6040830187612e98565b6130596060830186612e98565b6130666080830185612dbe565b61307360a0830184612fe4565b979650505050505050565b600060208201905081810360008301526130988184612e2b565b905092915050565b60006020820190506130b56000830184612e89565b92915050565b600060208201905081810360008301526130d58184612ea7565b905092915050565b600060208201905081810360008301526130f681612ee0565b9050919050565b6000602082019050818103600083015261311681612f03565b9050919050565b6000602082019050818103600083015261313681612f26565b9050919050565b6000602082019050818103600083015261315681612f49565b9050919050565b6000602082019050818103600083015261317681612f6c565b9050919050565b6000602082019050818103600083015261319681612f8f565b9050919050565b600060208201905081810360008301526131b681612fb2565b9050919050565b60006020820190506131d26000830184612fe4565b92915050565b60006040820190506131ed6000830185612fe4565b81810360208301526131ff8184612dcd565b90509392505050565b600060a08201905061321d6000830188612fe4565b61322a6020830187612e98565b818103604083015261323c8186612dcd565b905061324b6060830185612dbe565b6132586080830184612fe4565b9695505050505050565b60006020820190506132776000830184612ff3565b92915050565b6000613287613298565b905061329382826136ae565b919050565b6000604051905090565b600067ffffffffffffffff8211156132bd576132bc6137ca565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061336782613620565b915061337283613620565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133a7576133a661370e565b5b828201905092915050565b60006133bd82613620565b91506133c883613620565b9250826133d8576133d761373d565b5b828204905092915050565b6000808291508390505b600185111561342d578086048111156134095761340861370e565b5b60018516156134185780820291505b80810290506134268561381e565b94506133ed565b94509492505050565b600061344182613620565b915061344c8361362a565b92506134797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613481565b905092915050565b600082613491576001905061354d565b8161349f576000905061354d565b81600181146134b557600281146134bf576134ee565b600191505061354d565b60ff8411156134d1576134d061370e565b5b8360020a9150848211156134e8576134e761370e565b5b5061354d565b5060208310610133831016604e8410600b84101617156135235782820a90508381111561351e5761351d61370e565b5b61354d565b61353084848460016133e3565b925090508184048111156135475761354661370e565b5b81810290505b9392505050565b600061355f82613620565b915061356a83613620565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135a3576135a261370e565b5b828202905092915050565b60006135b982613620565b91506135c483613620565b9250828210156135d7576135d661370e565b5b828203905092915050565b60006135ed82613600565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061364282613620565b9050919050565b60005b8381101561366757808201518184015260208101905061364c565b83811115613676576000848401525b50505050565b6000600282049050600182168061369457607f821691505b602082108114156136a8576136a761376c565b5b50919050565b6136b78261380d565b810181811067ffffffffffffffff821117156136d6576136d56137ca565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b61399f816135e2565b81146139aa57600080fd5b50565b6139b6816135f4565b81146139c157600080fd5b50565b6139cd81613620565b81146139d857600080fd5b5056fea264697066735822122042d483434a8733c4f8a0574a3afd0db80e5d1ce27a5afe4d5b9148d21b2b7c8e64736f6c63430008060033
Deployed Bytecode Sourcemap
6753:13957:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9548:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13825:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7389:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9837:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15877:118;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11739:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9743:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17814:377;;;;;;;;;;;;;:::i;:::-;;19239:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17042:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19490:253;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16634:185;;;;;;;;;;;;;:::i;:::-;;15592:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10356:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9954:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14133:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15351:233;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19751:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10070:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16003:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9645:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15080:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11081:650;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10262:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15221:122;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14618:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7450:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14719:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18632:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17373:429;;;;;;;;;;;;;:::i;:::-;;10163:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7120:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6936:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7425:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13980:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16261:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15734:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6884:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16130:123;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9548:85;9584:13;9617:5;9610:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9548:85;:::o;13825:147::-;13888:4;13905:37;13914:10;13926:7;13935:6;13905:8;:37::i;:::-;13960:4;13953:11;;13825:147;;;;:::o;7389:29::-;;;;;;;;;;;;;:::o;9837:105::-;9880:4;9904:30;9908:7;;9923:9;;;;;;;;;;;9917:2;:15;;;;:::i;:::-;9904:3;:30::i;:::-;9897:37;;9837:105;:::o;15877:118::-;15925:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15964:1:::1;15946:15;:19;;;;15983:4;15976:11;;15877:118:::0;:::o;11739:369::-;11816:4;11833:21;11857:27;11867:4;11873:10;11857:9;:27::i;:::-;11833:51;;11923:6;11903:16;:26;;11895:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;11970:30;11983:4;11989:2;11993:6;11970:12;:30::i;:::-;;12037:39;12041:27;12051:4;12057:10;12041:9;:27::i;:::-;12069:6;12037:3;:39::i;:::-;12013:11;:17;12025:4;12013:17;;;;;;;;;;;;;;;:21;12031:2;12013:21;;;;;;;;;;;;;;;:63;;;;12096:4;12089:11;;;11739:369;;;;;:::o;9743:82::-;9783:5;9808:9;;;;;;;;;;;9801:16;;9743:82;:::o;17814:377::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17859:20:::1;17882:28;17904:4;17882:13;:28::i;:::-;17859:51;;17921:14;17938:22;17942:15;17958:1;17938:3;:22::i;:::-;17921:39;;17989:24;18007:4;17989:9;:24::i;:::-;17971:42;;18024:16;18043:22;18047:15;18063:1;18043:3;:22::i;:::-;18024:41;;18076:15;;;;;;;;;;;:31;;;18115:9;18134:4;18140:11;18152:1;18154::::0;18156:10:::1;:8;:10::i;:::-;18167:15;18076:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17848:343;;;17814:377::o:0;19239:201::-;19303:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;19320:60:::1;19338:4;19345:8;19355:24;19373:4;19355:9;:24::i;:::-;19320:9;:60::i;:::-;;19428:4;19421:11;;19239:201:::0;;;:::o;17042:194::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17121:15:::1;;;;;;;;;;;:31;;;17160:9;17179:4;17185:11;17197:1;17199::::0;17201:10:::1;:8;:10::i;:::-;17212:15;17121:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17042:194:::0;;:::o;19490:253::-;19529:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;19545:20:::1;19568:21;19545:44;;19608:11;;;;;;;;;;;19600:29;;:48;19646:1;19630:15;:17;;;;:::i;:::-;19600:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19667:17;;;;;;;;;;;19659:35;;:54;19711:1;19695:15;:17;;;;:::i;:::-;19659:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19731:4;19724:11;;;19490:253:::0;:::o;16634:185::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16680:14:::1;:12;:14::i;:::-;;16705:22;16717:4;16722::::0;16705:11:::1;:22::i;:::-;;16738:17;:15;:17::i;:::-;;16766:18;16775:2;16778::::0;16781::::1;16766:8;:18::i;:::-;;16795:16;:14;:16::i;:::-;;16634:185::o:0;15592:134::-;15652:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15692:4:::1;15673:10;:16;15684:4;15673:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;15714:4;15707:11;;15592:134:::0;;;:::o;10356:86::-;10395:7;10422:12;;;;;;;;;;;10415:19;;10356:86;:::o;7359:23::-;;;;;;;;;;;;;:::o;9954:104::-;10009:4;10033:9;:17;10043:6;10033:17;;;;;;;;;;;;;;;;10026:24;;9954:104;;;:::o;14133:119::-;14183:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;14217:4:::1;14200:6;;:22;;;;;;;;;;;;;;;;;;14240:4;14233:11;;14133:119:::0;:::o;15351:233::-;15398:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15419:11:::1;15433:78;15419:92;;15542:6;15526:13;:22;;;;15572:4;15565:11;;;15351:233:::0;:::o;19751:138::-;19811:4;19827:12;19842:6;:14;;;19827:29;;19874:7;19867:14;;;19751:138;;;:::o;10070:81::-;10110:7;10137:6;;;;;;;;;;;10130:13;;10070:81;:::o;16003:119::-;16052:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16091:1:::1;16073:15;:19;;;;16110:4;16103:11;;16003:119:::0;:::o;9645:86::-;9683:13;9716:7;9709:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9645:86;:::o;15080:133::-;15135:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15178:5:::1;15156:13;:19;15170:4;15156:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;15201:4;15194:11;;15080:133:::0;;;:::o;11081:650::-;11139:4;11174:13;;11164:6;:23;;11156:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11262:13;;11252:6;11236:13;11246:2;11236:9;:13::i;:::-;:22;;;;:::i;:::-;:39;;11228:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;11377:12;11392:10;11377:25;;11415:30;11428:4;11434:2;11438:6;11415:12;:30::i;:::-;;11538:2;11519:16;;:21;:37;;;;;11550:6;;;;;;;;;;;11544:12;;:2;:12;;;;11519:37;:60;;;;;11566:13;;;;;;;;;;;11560:19;;:2;:19;;;;11519:60;:76;;;;;11589:6;;;;;;;;;;;11583:12;;:2;:12;;;;11519:76;:104;;;;;11619:4;11599:24;;:16;;;;;;;;;;;:24;;;11519:104;11516:176;;;11635:13;11645:2;11635:9;:13::i;:::-;;11679:1;11659:16;;:21;;;;;;;:::i;:::-;;;;;;;;11516:176;11719:4;11712:11;;;11081:650;;;;:::o;10262:82::-;10303:7;10330:6;;;;;;;;;;;10323:13;;10262:82;:::o;15221:122::-;15267:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15304:9:::1;;15288:13;:25;;;;15331:4;15324:11;;15221:122:::0;:::o;14618:89::-;14660:4;14684:15;14677:22;;14618:89;:::o;7450:28::-;;;;;;;;;;;;;:::o;14719:217::-;14806:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;14841:14:::1;14827:11;;:28;;;;;;;;;;;;;;;;;;14890:16;14870:17;;:36;;;;;;;;;;;;;;;;;;14924:4;14917:11;;14719:217:::0;;;;:::o;18632:448::-;18691:21;18776;18814:1;18800:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18776:40;;18873:4;18855;18860:1;18855:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18934:12;;;;;;;;;;;18924:4;18929:1;18924:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;19001:15;;;;;;;;;;;:29;;;19031:8;19040:4;19001:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18991:54;;19058:14;18632:448;;;:::o;17373:429::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17418:28:::1;17432:13;:11;:13::i;:::-;17418;:28::i;:::-;;17457:14;17474:28;17496:4;17474:13;:28::i;:::-;17457:45;;17513:16;17532:24;17550:4;17532:9;:24::i;:::-;17513:43;;17567:15;;;;;;;;;;;:31;;;17606:9;17625:4;17631:11;17643:1;17645::::0;17647:10:::1;:8;:10::i;:::-;17658:15;17567:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17685:16;17699:1;17685:13;:16::i;:::-;;17772:22;17784:4;17789::::0;17772:11:::1;:22::i;:::-;;17407:395;;17373:429::o:0;10163:87::-;10202:7;10229:13;;;;;;;;;;;10222:20;;10163:87;:::o;7120:25::-;;;;:::o;6936:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;7425:18::-;;;;;;;;;;;;;:::o;13980:141::-;14057:4;14081:11;:23;14093:10;14081:23;;;;;;;;;;;;;;;:32;14105:7;14081:32;;;;;;;;;;;;;;;;14074:39;;13980:141;;;;:::o;16261:339::-;16346:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16383:6:::1;;16371:8;:18;;16363:27;;;::::0;::::1;;16420:6;;16409:7;:17;;16401:26;;;::::0;::::1;;16459:11;;16446:9;:24;;16438:33;;;::::0;::::1;;16496:8;16486:7;:18;;;;16528:7;16519:6;:16;;;;16561:9;16550:8;:20;;;;16588:4;16581:11;;16261:339:::0;;;;;:::o;15734:135::-;15794:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15834:5:::1;15815:10;:16;15826:4;15815:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;15857:4;15850:11;;15734:135:::0;;;:::o;6884:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;16130:123::-;16179:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16219:4:::1;16200:16;;:23;;;;;;;;;;;;;;;;;;16241:4;16234:11;;16130:123:::0;:::o;14264:342::-;14377:1;14359:20;;:6;:20;;;;14351:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14458:1;14439:21;;:7;:21;;;;14431:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14543:6;14512:11;:19;14524:6;14512:19;;;;;;;;;;;;;;;:28;14532:7;14512:28;;;;;;;;;;;;;;;:37;;;;14582:7;14565:33;;14574:6;14565:33;;;14591:6;14565:33;;;;;;:::i;:::-;;;;;;;;14264:342;;;:::o;19924:222::-;19982:9;20013:1;20008;:6;:16;;;;20023:1;20018;:6;20008:16;20004:57;;;20048:1;20041:8;;;;20004:57;20089:1;20085;:5;;;;:::i;:::-;20081:9;;20117:1;20112;20108;:5;;;;:::i;:::-;:10;20101:18;;;;:::i;:::-;;19924:222;;;;;:::o;12116:1701::-;12195:4;12238:19;12260:6;12238:28;;12277:17;12339:1;12314:17;:21;12332:2;12314:21;;;;;;;;;;;;;;;;:26;12311:122;;;12380:15;12356:17;:21;12374:2;12356:21;;;;;;;;;;;;;;;:39;;;;12311:122;12466:5;12456:15;;:6;;;;;;;;;;;:15;;;:44;;;;;12495:5;12475:25;;:10;:16;12486:4;12475:16;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;12456:44;:71;;;;;12522:5;12504:23;;:10;:14;12515:2;12504:14;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;12456:71;12453:1187;;;12569:4;12548:25;;:17;;;;;;;;;;;:25;;;12545:752;;;12595:14;12612:7;;12595:24;;12697:13;;;;;;;;;;;12689:21;;:4;:21;;;12686:96;;;12756:6;;12744:18;;12686:96;12811:13;;;;;;;;;;;12805:19;;:2;:19;;;:90;;;;;12880:15;;12872:7;:23;;;;:::i;:::-;12846:17;:23;12864:4;12846:23;;;;;;;;;;;;;;;;:49;;;;:::i;:::-;12828:15;:67;12805:90;12802:207;;;12932:8;;12919:21;;;;;:::i;:::-;;;12802:207;13042:22;13046:6;13054:9;13042:3;:22::i;:::-;13027:37;;13098:21;13102:12;13115:3;13098;:21::i;:::-;13083:36;;13155:24;13159:6;13166:12;13155:3;:24::i;:::-;13138:41;;13198:44;13208:4;13222;13229:12;13198:9;:44::i;:::-;;12574:723;12545:752;13339:4;13324:19;;:11;;;;;;;;;;;:19;;;:44;;;;;13355:13;;;;;;;;;;;13347:21;;:4;:21;;;;13324:44;13321:298;;;13418:20;13441:24;13459:4;13441:9;:24::i;:::-;13418:47;;13484:30;13498:15;13484:13;:30::i;:::-;;13529:47;13546:15;13570:4;13529:16;:47::i;:::-;13369:250;13321:298;12453:1187;13660:35;13670:4;13676:2;13680:14;13660:9;:35::i;:::-;;13766:5;13757:6;;:14;;;;;;;;;;;;;;;;;;13805:4;13798:11;;;;12116:1701;;;;;:::o;20268:123::-;20326:7;20358:1;20353;:6;;20346:14;;;;:::i;:::-;;20382:1;20378;:5;;;;:::i;:::-;20371:12;;20268:123;;;;:::o;20158:98::-;20216:7;20247:1;20243;:5;;;;:::i;:::-;20236:12;;20158:98;;;;:::o;10615:454::-;10690:4;10734:6;10715:15;10725:4;10715:9;:15::i;:::-;:25;;10707:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10808:5;10785:28;;:13;:19;10799:4;10785:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:58;;;;;10838:5;10817:26;;:13;:17;10831:2;10817:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;10785:58;10777:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;10898:27;10902:15;10912:4;10902:9;:15::i;:::-;10918:6;10898:3;:27::i;:::-;10880:9;:15;10890:4;10880:15;;;;;;;;;;;;;;;:45;;;;10952:25;10956:13;10966:2;10956:9;:13::i;:::-;10970:6;10952:3;:25::i;:::-;10936:9;:13;10946:2;10936:13;;;;;;;;;;;;;;;:41;;;;11018:2;11003:26;;11012:4;11003:26;;;11022:6;11003:26;;;;;;:::i;:::-;;;;;;;;11057:4;11050:11;;10615:454;;;;;:::o;14944:128::-;14995:4;15038;15016:13;:19;15030:4;15016:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;15060:4;15053:11;;14944:128;;;:::o;19092:139::-;19146:4;19162:39;19179:4;19186:6;;;;;;;;;;;19194;19162:8;:39::i;:::-;19219:4;19212:11;;19092:139;;;:::o;18203:417::-;18282:4;18273:6;;:13;;;;;;;;;;;;;;;;;;18297:21;18335:1;18321:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18297:40;;18394:4;18376;18381:1;18376:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18455:12;;;;;;;;;;;18445:4;18450:1;18445:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;18512:15;;;;;;;;;;;:66;;;18579:6;18586:1;18588:4;18593:2;18596:15;18512:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18262:358;18203:417;;:::o;20403:141::-;20461:9;20491:1;20487;:5;;;;:::i;:::-;20483:9;;20515:1;20510;:6;;20503:14;;;;:::i;:::-;;20403:141;;;;:::o;24:744:1:-;131:5;156:81;172:64;229:6;172:64;:::i;:::-;156:81;:::i;:::-;147:90;;257:5;286:6;279:5;272:21;320:4;313:5;309:16;302:23;;346:6;396:3;388:4;380:6;376:17;371:3;367:27;364:36;361:2;;;415:79;;:::i;:::-;361:2;528:1;513:249;538:6;535:1;532:13;513:249;;;606:3;635:48;679:3;667:10;635:48;:::i;:::-;630:3;623:61;713:4;708:3;704:14;697:21;;747:4;742:3;738:14;731:21;;573:189;560:1;557;553:9;548:14;;513:249;;;517:14;137:631;;;;;;;:::o;774:139::-;820:5;858:6;845:20;836:29;;874:33;901:5;874:33;:::i;:::-;826:87;;;;:::o;936:385::-;1018:5;1067:3;1060:4;1052:6;1048:17;1044:27;1034:2;;1075:79;;:::i;:::-;1034:2;1185:6;1179:13;1210:105;1311:3;1303:6;1296:4;1288:6;1284:17;1210:105;:::i;:::-;1201:114;;1024:297;;;;;:::o;1327:133::-;1370:5;1408:6;1395:20;1386:29;;1424:30;1448:5;1424:30;:::i;:::-;1376:84;;;;:::o;1466:139::-;1512:5;1550:6;1537:20;1528:29;;1566:33;1593:5;1566:33;:::i;:::-;1518:87;;;;:::o;1611:143::-;1668:5;1699:6;1693:13;1684:22;;1715:33;1742:5;1715:33;:::i;:::-;1674:80;;;;:::o;1760:329::-;1819:6;1868:2;1856:9;1847:7;1843:23;1839:32;1836:2;;;1874:79;;:::i;:::-;1836:2;1994:1;2019:53;2064:7;2055:6;2044:9;2040:22;2019:53;:::i;:::-;2009:63;;1965:117;1826:263;;;;:::o;2095:474::-;2163:6;2171;2220:2;2208:9;2199:7;2195:23;2191:32;2188:2;;;2226:79;;:::i;:::-;2188:2;2346:1;2371:53;2416:7;2407:6;2396:9;2392:22;2371:53;:::i;:::-;2361:63;;2317:117;2473:2;2499:53;2544:7;2535:6;2524:9;2520:22;2499:53;:::i;:::-;2489:63;;2444:118;2178:391;;;;;:::o;2575:619::-;2652:6;2660;2668;2717:2;2705:9;2696:7;2692:23;2688:32;2685:2;;;2723:79;;:::i;:::-;2685:2;2843:1;2868:53;2913:7;2904:6;2893:9;2889:22;2868:53;:::i;:::-;2858:63;;2814:117;2970:2;2996:53;3041:7;3032:6;3021:9;3017:22;2996:53;:::i;:::-;2986:63;;2941:118;3098:2;3124:53;3169:7;3160:6;3149:9;3145:22;3124:53;:::i;:::-;3114:63;;3069:118;2675:519;;;;;:::o;3200:474::-;3268:6;3276;3325:2;3313:9;3304:7;3300:23;3296:32;3293:2;;;3331:79;;:::i;:::-;3293:2;3451:1;3476:53;3521:7;3512:6;3501:9;3497:22;3476:53;:::i;:::-;3466:63;;3422:117;3578:2;3604:53;3649:7;3640:6;3629:9;3625:22;3604:53;:::i;:::-;3594:63;;3549:118;3283:391;;;;;:::o;3680:554::-;3775:6;3824:2;3812:9;3803:7;3799:23;3795:32;3792:2;;;3830:79;;:::i;:::-;3792:2;3971:1;3960:9;3956:17;3950:24;4001:18;3993:6;3990:30;3987:2;;;4023:79;;:::i;:::-;3987:2;4128:89;4209:7;4200:6;4189:9;4185:22;4128:89;:::i;:::-;4118:99;;3921:306;3782:452;;;;:::o;4240:462::-;4302:6;4310;4359:2;4347:9;4338:7;4334:23;4330:32;4327:2;;;4365:79;;:::i;:::-;4327:2;4485:1;4510:50;4552:7;4543:6;4532:9;4528:22;4510:50;:::i;:::-;4500:60;;4456:114;4609:2;4635:50;4677:7;4668:6;4657:9;4653:22;4635:50;:::i;:::-;4625:60;;4580:115;4317:385;;;;;:::o;4708:329::-;4767:6;4816:2;4804:9;4795:7;4791:23;4787:32;4784:2;;;4822:79;;:::i;:::-;4784:2;4942:1;4967:53;5012:7;5003:6;4992:9;4988:22;4967:53;:::i;:::-;4957:63;;4913:117;4774:263;;;;:::o;5043:474::-;5111:6;5119;5168:2;5156:9;5147:7;5143:23;5139:32;5136:2;;;5174:79;;:::i;:::-;5136:2;5294:1;5319:53;5364:7;5355:6;5344:9;5340:22;5319:53;:::i;:::-;5309:63;;5265:117;5421:2;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5392:118;5126:391;;;;;:::o;5523:619::-;5600:6;5608;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:2;;;5671:79;;:::i;:::-;5633:2;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;6046:2;6072:53;6117:7;6108:6;6097:9;6093:22;6072:53;:::i;:::-;6062:63;;6017:118;5623:519;;;;;:::o;6148:663::-;6236:6;6244;6252;6301:2;6289:9;6280:7;6276:23;6272:32;6269:2;;;6307:79;;:::i;:::-;6269:2;6427:1;6452:64;6508:7;6499:6;6488:9;6484:22;6452:64;:::i;:::-;6442:74;;6398:128;6565:2;6591:64;6647:7;6638:6;6627:9;6623:22;6591:64;:::i;:::-;6581:74;;6536:129;6704:2;6730:64;6786:7;6777:6;6766:9;6762:22;6730:64;:::i;:::-;6720:74;;6675:129;6259:552;;;;;:::o;6817:179::-;6886:10;6907:46;6949:3;6941:6;6907:46;:::i;:::-;6985:4;6980:3;6976:14;6962:28;;6897:99;;;;:::o;7002:179::-;7071:10;7092:46;7134:3;7126:6;7092:46;:::i;:::-;7170:4;7165:3;7161:14;7147:28;;7082:99;;;;:::o;7187:108::-;7264:24;7282:5;7264:24;:::i;:::-;7259:3;7252:37;7242:53;;:::o;7301:118::-;7388:24;7406:5;7388:24;:::i;:::-;7383:3;7376:37;7366:53;;:::o;7455:732::-;7574:3;7603:54;7651:5;7603:54;:::i;:::-;7673:86;7752:6;7747:3;7673:86;:::i;:::-;7666:93;;7783:56;7833:5;7783:56;:::i;:::-;7862:7;7893:1;7878:284;7903:6;7900:1;7897:13;7878:284;;;7979:6;7973:13;8006:63;8065:3;8050:13;8006:63;:::i;:::-;7999:70;;8092:60;8145:6;8092:60;:::i;:::-;8082:70;;7938:224;7925:1;7922;7918:9;7913:14;;7878:284;;;7882:14;8178:3;8171:10;;7579:608;;;;;;;:::o;8223:732::-;8342:3;8371:54;8419:5;8371:54;:::i;:::-;8441:86;8520:6;8515:3;8441:86;:::i;:::-;8434:93;;8551:56;8601:5;8551:56;:::i;:::-;8630:7;8661:1;8646:284;8671:6;8668:1;8665:13;8646:284;;;8747:6;8741:13;8774:63;8833:3;8818:13;8774:63;:::i;:::-;8767:70;;8860:60;8913:6;8860:60;:::i;:::-;8850:70;;8706:224;8693:1;8690;8686:9;8681:14;;8646:284;;;8650:14;8946:3;8939:10;;8347:608;;;;;;;:::o;8961:109::-;9042:21;9057:5;9042:21;:::i;:::-;9037:3;9030:34;9020:50;;:::o;9076:147::-;9171:45;9210:5;9171:45;:::i;:::-;9166:3;9159:58;9149:74;;:::o;9229:364::-;9317:3;9345:39;9378:5;9345:39;:::i;:::-;9400:71;9464:6;9459:3;9400:71;:::i;:::-;9393:78;;9480:52;9525:6;9520:3;9513:4;9506:5;9502:16;9480:52;:::i;:::-;9557:29;9579:6;9557:29;:::i;:::-;9552:3;9548:39;9541:46;;9321:272;;;;;:::o;9599:366::-;9741:3;9762:67;9826:2;9821:3;9762:67;:::i;:::-;9755:74;;9838:93;9927:3;9838:93;:::i;:::-;9956:2;9951:3;9947:12;9940:19;;9745:220;;;:::o;9971:366::-;10113:3;10134:67;10198:2;10193:3;10134:67;:::i;:::-;10127:74;;10210:93;10299:3;10210:93;:::i;:::-;10328:2;10323:3;10319:12;10312:19;;10117:220;;;:::o;10343:366::-;10485:3;10506:67;10570:2;10565:3;10506:67;:::i;:::-;10499:74;;10582:93;10671:3;10582:93;:::i;:::-;10700:2;10695:3;10691:12;10684:19;;10489:220;;;:::o;10715:366::-;10857:3;10878:67;10942:2;10937:3;10878:67;:::i;:::-;10871:74;;10954:93;11043:3;10954:93;:::i;:::-;11072:2;11067:3;11063:12;11056:19;;10861:220;;;:::o;11087:366::-;11229:3;11250:67;11314:2;11309:3;11250:67;:::i;:::-;11243:74;;11326:93;11415:3;11326:93;:::i;:::-;11444:2;11439:3;11435:12;11428:19;;11233:220;;;:::o;11459:366::-;11601:3;11622:67;11686:2;11681:3;11622:67;:::i;:::-;11615:74;;11698:93;11787:3;11698:93;:::i;:::-;11816:2;11811:3;11807:12;11800:19;;11605:220;;;:::o;11831:366::-;11973:3;11994:67;12058:2;12053:3;11994:67;:::i;:::-;11987:74;;12070:93;12159:3;12070:93;:::i;:::-;12188:2;12183:3;12179:12;12172:19;;11977:220;;;:::o;12203:108::-;12280:24;12298:5;12280:24;:::i;:::-;12275:3;12268:37;12258:53;;:::o;12317:118::-;12404:24;12422:5;12404:24;:::i;:::-;12399:3;12392:37;12382:53;;:::o;12441:112::-;12524:22;12540:5;12524:22;:::i;:::-;12519:3;12512:35;12502:51;;:::o;12559:222::-;12652:4;12690:2;12679:9;12675:18;12667:26;;12703:71;12771:1;12760:9;12756:17;12747:6;12703:71;:::i;:::-;12657:124;;;;:::o;12787:807::-;13036:4;13074:3;13063:9;13059:19;13051:27;;13088:71;13156:1;13145:9;13141:17;13132:6;13088:71;:::i;:::-;13169:72;13237:2;13226:9;13222:18;13213:6;13169:72;:::i;:::-;13251:80;13327:2;13316:9;13312:18;13303:6;13251:80;:::i;:::-;13341;13417:2;13406:9;13402:18;13393:6;13341:80;:::i;:::-;13431:73;13499:3;13488:9;13484:19;13475:6;13431:73;:::i;:::-;13514;13582:3;13571:9;13567:19;13558:6;13514:73;:::i;:::-;13041:553;;;;;;;;;:::o;13600:373::-;13743:4;13781:2;13770:9;13766:18;13758:26;;13830:9;13824:4;13820:20;13816:1;13805:9;13801:17;13794:47;13858:108;13961:4;13952:6;13858:108;:::i;:::-;13850:116;;13748:225;;;;:::o;13979:210::-;14066:4;14104:2;14093:9;14089:18;14081:26;;14117:65;14179:1;14168:9;14164:17;14155:6;14117:65;:::i;:::-;14071:118;;;;:::o;14195:313::-;14308:4;14346:2;14335:9;14331:18;14323:26;;14395:9;14389:4;14385:20;14381:1;14370:9;14366:17;14359:47;14423:78;14496:4;14487:6;14423:78;:::i;:::-;14415:86;;14313:195;;;;:::o;14514:419::-;14680:4;14718:2;14707:9;14703:18;14695:26;;14767:9;14761:4;14757:20;14753:1;14742:9;14738:17;14731:47;14795:131;14921:4;14795:131;:::i;:::-;14787:139;;14685:248;;;:::o;14939:419::-;15105:4;15143:2;15132:9;15128:18;15120:26;;15192:9;15186:4;15182:20;15178:1;15167:9;15163:17;15156:47;15220:131;15346:4;15220:131;:::i;:::-;15212:139;;15110:248;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15535:248;;;:::o;15789:419::-;15955:4;15993:2;15982:9;15978:18;15970:26;;16042:9;16036:4;16032:20;16028:1;16017:9;16013:17;16006:47;16070:131;16196:4;16070:131;:::i;:::-;16062:139;;15960:248;;;:::o;16214:419::-;16380:4;16418:2;16407:9;16403:18;16395:26;;16467:9;16461:4;16457:20;16453:1;16442:9;16438:17;16431:47;16495:131;16621:4;16495:131;:::i;:::-;16487:139;;16385:248;;;:::o;16639:419::-;16805:4;16843:2;16832:9;16828:18;16820:26;;16892:9;16886:4;16882:20;16878:1;16867:9;16863:17;16856:47;16920:131;17046:4;16920:131;:::i;:::-;16912:139;;16810:248;;;:::o;17064:419::-;17230:4;17268:2;17257:9;17253:18;17245:26;;17317:9;17311:4;17307:20;17303:1;17292:9;17288:17;17281:47;17345:131;17471:4;17345:131;:::i;:::-;17337:139;;17235:248;;;:::o;17489:222::-;17582:4;17620:2;17609:9;17605:18;17597:26;;17633:71;17701:1;17690:9;17686:17;17677:6;17633:71;:::i;:::-;17587:124;;;;:::o;17717:483::-;17888:4;17926:2;17915:9;17911:18;17903:26;;17939:71;18007:1;17996:9;17992:17;17983:6;17939:71;:::i;:::-;18057:9;18051:4;18047:20;18042:2;18031:9;18027:18;18020:48;18085:108;18188:4;18179:6;18085:108;:::i;:::-;18077:116;;17893:307;;;;;:::o;18206:831::-;18469:4;18507:3;18496:9;18492:19;18484:27;;18521:71;18589:1;18578:9;18574:17;18565:6;18521:71;:::i;:::-;18602:80;18678:2;18667:9;18663:18;18654:6;18602:80;:::i;:::-;18729:9;18723:4;18719:20;18714:2;18703:9;18699:18;18692:48;18757:108;18860:4;18851:6;18757:108;:::i;:::-;18749:116;;18875:72;18943:2;18932:9;18928:18;18919:6;18875:72;:::i;:::-;18957:73;19025:3;19014:9;19010:19;19001:6;18957:73;:::i;:::-;18474:563;;;;;;;;:::o;19043:214::-;19132:4;19170:2;19159:9;19155:18;19147:26;;19183:67;19247:1;19236:9;19232:17;19223:6;19183:67;:::i;:::-;19137:120;;;;:::o;19263:129::-;19297:6;19324:20;;:::i;:::-;19314:30;;19353:33;19381:4;19373:6;19353:33;:::i;:::-;19304:88;;;:::o;19398:75::-;19431:6;19464:2;19458:9;19448:19;;19438:35;:::o;19479:311::-;19556:4;19646:18;19638:6;19635:30;19632:2;;;19668:18;;:::i;:::-;19632:2;19718:4;19710:6;19706:17;19698:25;;19778:4;19772;19768:15;19760:23;;19561:229;;;:::o;19796:132::-;19863:4;19886:3;19878:11;;19916:4;19911:3;19907:14;19899:22;;19868:60;;;:::o;19934:132::-;20001:4;20024:3;20016:11;;20054:4;20049:3;20045:14;20037:22;;20006:60;;;:::o;20072:114::-;20139:6;20173:5;20167:12;20157:22;;20146:40;;;:::o;20192:114::-;20259:6;20293:5;20287:12;20277:22;;20266:40;;;:::o;20312:99::-;20364:6;20398:5;20392:12;20382:22;;20371:40;;;:::o;20417:113::-;20487:4;20519;20514:3;20510:14;20502:22;;20492:38;;;:::o;20536:113::-;20606:4;20638;20633:3;20629:14;20621:22;;20611:38;;;:::o;20655:184::-;20754:11;20788:6;20783:3;20776:19;20828:4;20823:3;20819:14;20804:29;;20766:73;;;;:::o;20845:184::-;20944:11;20978:6;20973:3;20966:19;21018:4;21013:3;21009:14;20994:29;;20956:73;;;;:::o;21035:169::-;21119:11;21153:6;21148:3;21141:19;21193:4;21188:3;21184:14;21169:29;;21131:73;;;;:::o;21210:305::-;21250:3;21269:20;21287:1;21269:20;:::i;:::-;21264:25;;21303:20;21321:1;21303:20;:::i;:::-;21298:25;;21457:1;21389:66;21385:74;21382:1;21379:81;21376:2;;;21463:18;;:::i;:::-;21376:2;21507:1;21504;21500:9;21493:16;;21254:261;;;;:::o;21521:185::-;21561:1;21578:20;21596:1;21578:20;:::i;:::-;21573:25;;21612:20;21630:1;21612:20;:::i;:::-;21607:25;;21651:1;21641:2;;21656:18;;:::i;:::-;21641:2;21698:1;21695;21691:9;21686:14;;21563:143;;;;:::o;21712:848::-;21773:5;21780:4;21804:6;21795:15;;21828:5;21819:14;;21842:712;21863:1;21853:8;21850:15;21842:712;;;21958:4;21953:3;21949:14;21943:4;21940:24;21937:2;;;21967:18;;:::i;:::-;21937:2;22017:1;22007:8;22003:16;22000:2;;;22432:4;22425:5;22421:16;22412:25;;22000:2;22482:4;22476;22472:15;22464:23;;22512:32;22535:8;22512:32;:::i;:::-;22500:44;;21842:712;;;21785:775;;;;;;;:::o;22566:281::-;22624:5;22648:23;22666:4;22648:23;:::i;:::-;22640:31;;22692:25;22708:8;22692:25;:::i;:::-;22680:37;;22736:104;22773:66;22763:8;22757:4;22736:104;:::i;:::-;22727:113;;22630:217;;;;:::o;22853:1073::-;22907:5;23098:8;23088:2;;23119:1;23110:10;;23121:5;;23088:2;23147:4;23137:2;;23164:1;23155:10;;23166:5;;23137:2;23233:4;23281:1;23276:27;;;;23317:1;23312:191;;;;23226:277;;23276:27;23294:1;23285:10;;23296:5;;;23312:191;23357:3;23347:8;23344:17;23341:2;;;23364:18;;:::i;:::-;23341:2;23413:8;23410:1;23406:16;23397:25;;23448:3;23441:5;23438:14;23435:2;;;23455:18;;:::i;:::-;23435:2;23488:5;;;23226:277;;23612:2;23602:8;23599:16;23593:3;23587:4;23584:13;23580:36;23562:2;23552:8;23549:16;23544:2;23538:4;23535:12;23531:35;23515:111;23512:2;;;23668:8;23662:4;23658:19;23649:28;;23703:3;23696:5;23693:14;23690:2;;;23710:18;;:::i;:::-;23690:2;23743:5;;23512:2;23783:42;23821:3;23811:8;23805:4;23802:1;23783:42;:::i;:::-;23768:57;;;;23857:4;23852:3;23848:14;23841:5;23838:25;23835:2;;;23866:18;;:::i;:::-;23835:2;23915:4;23908:5;23904:16;23895:25;;22913:1013;;;;;;:::o;23932:348::-;23972:7;23995:20;24013:1;23995:20;:::i;:::-;23990:25;;24029:20;24047:1;24029:20;:::i;:::-;24024:25;;24217:1;24149:66;24145:74;24142:1;24139:81;24134:1;24127:9;24120:17;24116:105;24113:2;;;24224:18;;:::i;:::-;24113:2;24272:1;24269;24265:9;24254:20;;23980:300;;;;:::o;24286:191::-;24326:4;24346:20;24364:1;24346:20;:::i;:::-;24341:25;;24380:20;24398:1;24380:20;:::i;:::-;24375:25;;24419:1;24416;24413:8;24410:2;;;24424:18;;:::i;:::-;24410:2;24469:1;24466;24462:9;24454:17;;24331:146;;;;:::o;24483:96::-;24520:7;24549:24;24567:5;24549:24;:::i;:::-;24538:35;;24528:51;;;:::o;24585:90::-;24619:7;24662:5;24655:13;24648:21;24637:32;;24627:48;;;:::o;24681:126::-;24718:7;24758:42;24751:5;24747:54;24736:65;;24726:81;;;:::o;24813:77::-;24850:7;24879:5;24868:16;;24858:32;;;:::o;24896:86::-;24931:7;24971:4;24964:5;24960:16;24949:27;;24939:43;;;:::o;24988:121::-;25046:9;25079:24;25097:5;25079:24;:::i;:::-;25066:37;;25056:53;;;:::o;25115:307::-;25183:1;25193:113;25207:6;25204:1;25201:13;25193:113;;;25292:1;25287:3;25283:11;25277:18;25273:1;25268:3;25264:11;25257:39;25229:2;25226:1;25222:10;25217:15;;25193:113;;;25324:6;25321:1;25318:13;25315:2;;;25404:1;25395:6;25390:3;25386:16;25379:27;25315:2;25164:258;;;;:::o;25428:320::-;25472:6;25509:1;25503:4;25499:12;25489:22;;25556:1;25550:4;25546:12;25577:18;25567:2;;25633:4;25625:6;25621:17;25611:27;;25567:2;25695;25687:6;25684:14;25664:18;25661:38;25658:2;;;25714:18;;:::i;:::-;25658:2;25479:269;;;;:::o;25754:281::-;25837:27;25859:4;25837:27;:::i;:::-;25829:6;25825:40;25967:6;25955:10;25952:22;25931:18;25919:10;25916:34;25913:62;25910:2;;;25978:18;;:::i;:::-;25910:2;26018:10;26014:2;26007:22;25797:238;;;:::o;26041:180::-;26089:77;26086:1;26079:88;26186:4;26183:1;26176:15;26210:4;26207:1;26200:15;26227:180;26275:77;26272:1;26265:88;26372:4;26369:1;26362:15;26396:4;26393:1;26386:15;26413:180;26461:77;26458:1;26451:88;26558:4;26555:1;26548:15;26582:4;26579:1;26572:15;26599:180;26647:77;26644:1;26637:88;26744:4;26741:1;26734:15;26768:4;26765:1;26758:15;26785:180;26833:77;26830:1;26823:88;26930:4;26927:1;26920:15;26954:4;26951:1;26944:15;26971:180;27019:77;27016:1;27009:88;27116:4;27113:1;27106:15;27140:4;27137:1;27130:15;27157:117;27266:1;27263;27256:12;27280:117;27389:1;27386;27379:12;27403:117;27512:1;27509;27502:12;27526:117;27635:1;27632;27625:12;27649:102;27690:6;27741:2;27737:7;27732:2;27725:5;27721:14;27717:28;27707:38;;27697:54;;;:::o;27757:102::-;27799:8;27846:5;27843:1;27839:13;27818:34;;27808:51;;;:::o;27865:221::-;28005:34;28001:1;27993:6;27989:14;27982:58;28074:4;28069:2;28061:6;28057:15;28050:29;27971:115;:::o;28092:175::-;28232:27;28228:1;28220:6;28216:14;28209:51;28198:69;:::o;28273:171::-;28413:23;28409:1;28401:6;28397:14;28390:47;28379:65;:::o;28450:173::-;28590:25;28586:1;28578:6;28574:14;28567:49;28556:67;:::o;28629:223::-;28769:34;28765:1;28757:6;28753:14;28746:58;28838:6;28833:2;28825:6;28821:15;28814:31;28735:117;:::o;28858:175::-;28998:27;28994:1;28986:6;28982:14;28975:51;28964:69;:::o;29039:161::-;29179:13;29175:1;29167:6;29163:14;29156:37;29145:55;:::o;29206:122::-;29279:24;29297:5;29279:24;:::i;:::-;29272:5;29269:35;29259:2;;29318:1;29315;29308:12;29259:2;29249:79;:::o;29334:116::-;29404:21;29419:5;29404:21;:::i;:::-;29397:5;29394:32;29384:2;;29440:1;29437;29430:12;29384:2;29374:76;:::o;29456:122::-;29529:24;29547:5;29529:24;:::i;:::-;29522:5;29519:35;29509:2;;29568:1;29565;29558:12;29509:2;29499:79;:::o
Swarm Source
ipfs://42d483434a8733c4f8a0574a3afd0db80e5d1ce27a5afe4d5b9148d21b2b7c8e
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.