ERC-20
Overview
Max Total Supply
1,000,000,000,000 $OrcaKujira
Holders
183
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
229,546,474.655595009 $OrcaKujiraValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
OrcaKujira
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-30 */ //SPDX-License-Identifier: Mines™®© pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract OrcaKujira is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Orca Kujira https://t.me/OrcaKujira"; string private constant _symbol = "$OrcaKujira"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 10; uint256 private _teamFee = 6; mapping(address => bool) private bots; mapping(address => uint256) private frontrunSafe; mapping(address => uint256) private sellTimes; mapping(address => uint256) private firstsell; address payable private _teamAddressOne; address payable private _teamAddressTwo; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = 10; _teamFee = 6; } function setFee(uint256 multiplier) private { _taxFee = _taxFee.mul(multiplier); _teamFee = 6; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { if ( from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router) ) { require( _msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair, "ERR: Uniswap only" ); } require(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { frontrunSafe[to] = block.timestamp + (30 seconds); _teamFee = 0; _taxFee = 10; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { require(amount <= balanceOf(uniswapV2Pair).mul(3).div(100) && frontrunSafe[from] < block.timestamp); if (firstsell[from] + (12 hours) <= block.timestamp) { firstsell[from] = block.timestamp; sellTimes[from] = 1; } else { sellTimes[from] < 4 ? sellTimes[from] += 1 : sellTimes[from] = 4; } if (contractTokenBalance > 0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if (amount <= balanceOf(uniswapV2Pair).mul(1).div(100) && sellTimes[from] == 1) { setFee(0); } else { setFee(sellTimes[from]); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); restoreAllFee(); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _teamAddressOne.transfer(amount.div(2)); _teamAddressTwo.transfer(amount.div(2)); } function addLiquidity() external onlyOwner() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); swapEnabled = true; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function manualswap() external { require(_msgSender() == _teamAddressOne); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _teamAddressOne); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 teamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setTeamAddress(address payable _address1, address payable _address2) external onlyOwner() { _teamAddressOne = _address1; _teamAddressTwo = _address2; _isExcludedFromFee[_teamAddressOne] = true; _isExcludedFromFee[_teamAddressTwo] = true; } function withdrawBalance() external onlyOwner() { payable(msg.sender).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address1","type":"address"},{"internalType":"address payable","name":"_address2","type":"address"}],"name":"setTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d91906200036b565b6000196200002c919062000326565b600655600a60085560066009556000601160146101000a81548160ff0219169083151502179055506000601160156101000a81548160ff0219169083151502179055503480156200007c57600080fd5b5060006200008f620002c760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546002600062000144620002c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000198620002cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000251620002c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620002b9919062000309565b60405180910390a362000401565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003038162000361565b82525050565b6000602082019050620003206000830184620002f8565b92915050565b6000620003338262000361565b9150620003408362000361565b925082821015620003565762000355620003a3565b5b828203905092915050565b6000819050919050565b6000620003788262000361565b9150620003858362000361565b925082620003985762000397620003d2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61365680620004116000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063dd62ed3e14610353578063e8078d9414610390576100fe565b8063715018a6146102695780638da5cb5b1461028057806395d89b41146102ab5780639bd53640146102d6576100fe565b8063313ce567116100c6578063313ce567146101d35780635fd8c710146101fe5780636fc3eaec1461021557806370a082311461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190612e5e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612a5a565b6103c7565b6040516101629190612e43565b60405180910390f35b34801561017757600080fd5b506101806103e5565b60405161018d9190612fc0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612a0b565b6103f6565b6040516101ca9190612e43565b60405180910390f35b3480156101df57600080fd5b506101e86104cf565b6040516101f59190613035565b60405180910390f35b34801561020a57600080fd5b506102136104d8565b005b34801561022157600080fd5b5061022a6105b6565b005b34801561023857600080fd5b50610253600480360381019061024e9190612941565b610628565b6040516102609190612fc0565b60405180910390f35b34801561027557600080fd5b5061027e610679565b005b34801561028c57600080fd5b506102956107cc565b6040516102a29190612d75565b60405180910390f35b3480156102b757600080fd5b506102c06107f5565b6040516102cd9190612e5e565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612993565b610832565b005b34801561030b57600080fd5b5061032660048036038101906103219190612a5a565b610a41565b6040516103339190612e43565b60405180910390f35b34801561034857600080fd5b50610351610a5f565b005b34801561035f57600080fd5b5061037a600480360381019061037591906129cf565b610ad9565b6040516103879190612fc0565b60405180910390f35b34801561039c57600080fd5b506103a5610b60565b005b60606040518060600160405280602381526020016135d660239139905090565b60006103db6103d4611027565b848461102f565b6001905092915050565b6000683635c9adc5dea00000905090565b60006104038484846111fa565b6104c48461040f611027565b6104bf856040518060600160405280602881526020016135f960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610475611027565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc09092919063ffffffff16565b61102f565b600190509392505050565b60006009905090565b6104e0611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056490612f20565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105b3573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f7611027565b73ffffffffffffffffffffffffffffffffffffffff161461061757600080fd5b600047905061062581611d24565b50565b6000610672600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1f565b9050919050565b610681611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f20565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f244f7263614b756a697261000000000000000000000000000000000000000000815250905090565b61083a611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90612f20565b60405180910390fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610a55610a4e611027565b84846111fa565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa0611027565b73ffffffffffffffffffffffffffffffffffffffff1614610ac057600080fd5b6000610acb30610628565b9050610ad681611e8d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b68611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90612f20565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c8530601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061102f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccb57600080fd5b505afa158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061296a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d6557600080fd5b505afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d919061296a565b6040518363ffffffff1660e01b8152600401610dba929190612d90565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c919061296a565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e9530610628565b600080610ea06107cc565b426040518863ffffffff1660e01b8152600401610ec296959493929190612de2565b6060604051808303818588803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f149190612abf565b5050506001601160156101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd1929190612db9565b602060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190612a96565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612f80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110690612ec0565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ed9190612fc0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561126a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126190612f60565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612e80565b60405180910390fd5b6000811161131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131490612f40565b60405180910390fd5b6113256107cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561139357506113636107cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611bf5573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561145a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114b45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115b057601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fa611027565b73ffffffffffffffffffffffffffffffffffffffff1614806115705750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611558611027565b73ffffffffffffffffffffffffffffffffffffffff16145b6115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690612fa0565b60405180910390fd5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116545750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61165d57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117085750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561175e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117c457601e4261177091906130a5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600981905550600a6008819055505b60006117cf30610628565b9050601160149054906101000a900460ff1615801561183c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118545750601160159054906101000a900460ff165b15611bf3576118aa606461189c600361188e601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610628565b61218790919063ffffffff16565b61220290919063ffffffff16565b82111580156118f7575042600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b61190057600080fd5b4261a8c0600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194e91906130a5565b116119e15742600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aca565b6004600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a71576004600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055611ac8565b6001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ac191906130a5565b9250508190555b505b6000811115611af657611adc81611e8d565b60004790506000811115611af457611af347611d24565b5b505b611b476064611b396001611b2b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610628565b61218790919063ffffffff16565b61220290919063ffffffff16565b8211158015611b9557506001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611ba957611ba4600061224c565b611bf2565b611bf1600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224c565b5b5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9c5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ca657600090505b611cb284848484612272565b611cba61229f565b50505050565b6000838311158290611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff9190612e5e565b60405180910390fd5b5060008385611d179190613186565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d7460028461220290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d9f573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611df060028461220290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e1b573d6000803e3d6000fd5b5050565b6000600654821115611e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5d90612ea0565b60405180910390fd5b6000611e706122b1565b9050611e85818461220290919063ffffffff16565b915050919050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f195781602001602082028036833780820191505090505b5090503081600081518110611f57577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff957600080fd5b505afa15801561200d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612031919061296a565b8160018151811061206b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120d230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102f565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612136959493929190612fdb565b600060405180830381600087803b15801561215057600080fd5b505af1158015612164573d6000803e3d6000fd5b50505050506000601160146101000a81548160ff02191690831515021790555050565b60008083141561219a57600090506121fc565b600082846121a8919061312c565b90508284826121b791906130fb565b146121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90612f00565b60405180910390fd5b809150505b92915050565b600061224483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122dc565b905092915050565b6122618160085461218790919063ffffffff16565b600881905550600660098190555050565b806122805761227f61233f565b5b61228b848484612370565b806122995761229861229f565b5b50505050565b600a6008819055506006600981905550565b60008060006122be61253b565b915091506122d5818361220290919063ffffffff16565b9250505090565b60008083118290612323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231a9190612e5e565b60405180910390fd5b506000838561233291906130fb565b9050809150509392505050565b600060085414801561235357506000600954145b1561235d5761236e565b600060088190555060006009819055505b565b6000806000806000806123828761259d565b9550955095509550955095506123e086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461260590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c1816126ad565b6124cb848361276a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125289190612fc0565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612571683635c9adc5dea0000060065461220290919063ffffffff16565b82101561259057600654683635c9adc5dea00000935093505050612599565b81819350935050505b9091565b60008060008060008060008060006125ba8a6008546009546127a4565b92509250925060006125ca6122b1565b905060008060006125dd8e87878761283a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061264783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc0565b905092915050565b600080828461265e91906130a5565b9050838110156126a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269a90612ee0565b60405180910390fd5b8091505092915050565b60006126b76122b1565b905060006126ce828461218790919063ffffffff16565b905061272281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61277f8260065461260590919063ffffffff16565b60068190555061279a8160075461264f90919063ffffffff16565b6007819055505050565b6000806000806127d060646127c2888a61218790919063ffffffff16565b61220290919063ffffffff16565b905060006127fa60646127ec888b61218790919063ffffffff16565b61220290919063ffffffff16565b9050600061282382612815858c61260590919063ffffffff16565b61260590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612853858961218790919063ffffffff16565b9050600061286a868961218790919063ffffffff16565b90506000612881878961218790919063ffffffff16565b905060006128aa8261289c858761260590919063ffffffff16565b61260590919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506128d281613579565b92915050565b6000815190506128e781613579565b92915050565b6000813590506128fc81613590565b92915050565b600081519050612911816135a7565b92915050565b600081359050612926816135be565b92915050565b60008151905061293b816135be565b92915050565b60006020828403121561295357600080fd5b6000612961848285016128c3565b91505092915050565b60006020828403121561297c57600080fd5b600061298a848285016128d8565b91505092915050565b600080604083850312156129a657600080fd5b60006129b4858286016128ed565b92505060206129c5858286016128ed565b9150509250929050565b600080604083850312156129e257600080fd5b60006129f0858286016128c3565b9250506020612a01858286016128c3565b9150509250929050565b600080600060608486031215612a2057600080fd5b6000612a2e868287016128c3565b9350506020612a3f868287016128c3565b9250506040612a5086828701612917565b9150509250925092565b60008060408385031215612a6d57600080fd5b6000612a7b858286016128c3565b9250506020612a8c85828601612917565b9150509250929050565b600060208284031215612aa857600080fd5b6000612ab684828501612902565b91505092915050565b600080600060608486031215612ad457600080fd5b6000612ae28682870161292c565b9350506020612af38682870161292c565b9250506040612b048682870161292c565b9150509250925092565b6000612b1a8383612b26565b60208301905092915050565b612b2f816131ba565b82525050565b612b3e816131ba565b82525050565b6000612b4f82613060565b612b598185613083565b9350612b6483613050565b8060005b83811015612b95578151612b7c8882612b0e565b9750612b8783613076565b925050600181019050612b68565b5085935050505092915050565b612bab816131de565b82525050565b612bba81613221565b82525050565b6000612bcb8261306b565b612bd58185613094565b9350612be5818560208601613233565b612bee816132c4565b840191505092915050565b6000612c06602383613094565b9150612c11826132d5565b604082019050919050565b6000612c29602a83613094565b9150612c3482613324565b604082019050919050565b6000612c4c602283613094565b9150612c5782613373565b604082019050919050565b6000612c6f601b83613094565b9150612c7a826133c2565b602082019050919050565b6000612c92602183613094565b9150612c9d826133eb565b604082019050919050565b6000612cb5602083613094565b9150612cc08261343a565b602082019050919050565b6000612cd8602983613094565b9150612ce382613463565b604082019050919050565b6000612cfb602583613094565b9150612d06826134b2565b604082019050919050565b6000612d1e602483613094565b9150612d2982613501565b604082019050919050565b6000612d41601183613094565b9150612d4c82613550565b602082019050919050565b612d608161320a565b82525050565b612d6f81613214565b82525050565b6000602082019050612d8a6000830184612b35565b92915050565b6000604082019050612da56000830185612b35565b612db26020830184612b35565b9392505050565b6000604082019050612dce6000830185612b35565b612ddb6020830184612d57565b9392505050565b600060c082019050612df76000830189612b35565b612e046020830188612d57565b612e116040830187612bb1565b612e1e6060830186612bb1565b612e2b6080830185612b35565b612e3860a0830184612d57565b979650505050505050565b6000602082019050612e586000830184612ba2565b92915050565b60006020820190508181036000830152612e788184612bc0565b905092915050565b60006020820190508181036000830152612e9981612bf9565b9050919050565b60006020820190508181036000830152612eb981612c1c565b9050919050565b60006020820190508181036000830152612ed981612c3f565b9050919050565b60006020820190508181036000830152612ef981612c62565b9050919050565b60006020820190508181036000830152612f1981612c85565b9050919050565b60006020820190508181036000830152612f3981612ca8565b9050919050565b60006020820190508181036000830152612f5981612ccb565b9050919050565b60006020820190508181036000830152612f7981612cee565b9050919050565b60006020820190508181036000830152612f9981612d11565b9050919050565b60006020820190508181036000830152612fb981612d34565b9050919050565b6000602082019050612fd56000830184612d57565b92915050565b600060a082019050612ff06000830188612d57565b612ffd6020830187612bb1565b818103604083015261300f8186612b44565b905061301e6060830185612b35565b61302b6080830184612d57565b9695505050505050565b600060208201905061304a6000830184612d66565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006130b08261320a565b91506130bb8361320a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130f0576130ef613266565b5b828201905092915050565b60006131068261320a565b91506131118361320a565b92508261312157613120613295565b5b828204905092915050565b60006131378261320a565b91506131428361320a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561317b5761317a613266565b5b828202905092915050565b60006131918261320a565b915061319c8361320a565b9250828210156131af576131ae613266565b5b828203905092915050565b60006131c5826131ea565b9050919050565b60006131d7826131ea565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061322c8261320a565b9050919050565b60005b83811015613251578082015181840152602081019050613236565b83811115613260576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613582816131ba565b811461358d57600080fd5b50565b613599816131cc565b81146135a457600080fd5b50565b6135b0816131de565b81146135bb57600080fd5b50565b6135c78161320a565b81146135d257600080fd5b5056fe4f726361204b756a6972612068747470733a2f2f742e6d652f4f7263614b756a69726145524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f66f24428ec2081b66e17b469480b3c07f20932377366f460e0ddb580b9d339864736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063dd62ed3e14610353578063e8078d9414610390576100fe565b8063715018a6146102695780638da5cb5b1461028057806395d89b41146102ab5780639bd53640146102d6576100fe565b8063313ce567116100c6578063313ce567146101d35780635fd8c710146101fe5780636fc3eaec1461021557806370a082311461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190612e5e565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612a5a565b6103c7565b6040516101629190612e43565b60405180910390f35b34801561017757600080fd5b506101806103e5565b60405161018d9190612fc0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612a0b565b6103f6565b6040516101ca9190612e43565b60405180910390f35b3480156101df57600080fd5b506101e86104cf565b6040516101f59190613035565b60405180910390f35b34801561020a57600080fd5b506102136104d8565b005b34801561022157600080fd5b5061022a6105b6565b005b34801561023857600080fd5b50610253600480360381019061024e9190612941565b610628565b6040516102609190612fc0565b60405180910390f35b34801561027557600080fd5b5061027e610679565b005b34801561028c57600080fd5b506102956107cc565b6040516102a29190612d75565b60405180910390f35b3480156102b757600080fd5b506102c06107f5565b6040516102cd9190612e5e565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612993565b610832565b005b34801561030b57600080fd5b5061032660048036038101906103219190612a5a565b610a41565b6040516103339190612e43565b60405180910390f35b34801561034857600080fd5b50610351610a5f565b005b34801561035f57600080fd5b5061037a600480360381019061037591906129cf565b610ad9565b6040516103879190612fc0565b60405180910390f35b34801561039c57600080fd5b506103a5610b60565b005b60606040518060600160405280602381526020016135d660239139905090565b60006103db6103d4611027565b848461102f565b6001905092915050565b6000683635c9adc5dea00000905090565b60006104038484846111fa565b6104c48461040f611027565b6104bf856040518060600160405280602881526020016135f960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610475611027565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc09092919063ffffffff16565b61102f565b600190509392505050565b60006009905090565b6104e0611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056490612f20565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105b3573d6000803e3d6000fd5b50565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f7611027565b73ffffffffffffffffffffffffffffffffffffffff161461061757600080fd5b600047905061062581611d24565b50565b6000610672600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1f565b9050919050565b610681611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f20565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f244f7263614b756a697261000000000000000000000000000000000000000000815250905090565b61083a611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90612f20565b60405180910390fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610a55610a4e611027565b84846111fa565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa0611027565b73ffffffffffffffffffffffffffffffffffffffff1614610ac057600080fd5b6000610acb30610628565b9050610ad681611e8d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b68611027565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90612f20565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c8530601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061102f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccb57600080fd5b505afa158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061296a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d6557600080fd5b505afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d919061296a565b6040518363ffffffff1660e01b8152600401610dba929190612d90565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c919061296a565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e9530610628565b600080610ea06107cc565b426040518863ffffffff1660e01b8152600401610ec296959493929190612de2565b6060604051808303818588803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f149190612abf565b5050506001601160156101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd1929190612db9565b602060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190612a96565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612f80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110690612ec0565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ed9190612fc0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561126a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126190612f60565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190612e80565b60405180910390fd5b6000811161131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131490612f40565b60405180910390fd5b6113256107cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561139357506113636107cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611bf5573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140057503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561145a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114b45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115b057601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fa611027565b73ffffffffffffffffffffffffffffffffffffffff1614806115705750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611558611027565b73ffffffffffffffffffffffffffffffffffffffff16145b6115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690612fa0565b60405180910390fd5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116545750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61165d57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117085750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561175e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117c457601e4261177091906130a5565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600981905550600a6008819055505b60006117cf30610628565b9050601160149054906101000a900460ff1615801561183c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118545750601160159054906101000a900460ff165b15611bf3576118aa606461189c600361188e601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610628565b61218790919063ffffffff16565b61220290919063ffffffff16565b82111580156118f7575042600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b61190057600080fd5b4261a8c0600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194e91906130a5565b116119e15742600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aca565b6004600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a71576004600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055611ac8565b6001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ac191906130a5565b9250508190555b505b6000811115611af657611adc81611e8d565b60004790506000811115611af457611af347611d24565b5b505b611b476064611b396001611b2b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610628565b61218790919063ffffffff16565b61220290919063ffffffff16565b8211158015611b9557506001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611ba957611ba4600061224c565b611bf2565b611bf1600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224c565b5b5b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9c5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ca657600090505b611cb284848484612272565b611cba61229f565b50505050565b6000838311158290611d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cff9190612e5e565b60405180910390fd5b5060008385611d179190613186565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d7460028461220290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d9f573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611df060028461220290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e1b573d6000803e3d6000fd5b5050565b6000600654821115611e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5d90612ea0565b60405180910390fd5b6000611e706122b1565b9050611e85818461220290919063ffffffff16565b915050919050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611f195781602001602082028036833780820191505090505b5090503081600081518110611f57577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff957600080fd5b505afa15801561200d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612031919061296a565b8160018151811061206b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120d230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102f565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612136959493929190612fdb565b600060405180830381600087803b15801561215057600080fd5b505af1158015612164573d6000803e3d6000fd5b50505050506000601160146101000a81548160ff02191690831515021790555050565b60008083141561219a57600090506121fc565b600082846121a8919061312c565b90508284826121b791906130fb565b146121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90612f00565b60405180910390fd5b809150505b92915050565b600061224483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122dc565b905092915050565b6122618160085461218790919063ffffffff16565b600881905550600660098190555050565b806122805761227f61233f565b5b61228b848484612370565b806122995761229861229f565b5b50505050565b600a6008819055506006600981905550565b60008060006122be61253b565b915091506122d5818361220290919063ffffffff16565b9250505090565b60008083118290612323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231a9190612e5e565b60405180910390fd5b506000838561233291906130fb565b9050809150509392505050565b600060085414801561235357506000600954145b1561235d5761236e565b600060088190555060006009819055505b565b6000806000806000806123828761259d565b9550955095509550955095506123e086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461260590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c1816126ad565b6124cb848361276a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125289190612fc0565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612571683635c9adc5dea0000060065461220290919063ffffffff16565b82101561259057600654683635c9adc5dea00000935093505050612599565b81819350935050505b9091565b60008060008060008060008060006125ba8a6008546009546127a4565b92509250925060006125ca6122b1565b905060008060006125dd8e87878761283a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061264783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc0565b905092915050565b600080828461265e91906130a5565b9050838110156126a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269a90612ee0565b60405180910390fd5b8091505092915050565b60006126b76122b1565b905060006126ce828461218790919063ffffffff16565b905061272281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61277f8260065461260590919063ffffffff16565b60068190555061279a8160075461264f90919063ffffffff16565b6007819055505050565b6000806000806127d060646127c2888a61218790919063ffffffff16565b61220290919063ffffffff16565b905060006127fa60646127ec888b61218790919063ffffffff16565b61220290919063ffffffff16565b9050600061282382612815858c61260590919063ffffffff16565b61260590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612853858961218790919063ffffffff16565b9050600061286a868961218790919063ffffffff16565b90506000612881878961218790919063ffffffff16565b905060006128aa8261289c858761260590919063ffffffff16565b61260590919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506128d281613579565b92915050565b6000815190506128e781613579565b92915050565b6000813590506128fc81613590565b92915050565b600081519050612911816135a7565b92915050565b600081359050612926816135be565b92915050565b60008151905061293b816135be565b92915050565b60006020828403121561295357600080fd5b6000612961848285016128c3565b91505092915050565b60006020828403121561297c57600080fd5b600061298a848285016128d8565b91505092915050565b600080604083850312156129a657600080fd5b60006129b4858286016128ed565b92505060206129c5858286016128ed565b9150509250929050565b600080604083850312156129e257600080fd5b60006129f0858286016128c3565b9250506020612a01858286016128c3565b9150509250929050565b600080600060608486031215612a2057600080fd5b6000612a2e868287016128c3565b9350506020612a3f868287016128c3565b9250506040612a5086828701612917565b9150509250925092565b60008060408385031215612a6d57600080fd5b6000612a7b858286016128c3565b9250506020612a8c85828601612917565b9150509250929050565b600060208284031215612aa857600080fd5b6000612ab684828501612902565b91505092915050565b600080600060608486031215612ad457600080fd5b6000612ae28682870161292c565b9350506020612af38682870161292c565b9250506040612b048682870161292c565b9150509250925092565b6000612b1a8383612b26565b60208301905092915050565b612b2f816131ba565b82525050565b612b3e816131ba565b82525050565b6000612b4f82613060565b612b598185613083565b9350612b6483613050565b8060005b83811015612b95578151612b7c8882612b0e565b9750612b8783613076565b925050600181019050612b68565b5085935050505092915050565b612bab816131de565b82525050565b612bba81613221565b82525050565b6000612bcb8261306b565b612bd58185613094565b9350612be5818560208601613233565b612bee816132c4565b840191505092915050565b6000612c06602383613094565b9150612c11826132d5565b604082019050919050565b6000612c29602a83613094565b9150612c3482613324565b604082019050919050565b6000612c4c602283613094565b9150612c5782613373565b604082019050919050565b6000612c6f601b83613094565b9150612c7a826133c2565b602082019050919050565b6000612c92602183613094565b9150612c9d826133eb565b604082019050919050565b6000612cb5602083613094565b9150612cc08261343a565b602082019050919050565b6000612cd8602983613094565b9150612ce382613463565b604082019050919050565b6000612cfb602583613094565b9150612d06826134b2565b604082019050919050565b6000612d1e602483613094565b9150612d2982613501565b604082019050919050565b6000612d41601183613094565b9150612d4c82613550565b602082019050919050565b612d608161320a565b82525050565b612d6f81613214565b82525050565b6000602082019050612d8a6000830184612b35565b92915050565b6000604082019050612da56000830185612b35565b612db26020830184612b35565b9392505050565b6000604082019050612dce6000830185612b35565b612ddb6020830184612d57565b9392505050565b600060c082019050612df76000830189612b35565b612e046020830188612d57565b612e116040830187612bb1565b612e1e6060830186612bb1565b612e2b6080830185612b35565b612e3860a0830184612d57565b979650505050505050565b6000602082019050612e586000830184612ba2565b92915050565b60006020820190508181036000830152612e788184612bc0565b905092915050565b60006020820190508181036000830152612e9981612bf9565b9050919050565b60006020820190508181036000830152612eb981612c1c565b9050919050565b60006020820190508181036000830152612ed981612c3f565b9050919050565b60006020820190508181036000830152612ef981612c62565b9050919050565b60006020820190508181036000830152612f1981612c85565b9050919050565b60006020820190508181036000830152612f3981612ca8565b9050919050565b60006020820190508181036000830152612f5981612ccb565b9050919050565b60006020820190508181036000830152612f7981612cee565b9050919050565b60006020820190508181036000830152612f9981612d11565b9050919050565b60006020820190508181036000830152612fb981612d34565b9050919050565b6000602082019050612fd56000830184612d57565b92915050565b600060a082019050612ff06000830188612d57565b612ffd6020830187612bb1565b818103604083015261300f8186612b44565b905061301e6060830185612b35565b61302b6080830184612d57565b9695505050505050565b600060208201905061304a6000830184612d66565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006130b08261320a565b91506130bb8361320a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130f0576130ef613266565b5b828201905092915050565b60006131068261320a565b91506131118361320a565b92508261312157613120613295565b5b828204905092915050565b60006131378261320a565b91506131428361320a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561317b5761317a613266565b5b828202905092915050565b60006131918261320a565b915061319c8361320a565b9250828210156131af576131ae613266565b5b828203905092915050565b60006131c5826131ea565b9050919050565b60006131d7826131ea565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061322c8261320a565b9050919050565b60005b83811015613251578082015181840152602081019050613236565b83811115613260576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613582816131ba565b811461358d57600080fd5b50565b613599816131cc565b81146135a457600080fd5b50565b6135b0816131de565b81146135bb57600080fd5b50565b6135c78161320a565b81146135d257600080fd5b5056fe4f726361204b756a6972612068747470733a2f2f742e6d652f4f7263614b756a69726145524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f66f24428ec2081b66e17b469480b3c07f20932377366f460e0ddb580b9d339864736f6c63430008040033
Deployed Bytecode Sourcemap
3860:12563:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5408:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6333:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5685:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6534:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5594:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16296:118;;;;;;;;;;;;;:::i;:::-;;12391:194;;;;;;;;;;;;;:::i;:::-;;5788:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2812:148;;;;;;;;;;;;;:::i;:::-;;2598:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5499:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15994:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5934:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12188:195;;;;;;;;;;;;;:::i;:::-;;6141:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11367:813;;;;;;;;;;;;;:::i;:::-;;5408:83;5445:13;5478:5;;;;;;;;;;;;;;;;;5471:12;;5408:83;:::o;6333:193::-;6435:4;6457:39;6466:12;:10;:12::i;:::-;6480:7;6489:6;6457:8;:39::i;:::-;6514:4;6507:11;;6333:193;;;;:::o;5685:95::-;5738:7;4437:21;5758:14;;5685:95;:::o;6534:446::-;6666:4;6683:36;6693:6;6701:9;6712:6;6683:9;:36::i;:::-;6730:220;6753:6;6774:12;:10;:12::i;:::-;6801:138;6857:6;6801:138;;;;;;;;;;;;;;;;;:11;:19;6813:6;6801:19;;;;;;;;;;;;;;;:33;6821:12;:10;:12::i;:::-;6801:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6730:8;:220::i;:::-;6968:4;6961:11;;6534:446;;;;;:::o;5594:83::-;5635:5;4113:1;5653:16;;5594:83;:::o;16296:118::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16363:10:::1;16355:28;;:51;16384:21;16355:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16296:118::o:0;12391:194::-;12457:15;;;;;;;;;;;12441:31;;:12;:10;:12::i;:::-;:31;;;12433:40;;;;;;12484:26;12513:21;12484:50;;12545:32;12558:18;12545:12;:32::i;:::-;12391:194;:::o;5788:138::-;5854:7;5881:37;5901:7;:16;5909:7;5901:16;;;;;;;;;;;;;;;;5881:19;:37::i;:::-;5874:44;;5788:138;;;:::o;2812:148::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2919:1:::1;2882:40;;2903:6;::::0;::::1;;;;;;;;2882:40;;;;;;;;;;;;2950:1;2933:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2812:148::o:0;2598:79::-;2636:7;2663:6;;;;;;;;;;;2656:13;;2598:79;:::o;5499:87::-;5538:13;5571:7;;;;;;;;;;;;;;;;;5564:14;;5499:87;:::o;15994:289::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16122:9:::1;16104:15;;:27;;;;;;;;;;;;;;;;;;16160:9;16142:15;;:27;;;;;;;;;;;;;;;;;;16218:4;16180:18;:35;16199:15;;;;;;;;;;;16180:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;16271:4;16233:18;:35;16252:15;;;;;;;;;;;16233:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;15994:289:::0;;:::o;5934:199::-;6039:4;6061:42;6071:12;:10;:12::i;:::-;6085:9;6096:6;6061:9;:42::i;:::-;6121:4;6114:11;;5934:199;;;;:::o;12188:195::-;12254:15;;;;;;;;;;;12238:31;;:12;:10;:12::i;:::-;:31;;;12230:40;;;;;;12281:23;12307:24;12325:4;12307:9;:24::i;:::-;12281:50;;12342:33;12359:15;12342:16;:33::i;:::-;12188:195;:::o;6141:184::-;6258:7;6290:11;:18;6302:5;6290:18;;;;;;;;;;;;;;;:27;6309:7;6290:27;;;;;;;;;;;;;;;;6283:34;;6141:184;;;;:::o;11367:813::-;2735:12;:10;:12::i;:::-;2725:22;;:6;;;;;;;;;;:22;;;2717:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11423:35:::1;11493:42;11423:113;;11565:16;11547:15;;:34;;;;;;;;;;;;;;;;;;11592:58;11609:4;11624:15;;;;;;;;;;;4437:21;11592:8;:58::i;:::-;11695:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11677:70;;;11756:4;11763:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11677:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11661:13;;:126;;;;;;;;;;;;;;;;;;11798:15;;;;;;;;;;;:31;;;11837:21;11882:4;11902:24;11920:4;11902:9;:24::i;:::-;11941:1;11957::::0;11973:7:::1;:5;:7::i;:::-;11995:15;11798:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12046:4;12032:11;;:18;;;;;;;;;;;;;;;;;;12068:13;;;;;;;;;;;12061:29;;;12113:15;;;;;;;;;;;12144:17;12061:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2795:1;11367:813::o:0;101:98::-;154:7;181:10;174:17;;101:98;:::o;7686:369::-;7830:1;7813:19;;:5;:19;;;;7805:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7911:1;7892:21;;:7;:21;;;;7884:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7963:11;:18;7975:5;7963:18;;;;;;;;;;;;;;;:27;7982:7;7963:27;;;;;;;;;;;;;;;:36;;;;8031:7;8015:32;;8024:5;8015:32;;;8040:6;8015:32;;;;;;:::i;:::-;;;;;;;;7686:369;;;:::o;8063:2641::-;8201:1;8185:18;;:4;:18;;;;8177:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8278:1;8264:16;;:2;:16;;;;8256:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8348:1;8339:6;:10;8331:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8420:7;:5;:7::i;:::-;8412:15;;:4;:15;;;;:32;;;;;8437:7;:5;:7::i;:::-;8431:13;;:2;:13;;;;8412:32;8408:2067;;;8499:4;8483:21;;:4;:21;;;;:61;;;;;8539:4;8525:19;;:2;:19;;;;8483:61;:114;;;;;8581:15;;;;;;;;;;;8565:32;;:4;:32;;;;8483:114;:165;;;;;8632:15;;;;;;;;;;;8618:30;;:2;:30;;;;8483:165;8461:427;;;8737:15;;;;;;;;;;;8713:40;;:12;:10;:12::i;:::-;:40;;;:98;;;;8798:13;;;;;;;;;;;8782:29;;:12;:10;:12::i;:::-;:29;;;8713:98;8683:189;;;;;;;;;;;;:::i;:::-;;;;;;;;;8461:427;8913:4;:10;8918:4;8913:10;;;;;;;;;;;;;;;;;;;;;;;;;8912:11;:24;;;;;8928:4;:8;8933:2;8928:8;;;;;;;;;;;;;;;;;;;;;;;;;8927:9;8912:24;8904:33;;;;;;8984:13;;;;;;;;;;;8976:21;;:4;:21;;;:72;;;;;9032:15;;;;;;;;;;;9018:30;;:2;:30;;;;8976:72;:116;;;;;9070:18;:22;9089:2;9070:22;;;;;;;;;;;;;;;;;;;;;;;;;9069:23;8976:116;8954:300;;;9165:10;9146:15;:30;;;;:::i;:::-;9127:12;:16;9140:2;9127:16;;;;;;;;;;;;;;;:49;;;;9206:1;9195:8;:12;;;;9236:2;9226:7;:12;;;;8954:300;9270:28;9301:24;9319:4;9301:9;:24::i;:::-;9270:55;;9347:6;;;;;;;;;;;9346:7;:32;;;;;9365:13;;;;;;;;;;;9357:21;;:4;:21;;;;9346:32;:47;;;;;9382:11;;;;;;;;;;;9346:47;9342:1122;;;9432:40;9468:3;9432:31;9461:1;9432:24;9442:13;;;;;;;;;;;9432:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;9422:6;:50;;:90;;;;;9497:15;9476:12;:18;9489:4;9476:18;;;;;;;;;;;;;;;;:36;9422:90;9414:99;;;;;;9570:15;9557:8;9538:9;:15;9548:4;9538:15;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;:47;9534:334;;9628:15;9610:9;:15;9620:4;9610:15;;;;;;;;;;;;;;;:33;;;;9684:1;9666:9;:15;9676:4;9666:15;;;;;;;;;;;;;;;:19;;;;9534:334;;;9752:1;9734:9;:15;9744:4;9734:15;;;;;;;;;;;;;;;;:19;:114;;9847:1;9829:9;:15;9839:4;9829:15;;;;;;;;;;;;;;;:19;;;9734:114;;;9800:1;9781:9;:15;9791:4;9781:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;9734:114;;9534:334;9915:1;9892:20;:24;9888:320;;;9941:38;9958:20;9941:16;:38::i;:::-;10002:26;10031:21;10002:50;;10100:1;10079:18;:22;10075:114;;;10130:35;10143:21;10130:12;:35::i;:::-;10075:114;9888:320;;10258:40;10294:3;10258:31;10287:1;10258:24;10268:13;;;;;;;;;;;10258:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;10248:6;:50;;:74;;;;;10321:1;10302:9;:15;10312:4;10302:15;;;;;;;;;;;;;;;;:20;10248:74;10244:204;;;10347:9;10354:1;10347:6;:9::i;:::-;10244:204;;;10405:23;10412:9;:15;10422:4;10412:15;;;;;;;;;;;;;;;;10405:6;:23::i;:::-;10244:204;9342:1122;8408:2067;;10487:12;10502:4;10487:19;;10523:18;:24;10542:4;10523:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10551:18;:22;10570:2;10551:22;;;;;;;;;;;;;;;;;;;;;;;;;10523:50;10519:98;;;10600:5;10590:15;;10519:98;10629:41;10644:4;10650:2;10654:6;10662:7;10629:14;:41::i;:::-;10681:15;:13;:15::i;:::-;8063:2641;;;;:::o;1363:224::-;1483:7;1516:1;1511;:6;;1519:12;1503:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1543:9;1559:1;1555;:5;;;;:::i;:::-;1543:17;;1578:1;1571:8;;;1363:224;;;;;:::o;11203:154::-;11260:15;;;;;;;;;;;:24;;:39;11285:13;11296:1;11285:6;:10;;:13;;;;:::i;:::-;11260:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:15;;;;;;;;;;;:24;;:39;11335:13;11346:1;11335:6;:10;;:13;;;;:::i;:::-;11310:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11203:154;:::o;6988:323::-;7083:7;7141;;7130;:18;;7108:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7229:19;7251:10;:8;:10::i;:::-;7229:32;;7279:24;7291:11;7279:7;:11;;:24;;;;:::i;:::-;7272:31;;;6988:323;;;:::o;10712:483::-;5122:4;5113:6;;:13;;;;;;;;;;;;;;;;;;10790:21:::1;10828:1;10814:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10790:40;;10859:4;10841;10846:1;10841:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10885:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10875:4;10880:1;10875:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10918:62;10935:4;10950:15;;;;;;;;;;;10968:11;10918:8;:62::i;:::-;10991:15;;;;;;;;;;;:66;;;11072:11;11098:1;11114:4;11141;11161:15;10991:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5137:1;5158:5:::0;5149:6;;:14;;;;;;;;;;;;;;;;;;10712:483;:::o;1595:246::-;1653:7;1682:1;1677;:6;1673:47;;;1707:1;1700:8;;;;1673:47;1730:9;1746:1;1742;:5;;;;:::i;:::-;1730:17;;1775:1;1770;1766;:5;;;;:::i;:::-;:10;1758:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1832:1;1825:8;;;1595:246;;;;;:::o;1849:132::-;1907:7;1934:39;1938:1;1941;1934:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1927:46;;1849:132;;;;:::o;7559:119::-;7624:23;7636:10;7624:7;;:11;;:23;;;;:::i;:::-;7614:7;:33;;;;7669:1;7658:8;:12;;;;7559:119;:::o;12593:282::-;12749:7;12744:28;;12758:14;:12;:14::i;:::-;12744:28;12783:44;12801:6;12809:9;12820:6;12783:17;:44::i;:::-;12843:7;12838:29;;12852:15;:13;:15::i;:::-;12838:29;12593:282;;;;:::o;7464:87::-;7518:2;7508:7;:12;;;;7542:1;7531:8;:12;;;;7464:87::o;15555:164::-;15597:7;15618:15;15635;15654:19;:17;:19::i;:::-;15617:56;;;;15691:20;15703:7;15691;:11;;:20;;;;:::i;:::-;15684:27;;;;15555:164;:::o;1989:223::-;2109:7;2141:1;2137;:5;2144:12;2129:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2168:9;2184:1;2180;:5;;;;:::i;:::-;2168:17;;2203:1;2196:8;;;1989:223;;;;;:::o;7319:137::-;7377:1;7366:7;;:12;:29;;;;;7394:1;7382:8;;:13;7366:29;7362:42;;;7397:7;;7362:42;7424:1;7414:7;:11;;;;7447:1;7436:8;:12;;;;7319:137;:::o;12883:610::-;13030:15;13060:23;13098:12;13125:23;13163:12;13190:13;13217:19;13228:7;13217:10;:19::i;:::-;13015:221;;;;;;;;;;;;13265:28;13285:7;13265;:15;13273:6;13265:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13247:7;:15;13255:6;13247:15;;;;;;;;;;;;;;;:46;;;;13325:39;13348:15;13325:7;:18;13333:9;13325:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13304:7;:18;13312:9;13304:18;;;;;;;;;;;;;;;:60;;;;13375:16;13385:5;13375:9;:16::i;:::-;13402:23;13414:4;13420;13402:11;:23::i;:::-;13458:9;13441:44;;13450:6;13441:44;;;13469:15;13441:44;;;;;;:::i;:::-;;;;;;;;12883:610;;;;;;;;;:::o;15727:257::-;15778:7;15787;15807:15;15825:7;;15807:25;;15843:15;4437:21;15843:25;;15893:20;4437:21;15893:7;;:11;;:20;;;;:::i;:::-;15883:7;:30;15879:61;;;15923:7;;4437:21;15915:25;;;;;;;;15879:61;15959:7;15968;15951:25;;;;;;15727:257;;;:::o;13912:618::-;14012:7;14034;14056;14078;14100;14122;14158:23;14183:12;14197:13;14227:39;14239:7;14248;;14257:8;;14227:11;:39::i;:::-;14157:109;;;;;;14277:19;14299:10;:8;:10::i;:::-;14277:32;;14323:15;14340:23;14365:12;14394:46;14406:7;14415:4;14421:5;14428:11;14394;:46::i;:::-;14322:118;;;;;;14461:7;14470:15;14487:4;14493:15;14510:4;14516:5;14453:69;;;;;;;;;;;;;;;;;;;13912:618;;;;;;;:::o;1219:136::-;1277:7;1304:43;1308:1;1311;1304:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1297:50;;1219:136;;;;:::o;1032:179::-;1090:7;1110:9;1126:1;1122;:5;;;;:::i;:::-;1110:17;;1151:1;1146;:6;;1138:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1202:1;1195:8;;;1032:179;;;;:::o;13501:211::-;13554:19;13576:10;:8;:10::i;:::-;13554:32;;13597:13;13613:22;13623:11;13613:5;:9;;:22;;;;:::i;:::-;13597:38;;13671:33;13698:5;13671:7;:22;13687:4;13671:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13646:7;:22;13662:4;13646:22;;;;;;;;;;;;;;;:58;;;;13501:211;;;:::o;13720:147::-;13798:17;13810:4;13798:7;;:11;;:17;;;;:::i;:::-;13788:7;:27;;;;13839:20;13854:4;13839:10;;:14;;:20;;;;:::i;:::-;13826:10;:33;;;;13720:147;;:::o;14538:467::-;14706:7;14728;14750;14785:12;14800:28;14824:3;14800:19;14812:6;14800:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14785:43;;14839:13;14855:29;14880:3;14855:20;14867:7;14855;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14839:45;;14895:23;14921:28;14943:5;14921:17;14933:4;14921:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14895:54;;14968:15;14985:4;14991:5;14960:37;;;;;;;;;14538:467;;;;;;;:::o;15013:534::-;15207:7;15229;15251;15286:15;15304:24;15316:11;15304:7;:11;;:24;;;;:::i;:::-;15286:42;;15339:12;15354:21;15363:11;15354:4;:8;;:21;;;;:::i;:::-;15339:36;;15386:13;15402:22;15412:11;15402:5;:9;;:22;;;;:::i;:::-;15386:38;;15435:23;15461:28;15483:5;15461:17;15473:4;15461:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15435:54;;15508:7;15517:15;15534:4;15500:39;;;;;;;;;;15013:534;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:137::-;516:5;547:6;541:13;532:22;;563:30;587:5;563:30;:::i;:::-;522:77;;;;:::o;605:139::-;651:5;689:6;676:20;667:29;;705:33;732:5;705:33;:::i;:::-;657:87;;;;:::o;750:143::-;807:5;838:6;832:13;823:22;;854:33;881:5;854:33;:::i;:::-;813:80;;;;:::o;899:262::-;958:6;1007:2;995:9;986:7;982:23;978:32;975:2;;;1023:1;1020;1013:12;975:2;1066:1;1091:53;1136:7;1127:6;1116:9;1112:22;1091:53;:::i;:::-;1081:63;;1037:117;965:196;;;;:::o;1167:284::-;1237:6;1286:2;1274:9;1265:7;1261:23;1257:32;1254:2;;;1302:1;1299;1292:12;1254:2;1345:1;1370:64;1426:7;1417:6;1406:9;1402:22;1370:64;:::i;:::-;1360:74;;1316:128;1244:207;;;;:::o;1457:439::-;1541:6;1549;1598:2;1586:9;1577:7;1573:23;1569:32;1566:2;;;1614:1;1611;1604:12;1566:2;1657:1;1682:61;1735:7;1726:6;1715:9;1711:22;1682:61;:::i;:::-;1672:71;;1628:125;1792:2;1818:61;1871:7;1862:6;1851:9;1847:22;1818:61;:::i;:::-;1808:71;;1763:126;1556:340;;;;;:::o;1902:407::-;1970:6;1978;2027:2;2015:9;2006:7;2002:23;1998:32;1995:2;;;2043:1;2040;2033:12;1995:2;2086:1;2111:53;2156:7;2147:6;2136:9;2132:22;2111:53;:::i;:::-;2101:63;;2057:117;2213:2;2239:53;2284:7;2275:6;2264:9;2260:22;2239:53;:::i;:::-;2229:63;;2184:118;1985:324;;;;;:::o;2315:552::-;2392:6;2400;2408;2457:2;2445:9;2436:7;2432:23;2428:32;2425:2;;;2473:1;2470;2463:12;2425:2;2516:1;2541:53;2586:7;2577:6;2566:9;2562:22;2541:53;:::i;:::-;2531:63;;2487:117;2643:2;2669:53;2714:7;2705:6;2694:9;2690:22;2669:53;:::i;:::-;2659:63;;2614:118;2771:2;2797:53;2842:7;2833:6;2822:9;2818:22;2797:53;:::i;:::-;2787:63;;2742:118;2415:452;;;;;:::o;2873:407::-;2941:6;2949;2998:2;2986:9;2977:7;2973:23;2969:32;2966:2;;;3014:1;3011;3004:12;2966:2;3057:1;3082:53;3127:7;3118:6;3107:9;3103:22;3082:53;:::i;:::-;3072:63;;3028:117;3184:2;3210:53;3255:7;3246:6;3235:9;3231:22;3210:53;:::i;:::-;3200:63;;3155:118;2956:324;;;;;:::o;3286:278::-;3353:6;3402:2;3390:9;3381:7;3377:23;3373:32;3370:2;;;3418:1;3415;3408:12;3370:2;3461:1;3486:61;3539:7;3530:6;3519:9;3515:22;3486:61;:::i;:::-;3476:71;;3432:125;3360:204;;;;:::o;3570:596::-;3658:6;3666;3674;3723:2;3711:9;3702:7;3698:23;3694:32;3691:2;;;3739:1;3736;3729:12;3691:2;3782:1;3807:64;3863:7;3854:6;3843:9;3839:22;3807:64;:::i;:::-;3797:74;;3753:128;3920:2;3946:64;4002:7;3993:6;3982:9;3978:22;3946:64;:::i;:::-;3936:74;;3891:129;4059:2;4085:64;4141:7;4132:6;4121:9;4117:22;4085:64;:::i;:::-;4075:74;;4030:129;3681:485;;;;;:::o;4172:179::-;4241:10;4262:46;4304:3;4296:6;4262:46;:::i;:::-;4340:4;4335:3;4331:14;4317:28;;4252:99;;;;:::o;4357:108::-;4434:24;4452:5;4434:24;:::i;:::-;4429:3;4422:37;4412:53;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4536:53;;:::o;4625:732::-;4744:3;4773:54;4821:5;4773:54;:::i;:::-;4843:86;4922:6;4917:3;4843:86;:::i;:::-;4836:93;;4953:56;5003:5;4953:56;:::i;:::-;5032:7;5063:1;5048:284;5073:6;5070:1;5067:13;5048:284;;;5149:6;5143:13;5176:63;5235:3;5220:13;5176:63;:::i;:::-;5169:70;;5262:60;5315:6;5262:60;:::i;:::-;5252:70;;5108:224;5095:1;5092;5088:9;5083:14;;5048:284;;;5052:14;5348:3;5341:10;;4749:608;;;;;;;:::o;5363:109::-;5444:21;5459:5;5444:21;:::i;:::-;5439:3;5432:34;5422:50;;:::o;5478:147::-;5573:45;5612:5;5573:45;:::i;:::-;5568:3;5561:58;5551:74;;:::o;5631:364::-;5719:3;5747:39;5780:5;5747:39;:::i;:::-;5802:71;5866:6;5861:3;5802:71;:::i;:::-;5795:78;;5882:52;5927:6;5922:3;5915:4;5908:5;5904:16;5882:52;:::i;:::-;5959:29;5981:6;5959:29;:::i;:::-;5954:3;5950:39;5943:46;;5723:272;;;;;:::o;6001:366::-;6143:3;6164:67;6228:2;6223:3;6164:67;:::i;:::-;6157:74;;6240:93;6329:3;6240:93;:::i;:::-;6358:2;6353:3;6349:12;6342:19;;6147:220;;;:::o;6373:366::-;6515:3;6536:67;6600:2;6595:3;6536:67;:::i;:::-;6529:74;;6612:93;6701:3;6612:93;:::i;:::-;6730:2;6725:3;6721:12;6714:19;;6519:220;;;:::o;6745:366::-;6887:3;6908:67;6972:2;6967:3;6908:67;:::i;:::-;6901:74;;6984:93;7073:3;6984:93;:::i;:::-;7102:2;7097:3;7093:12;7086:19;;6891:220;;;:::o;7117:366::-;7259:3;7280:67;7344:2;7339:3;7280:67;:::i;:::-;7273:74;;7356:93;7445:3;7356:93;:::i;:::-;7474:2;7469:3;7465:12;7458:19;;7263:220;;;:::o;7489:366::-;7631:3;7652:67;7716:2;7711:3;7652:67;:::i;:::-;7645:74;;7728:93;7817:3;7728:93;:::i;:::-;7846:2;7841:3;7837:12;7830:19;;7635:220;;;:::o;7861:366::-;8003:3;8024:67;8088:2;8083:3;8024:67;:::i;:::-;8017:74;;8100:93;8189:3;8100:93;:::i;:::-;8218:2;8213:3;8209:12;8202:19;;8007:220;;;:::o;8233:366::-;8375:3;8396:67;8460:2;8455:3;8396:67;:::i;:::-;8389:74;;8472:93;8561:3;8472:93;:::i;:::-;8590:2;8585:3;8581:12;8574:19;;8379:220;;;:::o;8605:366::-;8747:3;8768:67;8832:2;8827:3;8768:67;:::i;:::-;8761:74;;8844:93;8933:3;8844:93;:::i;:::-;8962:2;8957:3;8953:12;8946:19;;8751:220;;;:::o;8977:366::-;9119:3;9140:67;9204:2;9199:3;9140:67;:::i;:::-;9133:74;;9216:93;9305:3;9216:93;:::i;:::-;9334:2;9329:3;9325:12;9318:19;;9123:220;;;:::o;9349:366::-;9491:3;9512:67;9576:2;9571:3;9512:67;:::i;:::-;9505:74;;9588:93;9677:3;9588:93;:::i;:::-;9706:2;9701:3;9697:12;9690:19;;9495:220;;;:::o;9721:118::-;9808:24;9826:5;9808:24;:::i;:::-;9803:3;9796:37;9786:53;;:::o;9845:112::-;9928:22;9944:5;9928:22;:::i;:::-;9923:3;9916:35;9906:51;;:::o;9963:222::-;10056:4;10094:2;10083:9;10079:18;10071:26;;10107:71;10175:1;10164:9;10160:17;10151:6;10107:71;:::i;:::-;10061:124;;;;:::o;10191:332::-;10312:4;10350:2;10339:9;10335:18;10327:26;;10363:71;10431:1;10420:9;10416:17;10407:6;10363:71;:::i;:::-;10444:72;10512:2;10501:9;10497:18;10488:6;10444:72;:::i;:::-;10317:206;;;;;:::o;10529:332::-;10650:4;10688:2;10677:9;10673:18;10665:26;;10701:71;10769:1;10758:9;10754:17;10745:6;10701:71;:::i;:::-;10782:72;10850:2;10839:9;10835:18;10826:6;10782:72;:::i;:::-;10655:206;;;;;:::o;10867:807::-;11116:4;11154:3;11143:9;11139:19;11131:27;;11168:71;11236:1;11225:9;11221:17;11212:6;11168:71;:::i;:::-;11249:72;11317:2;11306:9;11302:18;11293:6;11249:72;:::i;:::-;11331:80;11407:2;11396:9;11392:18;11383:6;11331:80;:::i;:::-;11421;11497:2;11486:9;11482:18;11473:6;11421:80;:::i;:::-;11511:73;11579:3;11568:9;11564:19;11555:6;11511:73;:::i;:::-;11594;11662:3;11651:9;11647:19;11638:6;11594:73;:::i;:::-;11121:553;;;;;;;;;:::o;11680:210::-;11767:4;11805:2;11794:9;11790:18;11782:26;;11818:65;11880:1;11869:9;11865:17;11856:6;11818:65;:::i;:::-;11772:118;;;;:::o;11896:313::-;12009:4;12047:2;12036:9;12032:18;12024:26;;12096:9;12090:4;12086:20;12082:1;12071:9;12067:17;12060:47;12124:78;12197:4;12188:6;12124:78;:::i;:::-;12116:86;;12014:195;;;;:::o;12215:419::-;12381:4;12419:2;12408:9;12404:18;12396:26;;12468:9;12462:4;12458:20;12454:1;12443:9;12439:17;12432:47;12496:131;12622:4;12496:131;:::i;:::-;12488:139;;12386:248;;;:::o;12640:419::-;12806:4;12844:2;12833:9;12829:18;12821:26;;12893:9;12887:4;12883:20;12879:1;12868:9;12864:17;12857:47;12921:131;13047:4;12921:131;:::i;:::-;12913:139;;12811:248;;;:::o;13065:419::-;13231:4;13269:2;13258:9;13254:18;13246:26;;13318:9;13312:4;13308:20;13304:1;13293:9;13289:17;13282:47;13346:131;13472:4;13346:131;:::i;:::-;13338:139;;13236:248;;;:::o;13490:419::-;13656:4;13694:2;13683:9;13679:18;13671:26;;13743:9;13737:4;13733:20;13729:1;13718:9;13714:17;13707:47;13771:131;13897:4;13771:131;:::i;:::-;13763:139;;13661:248;;;:::o;13915:419::-;14081:4;14119:2;14108:9;14104:18;14096:26;;14168:9;14162:4;14158:20;14154:1;14143:9;14139:17;14132:47;14196:131;14322:4;14196:131;:::i;:::-;14188:139;;14086:248;;;:::o;14340:419::-;14506:4;14544:2;14533:9;14529:18;14521:26;;14593:9;14587:4;14583:20;14579:1;14568:9;14564:17;14557:47;14621:131;14747:4;14621:131;:::i;:::-;14613:139;;14511:248;;;:::o;14765:419::-;14931:4;14969:2;14958:9;14954:18;14946:26;;15018:9;15012:4;15008:20;15004:1;14993:9;14989:17;14982:47;15046:131;15172:4;15046:131;:::i;:::-;15038:139;;14936:248;;;:::o;15190:419::-;15356:4;15394:2;15383:9;15379:18;15371:26;;15443:9;15437:4;15433:20;15429:1;15418:9;15414:17;15407:47;15471:131;15597:4;15471:131;:::i;:::-;15463:139;;15361:248;;;:::o;15615:419::-;15781:4;15819:2;15808:9;15804:18;15796:26;;15868:9;15862:4;15858:20;15854:1;15843:9;15839:17;15832:47;15896:131;16022:4;15896:131;:::i;:::-;15888:139;;15786:248;;;:::o;16040:419::-;16206:4;16244:2;16233:9;16229:18;16221:26;;16293:9;16287:4;16283:20;16279:1;16268:9;16264:17;16257:47;16321:131;16447:4;16321:131;:::i;:::-;16313:139;;16211:248;;;:::o;16465:222::-;16558:4;16596:2;16585:9;16581:18;16573:26;;16609:71;16677:1;16666:9;16662:17;16653:6;16609:71;:::i;:::-;16563:124;;;;:::o;16693:831::-;16956:4;16994:3;16983:9;16979:19;16971:27;;17008:71;17076:1;17065:9;17061:17;17052:6;17008:71;:::i;:::-;17089:80;17165:2;17154:9;17150:18;17141:6;17089:80;:::i;:::-;17216:9;17210:4;17206:20;17201:2;17190:9;17186:18;17179:48;17244:108;17347:4;17338:6;17244:108;:::i;:::-;17236:116;;17362:72;17430:2;17419:9;17415:18;17406:6;17362:72;:::i;:::-;17444:73;17512:3;17501:9;17497:19;17488:6;17444:73;:::i;:::-;16961:563;;;;;;;;:::o;17530:214::-;17619:4;17657:2;17646:9;17642:18;17634:26;;17670:67;17734:1;17723:9;17719:17;17710:6;17670:67;:::i;:::-;17624:120;;;;:::o;17750:132::-;17817:4;17840:3;17832:11;;17870:4;17865:3;17861:14;17853:22;;17822:60;;;:::o;17888:114::-;17955:6;17989:5;17983:12;17973:22;;17962:40;;;:::o;18008:99::-;18060:6;18094:5;18088:12;18078:22;;18067:40;;;:::o;18113:113::-;18183:4;18215;18210:3;18206:14;18198:22;;18188:38;;;:::o;18232:184::-;18331:11;18365:6;18360:3;18353:19;18405:4;18400:3;18396:14;18381:29;;18343:73;;;;:::o;18422:169::-;18506:11;18540:6;18535:3;18528:19;18580:4;18575:3;18571:14;18556:29;;18518:73;;;;:::o;18597:305::-;18637:3;18656:20;18674:1;18656:20;:::i;:::-;18651:25;;18690:20;18708:1;18690:20;:::i;:::-;18685:25;;18844:1;18776:66;18772:74;18769:1;18766:81;18763:2;;;18850:18;;:::i;:::-;18763:2;18894:1;18891;18887:9;18880:16;;18641:261;;;;:::o;18908:185::-;18948:1;18965:20;18983:1;18965:20;:::i;:::-;18960:25;;18999:20;19017:1;18999:20;:::i;:::-;18994:25;;19038:1;19028:2;;19043:18;;:::i;:::-;19028:2;19085:1;19082;19078:9;19073:14;;18950:143;;;;:::o;19099:348::-;19139:7;19162:20;19180:1;19162:20;:::i;:::-;19157:25;;19196:20;19214:1;19196:20;:::i;:::-;19191:25;;19384:1;19316:66;19312:74;19309:1;19306:81;19301:1;19294:9;19287:17;19283:105;19280:2;;;19391:18;;:::i;:::-;19280:2;19439:1;19436;19432:9;19421:20;;19147:300;;;;:::o;19453:191::-;19493:4;19513:20;19531:1;19513:20;:::i;:::-;19508:25;;19547:20;19565:1;19547:20;:::i;:::-;19542:25;;19586:1;19583;19580:8;19577:2;;;19591:18;;:::i;:::-;19577:2;19636:1;19633;19629:9;19621:17;;19498:146;;;;:::o;19650:96::-;19687:7;19716:24;19734:5;19716:24;:::i;:::-;19705:35;;19695:51;;;:::o;19752:104::-;19797:7;19826:24;19844:5;19826:24;:::i;:::-;19815:35;;19805:51;;;:::o;19862:90::-;19896:7;19939:5;19932:13;19925:21;19914:32;;19904:48;;;:::o;19958:126::-;19995:7;20035:42;20028:5;20024:54;20013:65;;20003:81;;;:::o;20090:77::-;20127:7;20156:5;20145:16;;20135:32;;;:::o;20173:86::-;20208:7;20248:4;20241:5;20237:16;20226:27;;20216:43;;;:::o;20265:121::-;20323:9;20356:24;20374:5;20356:24;:::i;:::-;20343:37;;20333:53;;;:::o;20392:307::-;20460:1;20470:113;20484:6;20481:1;20478:13;20470:113;;;20569:1;20564:3;20560:11;20554:18;20550:1;20545:3;20541:11;20534:39;20506:2;20503:1;20499:10;20494:15;;20470:113;;;20601:6;20598:1;20595:13;20592:2;;;20681:1;20672:6;20667:3;20663:16;20656:27;20592:2;20441:258;;;;:::o;20705:180::-;20753:77;20750:1;20743:88;20850:4;20847:1;20840:15;20874:4;20871:1;20864:15;20891:180;20939:77;20936:1;20929:88;21036:4;21033:1;21026:15;21060:4;21057:1;21050:15;21077:102;21118:6;21169:2;21165:7;21160:2;21153:5;21149:14;21145:28;21135:38;;21125:54;;;:::o;21185:222::-;21325:34;21321:1;21313:6;21309:14;21302:58;21394:5;21389:2;21381:6;21377:15;21370:30;21291:116;:::o;21413:229::-;21553:34;21549:1;21541:6;21537:14;21530:58;21622:12;21617:2;21609:6;21605:15;21598:37;21519:123;:::o;21648:221::-;21788:34;21784:1;21776:6;21772:14;21765:58;21857:4;21852:2;21844:6;21840:15;21833:29;21754:115;:::o;21875:177::-;22015:29;22011:1;22003:6;21999:14;21992:53;21981:71;:::o;22058:220::-;22198:34;22194:1;22186:6;22182:14;22175:58;22267:3;22262:2;22254:6;22250:15;22243:28;22164:114;:::o;22284:182::-;22424:34;22420:1;22412:6;22408:14;22401:58;22390:76;:::o;22472:228::-;22612:34;22608:1;22600:6;22596:14;22589:58;22681:11;22676:2;22668:6;22664:15;22657:36;22578:122;:::o;22706:224::-;22846:34;22842:1;22834:6;22830:14;22823:58;22915:7;22910:2;22902:6;22898:15;22891:32;22812:118;:::o;22936:223::-;23076:34;23072:1;23064:6;23060:14;23053:58;23145:6;23140:2;23132:6;23128:15;23121:31;23042:117;:::o;23165:167::-;23305:19;23301:1;23293:6;23289:14;23282:43;23271:61;:::o;23338:122::-;23411:24;23429:5;23411:24;:::i;:::-;23404:5;23401:35;23391:2;;23450:1;23447;23440:12;23391:2;23381:79;:::o;23466:138::-;23547:32;23573:5;23547:32;:::i;:::-;23540:5;23537:43;23527:2;;23594:1;23591;23584:12;23527:2;23517:87;:::o;23610:116::-;23680:21;23695:5;23680:21;:::i;:::-;23673:5;23670:32;23660:2;;23716:1;23713;23706:12;23660:2;23650:76;:::o;23732:122::-;23805:24;23823:5;23805:24;:::i;:::-;23798:5;23795:35;23785:2;;23844:1;23841;23834:12;23785:2;23775:79;:::o
Swarm Source
ipfs://f66f24428ec2081b66e17b469480b3c07f20932377366f460e0ddb580b9d3398
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.