Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 273 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21187661 | 55 days ago | IN | 0 ETH | 0.00105384 | ||||
Approve | 21181736 | 56 days ago | IN | 0 ETH | 0.00213138 | ||||
Approve | 21158300 | 59 days ago | IN | 0 ETH | 0.001194 | ||||
Approve | 21076531 | 71 days ago | IN | 0 ETH | 0.0005725 | ||||
Approve | 21074756 | 71 days ago | IN | 0 ETH | 0.0004191 | ||||
Approve | 21074489 | 71 days ago | IN | 0 ETH | 0.00034328 | ||||
Approve | 21069239 | 72 days ago | IN | 0 ETH | 0.00036824 | ||||
Transfer | 21066274 | 72 days ago | IN | 0 ETH | 0.00077677 | ||||
Approve | 21006119 | 81 days ago | IN | 0 ETH | 0.00038676 | ||||
Approve | 21006063 | 81 days ago | IN | 0 ETH | 0.00022445 | ||||
Approve | 21006057 | 81 days ago | IN | 0 ETH | 0.00035599 | ||||
Approve | 20986505 | 83 days ago | IN | 0 ETH | 0.00123368 | ||||
Approve | 20982834 | 84 days ago | IN | 0 ETH | 0.0006294 | ||||
Approve | 20979330 | 84 days ago | IN | 0 ETH | 0.00149241 | ||||
Approve | 20979309 | 84 days ago | IN | 0 ETH | 0.00206572 | ||||
Approve | 20979308 | 84 days ago | IN | 0 ETH | 0.00149597 | ||||
Approve | 20979306 | 84 days ago | IN | 0 ETH | 0.00147964 | ||||
Transfer | 20944573 | 89 days ago | IN | 0 ETH | 0.00081468 | ||||
Transfer | 20940524 | 90 days ago | IN | 0 ETH | 0.00071751 | ||||
Transfer | 20940520 | 90 days ago | IN | 0 ETH | 0.00072229 | ||||
Transfer | 20940480 | 90 days ago | IN | 0 ETH | 0.0006757 | ||||
Transfer | 20940457 | 90 days ago | IN | 0 ETH | 0.00061338 | ||||
Transfer | 20940445 | 90 days ago | IN | 0 ETH | 0.00062152 | ||||
Transfer | 20940428 | 90 days ago | IN | 0 ETH | 0.00065667 | ||||
Transfer | 20940410 | 90 days ago | IN | 0 ETH | 0.00073075 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21074709 | 71 days ago | 0.01627565 ETH | ||||
21074709 | 71 days ago | 0.01627565 ETH | ||||
20979333 | 84 days ago | 0.0300822 ETH | ||||
20979333 | 84 days ago | 0.0300822 ETH | ||||
20918671 | 93 days ago | 0.01888626 ETH | ||||
20918671 | 93 days ago | 0.01888626 ETH | ||||
20883176 | 98 days ago | 0.03813003 ETH | ||||
20883176 | 98 days ago | 0.03813003 ETH | ||||
20778432 | 113 days ago | 0.08223379 ETH | ||||
20778432 | 113 days ago | 0.08223379 ETH | ||||
20751584 | 116 days ago | 0.06101666 ETH | ||||
20751584 | 116 days ago | 0.06101666 ETH | ||||
20721058 | 121 days ago | 0.06982859 ETH | ||||
20721058 | 121 days ago | 0.06982859 ETH | ||||
20693806 | 124 days ago | 0.02877538 ETH | ||||
20693806 | 124 days ago | 0.02877538 ETH | ||||
20682657 | 126 days ago | 0.07693002 ETH | ||||
20682657 | 126 days ago | 0.07693002 ETH | ||||
20679348 | 126 days ago | 0.07071544 ETH | ||||
20679348 | 126 days ago | 0.07071544 ETH | ||||
20679016 | 126 days ago | 0.00548644 ETH | ||||
20679016 | 126 days ago | 0.00548644 ETH | ||||
20670591 | 128 days ago | 0.08557331 ETH | ||||
20670591 | 128 days ago | 0.08557331 ETH | ||||
20667168 | 128 days ago | 0.04525633 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Dogira
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-01 */ // SPDX-License-Identifier: MIT /* WELCOME BACK LOST CHILDREN OF DOGIRA memes & games can be found at our website: https://dogira.vercel.app telegram: https://t.me/dogira_eth x: https://x.com/Dogira_Reborn */ pragma solidity ^0.8.16; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Dogira is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; address payable private _taxWallet; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; bool public tradingOpen = false; bool private inSwap = false; bool private swapEnabled = false; uint256 private _initialBuyTax=2; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=2; uint256 private _finalSellTax=2; uint256 private _reduceBuyTaxAt=30; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=30; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = "Dogira"; string private constant _symbol = "DOGIRA"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 5000000 * 10**_decimals; uint256 public _maxTaxSwap= 5000000 * 10**_decimals; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualSwapToken(uint256 percent) external { require(_msgSender() == _taxWallet); uint256 contractBalance = balanceOf(address(this)); uint256 swapAmount = contractBalance * percent / 100; swapTokensForEth(swapAmount); } function withdrawStuckETH() external { require(address(this).balance > 0, "Token: no ETH in the contract"); require(_msgSender() == _taxWallet); payable(msg.sender).transfer(address(this).balance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f60075f6101000a81548160ff0219169083151502179055505f600760016101000a81548160ff0219169083151502179055505f600760026101000a81548160ff021916908315150217905550600260085560146009556002600a556002600b55601e600c55601e600d55601e600e555f600f556009600a61008691906105c4565b6301312d00610095919061060e565b6010556009600a6100a691906105c4565b6301312d006100b5919061060e565b6011556009600a6100c691906105c4565b624c4b406100d4919061060e565b6012556009600a6100e591906105c4565b624c4b406100f3919061060e565b601355348015610101575f80fd5b505f61011161042560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101bb61042560201b60201c565b60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020891906105c4565b633b9aca00610217919061060e565b60045f61022861042560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160065f61027861042c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103a061042560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103fc91906105c4565b633b9aca0061040b919061060e565b604051610418919061065e565b60405180910390a3610677565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104d5578086048111156104b1576104b0610453565b5b60018516156104c05780820291505b80810290506104ce85610480565b9450610495565b94509492505050565b5f826104ed57600190506105a8565b816104fa575f90506105a8565b8160018114610510576002811461051a57610549565b60019150506105a8565b60ff84111561052c5761052b610453565b5b8360020a91508482111561054357610542610453565b5b506105a8565b5060208310610133831016604e8410600b841016171561057e5782820a90508381111561057957610578610453565b5b6105a8565b61058b848484600161048c565b925090508184048111156105a2576105a1610453565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105ce826105af565b91506105d9836105b8565b92506106067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104de565b905092915050565b5f610618826105af565b9150610623836105af565b9250828202610631816105af565b9150828204841483151761064857610647610453565b5b5092915050565b610658816105af565b82525050565b5f6020820190506106715f83018461064f565b92915050565b612f43806106845f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c9567bf91461040c578063dd62ed3e14610422578063f5648a4f1461045e578063ffb54a991461047457610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c851461025857806370a082311461026e578063715018a6146102aa57806371f5f01a146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612056565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612107565b6104db565b604051610195919061215f565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612187565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612187565b60405180910390f35b3480156101fd575f80fd5b50610218600480360381019061021391906121a0565b610521565b604051610225919061215f565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f919061220b565b60405180910390f35b348015610263575f80fd5b5061026c6105fd565b005b348015610279575f80fd5b50610294600480360381019061028f9190612224565b610694565b6040516102a19190612187565b60405180910390f35b3480156102b5575f80fd5b506102be6106da565b005b3480156102cb575f80fd5b506102e660048036038101906102e1919061224f565b610828565b005b3480156102f3575f80fd5b506102fc6108bc565b005b348015610309575f80fd5b506103126109eb565b60405161031f9190612187565b60405180910390f35b348015610333575f80fd5b5061033c6109f1565b6040516103499190612289565b60405180910390f35b34801561035d575f80fd5b50610366610a18565b6040516103739190612187565b60405180910390f35b348015610387575f80fd5b50610390610a1e565b60405161039d9190612056565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c79190612107565b610a5b565b6040516103d9919061215f565b60405180910390f35b3480156103ed575f80fd5b506103f6610a78565b6040516104039190612187565b60405180910390f35b348015610417575f80fd5b50610420610a7e565b005b34801561042d575f80fd5b50610448600480360381019061044391906122a2565b610f9e565b6040516104559190612187565b60405180910390f35b348015610469575f80fd5b50610472611020565b005b34801561047f575f80fd5b50610488611107565b604051610495919061215f565b60405180910390f35b60606040518060400160405280600681526020017f446f676972610000000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e7611119565b8484611120565b6001905092915050565b60135481565b5f6009600a61050d919061243c565b633b9aca0061051c9190612486565b905090565b5f61052d8484846112e3565b6105ea84610539611119565b6105e585604051806060016040528060288152602001612ee66028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c611119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ad29092919063ffffffff16565b611120565b600190509392505050565b5f6009905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661063d611119565b73ffffffffffffffffffffffffffffffffffffffff161461065c575f80fd5b5f61066630610694565b90505f81111561067a5761067981611b34565b5b5f4790505f8111156106905761068f81611d9f565b5b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106e2611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076590612511565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610868611119565b73ffffffffffffffffffffffffffffffffffffffff1614610887575f80fd5b5f61089130610694565b90505f606483836108a29190612486565b6108ac919061255c565b90506108b781611b34565b505050565b6108c4611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790612511565b60405180910390fd5b6009600a61095e919061243c565b633b9aca0061096d9190612486565b6010819055506009600a610981919061243c565b633b9aca006109909190612486565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109c5919061243c565b633b9aca006109d49190612486565b6040516109e19190612187565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f444f474952410000000000000000000000000000000000000000000000000000815250905090565b5f610a6e610a67611119565b84846112e3565b6001905092915050565b60125481565b610a86611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990612511565b60405180910390fd5b60075f9054906101000a900460ff1615610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b58906125d6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bfd3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610be9919061243c565b633b9aca00610bf89190612486565b611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8b9190612608565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d359190612608565b6040518363ffffffff1660e01b8152600401610d52929190612633565b6020604051808303815f875af1158015610d6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d929190612608565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e1930610694565b5f80610e236109f1565b426040518863ffffffff1660e01b8152600401610e459695949392919061269c565b60606040518083038185885af1158015610e61573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e86919061270f565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f2692919061275f565b6020604051808303815f875af1158015610f42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6691906127b0565b506001600760026101000a81548160ff021916908315150217905550600160075f6101000a81548160ff021916908315150217905550565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f4711611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612825565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a2611119565b73ffffffffffffffffffffffffffffffffffffffff16146110c1575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611104573d5f803e3d5ffd5b50565b60075f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611185906128b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390612941565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d69190612187565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611348906129cf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612a5d565b60405180910390fd5b5f8111611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612aeb565b60405180910390fd5b5f61140a6109f1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561147857506114486109f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611822576114b960646114ab600c54600f54116114985760085461149c565b600a545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611564575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b7575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167157601054821115611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612b53565b60405180910390fd5b6011548261160e85610694565b6116189190612b71565b1115611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090612bee565b60405180910390fd5b600f5f81548092919061166b90612c0c565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116f957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561173d5761173a606461172c600d54600f54116117195760095461171d565b600b545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b90505b5f61174730610694565b9050600760019054906101000a900460ff161580156117b2575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117ca5750600760029054906101000a900460ff165b80156117d7575060125481115b80156117e65750600e54600f54115b1561182057611808611803846117fe84601354611ec7565b611ec7565b611b34565b5f4790505f81111561181e5761181d47611d9f565b5b505b505b5f8111156119215761187a8160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119189190612187565b60405180910390a35b6119718260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a146119c88284611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ab78486611f3c90919063ffffffff16565b604051611ac49190612187565b60405180910390a350505050565b5f838311158290611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b109190612056565b60405180910390fd5b505f8385611b279190612c53565b9050809150509392505050565b6001600760016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b6b57611b6a612c86565b5b604051908082528060200260200182016040528015611b995781602001602082028036833780820191505090505b50905030815f81518110611bb057611baf612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c789190612608565b81600181518110611c8c57611c8b612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cf23060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d54959493929190612d97565b5f604051808303815f87803b158015611d6b575f80fd5b505af1158015611d7d573d5f803e3d5ffd5b50505050505f600760016101000a81548160ff02191690831515021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e03573d5f803e3d5ffd5b5050565b5f808303611e17575f9050611e78565b5f8284611e249190612486565b9050828482611e33919061255c565b14611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612e5f565b60405180910390fd5b809150505b92915050565b5f611ebf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f85565b905092915050565b5f818311611ed55782611ed7565b815b905092915050565b5f808284611eed9190612b71565b905083811015611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990612ec7565b60405180910390fd5b8091505092915050565b5f611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ad2565b905092915050565b5f8083118290611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc29190612056565b60405180910390fd5b505f8385611fd9919061255c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61202882611fe6565b6120328185611ff0565b9350612042818560208601612000565b61204b8161200e565b840191505092915050565b5f6020820190508181035f83015261206e818461201e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120a38261207a565b9050919050565b6120b381612099565b81146120bd575f80fd5b50565b5f813590506120ce816120aa565b92915050565b5f819050919050565b6120e6816120d4565b81146120f0575f80fd5b50565b5f81359050612101816120dd565b92915050565b5f806040838503121561211d5761211c612076565b5b5f61212a858286016120c0565b925050602061213b858286016120f3565b9150509250929050565b5f8115159050919050565b61215981612145565b82525050565b5f6020820190506121725f830184612150565b92915050565b612181816120d4565b82525050565b5f60208201905061219a5f830184612178565b92915050565b5f805f606084860312156121b7576121b6612076565b5b5f6121c4868287016120c0565b93505060206121d5868287016120c0565b92505060406121e6868287016120f3565b9150509250925092565b5f60ff82169050919050565b612205816121f0565b82525050565b5f60208201905061221e5f8301846121fc565b92915050565b5f6020828403121561223957612238612076565b5b5f612246848285016120c0565b91505092915050565b5f6020828403121561226457612263612076565b5b5f612271848285016120f3565b91505092915050565b61228381612099565b82525050565b5f60208201905061229c5f83018461227a565b92915050565b5f80604083850312156122b8576122b7612076565b5b5f6122c5858286016120c0565b92505060206122d6858286016120c0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123625780860481111561233e5761233d6122e0565b5b600185161561234d5780820291505b808102905061235b8561230d565b9450612322565b94509492505050565b5f8261237a5760019050612435565b81612387575f9050612435565b816001811461239d57600281146123a7576123d6565b6001915050612435565b60ff8411156123b9576123b86122e0565b5b8360020a9150848211156123d0576123cf6122e0565b5b50612435565b5060208310610133831016604e8410600b841016171561240b5782820a905083811115612406576124056122e0565b5b612435565b6124188484846001612319565b9250905081840481111561242f5761242e6122e0565b5b81810290505b9392505050565b5f612446826120d4565b9150612451836121f0565b925061247e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461236b565b905092915050565b5f612490826120d4565b915061249b836120d4565b92508282026124a9816120d4565b915082820484148315176124c0576124bf6122e0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124fb602083611ff0565b9150612506826124c7565b602082019050919050565b5f6020820190508181035f830152612528816124ef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612566826120d4565b9150612571836120d4565b9250826125815761258061252f565b5b828204905092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6125c0601783611ff0565b91506125cb8261258c565b602082019050919050565b5f6020820190508181035f8301526125ed816125b4565b9050919050565b5f81519050612602816120aa565b92915050565b5f6020828403121561261d5761261c612076565b5b5f61262a848285016125f4565b91505092915050565b5f6040820190506126465f83018561227a565b612653602083018461227a565b9392505050565b5f819050919050565b5f819050919050565b5f61268661268161267c8461265a565b612663565b6120d4565b9050919050565b6126968161266c565b82525050565b5f60c0820190506126af5f83018961227a565b6126bc6020830188612178565b6126c9604083018761268d565b6126d6606083018661268d565b6126e3608083018561227a565b6126f060a0830184612178565b979650505050505050565b5f81519050612709816120dd565b92915050565b5f805f6060848603121561272657612725612076565b5b5f612733868287016126fb565b9350506020612744868287016126fb565b9250506040612755868287016126fb565b9150509250925092565b5f6040820190506127725f83018561227a565b61277f6020830184612178565b9392505050565b61278f81612145565b8114612799575f80fd5b50565b5f815190506127aa81612786565b92915050565b5f602082840312156127c5576127c4612076565b5b5f6127d28482850161279c565b91505092915050565b7f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000005f82015250565b5f61280f601d83611ff0565b915061281a826127db565b602082019050919050565b5f6020820190508181035f83015261283c81612803565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61289d602483611ff0565b91506128a882612843565b604082019050919050565b5f6020820190508181035f8301526128ca81612891565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61292b602283611ff0565b9150612936826128d1565b604082019050919050565b5f6020820190508181035f8301526129588161291f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129b9602583611ff0565b91506129c48261295f565b604082019050919050565b5f6020820190508181035f8301526129e6816129ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a47602383611ff0565b9150612a52826129ed565b604082019050919050565b5f6020820190508181035f830152612a7481612a3b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ad5602983611ff0565b9150612ae082612a7b565b604082019050919050565b5f6020820190508181035f830152612b0281612ac9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b3d601983611ff0565b9150612b4882612b09565b602082019050919050565b5f6020820190508181035f830152612b6a81612b31565b9050919050565b5f612b7b826120d4565b9150612b86836120d4565b9250828201905080821115612b9e57612b9d6122e0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bd8601a83611ff0565b9150612be382612ba4565b602082019050919050565b5f6020820190508181035f830152612c0581612bcc565b9050919050565b5f612c16826120d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c4857612c476122e0565b5b600182019050919050565b5f612c5d826120d4565b9150612c68836120d4565b9250828203905081811115612c8057612c7f6122e0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1281612099565b82525050565b5f612d238383612d09565b60208301905092915050565b5f602082019050919050565b5f612d4582612ce0565b612d4f8185612cea565b9350612d5a83612cfa565b805f5b83811015612d8a578151612d718882612d18565b9750612d7c83612d2f565b925050600181019050612d5d565b5085935050505092915050565b5f60a082019050612daa5f830188612178565b612db7602083018761268d565b8181036040830152612dc98186612d3b565b9050612dd8606083018561227a565b612de56080830184612178565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e49602183611ff0565b9150612e5482612def565b604082019050919050565b5f6020820190508181035f830152612e7681612e3d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612eb1601b83611ff0565b9150612ebc82612e7d565b602082019050919050565b5f6020820190508181035f830152612ede81612ea5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006b7067ff936a74166e8fdbc573ac2c3863ec56bad948ddc889ccbfb6136eee064736f6c63430008190033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c9567bf91461040c578063dd62ed3e14610422578063f5648a4f1461045e578063ffb54a991461047457610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c851461025857806370a082311461026e578063715018a6146102aa57806371f5f01a146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612056565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612107565b6104db565b604051610195919061215f565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612187565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612187565b60405180910390f35b3480156101fd575f80fd5b50610218600480360381019061021391906121a0565b610521565b604051610225919061215f565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f919061220b565b60405180910390f35b348015610263575f80fd5b5061026c6105fd565b005b348015610279575f80fd5b50610294600480360381019061028f9190612224565b610694565b6040516102a19190612187565b60405180910390f35b3480156102b5575f80fd5b506102be6106da565b005b3480156102cb575f80fd5b506102e660048036038101906102e1919061224f565b610828565b005b3480156102f3575f80fd5b506102fc6108bc565b005b348015610309575f80fd5b506103126109eb565b60405161031f9190612187565b60405180910390f35b348015610333575f80fd5b5061033c6109f1565b6040516103499190612289565b60405180910390f35b34801561035d575f80fd5b50610366610a18565b6040516103739190612187565b60405180910390f35b348015610387575f80fd5b50610390610a1e565b60405161039d9190612056565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c79190612107565b610a5b565b6040516103d9919061215f565b60405180910390f35b3480156103ed575f80fd5b506103f6610a78565b6040516104039190612187565b60405180910390f35b348015610417575f80fd5b50610420610a7e565b005b34801561042d575f80fd5b50610448600480360381019061044391906122a2565b610f9e565b6040516104559190612187565b60405180910390f35b348015610469575f80fd5b50610472611020565b005b34801561047f575f80fd5b50610488611107565b604051610495919061215f565b60405180910390f35b60606040518060400160405280600681526020017f446f676972610000000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e7611119565b8484611120565b6001905092915050565b60135481565b5f6009600a61050d919061243c565b633b9aca0061051c9190612486565b905090565b5f61052d8484846112e3565b6105ea84610539611119565b6105e585604051806060016040528060288152602001612ee66028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c611119565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ad29092919063ffffffff16565b611120565b600190509392505050565b5f6009905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661063d611119565b73ffffffffffffffffffffffffffffffffffffffff161461065c575f80fd5b5f61066630610694565b90505f81111561067a5761067981611b34565b5b5f4790505f8111156106905761068f81611d9f565b5b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106e2611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076590612511565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610868611119565b73ffffffffffffffffffffffffffffffffffffffff1614610887575f80fd5b5f61089130610694565b90505f606483836108a29190612486565b6108ac919061255c565b90506108b781611b34565b505050565b6108c4611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790612511565b60405180910390fd5b6009600a61095e919061243c565b633b9aca0061096d9190612486565b6010819055506009600a610981919061243c565b633b9aca006109909190612486565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109c5919061243c565b633b9aca006109d49190612486565b6040516109e19190612187565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f444f474952410000000000000000000000000000000000000000000000000000815250905090565b5f610a6e610a67611119565b84846112e3565b6001905092915050565b60125481565b610a86611119565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990612511565b60405180910390fd5b60075f9054906101000a900460ff1615610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b58906125d6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bfd3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610be9919061243c565b633b9aca00610bf89190612486565b611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8b9190612608565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d359190612608565b6040518363ffffffff1660e01b8152600401610d52929190612633565b6020604051808303815f875af1158015610d6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d929190612608565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e1930610694565b5f80610e236109f1565b426040518863ffffffff1660e01b8152600401610e459695949392919061269c565b60606040518083038185885af1158015610e61573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e86919061270f565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f2692919061275f565b6020604051808303815f875af1158015610f42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6691906127b0565b506001600760026101000a81548160ff021916908315150217905550600160075f6101000a81548160ff021916908315150217905550565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f4711611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612825565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a2611119565b73ffffffffffffffffffffffffffffffffffffffff16146110c1575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611104573d5f803e3d5ffd5b50565b60075f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611185906128b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390612941565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d69190612187565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611348906129cf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612a5d565b60405180910390fd5b5f8111611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612aeb565b60405180910390fd5b5f61140a6109f1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561147857506114486109f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611822576114b960646114ab600c54600f54116114985760085461149c565b600a545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611564575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b7575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167157601054821115611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890612b53565b60405180910390fd5b6011548261160e85610694565b6116189190612b71565b1115611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090612bee565b60405180910390fd5b600f5f81548092919061166b90612c0c565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116f957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561173d5761173a606461172c600d54600f54116117195760095461171d565b600b545b85611e0790919063ffffffff16565b611e7e90919063ffffffff16565b90505b5f61174730610694565b9050600760019054906101000a900460ff161580156117b2575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117ca5750600760029054906101000a900460ff165b80156117d7575060125481115b80156117e65750600e54600f54115b1561182057611808611803846117fe84601354611ec7565b611ec7565b611b34565b5f4790505f81111561181e5761181d47611d9f565b5b505b505b5f8111156119215761187a8160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119189190612187565b60405180910390a35b6119718260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a146119c88284611f3c90919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edf90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611ab78486611f3c90919063ffffffff16565b604051611ac49190612187565b60405180910390a350505050565b5f838311158290611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b109190612056565b60405180910390fd5b505f8385611b279190612c53565b9050809150509392505050565b6001600760016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b6b57611b6a612c86565b5b604051908082528060200260200182016040528015611b995781602001602082028036833780820191505090505b50905030815f81518110611bb057611baf612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c789190612608565b81600181518110611c8c57611c8b612cb3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cf23060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d54959493929190612d97565b5f604051808303815f87803b158015611d6b575f80fd5b505af1158015611d7d573d5f803e3d5ffd5b50505050505f600760016101000a81548160ff02191690831515021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e03573d5f803e3d5ffd5b5050565b5f808303611e17575f9050611e78565b5f8284611e249190612486565b9050828482611e33919061255c565b14611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612e5f565b60405180910390fd5b809150505b92915050565b5f611ebf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f85565b905092915050565b5f818311611ed55782611ed7565b815b905092915050565b5f808284611eed9190612b71565b905083811015611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990612ec7565b60405180910390fd5b8091505092915050565b5f611f7d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ad2565b905092915050565b5f8083118290611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc29190612056565b60405180910390fd5b505f8385611fd9919061255c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61202882611fe6565b6120328185611ff0565b9350612042818560208601612000565b61204b8161200e565b840191505092915050565b5f6020820190508181035f83015261206e818461201e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120a38261207a565b9050919050565b6120b381612099565b81146120bd575f80fd5b50565b5f813590506120ce816120aa565b92915050565b5f819050919050565b6120e6816120d4565b81146120f0575f80fd5b50565b5f81359050612101816120dd565b92915050565b5f806040838503121561211d5761211c612076565b5b5f61212a858286016120c0565b925050602061213b858286016120f3565b9150509250929050565b5f8115159050919050565b61215981612145565b82525050565b5f6020820190506121725f830184612150565b92915050565b612181816120d4565b82525050565b5f60208201905061219a5f830184612178565b92915050565b5f805f606084860312156121b7576121b6612076565b5b5f6121c4868287016120c0565b93505060206121d5868287016120c0565b92505060406121e6868287016120f3565b9150509250925092565b5f60ff82169050919050565b612205816121f0565b82525050565b5f60208201905061221e5f8301846121fc565b92915050565b5f6020828403121561223957612238612076565b5b5f612246848285016120c0565b91505092915050565b5f6020828403121561226457612263612076565b5b5f612271848285016120f3565b91505092915050565b61228381612099565b82525050565b5f60208201905061229c5f83018461227a565b92915050565b5f80604083850312156122b8576122b7612076565b5b5f6122c5858286016120c0565b92505060206122d6858286016120c0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123625780860481111561233e5761233d6122e0565b5b600185161561234d5780820291505b808102905061235b8561230d565b9450612322565b94509492505050565b5f8261237a5760019050612435565b81612387575f9050612435565b816001811461239d57600281146123a7576123d6565b6001915050612435565b60ff8411156123b9576123b86122e0565b5b8360020a9150848211156123d0576123cf6122e0565b5b50612435565b5060208310610133831016604e8410600b841016171561240b5782820a905083811115612406576124056122e0565b5b612435565b6124188484846001612319565b9250905081840481111561242f5761242e6122e0565b5b81810290505b9392505050565b5f612446826120d4565b9150612451836121f0565b925061247e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461236b565b905092915050565b5f612490826120d4565b915061249b836120d4565b92508282026124a9816120d4565b915082820484148315176124c0576124bf6122e0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124fb602083611ff0565b9150612506826124c7565b602082019050919050565b5f6020820190508181035f830152612528816124ef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612566826120d4565b9150612571836120d4565b9250826125815761258061252f565b5b828204905092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6125c0601783611ff0565b91506125cb8261258c565b602082019050919050565b5f6020820190508181035f8301526125ed816125b4565b9050919050565b5f81519050612602816120aa565b92915050565b5f6020828403121561261d5761261c612076565b5b5f61262a848285016125f4565b91505092915050565b5f6040820190506126465f83018561227a565b612653602083018461227a565b9392505050565b5f819050919050565b5f819050919050565b5f61268661268161267c8461265a565b612663565b6120d4565b9050919050565b6126968161266c565b82525050565b5f60c0820190506126af5f83018961227a565b6126bc6020830188612178565b6126c9604083018761268d565b6126d6606083018661268d565b6126e3608083018561227a565b6126f060a0830184612178565b979650505050505050565b5f81519050612709816120dd565b92915050565b5f805f6060848603121561272657612725612076565b5b5f612733868287016126fb565b9350506020612744868287016126fb565b9250506040612755868287016126fb565b9150509250925092565b5f6040820190506127725f83018561227a565b61277f6020830184612178565b9392505050565b61278f81612145565b8114612799575f80fd5b50565b5f815190506127aa81612786565b92915050565b5f602082840312156127c5576127c4612076565b5b5f6127d28482850161279c565b91505092915050565b7f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000005f82015250565b5f61280f601d83611ff0565b915061281a826127db565b602082019050919050565b5f6020820190508181035f83015261283c81612803565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61289d602483611ff0565b91506128a882612843565b604082019050919050565b5f6020820190508181035f8301526128ca81612891565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61292b602283611ff0565b9150612936826128d1565b604082019050919050565b5f6020820190508181035f8301526129588161291f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129b9602583611ff0565b91506129c48261295f565b604082019050919050565b5f6020820190508181035f8301526129e6816129ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a47602383611ff0565b9150612a52826129ed565b604082019050919050565b5f6020820190508181035f830152612a7481612a3b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ad5602983611ff0565b9150612ae082612a7b565b604082019050919050565b5f6020820190508181035f830152612b0281612ac9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b3d601983611ff0565b9150612b4882612b09565b602082019050919050565b5f6020820190508181035f830152612b6a81612b31565b9050919050565b5f612b7b826120d4565b9150612b86836120d4565b9250828201905080821115612b9e57612b9d6122e0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bd8601a83611ff0565b9150612be382612ba4565b602082019050919050565b5f6020820190508181035f830152612c0581612bcc565b9050919050565b5f612c16826120d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c4857612c476122e0565b5b600182019050919050565b5f612c5d826120d4565b9150612c68836120d4565b9250828203905081811115612c8057612c7f6122e0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1281612099565b82525050565b5f612d238383612d09565b60208301905092915050565b5f602082019050919050565b5f612d4582612ce0565b612d4f8185612cea565b9350612d5a83612cfa565b805f5b83811015612d8a578151612d718882612d18565b9750612d7c83612d2f565b925050600181019050612d5d565b5085935050505092915050565b5f60a082019050612daa5f830188612178565b612db7602083018761268d565b8181036040830152612dc98186612d3b565b9050612dd8606083018561227a565b612de56080830184612178565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e49602183611ff0565b9150612e5482612def565b604082019050919050565b5f6020820190508181035f830152612e7681612e3d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612eb1601b83611ff0565b9150612ebc82612e7d565b602082019050919050565b5f6020820190508181035f830152612ede81612ea5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006b7067ff936a74166e8fdbc573ac2c3863ec56bad948ddc889ccbfb6136eee064736f6c63430008190033
Deployed Bytecode Sourcemap
3682:7777:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5455:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6288:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4920:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5732:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6457:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5641:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10548:348;;;;;;;;;;;;;:::i;:::-;;5835:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2763:148;;;;;;;;;;;;;:::i;:::-;;10908:268;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9602:159;;;;;;;;;;;;;:::i;:::-;;4731:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2549:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5546:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5962:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4855:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9869:671;;;;;;;;;;;;;:::i;:::-;;6137:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11186:231;;;;;;;;;;;;;:::i;:::-;;4093:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5455:83;5492:13;5525:5;;;;;;;;;;;;;;;;;5518:12;;5455:83;:::o;6288:161::-;6363:4;6380:39;6389:12;:10;:12::i;:::-;6403:7;6412:6;6380:8;:39::i;:::-;6437:4;6430:11;;6288:161;;;;:::o;4920:51::-;;;;:::o;5732:95::-;5785:7;4559:1;4615:2;:13;;;;:::i;:::-;4602:10;:26;;;;:::i;:::-;5805:14;;5732:95;:::o;6457:313::-;6555:4;6572:36;6582:6;6590:9;6601:6;6572:9;:36::i;:::-;6619:121;6628:6;6636:12;:10;:12::i;:::-;6650:89;6688:6;6650:89;;;;;;;;;;;;;;;;;:11;:19;6662:6;6650:19;;;;;;;;;;;;;;;:33;6670:12;:10;:12::i;:::-;6650:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6619:8;:121::i;:::-;6758:4;6751:11;;6457:313;;;;;:::o;5641:83::-;5682:5;4559:1;5700:16;;5641:83;:::o;10548:348::-;10612:10;;;;;;;;;;;10598:24;;:12;:10;:12::i;:::-;:24;;;10590:33;;;;;;10634:20;10655:24;10673:4;10655:9;:24::i;:::-;10634:45;;10706:1;10693:12;:14;10690:73;;;10721:30;10738:12;10721:16;:30::i;:::-;10690:73;10773:18;10792:21;10773:40;;10838:1;10827:10;:12;10824:65;;;10853:24;10866:10;10853:12;:24::i;:::-;10824:65;10579:317;;10548:348::o;5835:119::-;5901:7;5928:9;:18;5938:7;5928:18;;;;;;;;;;;;;;;;5921:25;;5835:119;;;:::o;2763:148::-;2686:12;:10;:12::i;:::-;2676:22;;:6;;;;;;;;;;:22;;;2668:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2870:1:::1;2833:40;;2854:6;::::0;::::1;;;;;;;;2833:40;;;;;;;;;;;;2901:1;2884:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2763:148::o:0;10908:268::-;10994:10;;;;;;;;;;;10978:26;;:12;:10;:12::i;:::-;:26;;;10970:35;;;;;;11016:23;11042:24;11060:4;11042:9;:24::i;:::-;11016:50;;11077:18;11126:3;11116:7;11098:15;:25;;;;:::i;:::-;:31;;;;:::i;:::-;11077:52;;11140:28;11157:10;11140:16;:28::i;:::-;10959:217;;10908:268;:::o;9602:159::-;2686:12;:10;:12::i;:::-;2676:22;;:6;;;;;;;;;;:22;;;2668:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4559:1:::1;4615:2;:13;;;;:::i;:::-;4602:10;:26;;;;:::i;:::-;9655:12;:22;;;;4559:1;4615:2;:13;;;;:::i;:::-;4602:10;:26;;;;:::i;:::-;9688:14;:22;;;;9726:27;4559:1;4615:2;:13;;;;:::i;:::-;4602:10;:26;;;;:::i;:::-;9726:27;;;;;;:::i;:::-;;;;;;;;9602:159::o:0;4731:54::-;;;;:::o;2549:79::-;2587:7;2614:6;;;;;;;;;;;2607:13;;2549:79;:::o;4792:56::-;;;;:::o;5546:87::-;5585:13;5618:7;;;;;;;;;;;;;;;;;5611:14;;5546:87;:::o;5962:167::-;6040:4;6057:42;6067:12;:10;:12::i;:::-;6081:9;6092:6;6057:9;:42::i;:::-;6117:4;6110:11;;5962:167;;;;:::o;4855:58::-;;;;:::o;9869:671::-;2686:12;:10;:12::i;:::-;2676:22;;:6;;;;;;;;;;:22;;;2668:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9933:11:::1;;;;;;;;;;;9932:12;9924:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10019:42;9982:15;;:80;;;;;;;;;;;;;;;;;;10073:58;10090:4;10105:15;;;;;;;;;;;4559:1;4615:2;:13;;;;:::i;:::-;4602:10;:26;;;;:::i;:::-;10073:8;:58::i;:::-;10176:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10158:55;;;10222:4;10229:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10158:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10142:13;;:110;;;;;;;;;;;;;;;;;;10263:15;;;;;;;;;;;:31;;;10302:21;10333:4;10339:24;10357:4;10339:9;:24::i;:::-;10364:1;10366::::0;10368:7:::1;:5;:7::i;:::-;10376:15;10263:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10410:13;;;;;;;;;;;10403:29;;;10441:15;;;;;;;;;;;10459:14;10403:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10499:4;10485:11;;:18;;;;;;;;;;;;;;;;;;10528:4;10514:11;;:18;;;;;;;;;;;;;;;;;;9869:671::o:0;6137:143::-;6218:7;6245:11;:18;6257:5;6245:18;;;;;;;;;;;;;;;:27;6264:7;6245:27;;;;;;;;;;;;;;;;6238:34;;6137:143;;;;:::o;11186:231::-;11266:1;11242:21;:25;11234:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11336:10;;;;;;;;;;;11320:26;;:12;:10;:12::i;:::-;:26;;;11312:35;;;;;;11366:10;11358:28;;:51;11387:21;11358:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11186:231::o;4093:31::-;;;;;;;;;;;;;:::o;304:98::-;357:7;384:10;377:17;;304:98;:::o;6778:335::-;6888:1;6871:19;;:5;:19;;;6863:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6969:1;6950:21;;:7;:21;;;6942:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7051:6;7021:11;:18;7033:5;7021:18;;;;;;;;;;;;;;;:27;7040:7;7021:27;;;;;;;;;;;;;;;:36;;;;7089:7;7073:32;;7082:5;7073:32;;;7098:6;7073:32;;;;;;:::i;:::-;;;;;;;;6778:335;;;:::o;7121:1874::-;7225:1;7209:18;;:4;:18;;;7201:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7302:1;7288:16;;:2;:16;;;7280:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7372:1;7363:6;:10;7355:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7430:17;7472:7;:5;:7::i;:::-;7464:15;;:4;:15;;;;:32;;;;;7489:7;:5;:7::i;:::-;7483:13;;:2;:13;;;;7464:32;7460:1179;;;7525:76;7597:3;7525:67;7547:15;;7537:9;;:25;7536:55;;7577:14;;7536:55;;;7564:12;;7536:55;7525:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7513:88;;7630:13;;;;;;;;;;;7622:21;;:4;:21;;;:55;;;;;7661:15;;;;;;;;;;;7647:30;;:2;:30;;;;7622:55;:83;;;;;7683:18;:22;7702:2;7683:22;;;;;;;;;;;;;;;;;;;;;;;;;7681:24;7622:83;7618:313;;;7745:12;;7735:6;:22;;7727:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7840:14;;7830:6;7814:13;7824:2;7814:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7806:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7904:9;;:11;;;;;;;;;:::i;:::-;;;;;;7618:313;7956:13;;;;;;;;;;;7950:19;;:2;:19;;;:43;;;;;7988:4;7973:20;;:4;:20;;;;7950:43;7947:174;;;8026:79;8101:3;8026:70;8048:16;;8038:9;;:26;8037:58;;8080:15;;8037:58;;;8066:13;;8037:58;8026:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8014:91;;7947:174;8137:28;8168:24;8186:4;8168:9;:24::i;:::-;8137:55;;8212:6;;;;;;;;;;;8211:7;:32;;;;;8230:13;;;;;;;;;;;8222:21;;:2;:21;;;8211:32;:47;;;;;8247:11;;;;;;;;;;;8211:47;:89;;;;;8283:17;;8262:20;:38;8211:89;:121;;;;;8314:18;;8304:9;;:28;8211:121;8207:421;;;8353:67;8370:49;8374:6;8381:37;8385:20;8406:11;;8381:3;:37::i;:::-;8370:3;:49::i;:::-;8353:16;:67::i;:::-;8439:26;8468:21;8439:50;;8532:1;8511:18;:22;8508:105;;;8558:35;8571:21;8558:12;:35::i;:::-;8508:105;8334:294;8207:421;7498:1141;7460:1179;8664:1;8654:9;:11;8651:161;;;8704:39;8733:9;8704;:24;8722:4;8704:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8679:9;:24;8697:4;8679:24;;;;;;;;;;;;;;;:64;;;;8784:4;8761:39;;8770:4;8761:39;;;8790:9;8761:39;;;;;;:::i;:::-;;;;;;;;8651:161;8838:27;8858:6;8838:9;:15;8848:4;8838:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8822:9;:15;8832:4;8822:15;;;;;;;;;;;;;;;:43;;;;8890:40;8908:21;8919:9;8908:6;:10;;:21;;;;:::i;:::-;8890:9;:13;8900:2;8890:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8876:9;:13;8886:2;8876:13;;;;;;;;;;;;;;;:54;;;;8961:2;8946:41;;8955:4;8946:41;;;8965:21;8976:9;8965:6;:10;;:21;;;;:::i;:::-;8946:41;;;;;;:::i;:::-;;;;;;;;7190:1805;7121:1874;;;:::o;1441:190::-;1527:7;1560:1;1555;:6;;1563:12;1547:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1587:9;1603:1;1599;:5;;;;:::i;:::-;1587:17;;1622:1;1615:8;;;1441:190;;;;;:::o;9111:483::-;5073:4;5064:6;;:13;;;;;;;;;;;;;;;;;;9189:21:::1;9227:1;9213:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9189:40;;9258:4;9240;9245:1;9240:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9284:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9274:4;9279:1;9274:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9317:62;9334:4;9349:15;;;;;;;;;;;9367:11;9317:8;:62::i;:::-;9390:15;;;;;;;;;;;:66;;;9471:11;9497:1;9513:4;9540;9560:15;9390:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9178:416;5109:5:::0;5100:6;;:14;;;;;;;;;;;;;;;;;;9111:483;:::o;9769:92::-;9826:10;;;;;;;;;;;:19;;:27;9846:6;9826:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9769:92;:::o;1639:246::-;1697:7;1726:1;1721;:6;1717:47;;1751:1;1744:8;;;;1717:47;1774:9;1790:1;1786;:5;;;;:::i;:::-;1774:17;;1819:1;1814;1810;:5;;;;:::i;:::-;:10;1802:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1876:1;1869:8;;;1639:246;;;;;:::o;1893:132::-;1951:7;1978:39;1982:1;1985;1978:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1971:46;;1893:132;;;;:::o;9005:98::-;9062:7;9089:1;9087;:3;9086:9;;9094:1;9086:9;;;9092:1;9086:9;9079:16;;9005:98;;;;:::o;1110:179::-;1168:7;1188:9;1204:1;1200;:5;;;;:::i;:::-;1188:17;;1229:1;1224;:6;;1216:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1280:1;1273:8;;;1110:179;;;;:::o;1297:136::-;1355:7;1382:43;1386:1;1389;1382:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1375:50;;1297:136;;;;:::o;2033:189::-;2119:7;2151:1;2147;:5;2154:12;2139:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2178:9;2194:1;2190;:5;;;;:::i;:::-;2178:17;;2213:1;2206:8;;;2033:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:102;6476:8;6523:5;6520:1;6516:13;6495:34;;6434:102;;;:::o;6542:848::-;6603:5;6610:4;6634:6;6625:15;;6658:5;6649:14;;6672:712;6693:1;6683:8;6680:15;6672:712;;;6788:4;6783:3;6779:14;6773:4;6770:24;6767:50;;;6797:18;;:::i;:::-;6767:50;6847:1;6837:8;6833:16;6830:451;;;7262:4;7255:5;7251:16;7242:25;;6830:451;7312:4;7306;7302:15;7294:23;;7342:32;7365:8;7342:32;:::i;:::-;7330:44;;6672:712;;;6542:848;;;;;;;:::o;7396:1073::-;7450:5;7641:8;7631:40;;7662:1;7653:10;;7664:5;;7631:40;7690:4;7680:36;;7707:1;7698:10;;7709:5;;7680:36;7776:4;7824:1;7819:27;;;;7860:1;7855:191;;;;7769:277;;7819:27;7837:1;7828:10;;7839:5;;;7855:191;7900:3;7890:8;7887:17;7884:43;;;7907:18;;:::i;:::-;7884:43;7956:8;7953:1;7949:16;7940:25;;7991:3;7984:5;7981:14;7978:40;;;7998:18;;:::i;:::-;7978:40;8031:5;;;7769:277;;8155:2;8145:8;8142:16;8136:3;8130:4;8127:13;8123:36;8105:2;8095:8;8092:16;8087:2;8081:4;8078:12;8074:35;8058:111;8055:246;;;8211:8;8205:4;8201:19;8192:28;;8246:3;8239:5;8236:14;8233:40;;;8253:18;;:::i;:::-;8233:40;8286:5;;8055:246;8326:42;8364:3;8354:8;8348:4;8345:1;8326:42;:::i;:::-;8311:57;;;;8400:4;8395:3;8391:14;8384:5;8381:25;8378:51;;;8409:18;;:::i;:::-;8378:51;8458:4;8451:5;8447:16;8438:25;;7396:1073;;;;;;:::o;8475:281::-;8533:5;8557:23;8575:4;8557:23;:::i;:::-;8549:31;;8601:25;8617:8;8601:25;:::i;:::-;8589:37;;8645:104;8682:66;8672:8;8666:4;8645:104;:::i;:::-;8636:113;;8475:281;;;;:::o;8762:410::-;8802:7;8825:20;8843:1;8825:20;:::i;:::-;8820:25;;8859:20;8877:1;8859:20;:::i;:::-;8854:25;;8914:1;8911;8907:9;8936:30;8954:11;8936:30;:::i;:::-;8925:41;;9115:1;9106:7;9102:15;9099:1;9096:22;9076:1;9069:9;9049:83;9026:139;;9145:18;;:::i;:::-;9026:139;8810:362;8762:410;;;;:::o;9178:182::-;9318:34;9314:1;9306:6;9302:14;9295:58;9178:182;:::o;9366:366::-;9508:3;9529:67;9593:2;9588:3;9529:67;:::i;:::-;9522:74;;9605:93;9694:3;9605:93;:::i;:::-;9723:2;9718:3;9714:12;9707:19;;9366:366;;;:::o;9738:419::-;9904:4;9942:2;9931:9;9927:18;9919:26;;9991:9;9985:4;9981:20;9977:1;9966:9;9962:17;9955:47;10019:131;10145:4;10019:131;:::i;:::-;10011:139;;9738:419;;;:::o;10163:180::-;10211:77;10208:1;10201:88;10308:4;10305:1;10298:15;10332:4;10329:1;10322:15;10349:185;10389:1;10406:20;10424:1;10406:20;:::i;:::-;10401:25;;10440:20;10458:1;10440:20;:::i;:::-;10435:25;;10479:1;10469:35;;10484:18;;:::i;:::-;10469:35;10526:1;10523;10519:9;10514:14;;10349:185;;;;:::o;10540:173::-;10680:25;10676:1;10668:6;10664:14;10657:49;10540:173;:::o;10719:366::-;10861:3;10882:67;10946:2;10941:3;10882:67;:::i;:::-;10875:74;;10958:93;11047:3;10958:93;:::i;:::-;11076:2;11071:3;11067:12;11060:19;;10719:366;;;:::o;11091:419::-;11257:4;11295:2;11284:9;11280:18;11272:26;;11344:9;11338:4;11334:20;11330:1;11319:9;11315:17;11308:47;11372:131;11498:4;11372:131;:::i;:::-;11364:139;;11091:419;;;:::o;11516:143::-;11573:5;11604:6;11598:13;11589:22;;11620:33;11647:5;11620:33;:::i;:::-;11516:143;;;;:::o;11665:351::-;11735:6;11784:2;11772:9;11763:7;11759:23;11755:32;11752:119;;;11790:79;;:::i;:::-;11752:119;11910:1;11935:64;11991:7;11982:6;11971:9;11967:22;11935:64;:::i;:::-;11925:74;;11881:128;11665:351;;;;:::o;12022:332::-;12143:4;12181:2;12170:9;12166:18;12158:26;;12194:71;12262:1;12251:9;12247:17;12238:6;12194:71;:::i;:::-;12275:72;12343:2;12332:9;12328:18;12319:6;12275:72;:::i;:::-;12022:332;;;;;:::o;12360:85::-;12405:7;12434:5;12423:16;;12360:85;;;:::o;12451:60::-;12479:3;12500:5;12493:12;;12451:60;;;:::o;12517:158::-;12575:9;12608:61;12626:42;12635:32;12661:5;12635:32;:::i;:::-;12626:42;:::i;:::-;12608:61;:::i;:::-;12595:74;;12517:158;;;:::o;12681:147::-;12776:45;12815:5;12776:45;:::i;:::-;12771:3;12764:58;12681:147;;:::o;12834:807::-;13083:4;13121:3;13110:9;13106:19;13098:27;;13135:71;13203:1;13192:9;13188:17;13179:6;13135:71;:::i;:::-;13216:72;13284:2;13273:9;13269:18;13260:6;13216:72;:::i;:::-;13298:80;13374:2;13363:9;13359:18;13350:6;13298:80;:::i;:::-;13388;13464:2;13453:9;13449:18;13440:6;13388:80;:::i;:::-;13478:73;13546:3;13535:9;13531:19;13522:6;13478:73;:::i;:::-;13561;13629:3;13618:9;13614:19;13605:6;13561:73;:::i;:::-;12834:807;;;;;;;;;:::o;13647:143::-;13704:5;13735:6;13729:13;13720:22;;13751:33;13778:5;13751:33;:::i;:::-;13647:143;;;;:::o;13796:663::-;13884:6;13892;13900;13949:2;13937:9;13928:7;13924:23;13920:32;13917:119;;;13955:79;;:::i;:::-;13917:119;14075:1;14100:64;14156:7;14147:6;14136:9;14132:22;14100:64;:::i;:::-;14090:74;;14046:128;14213:2;14239:64;14295:7;14286:6;14275:9;14271:22;14239:64;:::i;:::-;14229:74;;14184:129;14352:2;14378:64;14434:7;14425:6;14414:9;14410:22;14378:64;:::i;:::-;14368:74;;14323:129;13796:663;;;;;:::o;14465:332::-;14586:4;14624:2;14613:9;14609:18;14601:26;;14637:71;14705:1;14694:9;14690:17;14681:6;14637:71;:::i;:::-;14718:72;14786:2;14775:9;14771:18;14762:6;14718:72;:::i;:::-;14465:332;;;;;:::o;14803:116::-;14873:21;14888:5;14873:21;:::i;:::-;14866:5;14863:32;14853:60;;14909:1;14906;14899:12;14853:60;14803:116;:::o;14925:137::-;14979:5;15010:6;15004:13;14995:22;;15026:30;15050:5;15026:30;:::i;:::-;14925:137;;;;:::o;15068:345::-;15135:6;15184:2;15172:9;15163:7;15159:23;15155:32;15152:119;;;15190:79;;:::i;:::-;15152:119;15310:1;15335:61;15388:7;15379:6;15368:9;15364:22;15335:61;:::i;:::-;15325:71;;15281:125;15068:345;;;;:::o;15419:179::-;15559:31;15555:1;15547:6;15543:14;15536:55;15419:179;:::o;15604:366::-;15746:3;15767:67;15831:2;15826:3;15767:67;:::i;:::-;15760:74;;15843:93;15932:3;15843:93;:::i;:::-;15961:2;15956:3;15952:12;15945:19;;15604:366;;;:::o;15976:419::-;16142:4;16180:2;16169:9;16165:18;16157:26;;16229:9;16223:4;16219:20;16215:1;16204:9;16200:17;16193:47;16257:131;16383:4;16257:131;:::i;:::-;16249:139;;15976:419;;;:::o;16401:223::-;16541:34;16537:1;16529:6;16525:14;16518:58;16610:6;16605:2;16597:6;16593:15;16586:31;16401:223;:::o;16630:366::-;16772:3;16793:67;16857:2;16852:3;16793:67;:::i;:::-;16786:74;;16869:93;16958:3;16869:93;:::i;:::-;16987:2;16982:3;16978:12;16971:19;;16630:366;;;:::o;17002:419::-;17168:4;17206:2;17195:9;17191:18;17183:26;;17255:9;17249:4;17245:20;17241:1;17230:9;17226:17;17219:47;17283:131;17409:4;17283:131;:::i;:::-;17275:139;;17002:419;;;:::o;17427:221::-;17567:34;17563:1;17555:6;17551:14;17544:58;17636:4;17631:2;17623:6;17619:15;17612:29;17427:221;:::o;17654:366::-;17796:3;17817:67;17881:2;17876:3;17817:67;:::i;:::-;17810:74;;17893:93;17982:3;17893:93;:::i;:::-;18011:2;18006:3;18002:12;17995:19;;17654:366;;;:::o;18026:419::-;18192:4;18230:2;18219:9;18215:18;18207:26;;18279:9;18273:4;18269:20;18265:1;18254:9;18250:17;18243:47;18307:131;18433:4;18307:131;:::i;:::-;18299:139;;18026:419;;;:::o;18451:224::-;18591:34;18587:1;18579:6;18575:14;18568:58;18660:7;18655:2;18647:6;18643:15;18636:32;18451:224;:::o;18681:366::-;18823:3;18844:67;18908:2;18903:3;18844:67;:::i;:::-;18837:74;;18920:93;19009:3;18920:93;:::i;:::-;19038:2;19033:3;19029:12;19022:19;;18681:366;;;:::o;19053:419::-;19219:4;19257:2;19246:9;19242:18;19234:26;;19306:9;19300:4;19296:20;19292:1;19281:9;19277:17;19270:47;19334:131;19460:4;19334:131;:::i;:::-;19326:139;;19053:419;;;:::o;19478:222::-;19618:34;19614:1;19606:6;19602:14;19595:58;19687:5;19682:2;19674:6;19670:15;19663:30;19478:222;:::o;19706:366::-;19848:3;19869:67;19933:2;19928:3;19869:67;:::i;:::-;19862:74;;19945:93;20034:3;19945:93;:::i;:::-;20063:2;20058:3;20054:12;20047:19;;19706:366;;;:::o;20078:419::-;20244:4;20282:2;20271:9;20267:18;20259:26;;20331:9;20325:4;20321:20;20317:1;20306:9;20302:17;20295:47;20359:131;20485:4;20359:131;:::i;:::-;20351:139;;20078:419;;;:::o;20503:228::-;20643:34;20639:1;20631:6;20627:14;20620:58;20712:11;20707:2;20699:6;20695:15;20688:36;20503:228;:::o;20737:366::-;20879:3;20900:67;20964:2;20959:3;20900:67;:::i;:::-;20893:74;;20976:93;21065:3;20976:93;:::i;:::-;21094:2;21089:3;21085:12;21078:19;;20737:366;;;:::o;21109:419::-;21275:4;21313:2;21302:9;21298:18;21290:26;;21362:9;21356:4;21352:20;21348:1;21337:9;21333:17;21326:47;21390:131;21516:4;21390:131;:::i;:::-;21382:139;;21109:419;;;:::o;21534:175::-;21674:27;21670:1;21662:6;21658:14;21651:51;21534:175;:::o;21715:366::-;21857:3;21878:67;21942:2;21937:3;21878:67;:::i;:::-;21871:74;;21954:93;22043:3;21954:93;:::i;:::-;22072:2;22067:3;22063:12;22056:19;;21715:366;;;:::o;22087:419::-;22253:4;22291:2;22280:9;22276:18;22268:26;;22340:9;22334:4;22330:20;22326:1;22315:9;22311:17;22304:47;22368:131;22494:4;22368:131;:::i;:::-;22360:139;;22087:419;;;:::o;22512:191::-;22552:3;22571:20;22589:1;22571:20;:::i;:::-;22566:25;;22605:20;22623:1;22605:20;:::i;:::-;22600:25;;22648:1;22645;22641:9;22634:16;;22669:3;22666:1;22663:10;22660:36;;;22676:18;;:::i;:::-;22660:36;22512:191;;;;:::o;22709:176::-;22849:28;22845:1;22837:6;22833:14;22826:52;22709:176;:::o;22891:366::-;23033:3;23054:67;23118:2;23113:3;23054:67;:::i;:::-;23047:74;;23130:93;23219:3;23130:93;:::i;:::-;23248:2;23243:3;23239:12;23232:19;;22891:366;;;:::o;23263:419::-;23429:4;23467:2;23456:9;23452:18;23444:26;;23516:9;23510:4;23506:20;23502:1;23491:9;23487:17;23480:47;23544:131;23670:4;23544:131;:::i;:::-;23536:139;;23263:419;;;:::o;23688:233::-;23727:3;23750:24;23768:5;23750:24;:::i;:::-;23741:33;;23796:66;23789:5;23786:77;23783:103;;23866:18;;:::i;:::-;23783:103;23913:1;23906:5;23902:13;23895:20;;23688:233;;;:::o;23927:194::-;23967:4;23987:20;24005:1;23987:20;:::i;:::-;23982:25;;24021:20;24039:1;24021:20;:::i;:::-;24016:25;;24065:1;24062;24058:9;24050:17;;24089:1;24083:4;24080:11;24077:37;;;24094:18;;:::i;:::-;24077:37;23927:194;;;;:::o;24127:180::-;24175:77;24172:1;24165:88;24272:4;24269:1;24262:15;24296:4;24293:1;24286:15;24313:180;24361:77;24358:1;24351:88;24458:4;24455:1;24448:15;24482:4;24479:1;24472:15;24499:114;24566:6;24600:5;24594:12;24584:22;;24499:114;;;:::o;24619:184::-;24718:11;24752:6;24747:3;24740:19;24792:4;24787:3;24783:14;24768:29;;24619:184;;;;:::o;24809:132::-;24876:4;24899:3;24891:11;;24929:4;24924:3;24920:14;24912:22;;24809:132;;;:::o;24947:108::-;25024:24;25042:5;25024:24;:::i;:::-;25019:3;25012:37;24947:108;;:::o;25061:179::-;25130:10;25151:46;25193:3;25185:6;25151:46;:::i;:::-;25229:4;25224:3;25220:14;25206:28;;25061:179;;;;:::o;25246:113::-;25316:4;25348;25343:3;25339:14;25331:22;;25246:113;;;:::o;25395:732::-;25514:3;25543:54;25591:5;25543:54;:::i;:::-;25613:86;25692:6;25687:3;25613:86;:::i;:::-;25606:93;;25723:56;25773:5;25723:56;:::i;:::-;25802:7;25833:1;25818:284;25843:6;25840:1;25837:13;25818:284;;;25919:6;25913:13;25946:63;26005:3;25990:13;25946:63;:::i;:::-;25939:70;;26032:60;26085:6;26032:60;:::i;:::-;26022:70;;25878:224;25865:1;25862;25858:9;25853:14;;25818:284;;;25822:14;26118:3;26111:10;;25519:608;;;25395:732;;;;:::o;26133:831::-;26396:4;26434:3;26423:9;26419:19;26411:27;;26448:71;26516:1;26505:9;26501:17;26492:6;26448:71;:::i;:::-;26529:80;26605:2;26594:9;26590:18;26581:6;26529:80;:::i;:::-;26656:9;26650:4;26646:20;26641:2;26630:9;26626:18;26619:48;26684:108;26787:4;26778:6;26684:108;:::i;:::-;26676:116;;26802:72;26870:2;26859:9;26855:18;26846:6;26802:72;:::i;:::-;26884:73;26952:3;26941:9;26937:19;26928:6;26884:73;:::i;:::-;26133:831;;;;;;;;:::o;26970:220::-;27110:34;27106:1;27098:6;27094:14;27087:58;27179:3;27174:2;27166:6;27162:15;27155:28;26970:220;:::o;27196:366::-;27338:3;27359:67;27423:2;27418:3;27359:67;:::i;:::-;27352:74;;27435:93;27524:3;27435:93;:::i;:::-;27553:2;27548:3;27544:12;27537:19;;27196:366;;;:::o;27568:419::-;27734:4;27772:2;27761:9;27757:18;27749:26;;27821:9;27815:4;27811:20;27807:1;27796:9;27792:17;27785:47;27849:131;27975:4;27849:131;:::i;:::-;27841:139;;27568:419;;;:::o;27993:177::-;28133:29;28129:1;28121:6;28117:14;28110:53;27993:177;:::o;28176:366::-;28318:3;28339:67;28403:2;28398:3;28339:67;:::i;:::-;28332:74;;28415:93;28504:3;28415:93;:::i;:::-;28533:2;28528:3;28524:12;28517:19;;28176:366;;;:::o;28548:419::-;28714:4;28752:2;28741:9;28737:18;28729:26;;28801:9;28795:4;28791:20;28787:1;28776:9;28772:17;28765:47;28829:131;28955:4;28829:131;:::i;:::-;28821:139;;28548:419;;;:::o
Swarm Source
ipfs://06b7067ff936a74166e8fdbc573ac2c3863ec56bad948ddc889ccbfb6136eee0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.