More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 457 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18965941 | 239 days ago | IN | 0 ETH | 0.00045029 | ||||
Approve | 18552927 | 297 days ago | IN | 0 ETH | 0.00049497 | ||||
Approve | 16525220 | 582 days ago | IN | 0 ETH | 0.00036511 | ||||
Transfer | 15698729 | 697 days ago | IN | 0 ETH | 0.00169135 | ||||
Approve | 15499808 | 726 days ago | IN | 0 ETH | 0.00065072 | ||||
Approve | 12879484 | 1139 days ago | IN | 0 ETH | 0.00088335 | ||||
Approve | 12798781 | 1152 days ago | IN | 0 ETH | 0.00032805 | ||||
Approve | 12798780 | 1152 days ago | IN | 0 ETH | 0.00056685 | ||||
Approve | 12792179 | 1153 days ago | IN | 0 ETH | 0.00118095 | ||||
Approve | 12729535 | 1163 days ago | IN | 0 ETH | 0.00162971 | ||||
Approve | 12729125 | 1163 days ago | IN | 0 ETH | 0.0009235 | ||||
Approve | 12668647 | 1172 days ago | IN | 0 ETH | 0.00051961 | ||||
Approve | 12668279 | 1172 days ago | IN | 0 ETH | 0.00031177 | ||||
Approve | 12667912 | 1172 days ago | IN | 0 ETH | 0.00047238 | ||||
Approve | 12667366 | 1172 days ago | IN | 0 ETH | 0.00072746 | ||||
Approve | 12665875 | 1173 days ago | IN | 0 ETH | 0.00098727 | ||||
Approve | 12652236 | 1175 days ago | IN | 0 ETH | 0.00103923 | ||||
Approve | 12652155 | 1175 days ago | IN | 0 ETH | 0.00113371 | ||||
Approve | 12651524 | 1175 days ago | IN | 0 ETH | 0.0007558 | ||||
Approve | 12651397 | 1175 days ago | IN | 0 ETH | 0.00099199 | ||||
Approve | 12649970 | 1175 days ago | IN | 0 ETH | 0.00056685 | ||||
Transfer | 12649247 | 1175 days ago | IN | 0 ETH | 0.00382989 | ||||
Approve | 12648259 | 1175 days ago | IN | 0 ETH | 0.00061409 | ||||
Approve | 12647767 | 1175 days ago | IN | 0 ETH | 0.00095683 | ||||
Approve | 12647201 | 1175 days ago | IN | 0 ETH | 0.00051961 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15698729 | 697 days ago | 62 wei | ||||
15698729 | 697 days ago | 62 wei | ||||
15698729 | 697 days ago | 124 wei | ||||
12850603 | 1144 days ago | 0.00434785 ETH | ||||
12850603 | 1144 days ago | 0.00434785 ETH | ||||
12850603 | 1144 days ago | 0.00869571 ETH | ||||
12849080 | 1144 days ago | 0.00083678 ETH | ||||
12849080 | 1144 days ago | 0.00083678 ETH | ||||
12849080 | 1144 days ago | 0.00167356 ETH | ||||
12806231 | 1151 days ago | 0.00833628 ETH | ||||
12806231 | 1151 days ago | 0.00833628 ETH | ||||
12806231 | 1151 days ago | 0.01667256 ETH | ||||
12792209 | 1153 days ago | 0.00105066 ETH | ||||
12792209 | 1153 days ago | 0.00105066 ETH | ||||
12792209 | 1153 days ago | 0.00210132 ETH | ||||
12785400 | 1154 days ago | 0.00050647 ETH | ||||
12785400 | 1154 days ago | 0.00050647 ETH | ||||
12785400 | 1154 days ago | 0.00101295 ETH | ||||
12766659 | 1157 days ago | 0.00061078 ETH | ||||
12766659 | 1157 days ago | 0.00061078 ETH | ||||
12766659 | 1157 days ago | 0.00122157 ETH | ||||
12761192 | 1158 days ago | 0.00190708 ETH | ||||
12761192 | 1158 days ago | 0.00190708 ETH | ||||
12761192 | 1158 days ago | 0.00381417 ETH | ||||
12760244 | 1158 days ago | 0.00450576 ETH |
Loading...
Loading
Contract Name:
onegoonrich
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-14 */ // 1goonrich token ($1goonrich) // $$\ $$\ $$\ // $$$$ | \__| $$ | // \_$$ | $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$\ $$\ $$$$$$$\ $$$$$$$\ // $$ | $$ __$$\ $$ __$$\ $$ __$$\ $$ __$$\ $$ __$$\ $$ |$$ _____|$$ __$$\ // $$ | $$ / $$ |$$ / $$ |$$ / $$ |$$ | $$ |$$ | \__|$$ |$$ / $$ | $$ | // $$ | $$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ | $$ | // $$$$$$\\$$$$$$$ |\$$$$$$ |\$$$$$$ |$$ | $$ |$$ | $$ |\$$$$$$$\ $$ | $$ | // \______|\____$$ | \______/ \______/ \__| \__|\__| \__| \_______|\__| \__| // $$\ $$ | // \$$$$$$ | // \______/ // Telegram: https://t.me/onegoonrichtoken // SPDX-License-Identifier: Unlicensed 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); } 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); } } 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; } } 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 onegoonrich is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "1goonrich token"; string private constant _symbol = "1goonrich"; uint8 private constant _decimals = 9; // RFI 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 = 2; uint256 private _teamFee = 2; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; address payable private _marketingFunds; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; uint256 private _cooldownSeconds = 40; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = 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 setCooldownEnabled(bool isEnabled) external onlyOwner() { cooldownEnabled = isEnabled; } 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 = 5; _teamFee = 10; } 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 (cooldownEnabled) { 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] && cooldownEnabled ) { require(cooldown[to] < block.timestamp); require(amount <= _maxTxAmount); cooldown[to] = block.timestamp + (_cooldownSeconds * 1 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } 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 { _teamAddress.transfer(amount.div(2)); _marketingFunds.transfer(amount.div(2)); } function addLiquidityETH() external onlyOwner() { require(!tradingOpen, "trading is already started"); 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; cooldownEnabled = true; _taxFee = 1; _teamFee = 10; _maxTxAmount = 5000000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } 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 setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } function setCooldownSeconds(uint256 cooldownSecs) external onlyOwner() { require(cooldownSecs > 0, "Secs must be greater than 0"); _cooldownSeconds = cooldownSecs; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidityETH","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"bool","name":"isEnabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldownSecs","type":"uint256"}],"name":"setCooldownSeconds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005c1565b6000196200002c919062000548565b600655600260085560026009556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010556028601155348015620000a957600080fd5b5060405162003f0538038062003f058339818101604052810190620000cf9190620004d9565b6000620000e16200049160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002186200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004196200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200048191906200052b565b60405180910390a3505062000671565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004d38162000657565b92915050565b60008060408385031215620004ed57600080fd5b6000620004fd85828601620004c2565b92505060206200051085828601620004c2565b9150509250929050565b6200052581620005b7565b82525050565b60006020820190506200054260008301846200051a565b92915050565b60006200055582620005b7565b91506200056283620005b7565b925082821015620005785762000577620005f9565b5b828203905092915050565b6000620005908262000597565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005ce82620005b7565b9150620005db83620005b7565b925082620005ee57620005ed62000628565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006628162000583565b81146200066e57600080fd5b50565b61388480620006816000396000f3fe6080604052600436106101015760003560e01c806370a082311161009557806395d89b411161006457806395d89b411461032b578063a9059cbb14610356578063d543dbeb14610393578063dd62ed3e146103bc578063ed995307146103f957610108565b806370a0823114610283578063715018a6146102c05780637b5b1157146102d75780638da5cb5b1461030057610108565b806323b872dd116100d157806323b872dd146101c9578063313ce567146102065780635932ead1146102315780636b9990531461025a57610108565b8062b8cf2a1461010d57806306fdde0314610136578063095ea7b31461016157806318160ddd1461019e57610108565b3661010857005b600080fd5b34801561011957600080fd5b50610134600480360381019061012f9190612a3f565b610410565b005b34801561014257600080fd5b5061014b610560565b6040516101589190612f03565b60405180910390f35b34801561016d57600080fd5b5061018860048036038101906101839190612a03565b61059d565b6040516101959190612ee8565b60405180910390f35b3480156101aa57600080fd5b506101b36105bb565b6040516101c091906130c5565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb91906129b4565b6105cc565b6040516101fd9190612ee8565b60405180910390f35b34801561021257600080fd5b5061021b6106a5565b604051610228919061313a565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190612a80565b6106ae565b005b34801561026657600080fd5b50610281600480360381019061027c9190612926565b610760565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612926565b610850565b6040516102b791906130c5565b60405180910390f35b3480156102cc57600080fd5b506102d56108a1565b005b3480156102e357600080fd5b506102fe60048036038101906102f99190612ad2565b6109f4565b005b34801561030c57600080fd5b50610315610ad6565b6040516103229190612e1a565b60405180910390f35b34801561033757600080fd5b50610340610aff565b60405161034d9190612f03565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190612a03565b610b3c565b60405161038a9190612ee8565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190612ad2565b610b5a565b005b3480156103c857600080fd5b506103e360048036038101906103de9190612978565b610ca3565b6040516103f091906130c5565b60405180910390f35b34801561040557600080fd5b5061040e610d2a565b005b610418611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049c90613025565b60405180910390fd5b60005b815181101561055c576001600a60008484815181106104f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610554906133db565b9150506104a8565b5050565b60606040518060400160405280600f81526020017f31676f6f6e7269636820746f6b656e0000000000000000000000000000000000815250905090565b60006105b16105aa611296565b848461129e565b6001905092915050565b6000683635c9adc5dea00000905090565b60006105d9848484611469565b61069a846105e5611296565b6106958560405180606001604052806028815260200161382760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064b611296565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c359092919063ffffffff16565b61129e565b600190509392505050565b60006009905090565b6106b6611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90613025565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b610768611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ec90613025565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061089a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c99565b9050919050565b6108a9611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613025565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109fc611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613025565b60405180910390fd5b60008111610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac390612fc5565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f31676f6f6e726963680000000000000000000000000000000000000000000000815250905090565b6000610b50610b49611296565b8484611469565b6001905092915050565b610b62611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690613025565b60405180910390fd5b60008111610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612fe5565b60405180910390fd5b610c616064610c5383683635c9adc5dea00000611d0790919063ffffffff16565b611d8290919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610c9891906130c5565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d32611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690613025565b60405180910390fd5b600f60149054906101000a900460ff1615610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0690612f45565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9f30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061129e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee557600080fd5b505afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061294f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb7919061294f565b6040518363ffffffff1660e01b8152600401610fd4929190612e35565b602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611026919061294f565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110af30610850565b6000806110ba610ad6565b426040518863ffffffff1660e01b81526004016110dc96959493929190612e87565b6060604051808303818588803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190612afb565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612e5e565b602060405180830381600087803b15801561125a57600080fd5b505af115801561126e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112929190612aa9565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590613085565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612f85565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145c91906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612f25565b60405180910390fd5b6000811161158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390613045565b60405180910390fd5b611594610ad6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160257506115d2610ad6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b7257600f60179054906101000a900460ff1615611835573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561168457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116de5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117385750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561183457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661177e611296565b73ffffffffffffffffffffffffffffffffffffffff1614806117f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc611296565b73ffffffffffffffffffffffffffffffffffffffff16145b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a906130a5565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118e257600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561198d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fb5750600f60179054906101000a900460ff165b15611ab85742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4b57600080fd5b601054811115611a5a57600080fd5b6001601154611a699190613282565b42611a7491906131fb565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611ac330610850565b9050600f60159054906101000a900460ff16158015611b305750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b485750600f60169054906101000a900460ff165b15611b7057611b5681611dcc565b60004790506000811115611b6e57611b6d476120c6565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c195750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611c2357600090505b611c2f848484846121c1565b50505050565b6000838311158290611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c749190612f03565b60405180910390fd5b5060008385611c8c91906132dc565b9050809150509392505050565b6000600654821115611ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd790612f65565b60405180910390fd5b6000611cea6121ee565b9050611cff8184611d8290919063ffffffff16565b915050919050565b600080831415611d1a5760009050611d7c565b60008284611d289190613282565b9050828482611d379190613251565b14611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90613005565b60405180910390fd5b809150505b92915050565b6000611dc483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612219565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e585781602001602082028036833780820191505090505b5090503081600081518110611e96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3857600080fd5b505afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f70919061294f565b81600181518110611faa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061201130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120759594939291906130e0565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612116600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612141573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612192600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121bd573d6000803e3d6000fd5b5050565b806121cf576121ce61227c565b5b6121da8484846122ad565b806121e8576121e7612478565b5b50505050565b60008060006121fb61248a565b915091506122128183611d8290919063ffffffff16565b9250505090565b60008083118290612260576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122579190612f03565b60405180910390fd5b506000838561226f9190613251565b9050809150509392505050565b600060085414801561229057506000600954145b1561229a576122ab565b600060088190555060006009819055505b565b6000806000806000806122bf876124ec565b95509550955095509550955061231d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123b285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fe816125fc565b61240884836126b9565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161246591906130c5565b60405180910390a3505050505050505050565b6005600881905550600a600981905550565b600080600060065490506000683635c9adc5dea0000090506124c0683635c9adc5dea00000600654611d8290919063ffffffff16565b8210156124df57600654683635c9adc5dea000009350935050506124e8565b81819350935050505b9091565b60008060008060008060008060006125098a6008546009546126f3565b92509250925060006125196121ee565b9050600080600061252c8e878787612789565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061259683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c35565b905092915050565b60008082846125ad91906131fb565b9050838110156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e990612fa5565b60405180910390fd5b8091505092915050565b60006126066121ee565b9050600061261d8284611d0790919063ffffffff16565b905061267181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126ce8260065461255490919063ffffffff16565b6006819055506126e98160075461259e90919063ffffffff16565b6007819055505050565b60008060008061271f6064612711888a611d0790919063ffffffff16565b611d8290919063ffffffff16565b90506000612749606461273b888b611d0790919063ffffffff16565b611d8290919063ffffffff16565b9050600061277282612764858c61255490919063ffffffff16565b61255490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127a28589611d0790919063ffffffff16565b905060006127b98689611d0790919063ffffffff16565b905060006127d08789611d0790919063ffffffff16565b905060006127f9826127eb858761255490919063ffffffff16565b61255490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006128256128208461317a565b613155565b9050808382526020820190508285602086028201111561284457600080fd5b60005b85811015612874578161285a888261287e565b845260208401935060208301925050600181019050612847565b5050509392505050565b60008135905061288d816137e1565b92915050565b6000815190506128a2816137e1565b92915050565b600082601f8301126128b957600080fd5b81356128c9848260208601612812565b91505092915050565b6000813590506128e1816137f8565b92915050565b6000815190506128f6816137f8565b92915050565b60008135905061290b8161380f565b92915050565b6000815190506129208161380f565b92915050565b60006020828403121561293857600080fd5b60006129468482850161287e565b91505092915050565b60006020828403121561296157600080fd5b600061296f84828501612893565b91505092915050565b6000806040838503121561298b57600080fd5b60006129998582860161287e565b92505060206129aa8582860161287e565b9150509250929050565b6000806000606084860312156129c957600080fd5b60006129d78682870161287e565b93505060206129e88682870161287e565b92505060406129f9868287016128fc565b9150509250925092565b60008060408385031215612a1657600080fd5b6000612a248582860161287e565b9250506020612a35858286016128fc565b9150509250929050565b600060208284031215612a5157600080fd5b600082013567ffffffffffffffff811115612a6b57600080fd5b612a77848285016128a8565b91505092915050565b600060208284031215612a9257600080fd5b6000612aa0848285016128d2565b91505092915050565b600060208284031215612abb57600080fd5b6000612ac9848285016128e7565b91505092915050565b600060208284031215612ae457600080fd5b6000612af2848285016128fc565b91505092915050565b600080600060608486031215612b1057600080fd5b6000612b1e86828701612911565b9350506020612b2f86828701612911565b9250506040612b4086828701612911565b9150509250925092565b6000612b568383612b62565b60208301905092915050565b612b6b81613310565b82525050565b612b7a81613310565b82525050565b6000612b8b826131b6565b612b9581856131d9565b9350612ba0836131a6565b8060005b83811015612bd1578151612bb88882612b4a565b9750612bc3836131cc565b925050600181019050612ba4565b5085935050505092915050565b612be781613322565b82525050565b612bf681613365565b82525050565b6000612c07826131c1565b612c1181856131ea565b9350612c21818560208601613377565b612c2a816134b1565b840191505092915050565b6000612c426023836131ea565b9150612c4d826134c2565b604082019050919050565b6000612c65601a836131ea565b9150612c7082613511565b602082019050919050565b6000612c88602a836131ea565b9150612c938261353a565b604082019050919050565b6000612cab6022836131ea565b9150612cb682613589565b604082019050919050565b6000612cce601b836131ea565b9150612cd9826135d8565b602082019050919050565b6000612cf1601b836131ea565b9150612cfc82613601565b602082019050919050565b6000612d14601d836131ea565b9150612d1f8261362a565b602082019050919050565b6000612d376021836131ea565b9150612d4282613653565b604082019050919050565b6000612d5a6020836131ea565b9150612d65826136a2565b602082019050919050565b6000612d7d6029836131ea565b9150612d88826136cb565b604082019050919050565b6000612da06025836131ea565b9150612dab8261371a565b604082019050919050565b6000612dc36024836131ea565b9150612dce82613769565b604082019050919050565b6000612de66011836131ea565b9150612df1826137b8565b602082019050919050565b612e058161334e565b82525050565b612e1481613358565b82525050565b6000602082019050612e2f6000830184612b71565b92915050565b6000604082019050612e4a6000830185612b71565b612e576020830184612b71565b9392505050565b6000604082019050612e736000830185612b71565b612e806020830184612dfc565b9392505050565b600060c082019050612e9c6000830189612b71565b612ea96020830188612dfc565b612eb66040830187612bed565b612ec36060830186612bed565b612ed06080830185612b71565b612edd60a0830184612dfc565b979650505050505050565b6000602082019050612efd6000830184612bde565b92915050565b60006020820190508181036000830152612f1d8184612bfc565b905092915050565b60006020820190508181036000830152612f3e81612c35565b9050919050565b60006020820190508181036000830152612f5e81612c58565b9050919050565b60006020820190508181036000830152612f7e81612c7b565b9050919050565b60006020820190508181036000830152612f9e81612c9e565b9050919050565b60006020820190508181036000830152612fbe81612cc1565b9050919050565b60006020820190508181036000830152612fde81612ce4565b9050919050565b60006020820190508181036000830152612ffe81612d07565b9050919050565b6000602082019050818103600083015261301e81612d2a565b9050919050565b6000602082019050818103600083015261303e81612d4d565b9050919050565b6000602082019050818103600083015261305e81612d70565b9050919050565b6000602082019050818103600083015261307e81612d93565b9050919050565b6000602082019050818103600083015261309e81612db6565b9050919050565b600060208201905081810360008301526130be81612dd9565b9050919050565b60006020820190506130da6000830184612dfc565b92915050565b600060a0820190506130f56000830188612dfc565b6131026020830187612bed565b81810360408301526131148186612b80565b90506131236060830185612b71565b6131306080830184612dfc565b9695505050505050565b600060208201905061314f6000830184612e0b565b92915050565b600061315f613170565b905061316b82826133aa565b919050565b6000604051905090565b600067ffffffffffffffff82111561319557613194613482565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132068261334e565b91506132118361334e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561324657613245613424565b5b828201905092915050565b600061325c8261334e565b91506132678361334e565b92508261327757613276613453565b5b828204905092915050565b600061328d8261334e565b91506132988361334e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132d1576132d0613424565b5b828202905092915050565b60006132e78261334e565b91506132f28361334e565b92508282101561330557613304613424565b5b828203905092915050565b600061331b8261332e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133708261334e565b9050919050565b60005b8381101561339557808201518184015260208101905061337a565b838111156133a4576000848401525b50505050565b6133b3826134b1565b810181811067ffffffffffffffff821117156133d2576133d1613482565b5b80604052505050565b60006133e68261334e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561341957613418613424565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b6137ea81613310565b81146137f557600080fd5b50565b61380181613322565b811461380c57600080fd5b50565b6138188161334e565b811461382357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201977e5f86ba61e9cd82d954ca47b6a01fb4a5d6051f432e5dec7592eaf9a104764736f6c63430008040033000000000000000000000000c8c2854e93f54fc79ee5a42212b8159e653ccd170000000000000000000000001bc85e5ddc0cfe4d54810b6f047c181395767eff
Deployed Bytecode
0x6080604052600436106101015760003560e01c806370a082311161009557806395d89b411161006457806395d89b411461032b578063a9059cbb14610356578063d543dbeb14610393578063dd62ed3e146103bc578063ed995307146103f957610108565b806370a0823114610283578063715018a6146102c05780637b5b1157146102d75780638da5cb5b1461030057610108565b806323b872dd116100d157806323b872dd146101c9578063313ce567146102065780635932ead1146102315780636b9990531461025a57610108565b8062b8cf2a1461010d57806306fdde0314610136578063095ea7b31461016157806318160ddd1461019e57610108565b3661010857005b600080fd5b34801561011957600080fd5b50610134600480360381019061012f9190612a3f565b610410565b005b34801561014257600080fd5b5061014b610560565b6040516101589190612f03565b60405180910390f35b34801561016d57600080fd5b5061018860048036038101906101839190612a03565b61059d565b6040516101959190612ee8565b60405180910390f35b3480156101aa57600080fd5b506101b36105bb565b6040516101c091906130c5565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb91906129b4565b6105cc565b6040516101fd9190612ee8565b60405180910390f35b34801561021257600080fd5b5061021b6106a5565b604051610228919061313a565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190612a80565b6106ae565b005b34801561026657600080fd5b50610281600480360381019061027c9190612926565b610760565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612926565b610850565b6040516102b791906130c5565b60405180910390f35b3480156102cc57600080fd5b506102d56108a1565b005b3480156102e357600080fd5b506102fe60048036038101906102f99190612ad2565b6109f4565b005b34801561030c57600080fd5b50610315610ad6565b6040516103229190612e1a565b60405180910390f35b34801561033757600080fd5b50610340610aff565b60405161034d9190612f03565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190612a03565b610b3c565b60405161038a9190612ee8565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190612ad2565b610b5a565b005b3480156103c857600080fd5b506103e360048036038101906103de9190612978565b610ca3565b6040516103f091906130c5565b60405180910390f35b34801561040557600080fd5b5061040e610d2a565b005b610418611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049c90613025565b60405180910390fd5b60005b815181101561055c576001600a60008484815181106104f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610554906133db565b9150506104a8565b5050565b60606040518060400160405280600f81526020017f31676f6f6e7269636820746f6b656e0000000000000000000000000000000000815250905090565b60006105b16105aa611296565b848461129e565b6001905092915050565b6000683635c9adc5dea00000905090565b60006105d9848484611469565b61069a846105e5611296565b6106958560405180606001604052806028815260200161382760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061064b611296565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c359092919063ffffffff16565b61129e565b600190509392505050565b60006009905090565b6106b6611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90613025565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b610768611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ec90613025565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061089a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c99565b9050919050565b6108a9611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613025565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109fc611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613025565b60405180910390fd5b60008111610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac390612fc5565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f31676f6f6e726963680000000000000000000000000000000000000000000000815250905090565b6000610b50610b49611296565b8484611469565b6001905092915050565b610b62611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be690613025565b60405180910390fd5b60008111610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612fe5565b60405180910390fd5b610c616064610c5383683635c9adc5dea00000611d0790919063ffffffff16565b611d8290919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610c9891906130c5565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d32611296565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690613025565b60405180910390fd5b600f60149054906101000a900460ff1615610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0690612f45565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9f30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061129e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee557600080fd5b505afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061294f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7f57600080fd5b505afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb7919061294f565b6040518363ffffffff1660e01b8152600401610fd4929190612e35565b602060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611026919061294f565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110af30610850565b6000806110ba610ad6565b426040518863ffffffff1660e01b81526004016110dc96959493929190612e87565b6060604051808303818588803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190612afb565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600881905550600a600981905550674563918244f400006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612e5e565b602060405180830381600087803b15801561125a57600080fd5b505af115801561126e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112929190612aa9565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590613085565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612f85565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145c91906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090613065565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612f25565b60405180910390fd5b6000811161158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158390613045565b60405180910390fd5b611594610ad6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160257506115d2610ad6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b7257600f60179054906101000a900460ff1615611835573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561168457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116de5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117385750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561183457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661177e611296565b73ffffffffffffffffffffffffffffffffffffffff1614806117f45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc611296565b73ffffffffffffffffffffffffffffffffffffffff16145b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a906130a5565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118e257600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561198d5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fb5750600f60179054906101000a900460ff165b15611ab85742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a4b57600080fd5b601054811115611a5a57600080fd5b6001601154611a699190613282565b42611a7491906131fb565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611ac330610850565b9050600f60159054906101000a900460ff16158015611b305750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b485750600f60169054906101000a900460ff165b15611b7057611b5681611dcc565b60004790506000811115611b6e57611b6d476120c6565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c195750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611c2357600090505b611c2f848484846121c1565b50505050565b6000838311158290611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c749190612f03565b60405180910390fd5b5060008385611c8c91906132dc565b9050809150509392505050565b6000600654821115611ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd790612f65565b60405180910390fd5b6000611cea6121ee565b9050611cff8184611d8290919063ffffffff16565b915050919050565b600080831415611d1a5760009050611d7c565b60008284611d289190613282565b9050828482611d379190613251565b14611d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6e90613005565b60405180910390fd5b809150505b92915050565b6000611dc483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612219565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e585781602001602082028036833780820191505090505b5090503081600081518110611e96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3857600080fd5b505afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f70919061294f565b81600181518110611faa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061201130600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129e565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120759594939291906130e0565b600060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612116600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612141573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612192600284611d8290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121bd573d6000803e3d6000fd5b5050565b806121cf576121ce61227c565b5b6121da8484846122ad565b806121e8576121e7612478565b5b50505050565b60008060006121fb61248a565b915091506122128183611d8290919063ffffffff16565b9250505090565b60008083118290612260576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122579190612f03565b60405180910390fd5b506000838561226f9190613251565b9050809150509392505050565b600060085414801561229057506000600954145b1561229a576122ab565b600060088190555060006009819055505b565b6000806000806000806122bf876124ec565b95509550955095509550955061231d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123b285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fe816125fc565b61240884836126b9565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161246591906130c5565b60405180910390a3505050505050505050565b6005600881905550600a600981905550565b600080600060065490506000683635c9adc5dea0000090506124c0683635c9adc5dea00000600654611d8290919063ffffffff16565b8210156124df57600654683635c9adc5dea000009350935050506124e8565b81819350935050505b9091565b60008060008060008060008060006125098a6008546009546126f3565b92509250925060006125196121ee565b9050600080600061252c8e878787612789565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061259683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c35565b905092915050565b60008082846125ad91906131fb565b9050838110156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e990612fa5565b60405180910390fd5b8091505092915050565b60006126066121ee565b9050600061261d8284611d0790919063ffffffff16565b905061267181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126ce8260065461255490919063ffffffff16565b6006819055506126e98160075461259e90919063ffffffff16565b6007819055505050565b60008060008061271f6064612711888a611d0790919063ffffffff16565b611d8290919063ffffffff16565b90506000612749606461273b888b611d0790919063ffffffff16565b611d8290919063ffffffff16565b9050600061277282612764858c61255490919063ffffffff16565b61255490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127a28589611d0790919063ffffffff16565b905060006127b98689611d0790919063ffffffff16565b905060006127d08789611d0790919063ffffffff16565b905060006127f9826127eb858761255490919063ffffffff16565b61255490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006128256128208461317a565b613155565b9050808382526020820190508285602086028201111561284457600080fd5b60005b85811015612874578161285a888261287e565b845260208401935060208301925050600181019050612847565b5050509392505050565b60008135905061288d816137e1565b92915050565b6000815190506128a2816137e1565b92915050565b600082601f8301126128b957600080fd5b81356128c9848260208601612812565b91505092915050565b6000813590506128e1816137f8565b92915050565b6000815190506128f6816137f8565b92915050565b60008135905061290b8161380f565b92915050565b6000815190506129208161380f565b92915050565b60006020828403121561293857600080fd5b60006129468482850161287e565b91505092915050565b60006020828403121561296157600080fd5b600061296f84828501612893565b91505092915050565b6000806040838503121561298b57600080fd5b60006129998582860161287e565b92505060206129aa8582860161287e565b9150509250929050565b6000806000606084860312156129c957600080fd5b60006129d78682870161287e565b93505060206129e88682870161287e565b92505060406129f9868287016128fc565b9150509250925092565b60008060408385031215612a1657600080fd5b6000612a248582860161287e565b9250506020612a35858286016128fc565b9150509250929050565b600060208284031215612a5157600080fd5b600082013567ffffffffffffffff811115612a6b57600080fd5b612a77848285016128a8565b91505092915050565b600060208284031215612a9257600080fd5b6000612aa0848285016128d2565b91505092915050565b600060208284031215612abb57600080fd5b6000612ac9848285016128e7565b91505092915050565b600060208284031215612ae457600080fd5b6000612af2848285016128fc565b91505092915050565b600080600060608486031215612b1057600080fd5b6000612b1e86828701612911565b9350506020612b2f86828701612911565b9250506040612b4086828701612911565b9150509250925092565b6000612b568383612b62565b60208301905092915050565b612b6b81613310565b82525050565b612b7a81613310565b82525050565b6000612b8b826131b6565b612b9581856131d9565b9350612ba0836131a6565b8060005b83811015612bd1578151612bb88882612b4a565b9750612bc3836131cc565b925050600181019050612ba4565b5085935050505092915050565b612be781613322565b82525050565b612bf681613365565b82525050565b6000612c07826131c1565b612c1181856131ea565b9350612c21818560208601613377565b612c2a816134b1565b840191505092915050565b6000612c426023836131ea565b9150612c4d826134c2565b604082019050919050565b6000612c65601a836131ea565b9150612c7082613511565b602082019050919050565b6000612c88602a836131ea565b9150612c938261353a565b604082019050919050565b6000612cab6022836131ea565b9150612cb682613589565b604082019050919050565b6000612cce601b836131ea565b9150612cd9826135d8565b602082019050919050565b6000612cf1601b836131ea565b9150612cfc82613601565b602082019050919050565b6000612d14601d836131ea565b9150612d1f8261362a565b602082019050919050565b6000612d376021836131ea565b9150612d4282613653565b604082019050919050565b6000612d5a6020836131ea565b9150612d65826136a2565b602082019050919050565b6000612d7d6029836131ea565b9150612d88826136cb565b604082019050919050565b6000612da06025836131ea565b9150612dab8261371a565b604082019050919050565b6000612dc36024836131ea565b9150612dce82613769565b604082019050919050565b6000612de66011836131ea565b9150612df1826137b8565b602082019050919050565b612e058161334e565b82525050565b612e1481613358565b82525050565b6000602082019050612e2f6000830184612b71565b92915050565b6000604082019050612e4a6000830185612b71565b612e576020830184612b71565b9392505050565b6000604082019050612e736000830185612b71565b612e806020830184612dfc565b9392505050565b600060c082019050612e9c6000830189612b71565b612ea96020830188612dfc565b612eb66040830187612bed565b612ec36060830186612bed565b612ed06080830185612b71565b612edd60a0830184612dfc565b979650505050505050565b6000602082019050612efd6000830184612bde565b92915050565b60006020820190508181036000830152612f1d8184612bfc565b905092915050565b60006020820190508181036000830152612f3e81612c35565b9050919050565b60006020820190508181036000830152612f5e81612c58565b9050919050565b60006020820190508181036000830152612f7e81612c7b565b9050919050565b60006020820190508181036000830152612f9e81612c9e565b9050919050565b60006020820190508181036000830152612fbe81612cc1565b9050919050565b60006020820190508181036000830152612fde81612ce4565b9050919050565b60006020820190508181036000830152612ffe81612d07565b9050919050565b6000602082019050818103600083015261301e81612d2a565b9050919050565b6000602082019050818103600083015261303e81612d4d565b9050919050565b6000602082019050818103600083015261305e81612d70565b9050919050565b6000602082019050818103600083015261307e81612d93565b9050919050565b6000602082019050818103600083015261309e81612db6565b9050919050565b600060208201905081810360008301526130be81612dd9565b9050919050565b60006020820190506130da6000830184612dfc565b92915050565b600060a0820190506130f56000830188612dfc565b6131026020830187612bed565b81810360408301526131148186612b80565b90506131236060830185612b71565b6131306080830184612dfc565b9695505050505050565b600060208201905061314f6000830184612e0b565b92915050565b600061315f613170565b905061316b82826133aa565b919050565b6000604051905090565b600067ffffffffffffffff82111561319557613194613482565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132068261334e565b91506132118361334e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561324657613245613424565b5b828201905092915050565b600061325c8261334e565b91506132678361334e565b92508261327757613276613453565b5b828204905092915050565b600061328d8261334e565b91506132988361334e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132d1576132d0613424565b5b828202905092915050565b60006132e78261334e565b91506132f28361334e565b92508282101561330557613304613424565b5b828203905092915050565b600061331b8261332e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133708261334e565b9050919050565b60005b8381101561339557808201518184015260208101905061337a565b838111156133a4576000848401525b50505050565b6133b3826134b1565b810181811067ffffffffffffffff821117156133d2576133d1613482565b5b80604052505050565b60006133e68261334e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561341957613418613424565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b6137ea81613310565b81146137f557600080fd5b50565b61380181613322565b811461380c57600080fd5b50565b6138188161334e565b811461382357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201977e5f86ba61e9cd82d954ca47b6a01fb4a5d6051f432e5dec7592eaf9a104764736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c8c2854e93f54fc79ee5a42212b8159e653ccd170000000000000000000000001bc85e5ddc0cfe4d54810b6f047c181395767eff
-----Decoded View---------------
Arg [0] : addr1 (address): 0xC8C2854E93f54FC79ee5A42212B8159e653cCd17
Arg [1] : addr2 (address): 0x1bC85E5DDc0Cfe4d54810b6F047C181395767efF
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c8c2854e93f54fc79ee5a42212b8159e653ccd17
Arg [1] : 0000000000000000000000001bc85e5ddc0cfe4d54810b6f047c181395767eff
Deployed Bytecode Sourcemap
4781:12168:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12882:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6660:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7512:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6937:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7681:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6846:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8135:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13059:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7040:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2522:148;;;;;;;;;;;;;:::i;:::-;;16758:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2308:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6751:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7186:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16495:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7361:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11857:1017;;;;;;;;;;;;;:::i;:::-;;12882:169;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12958:9:::1;12953:91;12977:5;:12;12973:1;:16;12953:91;;;13028:4;13011;:14;13016:5;13022:1;13016:8;;;;;;;;;;;;;;;;;;;;;;13011:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12991:3;;;;;:::i;:::-;;;;12953:91;;;;12882:169:::0;:::o;6660:83::-;6697:13;6730:5;;;;;;;;;;;;;;;;;6723:12;;6660:83;:::o;7512:161::-;7587:4;7604:39;7613:12;:10;:12::i;:::-;7627:7;7636:6;7604:8;:39::i;:::-;7661:4;7654:11;;7512:161;;;;:::o;6937:95::-;6990:7;5353:21;7010:14;;6937:95;:::o;7681:446::-;7813:4;7830:36;7840:6;7848:9;7859:6;7830:9;:36::i;:::-;7877:220;7900:6;7921:12;:10;:12::i;:::-;7948:138;8004:6;7948:138;;;;;;;;;;;;;;;;;:11;:19;7960:6;7948:19;;;;;;;;;;;;;;;:33;7968:12;:10;:12::i;:::-;7948:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7877:8;:220::i;:::-;8115:4;8108:11;;7681:446;;;;;:::o;6846:83::-;6887:5;5015:1;6905:16;;6846:83;:::o;8135:111::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8229:9:::1;8211:15;;:27;;;;;;;;;;;;;;;;;;8135:111:::0;:::o;13059:92::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13138:5:::1;13123:4;:12;13128:6;13123:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13059:92:::0;:::o;7040:138::-;7106:7;7133:37;7153:7;:16;7161:7;7153:16;;;;;;;;;;;;;;;;7133:19;:37::i;:::-;7126:44;;7040:138;;;:::o;2522:148::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2629:1:::1;2592:40;;2613:6;::::0;::::1;;;;;;;;2592:40;;;;;;;;;;;;2660:1;2643:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2522:148::o:0;16758:188::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16863:1:::1;16848:12;:16;16840:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16926:12;16907:16;:31;;;;16758:188:::0;:::o;2308:79::-;2346:7;2373:6;;;;;;;;;;;2366:13;;2308:79;:::o;6751:87::-;6790:13;6823:7;;;;;;;;;;;;;;;;;6816:14;;6751:87;:::o;7186:167::-;7264:4;7281:42;7291:12;:10;:12::i;:::-;7305:9;7316:6;7281:9;:42::i;:::-;7341:4;7334:11;;7186:167;;;;:::o;16495:255::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16597:1:::1;16582:12;:16;16574:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16658:36;16688:5;16658:25;16670:12;5353:21;16658:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16643:12;:51;;;;16710:32;16729:12;;16710:32;;;;;;:::i;:::-;;;;;;;;16495:255:::0;:::o;7361:143::-;7442:7;7469:11;:18;7481:5;7469:18;;;;;;;;;;;;;;;:27;7488:7;7469:27;;;;;;;;;;;;;;;;7462:34;;7361:143;;;;:::o;11857:1017::-;2445:12;:10;:12::i;:::-;2435:22;;:6;;;;;;;;;;:22;;;2427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11925:11:::1;;;;;;;;;;;11924:12;11916:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;11978:35;12035:42;11978:100;;12107:16;12089:15;;:34;;;;;;;;;;;;;;;;;;12134:58;12151:4;12166:15;;;;;;;;;;;5353:21;12134:8;:58::i;:::-;12237:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12219:70;;;12298:4;12305:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12219:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12203:13;;:126;;;;;;;;;;;;;;;;;;12340:15;;;;;;;;;;;:31;;;12379:21;12424:4;12444:24;12462:4;12444:9;:24::i;:::-;12483:1;12499::::0;12515:7:::1;:5;:7::i;:::-;12537:15;12340:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12588:4;12574:11;;:18;;;;;;;;;;;;;;;;;;12621:4;12603:15;;:22;;;;;;;;;;;;;;;;;;12646:1;12636:7;:11;;;;12669:2;12658:8;:13;;;;12697:18;12682:12;:33;;;;12740:4;12726:11;;:18;;;;;;;;;;;;;;;;;;12762:13;;;;;;;;;;;12755:29;;;12807:15;;;;;;;;;;;12838:17;12755:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2505:1;11857:1017::o:0;1135:98::-;1188:7;1215:10;1208:17;;1135:98;:::o;8825:369::-;8969:1;8952:19;;:5;:19;;;;8944:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9050:1;9031:21;;:7;:21;;;;9023:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9132:6;9102:11;:18;9114:5;9102:18;;;;;;;;;;;;;;;:27;9121:7;9102:27;;;;;;;;;;;;;;;:36;;;;9170:7;9154:32;;9163:5;9154:32;;;9179:6;9154:32;;;;;;:::i;:::-;;;;;;;;8825:369;;;:::o;9202:1997::-;9340:1;9324:18;;:4;:18;;;;9316:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9417:1;9403:16;;:2;:16;;;;9395:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9487:1;9478:6;:10;9470:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9559:7;:5;:7::i;:::-;9551:15;;:4;:15;;;;:32;;;;;9576:7;:5;:7::i;:::-;9570:13;;:2;:13;;;;9551:32;9547:1451;;;9604:15;;;;;;;;;;;9600:526;;;9682:4;9666:21;;:4;:21;;;;:65;;;;;9726:4;9712:19;;:2;:19;;;;9666:65;:122;;;;;9772:15;;;;;;;;;;;9756:32;;:4;:32;;;;9666:122;:177;;;;;9827:15;;;;;;;;;;;9813:30;;:2;:30;;;;9666:177;9640:471;;;9944:15;;;;;;;;;;;9920:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;10009:13;;;;;;;;;;;9993:29;;:12;:10;:12::i;:::-;:29;;;9920:102;9886:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;9640:471;9600:526;10149:4;:10;10154:4;10149:10;;;;;;;;;;;;;;;;;;;;;;;;;10148:11;:24;;;;;10164:4;:8;10169:2;10164:8;;;;;;;;;;;;;;;;;;;;;;;;;10163:9;10148:24;10140:33;;;;;;10218:13;;;;;;;;;;;10210:21;;:4;:21;;;:72;;;;;10266:15;;;;;;;;;;;10252:30;;:2;:30;;;;10210:72;:116;;;;;10304:18;:22;10323:2;10304:22;;;;;;;;;;;;;;;;;;;;;;;;;10303:23;10210:116;:152;;;;;10347:15;;;;;;;;;;;10210:152;10188:396;;;10420:15;10405:8;:12;10414:2;10405:12;;;;;;;;;;;;;;;;:30;10397:39;;;;;;10473:12;;10463:6;:22;;10455:31;;;;;;10558:9;10539:16;;:28;;;;:::i;:::-;10520:15;:48;;;;:::i;:::-;10505:8;:12;10514:2;10505:12;;;;;;;;;;;;;;;:63;;;;10188:396;10598:28;10629:24;10647:4;10629:9;:24::i;:::-;10598:55;;10673:6;;;;;;;;;;;10672:7;:32;;;;;10691:13;;;;;;;;;;;10683:21;;:4;:21;;;;10672:32;:47;;;;;10708:11;;;;;;;;;;;10672:47;10668:319;;;10740:38;10757:20;10740:16;:38::i;:::-;10797:26;10826:21;10797:50;;10891:1;10870:18;:22;10866:106;;;10917:35;10930:21;10917:12;:35::i;:::-;10866:106;10668:319;;9547:1451;;11008:12;11023:4;11008:19;;11044:18;:24;11063:4;11044:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11072:18;:22;11091:2;11072:22;;;;;;;;;;;;;;;;;;;;;;;;;11044:50;11040:98;;;11121:5;11111:15;;11040:98;11150:41;11165:4;11171:2;11175:6;11183:7;11150:14;:41::i;:::-;9202:1997;;;;:::o;3032:224::-;3152:7;3185:1;3180;:6;;3188:12;3172:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3212:9;3228:1;3224;:5;;;;:::i;:::-;3212:17;;3247:1;3240:8;;;3032:224;;;;;:::o;8254:323::-;8349:7;8407;;8396;:18;;8374:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8495:19;8517:10;:8;:10::i;:::-;8495:32;;8545:24;8557:11;8545:7;:11;;:24;;;;:::i;:::-;8538:31;;;8254:323;;;:::o;3264:246::-;3322:7;3351:1;3346;:6;3342:47;;;3376:1;3369:8;;;;3342:47;3399:9;3415:1;3411;:5;;;;:::i;:::-;3399:17;;3444:1;3439;3435;:5;;;;:::i;:::-;:10;3427:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3501:1;3494:8;;;3264:246;;;;;:::o;3518:132::-;3576:7;3603:39;3607:1;3610;3603:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3596:46;;3518:132;;;;:::o;11207:483::-;6164:4;6155:6;;:13;;;;;;;;;;;;;;;;;;11285:21:::1;11323:1;11309:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11285:40;;11354:4;11336;11341:1;11336:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11380:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11370:4;11375:1;11370:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11413:62;11430:4;11445:15;;;;;;;;;;;11463:11;11413:8;:62::i;:::-;11486:15;;;;;;;;;;;:66;;;11567:11;11593:1;11609:4;11636;11656:15;11486:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6179:1;6200:5:::0;6191:6;;:14;;;;;;;;;;;;;;;;;;11207:483;:::o;11698:151::-;11755:12;;;;;;;;;;;:21;;:36;11777:13;11788:1;11777:6;:10;;:13;;;;:::i;:::-;11755:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11802:15;;;;;;;;;;;:24;;:39;11827:13;11838:1;11827:6;:10;;:13;;;;:::i;:::-;11802:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11698:151;:::o;13159:282::-;13315:7;13310:28;;13324:14;:12;:14::i;:::-;13310:28;13349:44;13367:6;13375:9;13386:6;13349:17;:44::i;:::-;13409:7;13404:29;;13418:15;:13;:15::i;:::-;13404:29;13159:282;;;;:::o;16054:166::-;16096:7;16117:15;16134;16153:19;:17;:19::i;:::-;16116:56;;;;16192:20;16204:7;16192;:11;;:20;;;;:::i;:::-;16185:27;;;;16054:166;:::o;3658:223::-;3778:7;3810:1;3806;:5;3813:12;3798:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3837:9;3853:1;3849;:5;;;;:::i;:::-;3837:17;;3872:1;3865:8;;;3658:223;;;;;:::o;8585:137::-;8643:1;8632:7;;:12;:29;;;;;8660:1;8648:8;;:13;8632:29;8628:42;;;8663:7;;8628:42;8690:1;8680:7;:11;;;;8713:1;8702:8;:12;;;;8585:137;:::o;13449:610::-;13596:15;13626:23;13664:12;13691:23;13729:12;13756:13;13783:19;13794:7;13783:10;:19::i;:::-;13581:221;;;;;;;;;;;;13831:28;13851:7;13831;:15;13839:6;13831:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13813:7;:15;13821:6;13813:15;;;;;;;;;;;;;;;:46;;;;13891:39;13914:15;13891:7;:18;13899:9;13891:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13870:7;:18;13878:9;13870:18;;;;;;;;;;;;;;;:60;;;;13941:16;13951:5;13941:9;:16::i;:::-;13968:23;13980:4;13986;13968:11;:23::i;:::-;14024:9;14007:44;;14016:6;14007:44;;;14035:15;14007:44;;;;;;:::i;:::-;;;;;;;;13449:610;;;;;;;;;:::o;8730:87::-;8784:1;8774:7;:11;;;;8807:2;8796:8;:13;;;;8730:87::o;16228:259::-;16279:7;16288;16308:15;16326:7;;16308:25;;16344:15;5353:21;16344:25;;16394:20;5353:21;16394:7;;:11;;:20;;;;:::i;:::-;16384:7;:30;16380:61;;;16424:7;;5353:21;16416:25;;;;;;;;16380:61;16462:7;16471;16454:25;;;;;;16228:259;;;:::o;14478:624::-;14578:7;14600;14622;14644;14666;14688;14724:23;14749:12;14763:13;14793:39;14805:7;14814;;14823:8;;14793:11;:39::i;:::-;14723:109;;;;;;14843:19;14865:10;:8;:10::i;:::-;14843:32;;14887:15;14904:23;14929:12;14958:46;14970:7;14979:4;14985:5;14992:11;14958;:46::i;:::-;14886:118;;;;;;15033:7;15042:15;15059:4;15065:15;15082:4;15088:5;15025:69;;;;;;;;;;;;;;;;;;;14478:624;;;;;;;:::o;2888:136::-;2946:7;2973:43;2977:1;2980;2973:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2966:50;;2888:136;;;;:::o;2701:179::-;2759:7;2779:9;2795:1;2791;:5;;;;:::i;:::-;2779:17;;2820:1;2815;:6;;2807:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2871:1;2864:8;;;2701:179;;;;:::o;14067:211::-;14120:19;14142:10;:8;:10::i;:::-;14120:32;;14163:13;14179:22;14189:11;14179:5;:9;;:22;;;;:::i;:::-;14163:38;;14237:33;14264:5;14237:7;:22;14253:4;14237:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14212:7;:22;14228:4;14212:22;;;;;;;;;;;;;;;:58;;;;14067:211;;;:::o;14286:147::-;14364:17;14376:4;14364:7;;:11;;:17;;;;:::i;:::-;14354:7;:27;;;;14405:20;14420:4;14405:10;;:14;;:20;;;;:::i;:::-;14392:10;:33;;;;14286:147;;:::o;15110:435::-;15244:7;15266;15288;15323:12;15338:28;15362:3;15338:19;15350:6;15338:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15323:43;;15377:13;15393:29;15418:3;15393:20;15405:7;15393;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15377:45;;15433:23;15459:28;15481:5;15459:17;15471:4;15459:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15433:54;;15508:15;15525:4;15531:5;15500:37;;;;;;;;;15110:435;;;;;;;:::o;15553:493::-;15704:7;15726;15748;15783:15;15801:24;15813:11;15801:7;:11;;:24;;;;:::i;:::-;15783:42;;15836:12;15851:21;15860:11;15851:4;:8;;:21;;;;:::i;:::-;15836:36;;15883:13;15899:22;15909:11;15899:5;:9;;:22;;;;:::i;:::-;15883:38;;15932:23;15958:28;15980:5;15958:17;15970:4;15958:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15932:54;;16007:7;16016:15;16033:4;15999:39;;;;;;;;;;15553:493;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:262::-;4839:6;4888:2;4876:9;4867:7;4863:23;4859:32;4856:2;;;4904:1;4901;4894:12;4856:2;4947:1;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4918:117;4846:196;;;;:::o;5048:596::-;5136:6;5144;5152;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5260:1;5285:64;5341:7;5332:6;5321:9;5317:22;5285:64;:::i;:::-;5275:74;;5231:128;5398:2;5424:64;5480:7;5471:6;5460:9;5456:22;5424:64;:::i;:::-;5414:74;;5369:129;5537:2;5563:64;5619:7;5610:6;5599:9;5595:22;5563:64;:::i;:::-;5553:74;;5508:129;5159:485;;;;;:::o;5650:179::-;5719:10;5740:46;5782:3;5774:6;5740:46;:::i;:::-;5818:4;5813:3;5809:14;5795:28;;5730:99;;;;:::o;5835:108::-;5912:24;5930:5;5912:24;:::i;:::-;5907:3;5900:37;5890:53;;:::o;5949:118::-;6036:24;6054:5;6036:24;:::i;:::-;6031:3;6024:37;6014:53;;:::o;6103:732::-;6222:3;6251:54;6299:5;6251:54;:::i;:::-;6321:86;6400:6;6395:3;6321:86;:::i;:::-;6314:93;;6431:56;6481:5;6431:56;:::i;:::-;6510:7;6541:1;6526:284;6551:6;6548:1;6545:13;6526:284;;;6627:6;6621:13;6654:63;6713:3;6698:13;6654:63;:::i;:::-;6647:70;;6740:60;6793:6;6740:60;:::i;:::-;6730:70;;6586:224;6573:1;6570;6566:9;6561:14;;6526:284;;;6530:14;6826:3;6819:10;;6227:608;;;;;;;:::o;6841:109::-;6922:21;6937:5;6922:21;:::i;:::-;6917:3;6910:34;6900:50;;:::o;6956:147::-;7051:45;7090:5;7051:45;:::i;:::-;7046:3;7039:58;7029:74;;:::o;7109:364::-;7197:3;7225:39;7258:5;7225:39;:::i;:::-;7280:71;7344:6;7339:3;7280:71;:::i;:::-;7273:78;;7360:52;7405:6;7400:3;7393:4;7386:5;7382:16;7360:52;:::i;:::-;7437:29;7459:6;7437:29;:::i;:::-;7432:3;7428:39;7421:46;;7201:272;;;;;:::o;7479:366::-;7621:3;7642:67;7706:2;7701:3;7642:67;:::i;:::-;7635:74;;7718:93;7807:3;7718:93;:::i;:::-;7836:2;7831:3;7827:12;7820:19;;7625:220;;;:::o;7851:366::-;7993:3;8014:67;8078:2;8073:3;8014:67;:::i;:::-;8007:74;;8090:93;8179:3;8090:93;:::i;:::-;8208:2;8203:3;8199:12;8192:19;;7997:220;;;:::o;8223:366::-;8365:3;8386:67;8450:2;8445:3;8386:67;:::i;:::-;8379:74;;8462:93;8551:3;8462:93;:::i;:::-;8580:2;8575:3;8571:12;8564:19;;8369:220;;;:::o;8595:366::-;8737:3;8758:67;8822:2;8817:3;8758:67;:::i;:::-;8751:74;;8834:93;8923:3;8834:93;:::i;:::-;8952:2;8947:3;8943:12;8936:19;;8741:220;;;:::o;8967:366::-;9109:3;9130:67;9194:2;9189:3;9130:67;:::i;:::-;9123:74;;9206:93;9295:3;9206:93;:::i;:::-;9324:2;9319:3;9315:12;9308:19;;9113:220;;;:::o;9339:366::-;9481:3;9502:67;9566:2;9561:3;9502:67;:::i;:::-;9495:74;;9578:93;9667:3;9578:93;:::i;:::-;9696:2;9691:3;9687:12;9680:19;;9485:220;;;:::o;9711:366::-;9853:3;9874:67;9938:2;9933:3;9874:67;:::i;:::-;9867:74;;9950:93;10039:3;9950:93;:::i;:::-;10068:2;10063:3;10059:12;10052:19;;9857:220;;;:::o;10083:366::-;10225:3;10246:67;10310:2;10305:3;10246:67;:::i;:::-;10239:74;;10322:93;10411:3;10322:93;:::i;:::-;10440:2;10435:3;10431:12;10424:19;;10229:220;;;:::o;10455:366::-;10597:3;10618:67;10682:2;10677:3;10618:67;:::i;:::-;10611:74;;10694:93;10783:3;10694:93;:::i;:::-;10812:2;10807:3;10803:12;10796:19;;10601:220;;;:::o;10827:366::-;10969:3;10990:67;11054:2;11049:3;10990:67;:::i;:::-;10983:74;;11066:93;11155:3;11066:93;:::i;:::-;11184:2;11179:3;11175:12;11168:19;;10973:220;;;:::o;11199:366::-;11341:3;11362:67;11426:2;11421:3;11362:67;:::i;:::-;11355:74;;11438:93;11527:3;11438:93;:::i;:::-;11556:2;11551:3;11547:12;11540:19;;11345:220;;;:::o;11571:366::-;11713:3;11734:67;11798:2;11793:3;11734:67;:::i;:::-;11727:74;;11810:93;11899:3;11810:93;:::i;:::-;11928:2;11923:3;11919:12;11912:19;;11717:220;;;:::o;11943:366::-;12085:3;12106:67;12170:2;12165:3;12106:67;:::i;:::-;12099:74;;12182:93;12271:3;12182:93;:::i;:::-;12300:2;12295:3;12291:12;12284:19;;12089:220;;;:::o;12315:118::-;12402:24;12420:5;12402:24;:::i;:::-;12397:3;12390:37;12380:53;;:::o;12439:112::-;12522:22;12538:5;12522:22;:::i;:::-;12517:3;12510:35;12500:51;;:::o;12557:222::-;12650:4;12688:2;12677:9;12673:18;12665:26;;12701:71;12769:1;12758:9;12754:17;12745:6;12701:71;:::i;:::-;12655:124;;;;:::o;12785:332::-;12906:4;12944:2;12933:9;12929:18;12921:26;;12957:71;13025:1;13014:9;13010:17;13001:6;12957:71;:::i;:::-;13038:72;13106:2;13095:9;13091:18;13082:6;13038:72;:::i;:::-;12911:206;;;;;:::o;13123:332::-;13244:4;13282:2;13271:9;13267:18;13259:26;;13295:71;13363:1;13352:9;13348:17;13339:6;13295:71;:::i;:::-;13376:72;13444:2;13433:9;13429:18;13420:6;13376:72;:::i;:::-;13249:206;;;;;:::o;13461:807::-;13710:4;13748:3;13737:9;13733:19;13725:27;;13762:71;13830:1;13819:9;13815:17;13806:6;13762:71;:::i;:::-;13843:72;13911:2;13900:9;13896:18;13887:6;13843:72;:::i;:::-;13925:80;14001:2;13990:9;13986:18;13977:6;13925:80;:::i;:::-;14015;14091:2;14080:9;14076:18;14067:6;14015:80;:::i;:::-;14105:73;14173:3;14162:9;14158:19;14149:6;14105:73;:::i;:::-;14188;14256:3;14245:9;14241:19;14232:6;14188:73;:::i;:::-;13715:553;;;;;;;;;:::o;14274:210::-;14361:4;14399:2;14388:9;14384:18;14376:26;;14412:65;14474:1;14463:9;14459:17;14450:6;14412:65;:::i;:::-;14366:118;;;;:::o;14490:313::-;14603:4;14641:2;14630:9;14626:18;14618:26;;14690:9;14684:4;14680:20;14676:1;14665:9;14661:17;14654:47;14718:78;14791:4;14782:6;14718:78;:::i;:::-;14710:86;;14608:195;;;;:::o;14809:419::-;14975:4;15013:2;15002:9;14998:18;14990:26;;15062:9;15056:4;15052:20;15048:1;15037:9;15033:17;15026:47;15090:131;15216:4;15090:131;:::i;:::-;15082:139;;14980:248;;;:::o;15234:419::-;15400:4;15438:2;15427:9;15423:18;15415:26;;15487:9;15481:4;15477:20;15473:1;15462:9;15458:17;15451:47;15515:131;15641:4;15515:131;:::i;:::-;15507:139;;15405:248;;;:::o;15659:419::-;15825:4;15863:2;15852:9;15848:18;15840:26;;15912:9;15906:4;15902:20;15898:1;15887:9;15883:17;15876:47;15940:131;16066:4;15940:131;:::i;:::-;15932:139;;15830:248;;;:::o;16084:419::-;16250:4;16288:2;16277:9;16273:18;16265:26;;16337:9;16331:4;16327:20;16323:1;16312:9;16308:17;16301:47;16365:131;16491:4;16365:131;:::i;:::-;16357:139;;16255:248;;;:::o;16509:419::-;16675:4;16713:2;16702:9;16698:18;16690:26;;16762:9;16756:4;16752:20;16748:1;16737:9;16733:17;16726:47;16790:131;16916:4;16790:131;:::i;:::-;16782:139;;16680:248;;;:::o;16934:419::-;17100:4;17138:2;17127:9;17123:18;17115:26;;17187:9;17181:4;17177:20;17173:1;17162:9;17158:17;17151:47;17215:131;17341:4;17215:131;:::i;:::-;17207:139;;17105:248;;;:::o;17359:419::-;17525:4;17563:2;17552:9;17548:18;17540:26;;17612:9;17606:4;17602:20;17598:1;17587:9;17583:17;17576:47;17640:131;17766:4;17640:131;:::i;:::-;17632:139;;17530:248;;;:::o;17784:419::-;17950:4;17988:2;17977:9;17973:18;17965:26;;18037:9;18031:4;18027:20;18023:1;18012:9;18008:17;18001:47;18065:131;18191:4;18065:131;:::i;:::-;18057:139;;17955:248;;;:::o;18209:419::-;18375:4;18413:2;18402:9;18398:18;18390:26;;18462:9;18456:4;18452:20;18448:1;18437:9;18433:17;18426:47;18490:131;18616:4;18490:131;:::i;:::-;18482:139;;18380:248;;;:::o;18634:419::-;18800:4;18838:2;18827:9;18823:18;18815:26;;18887:9;18881:4;18877:20;18873:1;18862:9;18858:17;18851:47;18915:131;19041:4;18915:131;:::i;:::-;18907:139;;18805:248;;;:::o;19059:419::-;19225:4;19263:2;19252:9;19248:18;19240:26;;19312:9;19306:4;19302:20;19298:1;19287:9;19283:17;19276:47;19340:131;19466:4;19340:131;:::i;:::-;19332:139;;19230:248;;;:::o;19484:419::-;19650:4;19688:2;19677:9;19673:18;19665:26;;19737:9;19731:4;19727:20;19723:1;19712:9;19708:17;19701:47;19765:131;19891:4;19765:131;:::i;:::-;19757:139;;19655:248;;;:::o;19909:419::-;20075:4;20113:2;20102:9;20098:18;20090:26;;20162:9;20156:4;20152:20;20148:1;20137:9;20133:17;20126:47;20190:131;20316:4;20190:131;:::i;:::-;20182:139;;20080:248;;;:::o;20334:222::-;20427:4;20465:2;20454:9;20450:18;20442:26;;20478:71;20546:1;20535:9;20531:17;20522:6;20478:71;:::i;:::-;20432:124;;;;:::o;20562:831::-;20825:4;20863:3;20852:9;20848:19;20840:27;;20877:71;20945:1;20934:9;20930:17;20921:6;20877:71;:::i;:::-;20958:80;21034:2;21023:9;21019:18;21010:6;20958:80;:::i;:::-;21085:9;21079:4;21075:20;21070:2;21059:9;21055:18;21048:48;21113:108;21216:4;21207:6;21113:108;:::i;:::-;21105:116;;21231:72;21299:2;21288:9;21284:18;21275:6;21231:72;:::i;:::-;21313:73;21381:3;21370:9;21366:19;21357:6;21313:73;:::i;:::-;20830:563;;;;;;;;:::o;21399:214::-;21488:4;21526:2;21515:9;21511:18;21503:26;;21539:67;21603:1;21592:9;21588:17;21579:6;21539:67;:::i;:::-;21493:120;;;;:::o;21619:129::-;21653:6;21680:20;;:::i;:::-;21670:30;;21709:33;21737:4;21729:6;21709:33;:::i;:::-;21660:88;;;:::o;21754:75::-;21787:6;21820:2;21814:9;21804:19;;21794:35;:::o;21835:311::-;21912:4;22002:18;21994:6;21991:30;21988:2;;;22024:18;;:::i;:::-;21988:2;22074:4;22066:6;22062:17;22054:25;;22134:4;22128;22124:15;22116:23;;21917:229;;;:::o;22152:132::-;22219:4;22242:3;22234:11;;22272:4;22267:3;22263:14;22255:22;;22224:60;;;:::o;22290:114::-;22357:6;22391:5;22385:12;22375:22;;22364:40;;;:::o;22410:99::-;22462:6;22496:5;22490:12;22480:22;;22469:40;;;:::o;22515:113::-;22585:4;22617;22612:3;22608:14;22600:22;;22590:38;;;:::o;22634:184::-;22733:11;22767:6;22762:3;22755:19;22807:4;22802:3;22798:14;22783:29;;22745:73;;;;:::o;22824:169::-;22908:11;22942:6;22937:3;22930:19;22982:4;22977:3;22973:14;22958:29;;22920:73;;;;:::o;22999:305::-;23039:3;23058:20;23076:1;23058:20;:::i;:::-;23053:25;;23092:20;23110:1;23092:20;:::i;:::-;23087:25;;23246:1;23178:66;23174:74;23171:1;23168:81;23165:2;;;23252:18;;:::i;:::-;23165:2;23296:1;23293;23289:9;23282:16;;23043:261;;;;:::o;23310:185::-;23350:1;23367:20;23385:1;23367:20;:::i;:::-;23362:25;;23401:20;23419:1;23401:20;:::i;:::-;23396:25;;23440:1;23430:2;;23445:18;;:::i;:::-;23430:2;23487:1;23484;23480:9;23475:14;;23352:143;;;;:::o;23501:348::-;23541:7;23564:20;23582:1;23564:20;:::i;:::-;23559:25;;23598:20;23616:1;23598:20;:::i;:::-;23593:25;;23786:1;23718:66;23714:74;23711:1;23708:81;23703:1;23696:9;23689:17;23685:105;23682:2;;;23793:18;;:::i;:::-;23682:2;23841:1;23838;23834:9;23823:20;;23549:300;;;;:::o;23855:191::-;23895:4;23915:20;23933:1;23915:20;:::i;:::-;23910:25;;23949:20;23967:1;23949:20;:::i;:::-;23944:25;;23988:1;23985;23982:8;23979:2;;;23993:18;;:::i;:::-;23979:2;24038:1;24035;24031:9;24023:17;;23900:146;;;;:::o;24052:96::-;24089:7;24118:24;24136:5;24118:24;:::i;:::-;24107:35;;24097:51;;;:::o;24154:90::-;24188:7;24231:5;24224:13;24217:21;24206:32;;24196:48;;;:::o;24250:126::-;24287:7;24327:42;24320:5;24316:54;24305:65;;24295:81;;;:::o;24382:77::-;24419:7;24448:5;24437:16;;24427:32;;;:::o;24465:86::-;24500:7;24540:4;24533:5;24529:16;24518:27;;24508:43;;;:::o;24557:121::-;24615:9;24648:24;24666:5;24648:24;:::i;:::-;24635:37;;24625:53;;;:::o;24684:307::-;24752:1;24762:113;24776:6;24773:1;24770:13;24762:113;;;24861:1;24856:3;24852:11;24846:18;24842:1;24837:3;24833:11;24826:39;24798:2;24795:1;24791:10;24786:15;;24762:113;;;24893:6;24890:1;24887:13;24884:2;;;24973:1;24964:6;24959:3;24955:16;24948:27;24884:2;24733:258;;;;:::o;24997:281::-;25080:27;25102:4;25080:27;:::i;:::-;25072:6;25068:40;25210:6;25198:10;25195:22;25174:18;25162:10;25159:34;25156:62;25153:2;;;25221:18;;:::i;:::-;25153:2;25261:10;25257:2;25250:22;25040:238;;;:::o;25284:233::-;25323:3;25346:24;25364:5;25346:24;:::i;:::-;25337:33;;25392:66;25385:5;25382:77;25379:2;;;25462:18;;:::i;:::-;25379:2;25509:1;25502:5;25498:13;25491:20;;25327:190;;;:::o;25523:180::-;25571:77;25568:1;25561:88;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25709:180;25757:77;25754:1;25747:88;25854:4;25851:1;25844:15;25878:4;25875:1;25868:15;25895:180;25943:77;25940:1;25933:88;26040:4;26037:1;26030:15;26064:4;26061:1;26054:15;26081:102;26122:6;26173:2;26169:7;26164:2;26157:5;26153:14;26149:28;26139:38;;26129:54;;;:::o;26189:222::-;26329:34;26325:1;26317:6;26313:14;26306:58;26398:5;26393:2;26385:6;26381:15;26374:30;26295:116;:::o;26417:176::-;26557:28;26553:1;26545:6;26541:14;26534:52;26523:70;:::o;26599:229::-;26739:34;26735:1;26727:6;26723:14;26716:58;26808:12;26803:2;26795:6;26791:15;26784:37;26705:123;:::o;26834:221::-;26974:34;26970:1;26962:6;26958:14;26951:58;27043:4;27038:2;27030:6;27026:15;27019:29;26940:115;:::o;27061:177::-;27201:29;27197:1;27189:6;27185:14;27178:53;27167:71;:::o;27244:177::-;27384:29;27380:1;27372:6;27368:14;27361:53;27350:71;:::o;27427:179::-;27567:31;27563:1;27555:6;27551:14;27544:55;27533:73;:::o;27612:220::-;27752:34;27748:1;27740:6;27736:14;27729:58;27821:3;27816:2;27808:6;27804:15;27797:28;27718:114;:::o;27838:182::-;27978:34;27974:1;27966:6;27962:14;27955:58;27944:76;:::o;28026:228::-;28166:34;28162:1;28154:6;28150:14;28143:58;28235:11;28230:2;28222:6;28218:15;28211:36;28132:122;:::o;28260:224::-;28400:34;28396:1;28388:6;28384:14;28377:58;28469:7;28464:2;28456:6;28452:15;28445:32;28366:118;:::o;28490:223::-;28630:34;28626:1;28618:6;28614:14;28607:58;28699:6;28694:2;28686:6;28682:15;28675:31;28596:117;:::o;28719:167::-;28859:19;28855:1;28847:6;28843:14;28836:43;28825:61;:::o;28892:122::-;28965:24;28983:5;28965:24;:::i;:::-;28958:5;28955:35;28945:2;;29004:1;29001;28994:12;28945:2;28935:79;:::o;29020:116::-;29090:21;29105:5;29090:21;:::i;:::-;29083:5;29080:32;29070:2;;29126:1;29123;29116:12;29070:2;29060:76;:::o;29142:122::-;29215:24;29233:5;29215:24;:::i;:::-;29208:5;29205:35;29195:2;;29254:1;29251;29244:12;29195:2;29185:79;:::o
Swarm Source
ipfs://1977e5f86ba61e9cd82d954ca47b6a01fb4a5d6051f432e5dec7592eaf9a1047
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.