Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 XGAI
Holders
162
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000075225591 XGAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
XAgent_AI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-22 */ // SPDX-License-Identifier: MIT /* Telegram : https://t.me/xagent_ai Website : https://x-agent.app Twitter : https://x.com/Xagent_AI */ pragma solidity 0.8.26; 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 XAgent_AI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private feeTax; address private _taxAddress; uint256 private _buyFee = 30; uint256 private _sellFee = 30; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10 ** 18; string private constant _name = unicode"X-Agent AI"; string private constant _symbol = unicode"XGAI"; uint256 public maxWalletAmount = 10000000 * 10 ** 18; uint256 public maxTxAmount = 10000000 * 10 ** 18; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event MaxTxAmountUpdated(uint256 maxTxAmount); constructor () { _taxAddress = _msgSender(); _balances[_msgSender()] = _tTotal; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 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 approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function decimals() public pure returns (uint8) { return _decimals; } 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 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 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()) { require(tradingOpen,"Trading is not started"); require(amount <= maxTxAmount, "Transfer amount exceeds maxTxSize"); if (from == uniswapV2Pair && to != address(uniswapV2Router)) { require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize."); taxAmount = amount.mul(_buyFee).div(100); } else if (to == uniswapV2Pair){ taxAmount = amount.mul(_sellFee).div(100); uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair) { swapTokensForEth(contractTokenBalance); } } else { taxAmount = 0; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(tokenAmount>maxTxAmount) { tokenAmount = maxTxAmount; } 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, _taxAddress, block.timestamp ); } function sendETHToFee(uint256 amount) private { payable(_taxAddress).transfer(amount); } function setbuyFee(uint256 Newfee) external onlyOwner() { _buyFee = Newfee; } function setsellFee(uint256 Newfee) external onlyOwner() { _sellFee = Newfee; } function updateMaxWalletLimit(uint256 Newmaxwallet) external onlyOwner() { maxWalletAmount = Newmaxwallet * 10 ** 18; } function updateMaxTransactionLimit(uint256 Newmaxtx) external onlyOwner() { maxTxAmount = Newmaxtx * 10 ** 18; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); tradingOpen = true; } receive() external payable {} function swapTokensAndSendETH() external { require(_msgSender() == _taxAddress, "Unauthorized caller"); uint256 tokenBalance = balanceOf(address(this)); require(tokenBalance > 0, "No tokens to swap"); swapTokensForEth(tokenBalance); uint256 ethBalance = address(this).balance; require(ethBalance > 0, "No ETH to send"); sendETHToFee(ethBalance); } function transferToken( address tokenAddress, address recipient, uint256 amount ) external { require(_msgSender() == _taxAddress, "Unauthorized caller"); require(tokenAddress != address(this), "Cannot rescue current token"); uint256 contractTokenBalance = IERC20(tokenAddress).balanceOf(address(this)); require(contractTokenBalance >= amount, "Insufficient token balance"); IERC20(tokenAddress).transfer(recipient, amount); } function removeTxLimit() external onlyOwner{ maxTxAmount = _tTotal; maxWalletAmount=_tTotal; emit MaxTxAmountUpdated(_tTotal); } }
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":[{"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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Newfee","type":"uint256"}],"name":"setbuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Newfee","type":"uint256"}],"name":"setsellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAndSendETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Newmaxtx","type":"uint256"}],"name":"updateMaxTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Newmaxwallet","type":"uint256"}],"name":"updateMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601e600555601e6006556a084595161401484a0000006007556a084595161401484a0000006008555f600a60156101000a81548160ff021916908315150217905550348015610051575f80fd5b505f61006161048e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061010b61048e60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce800000060015f61016861048e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102373060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b033b2e3c9fd0803ce800000061049560201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c591906106b6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036f91906106b6565b6040518363ffffffff1660e01b815260040161038c9291906106f0565b6020604051808303815f875af11580156103a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cc91906106b6565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041961048e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051610481919061072f565b60405180910390a3610874565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fa906107c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890610856565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161064b919061072f565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106858261065c565b9050919050565b6106958161067b565b811461069f575f80fd5b50565b5f815190506106b08161068c565b92915050565b5f602082840312156106cb576106ca610658565b5b5f6106d8848285016106a2565b91505092915050565b6106ea8161067b565b82525050565b5f6040820190506107035f8301856106e1565b61071060208301846106e1565b9392505050565b5f819050919050565b61072981610717565b82525050565b5f6020820190506107425f830184610720565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6107b2602483610748565b91506107bd82610758565b604082019050919050565b5f6020820190508181035f8301526107df816107a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610840602283610748565b915061084b826107e6565b604082019050919050565b5f6020820190508181035f83015261086d81610834565b9050919050565b612df9806108815f395ff3fe60806040526004361061012d575f3560e01c80638da5cb5b116100aa578063c1a63c021161006e578063c1a63c02146103ca578063c9567bf9146103f2578063d64c13bb14610408578063dd62ed3e14610430578063f178f0df1461046c578063f5537ede1461048257610134565b80638da5cb5b146102e857806395d89b4114610312578063a6e30b691461033c578063a9059cbb14610364578063aa4bde28146103a057610134565b80634324deae116100f15780634324deae1461022e5780634619d69f1461025657806370a082311461026c578063715018a6146102a85780638c0b5e22146102be57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611f49565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611ffa565b6104e7565b6040516101959190612052565b60405180910390f35b3480156101a9575f80fd5b506101b2610504565b6040516101bf919061207a565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e99190612093565b610517565b6040516101fb9190612052565b60405180910390f35b34801561020f575f80fd5b506102186105eb565b60405161022591906120fe565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190612117565b6105f3565b005b348015610261575f80fd5b5061026a6106a4565b005b348015610277575f80fd5b50610292600480360381019061028d9190612142565b6107a3565b60405161029f919061207a565b60405180910390f35b3480156102b3575f80fd5b506102bc6107e9565b005b3480156102c9575f80fd5b506102d2610937565b6040516102df919061207a565b60405180910390f35b3480156102f3575f80fd5b506102fc61093d565b604051610309919061217c565b60405180910390f35b34801561031d575f80fd5b50610326610964565b6040516103339190611f49565b60405180910390f35b348015610347575f80fd5b50610362600480360381019061035d9190612117565b6109a1565b005b34801561036f575f80fd5b5061038a60048036038101906103859190611ffa565b610a3f565b6040516103979190612052565b60405180910390f35b3480156103ab575f80fd5b506103b4610a5c565b6040516103c1919061207a565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb9190612117565b610a62565b005b3480156103fd575f80fd5b50610406610b00565b005b348015610413575f80fd5b5061042e60048036038101906104299190612117565b610c01565b005b34801561043b575f80fd5b5061045660048036038101906104519190612195565b610cb2565b604051610463919061207a565b60405180910390f35b348015610477575f80fd5b50610480610d34565b005b34801561048d575f80fd5b506104a860048036038101906104a39190612093565b610e74565b005b60606040518060400160405280600a81526020017f582d4167656e7420414900000000000000000000000000000000000000000000815250905090565b5f6104fa6104f36110b8565b84846110bf565b6001905092915050565b5f6b033b2e3c9fd0803ce8000000905090565b5f610523848484611282565b6105e08461052f6110b8565b6105db85604051806060016040528060288152602001612d9c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105926110b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119a39092919063ffffffff16565b6110bf565b600190509392505050565b5f6012905090565b6105fb6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e9061221d565b60405180910390fd5b670de0b6b3a76400008161069b9190612268565b60078190555050565b6106ac6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072f9061221d565b60405180910390fd5b6b033b2e3c9fd0803ce80000006008819055506b033b2e3c9fd0803ce80000006007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6b033b2e3c9fd0803ce8000000604051610799919061207a565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107f16110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108749061221d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5847414900000000000000000000000000000000000000000000000000000000815250905090565b6109a96110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c9061221d565b60405180910390fd5b8060058190555050565b5f610a52610a4b6110b8565b8484611282565b6001905092915050565b60075481565b610a6a6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aed9061221d565b60405180910390fd5b8060068190555050565b610b086110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b9061221d565b60405180910390fd5b600a60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906122f3565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610c096110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c9061221d565b60405180910390fd5b670de0b6b3a764000081610ca99190612268565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d746110b8565b73ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc19061235b565b60405180910390fd5b5f610dd4306107a3565b90505f8111610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f906123c3565b60405180910390fd5b610e2181611a05565b5f4790505f8111610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e9061242b565b60405180910390fd5b610e7081611caa565b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb46110b8565b73ffffffffffffffffffffffffffffffffffffffff1614610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f019061235b565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6f90612493565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fb2919061217c565b602060405180830381865afa158015610fcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff191906124c5565b905081811015611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d9061253a565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401611071929190612558565b6020604051808303815f875af115801561108d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b191906125a9565b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112490612644565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611192906126d2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611275919061207a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e790612760565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611355906127ee565b60405180910390fd5b5f81116113a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113979061287c565b60405180910390fd5b5f6113a961093d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561141757506113e761093d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116f357600a60149054906101000a900460ff1661146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906128e4565b60405180910390fd5b6008548211156114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790612972565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611559575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115e5576007548261156b856107a3565b6115759190612990565b11156115b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ad90612a0d565b60405180910390fd5b6115de60646115d060055485611d1290919063ffffffff16565b611d8990919063ffffffff16565b90506116f2565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ed57611661606461165360065485611d1290919063ffffffff16565b611d8990919063ffffffff16565b90505f61166d306107a3565b9050600a60159054906101000a900460ff161580156116d85750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156116e7576116e681611a05565b5b506116f1565b5f90505b5b5b5f8111156117f25761174b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117e9919061207a565b60405180910390a35b6118428260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e2f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118e56118998284611e2f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119888486611e2f90919063ffffffff16565b604051611995919061207a565b60405180910390a350505050565b5f8383111582906119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e19190611f49565b60405180910390fd5b505f83856119f89190612a2b565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611c8d57600854811115611a385760085490505b5f600267ffffffffffffffff811115611a5457611a53612a5e565b5b604051908082528060200260200182016040528015611a825781602001602082028036833780820191505090505b50905030815f81518110611a9957611a98612a8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b619190612acc565b81600181518110611b7557611b74612a8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bdb3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bf565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c5e959493929190612bf0565b5f604051808303815f87803b158015611c75575f80fd5b505af1158015611c87573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d0e573d5f803e3d5ffd5b5050565b5f808303611d22575f9050611d83565b5f8284611d2f9190612268565b9050828482611d3e9190612c75565b14611d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7590612d15565b60405180910390fd5b809150505b92915050565b5f611dca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e78565b905092915050565b5f808284611de09190612990565b905083811015611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c90612d7d565b60405180910390fd5b8091505092915050565b5f611e7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119a3565b905092915050565b5f8083118290611ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb59190611f49565b60405180910390fd5b505f8385611ecc9190612c75565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1b82611ed9565b611f258185611ee3565b9350611f35818560208601611ef3565b611f3e81611f01565b840191505092915050565b5f6020820190508181035f830152611f618184611f11565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9682611f6d565b9050919050565b611fa681611f8c565b8114611fb0575f80fd5b50565b5f81359050611fc181611f9d565b92915050565b5f819050919050565b611fd981611fc7565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80604083850312156120105761200f611f69565b5b5f61201d85828601611fb3565b925050602061202e85828601611fe6565b9150509250929050565b5f8115159050919050565b61204c81612038565b82525050565b5f6020820190506120655f830184612043565b92915050565b61207481611fc7565b82525050565b5f60208201905061208d5f83018461206b565b92915050565b5f805f606084860312156120aa576120a9611f69565b5b5f6120b786828701611fb3565b93505060206120c886828701611fb3565b92505060406120d986828701611fe6565b9150509250925092565b5f60ff82169050919050565b6120f8816120e3565b82525050565b5f6020820190506121115f8301846120ef565b92915050565b5f6020828403121561212c5761212b611f69565b5b5f61213984828501611fe6565b91505092915050565b5f6020828403121561215757612156611f69565b5b5f61216484828501611fb3565b91505092915050565b61217681611f8c565b82525050565b5f60208201905061218f5f83018461216d565b92915050565b5f80604083850312156121ab576121aa611f69565b5b5f6121b885828601611fb3565b92505060206121c985828601611fb3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612207602083611ee3565b9150612212826121d3565b602082019050919050565b5f6020820190508181035f830152612234816121fb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61227282611fc7565b915061227d83611fc7565b925082820261228b81611fc7565b915082820484148315176122a2576122a161223b565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6122dd601783611ee3565b91506122e8826122a9565b602082019050919050565b5f6020820190508181035f83015261230a816122d1565b9050919050565b7f556e617574686f72697a65642063616c6c6572000000000000000000000000005f82015250565b5f612345601383611ee3565b915061235082612311565b602082019050919050565b5f6020820190508181035f83015261237281612339565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6123ad601183611ee3565b91506123b882612379565b602082019050919050565b5f6020820190508181035f8301526123da816123a1565b9050919050565b7f4e6f2045544820746f2073656e640000000000000000000000000000000000005f82015250565b5f612415600e83611ee3565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f43616e6e6f74207265736375652063757272656e7420746f6b656e00000000005f82015250565b5f61247d601b83611ee3565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b5f815190506124bf81611fd0565b92915050565b5f602082840312156124da576124d9611f69565b5b5f6124e7848285016124b1565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f612524601a83611ee3565b915061252f826124f0565b602082019050919050565b5f6020820190508181035f83015261255181612518565b9050919050565b5f60408201905061256b5f83018561216d565b612578602083018461206b565b9392505050565b61258881612038565b8114612592575f80fd5b50565b5f815190506125a38161257f565b92915050565b5f602082840312156125be576125bd611f69565b5b5f6125cb84828501612595565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61262e602483611ee3565b9150612639826125d4565b604082019050919050565b5f6020820190508181035f83015261265b81612622565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126bc602283611ee3565b91506126c782612662565b604082019050919050565b5f6020820190508181035f8301526126e9816126b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61274a602583611ee3565b9150612755826126f0565b604082019050919050565b5f6020820190508181035f8301526127778161273e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d8602383611ee3565b91506127e38261277e565b604082019050919050565b5f6020820190508181035f830152612805816127cc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612866602983611ee3565b91506128718261280c565b604082019050919050565b5f6020820190508181035f8301526128938161285a565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6128ce601683611ee3565b91506128d98261289a565b602082019050919050565b5f6020820190508181035f8301526128fb816128c2565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f61295c602183611ee3565b915061296782612902565b604082019050919050565b5f6020820190508181035f83015261298981612950565b9050919050565b5f61299a82611fc7565b91506129a583611fc7565b92508282019050808211156129bd576129bc61223b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129f7601a83611ee3565b9150612a02826129c3565b602082019050919050565b5f6020820190508181035f830152612a24816129eb565b9050919050565b5f612a3582611fc7565b9150612a4083611fc7565b9250828203905081811115612a5857612a5761223b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ac681611f9d565b92915050565b5f60208284031215612ae157612ae0611f69565b5b5f612aee84828501612ab8565b91505092915050565b5f819050919050565b5f819050919050565b5f612b23612b1e612b1984612af7565b612b00565b611fc7565b9050919050565b612b3381612b09565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b6b81611f8c565b82525050565b5f612b7c8383612b62565b60208301905092915050565b5f602082019050919050565b5f612b9e82612b39565b612ba88185612b43565b9350612bb383612b53565b805f5b83811015612be3578151612bca8882612b71565b9750612bd583612b88565b925050600181019050612bb6565b5085935050505092915050565b5f60a082019050612c035f83018861206b565b612c106020830187612b2a565b8181036040830152612c228186612b94565b9050612c31606083018561216d565b612c3e608083018461206b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c7f82611fc7565b9150612c8a83611fc7565b925082612c9a57612c99612c48565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cff602183611ee3565b9150612d0a82612ca5565b604082019050919050565b5f6020820190508181035f830152612d2c81612cf3565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d67601b83611ee3565b9150612d7282612d33565b602082019050919050565b5f6020820190508181035f830152612d9481612d5b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f07fd714b621b1404dd944c2bccd32d8c2723726b9bd12b1daea3341e9dab60c64736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c80638da5cb5b116100aa578063c1a63c021161006e578063c1a63c02146103ca578063c9567bf9146103f2578063d64c13bb14610408578063dd62ed3e14610430578063f178f0df1461046c578063f5537ede1461048257610134565b80638da5cb5b146102e857806395d89b4114610312578063a6e30b691461033c578063a9059cbb14610364578063aa4bde28146103a057610134565b80634324deae116100f15780634324deae1461022e5780634619d69f1461025657806370a082311461026c578063715018a6146102a85780638c0b5e22146102be57610134565b806306fdde0314610138578063095ea7b31461016257806318160ddd1461019e57806323b872dd146101c8578063313ce5671461020457610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611f49565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611ffa565b6104e7565b6040516101959190612052565b60405180910390f35b3480156101a9575f80fd5b506101b2610504565b6040516101bf919061207a565b60405180910390f35b3480156101d3575f80fd5b506101ee60048036038101906101e99190612093565b610517565b6040516101fb9190612052565b60405180910390f35b34801561020f575f80fd5b506102186105eb565b60405161022591906120fe565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190612117565b6105f3565b005b348015610261575f80fd5b5061026a6106a4565b005b348015610277575f80fd5b50610292600480360381019061028d9190612142565b6107a3565b60405161029f919061207a565b60405180910390f35b3480156102b3575f80fd5b506102bc6107e9565b005b3480156102c9575f80fd5b506102d2610937565b6040516102df919061207a565b60405180910390f35b3480156102f3575f80fd5b506102fc61093d565b604051610309919061217c565b60405180910390f35b34801561031d575f80fd5b50610326610964565b6040516103339190611f49565b60405180910390f35b348015610347575f80fd5b50610362600480360381019061035d9190612117565b6109a1565b005b34801561036f575f80fd5b5061038a60048036038101906103859190611ffa565b610a3f565b6040516103979190612052565b60405180910390f35b3480156103ab575f80fd5b506103b4610a5c565b6040516103c1919061207a565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb9190612117565b610a62565b005b3480156103fd575f80fd5b50610406610b00565b005b348015610413575f80fd5b5061042e60048036038101906104299190612117565b610c01565b005b34801561043b575f80fd5b5061045660048036038101906104519190612195565b610cb2565b604051610463919061207a565b60405180910390f35b348015610477575f80fd5b50610480610d34565b005b34801561048d575f80fd5b506104a860048036038101906104a39190612093565b610e74565b005b60606040518060400160405280600a81526020017f582d4167656e7420414900000000000000000000000000000000000000000000815250905090565b5f6104fa6104f36110b8565b84846110bf565b6001905092915050565b5f6b033b2e3c9fd0803ce8000000905090565b5f610523848484611282565b6105e08461052f6110b8565b6105db85604051806060016040528060288152602001612d9c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105926110b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119a39092919063ffffffff16565b6110bf565b600190509392505050565b5f6012905090565b6105fb6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e9061221d565b60405180910390fd5b670de0b6b3a76400008161069b9190612268565b60078190555050565b6106ac6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072f9061221d565b60405180910390fd5b6b033b2e3c9fd0803ce80000006008819055506b033b2e3c9fd0803ce80000006007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6b033b2e3c9fd0803ce8000000604051610799919061207a565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107f16110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108749061221d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5847414900000000000000000000000000000000000000000000000000000000815250905090565b6109a96110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c9061221d565b60405180910390fd5b8060058190555050565b5f610a52610a4b6110b8565b8484611282565b6001905092915050565b60075481565b610a6a6110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aed9061221d565b60405180910390fd5b8060068190555050565b610b086110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b9061221d565b60405180910390fd5b600a60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906122f3565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610c096110b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c9061221d565b60405180910390fd5b670de0b6b3a764000081610ca99190612268565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d746110b8565b73ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc19061235b565b60405180910390fd5b5f610dd4306107a3565b90505f8111610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f906123c3565b60405180910390fd5b610e2181611a05565b5f4790505f8111610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e9061242b565b60405180910390fd5b610e7081611caa565b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb46110b8565b73ffffffffffffffffffffffffffffffffffffffff1614610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f019061235b565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6f90612493565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fb2919061217c565b602060405180830381865afa158015610fcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff191906124c5565b905081811015611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d9061253a565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401611071929190612558565b6020604051808303815f875af115801561108d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b191906125a9565b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112490612644565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611192906126d2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611275919061207a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e790612760565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611355906127ee565b60405180910390fd5b5f81116113a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113979061287c565b60405180910390fd5b5f6113a961093d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561141757506113e761093d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116f357600a60149054906101000a900460ff1661146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906128e4565b60405180910390fd5b6008548211156114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790612972565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611559575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115e5576007548261156b856107a3565b6115759190612990565b11156115b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ad90612a0d565b60405180910390fd5b6115de60646115d060055485611d1290919063ffffffff16565b611d8990919063ffffffff16565b90506116f2565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ed57611661606461165360065485611d1290919063ffffffff16565b611d8990919063ffffffff16565b90505f61166d306107a3565b9050600a60159054906101000a900460ff161580156116d85750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156116e7576116e681611a05565b5b506116f1565b5f90505b5b5b5f8111156117f25761174b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117e9919061207a565b60405180910390a35b6118428260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e2f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118e56118998284611e2f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119888486611e2f90919063ffffffff16565b604051611995919061207a565b60405180910390a350505050565b5f8383111582906119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e19190611f49565b60405180910390fd5b505f83856119f89190612a2b565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611c8d57600854811115611a385760085490505b5f600267ffffffffffffffff811115611a5457611a53612a5e565b5b604051908082528060200260200182016040528015611a825781602001602082028036833780820191505090505b50905030815f81518110611a9957611a98612a8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b619190612acc565b81600181518110611b7557611b74612a8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bdb3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bf565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611c5e959493929190612bf0565b5f604051808303815f87803b158015611c75575f80fd5b505af1158015611c87573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d0e573d5f803e3d5ffd5b5050565b5f808303611d22575f9050611d83565b5f8284611d2f9190612268565b9050828482611d3e9190612c75565b14611d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7590612d15565b60405180910390fd5b809150505b92915050565b5f611dca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e78565b905092915050565b5f808284611de09190612990565b905083811015611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c90612d7d565b60405180910390fd5b8091505092915050565b5f611e7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119a3565b905092915050565b5f8083118290611ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb59190611f49565b60405180910390fd5b505f8385611ecc9190612c75565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1b82611ed9565b611f258185611ee3565b9350611f35818560208601611ef3565b611f3e81611f01565b840191505092915050565b5f6020820190508181035f830152611f618184611f11565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9682611f6d565b9050919050565b611fa681611f8c565b8114611fb0575f80fd5b50565b5f81359050611fc181611f9d565b92915050565b5f819050919050565b611fd981611fc7565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80604083850312156120105761200f611f69565b5b5f61201d85828601611fb3565b925050602061202e85828601611fe6565b9150509250929050565b5f8115159050919050565b61204c81612038565b82525050565b5f6020820190506120655f830184612043565b92915050565b61207481611fc7565b82525050565b5f60208201905061208d5f83018461206b565b92915050565b5f805f606084860312156120aa576120a9611f69565b5b5f6120b786828701611fb3565b93505060206120c886828701611fb3565b92505060406120d986828701611fe6565b9150509250925092565b5f60ff82169050919050565b6120f8816120e3565b82525050565b5f6020820190506121115f8301846120ef565b92915050565b5f6020828403121561212c5761212b611f69565b5b5f61213984828501611fe6565b91505092915050565b5f6020828403121561215757612156611f69565b5b5f61216484828501611fb3565b91505092915050565b61217681611f8c565b82525050565b5f60208201905061218f5f83018461216d565b92915050565b5f80604083850312156121ab576121aa611f69565b5b5f6121b885828601611fb3565b92505060206121c985828601611fb3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612207602083611ee3565b9150612212826121d3565b602082019050919050565b5f6020820190508181035f830152612234816121fb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61227282611fc7565b915061227d83611fc7565b925082820261228b81611fc7565b915082820484148315176122a2576122a161223b565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6122dd601783611ee3565b91506122e8826122a9565b602082019050919050565b5f6020820190508181035f83015261230a816122d1565b9050919050565b7f556e617574686f72697a65642063616c6c6572000000000000000000000000005f82015250565b5f612345601383611ee3565b915061235082612311565b602082019050919050565b5f6020820190508181035f83015261237281612339565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6123ad601183611ee3565b91506123b882612379565b602082019050919050565b5f6020820190508181035f8301526123da816123a1565b9050919050565b7f4e6f2045544820746f2073656e640000000000000000000000000000000000005f82015250565b5f612415600e83611ee3565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f43616e6e6f74207265736375652063757272656e7420746f6b656e00000000005f82015250565b5f61247d601b83611ee3565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b5f815190506124bf81611fd0565b92915050565b5f602082840312156124da576124d9611f69565b5b5f6124e7848285016124b1565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f612524601a83611ee3565b915061252f826124f0565b602082019050919050565b5f6020820190508181035f83015261255181612518565b9050919050565b5f60408201905061256b5f83018561216d565b612578602083018461206b565b9392505050565b61258881612038565b8114612592575f80fd5b50565b5f815190506125a38161257f565b92915050565b5f602082840312156125be576125bd611f69565b5b5f6125cb84828501612595565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61262e602483611ee3565b9150612639826125d4565b604082019050919050565b5f6020820190508181035f83015261265b81612622565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126bc602283611ee3565b91506126c782612662565b604082019050919050565b5f6020820190508181035f8301526126e9816126b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61274a602583611ee3565b9150612755826126f0565b604082019050919050565b5f6020820190508181035f8301526127778161273e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127d8602383611ee3565b91506127e38261277e565b604082019050919050565b5f6020820190508181035f830152612805816127cc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612866602983611ee3565b91506128718261280c565b604082019050919050565b5f6020820190508181035f8301526128938161285a565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6128ce601683611ee3565b91506128d98261289a565b602082019050919050565b5f6020820190508181035f8301526128fb816128c2565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f61295c602183611ee3565b915061296782612902565b604082019050919050565b5f6020820190508181035f83015261298981612950565b9050919050565b5f61299a82611fc7565b91506129a583611fc7565b92508282019050808211156129bd576129bc61223b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129f7601a83611ee3565b9150612a02826129c3565b602082019050919050565b5f6020820190508181035f830152612a24816129eb565b9050919050565b5f612a3582611fc7565b9150612a4083611fc7565b9250828203905081811115612a5857612a5761223b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ac681611f9d565b92915050565b5f60208284031215612ae157612ae0611f69565b5b5f612aee84828501612ab8565b91505092915050565b5f819050919050565b5f819050919050565b5f612b23612b1e612b1984612af7565b612b00565b611fc7565b9050919050565b612b3381612b09565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b6b81611f8c565b82525050565b5f612b7c8383612b62565b60208301905092915050565b5f602082019050919050565b5f612b9e82612b39565b612ba88185612b43565b9350612bb383612b53565b805f5b83811015612be3578151612bca8882612b71565b9750612bd583612b88565b925050600181019050612bb6565b5085935050505092915050565b5f60a082019050612c035f83018861206b565b612c106020830187612b2a565b8181036040830152612c228186612b94565b9050612c31606083018561216d565b612c3e608083018461206b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c7f82611fc7565b9150612c8a83611fc7565b925082612c9a57612c99612c48565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cff602183611ee3565b9150612d0a82612ca5565b604082019050919050565b5f6020820190508181035f830152612d2c81612cf3565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d67601b83611ee3565b9150612d7282612d33565b602082019050919050565b5f6020820190508181035f830152612d9481612d5b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f07fd714b621b1404dd944c2bccd32d8c2723726b9bd12b1daea3341e9dab60c64736f6c634300081a0033
Deployed Bytecode Sourcemap
3593:7243:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5056:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5243:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5826:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5505:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5412:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9272:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10673:160;;;;;;;;;;;;;:::i;:::-;;5929:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2674:148;;;;;;;;;;;;;:::i;:::-;;4241:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2460:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5147:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9072:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6056:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4182:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9171:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9547:139;;;;;;;;;;;;;:::i;:::-;;9413:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6231:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9731:423;;;;;;;;;;;;;:::i;:::-;;10162:503;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5056:83;5093:13;5126:5;;;;;;;;;;;;;;;;;5119:12;;5056:83;:::o;5243:161::-;5318:4;5335:39;5344:12;:10;:12::i;:::-;5358:7;5367:6;5335:8;:39::i;:::-;5392:4;5385:11;;5243:161;;;;:::o;5826:95::-;5879:7;4042:21;5899:14;;5826:95;:::o;5505:313::-;5603:4;5620:36;5630:6;5638:9;5649:6;5620:9;:36::i;:::-;5667:121;5676:6;5684:12;:10;:12::i;:::-;5698:89;5736:6;5698:89;;;;;;;;;;;;;;;;;:11;:19;5710:6;5698:19;;;;;;;;;;;;;;;:33;5718:12;:10;:12::i;:::-;5698:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5667:8;:121::i;:::-;5806:4;5799:11;;5505:313;;;;;:::o;5412:83::-;5453:5;3998:2;5471:16;;5412:83;:::o;9272:133::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9389:8:::1;9374:12;:23;;;;:::i;:::-;9356:15;:41;;;;9272:133:::0;:::o;10673:160::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4042:21:::1;10727:11;:21;;;;4042;10759:15;:23;;;;10798:27;4042:21;10798:27;;;;;;:::i;:::-;;;;;;;;10673:160::o:0;5929:119::-;5995:7;6022:9;:18;6032:7;6022:18;;;;;;;;;;;;;;;;6015:25;;5929:119;;;:::o;2674:148::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2781:1:::1;2744:40;;2765:6;::::0;::::1;;;;;;;;2744:40;;;;;;;;;;;;2812:1;2795:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2674:148::o:0;4241:48::-;;;;:::o;2460:79::-;2498:7;2525:6;;;;;;;;;;;2518:13;;2460:79;:::o;5147:87::-;5186:13;5219:7;;;;;;;;;;;;;;;;;5212:14;;5147:87;:::o;9072:91::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9149:6:::1;9139:7;:16;;;;9072:91:::0;:::o;6056:167::-;6134:4;6151:42;6161:12;:10;:12::i;:::-;6175:9;6186:6;6151:9;:42::i;:::-;6211:4;6204:11;;6056:167;;;;:::o;4182:52::-;;;;:::o;9171:93::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9250:6:::1;9239:8;:17;;;;9171:93:::0;:::o;9547:139::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9611:11:::1;;;;;;;;;;;9610:12;9602:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9674:4;9660:11;;:18;;;;;;;;;;;;;;;;;;9547:139::o:0;9413:126::-;2597:12;:10;:12::i;:::-;2587:22;;:6;;;;;;;;;;:22;;;2579:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9523:8:::1;9512;:19;;;;:::i;:::-;9498:11;:33;;;;9413:126:::0;:::o;6231:143::-;6312:7;6339:11;:18;6351:5;6339:18;;;;;;;;;;;;;;;:27;6358:7;6339:27;;;;;;;;;;;;;;;;6332:34;;6231:143;;;;:::o;9731:423::-;9807:11;;;;;;;;;;;9791:27;;:12;:10;:12::i;:::-;:27;;;9783:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9859:20;9882:24;9900:4;9882:9;:24::i;:::-;9859:47;;9940:1;9925:12;:16;9917:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;9974:30;9991:12;9974:16;:30::i;:::-;10021:18;10042:21;10021:42;;10095:1;10082:10;:14;10074:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10126:24;10139:10;10126:12;:24::i;:::-;9772:382;;9731:423::o;10162:503::-;10320:11;;;;;;;;;;;10304:27;;:12;:10;:12::i;:::-;:27;;;10296:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10398:4;10374:29;;:12;:29;;;10366:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10446:28;10484:12;10477:30;;;10516:4;10477:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10446:76;;10565:6;10541:20;:30;;10533:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10620:12;10613:29;;;10643:9;10654:6;10613:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10285:380;10162:503;;;:::o;215:98::-;268:7;295:10;288:17;;215:98;:::o;6382:335::-;6492:1;6475:19;;:5;:19;;;6467:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6573:1;6554:21;;:7;:21;;;6546:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6655:6;6625:11;:18;6637:5;6625:18;;;;;;;;;;;;;;;:27;6644:7;6625:27;;;;;;;;;;;;;;;:36;;;;6693:7;6677:32;;6686:5;6677:32;;;6702:6;6677:32;;;;;;:::i;:::-;;;;;;;;6382:335;;;:::o;6725:1507::-;6829:1;6813:18;;:4;:18;;;6805:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6906:1;6892:16;;:2;:16;;;6884:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:1;6967:6;:10;6959:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7034:17;7076:7;:5;:7::i;:::-;7068:15;;:4;:15;;;;:32;;;;;7093:7;:5;:7::i;:::-;7087:13;;:2;:13;;;;7068:32;7064:812;;;7125:11;;;;;;;;;;;7117:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7195:11;;7185:6;:21;;7177:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7271:13;;;;;;;;;;;7263:21;;:4;:21;;;:55;;;;;7302:15;;;;;;;;;;;7288:30;;:2;:30;;;;7263:55;7259:606;;;7373:15;;7363:6;7347:13;7357:2;7347:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;7339:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;7450:28;7474:3;7450:19;7461:7;;7450:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7438:40;;7259:606;;;7512:13;;;;;;;;;;;7506:19;;:2;:19;;;7502:363;;7557:29;7582:3;7557:20;7568:8;;7557:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;7545:41;;7605:28;7636:24;7654:4;7636:9;:24::i;:::-;7605:55;;7684:6;;;;;;;;;;;7683:7;:30;;;;;7700:13;;;;;;;;;;;7694:19;;:2;:19;;;7683:30;7679:117;;;7738:38;7755:20;7738:16;:38::i;:::-;7679:117;7526:285;7502:363;;;7848:1;7836:13;;7502:363;7259:606;7064:812;7901:1;7891:9;:11;7888:161;;;7941:39;7970:9;7941;:24;7959:4;7941:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;7916:9;:24;7934:4;7916:24;;;;;;;;;;;;;;;:64;;;;8021:4;7998:39;;8007:4;7998:39;;;8027:9;7998:39;;;;;;:::i;:::-;;;;;;;;7888:161;8075:27;8095:6;8075:9;:15;8085:4;8075:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8059:9;:15;8069:4;8059:15;;;;;;;;;;;;;;;:43;;;;8127:40;8145:21;8156:9;8145:6;:10;;:21;;;;:::i;:::-;8127:9;:13;8137:2;8127:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8113:9;:13;8123:2;8113:13;;;;;;;;;;;;;;;:54;;;;8198:2;8183:41;;8192:4;8183:41;;;8202:21;8213:9;8202:6;:10;;:21;;;;:::i;:::-;8183:41;;;;;;:::i;:::-;;;;;;;;6794:1438;6725:1507;;;:::o;1352:190::-;1438:7;1471:1;1466;:6;;1474:12;1458:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1498:9;1514:1;1510;:5;;;;:::i;:::-;1498:17;;1533:1;1526:8;;;1352:190;;;;;:::o;8346:608::-;4491:4;4482:6;;:13;;;;;;;;;;;;;;;;;;8440:1:::1;8427:11;:14:::0;8424:27;8443:7:::1;8424:27;8476:11;;8464;:23;8461:80;;;8518:11;;8504:25;;8461:80;8551:21;8589:1;8575:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8551:40;;8620:4;8602;8607:1;8602:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8646:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8636:4;8641:1;8636:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8679:62;8696:4;8711:15;;;;;;;;;;;8729:11;8679:8;:62::i;:::-;8752:15;;;;;;;;;;;:66;;;8833:11;8859:1;8875:4;8894:11;;;;;;;;;;;8920:15;8752:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8413:541;4506:1;4527:5:::0;4518:6;;:14;;;;;;;;;;;;;;;;;;8346:608;:::o;8962:102::-;9027:11;;;;;;;;;;;9019:29;;:37;9049:6;9019:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8962:102;:::o;1550:246::-;1608:7;1637:1;1632;:6;1628:47;;1662:1;1655:8;;;;1628:47;1685:9;1701:1;1697;:5;;;;:::i;:::-;1685:17;;1730:1;1725;1721;:5;;;;:::i;:::-;:10;1713:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1787:1;1780:8;;;1550:246;;;;;:::o;1804:132::-;1862:7;1889:39;1893:1;1896;1889:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1882:46;;1804:132;;;;:::o;1021:179::-;1079:7;1099:9;1115:1;1111;:5;;;;:::i;:::-;1099:17;;1140:1;1135;:6;;1127:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1191:1;1184:8;;;1021:179;;;;:::o;1208:136::-;1266:7;1293:43;1297:1;1300;1293:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1286:50;;1208:136;;;;:::o;1944:189::-;2030:7;2062:1;2058;:5;2065:12;2050:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2089:9;2105:1;2101;:5;;;;:::i;:::-;2089:17;;2124:1;2117:8;;;1944: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:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:180::-;7281:77;7278:1;7271:88;7378:4;7375:1;7368:15;7402:4;7399:1;7392:15;7419:410;7459:7;7482:20;7500:1;7482:20;:::i;:::-;7477:25;;7516:20;7534:1;7516:20;:::i;:::-;7511:25;;7571:1;7568;7564:9;7593:30;7611:11;7593:30;:::i;:::-;7582:41;;7772:1;7763:7;7759:15;7756:1;7753:22;7733:1;7726:9;7706:83;7683:139;;7802:18;;:::i;:::-;7683:139;7467:362;7419:410;;;;:::o;7835:173::-;7975:25;7971:1;7963:6;7959:14;7952:49;7835:173;:::o;8014:366::-;8156:3;8177:67;8241:2;8236:3;8177:67;:::i;:::-;8170:74;;8253:93;8342:3;8253:93;:::i;:::-;8371:2;8366:3;8362:12;8355:19;;8014:366;;;:::o;8386:419::-;8552:4;8590:2;8579:9;8575:18;8567:26;;8639:9;8633:4;8629:20;8625:1;8614:9;8610:17;8603:47;8667:131;8793:4;8667:131;:::i;:::-;8659:139;;8386:419;;;:::o;8811:169::-;8951:21;8947:1;8939:6;8935:14;8928:45;8811:169;:::o;8986:366::-;9128:3;9149:67;9213:2;9208:3;9149:67;:::i;:::-;9142:74;;9225:93;9314:3;9225:93;:::i;:::-;9343:2;9338:3;9334:12;9327:19;;8986:366;;;:::o;9358:419::-;9524:4;9562:2;9551:9;9547:18;9539:26;;9611:9;9605:4;9601:20;9597:1;9586:9;9582:17;9575:47;9639:131;9765:4;9639:131;:::i;:::-;9631:139;;9358:419;;;:::o;9783:167::-;9923:19;9919:1;9911:6;9907:14;9900:43;9783:167;:::o;9956:366::-;10098:3;10119:67;10183:2;10178:3;10119:67;:::i;:::-;10112:74;;10195:93;10284:3;10195:93;:::i;:::-;10313:2;10308:3;10304:12;10297:19;;9956:366;;;:::o;10328:419::-;10494:4;10532:2;10521:9;10517:18;10509:26;;10581:9;10575:4;10571:20;10567:1;10556:9;10552:17;10545:47;10609:131;10735:4;10609:131;:::i;:::-;10601:139;;10328:419;;;:::o;10753:164::-;10893:16;10889:1;10881:6;10877:14;10870:40;10753:164;:::o;10923:366::-;11065:3;11086:67;11150:2;11145:3;11086:67;:::i;:::-;11079:74;;11162:93;11251:3;11162:93;:::i;:::-;11280:2;11275:3;11271:12;11264:19;;10923:366;;;:::o;11295:419::-;11461:4;11499:2;11488:9;11484:18;11476:26;;11548:9;11542:4;11538:20;11534:1;11523:9;11519:17;11512:47;11576:131;11702:4;11576:131;:::i;:::-;11568:139;;11295:419;;;:::o;11720:177::-;11860:29;11856:1;11848:6;11844:14;11837:53;11720:177;:::o;11903:366::-;12045:3;12066:67;12130:2;12125:3;12066:67;:::i;:::-;12059:74;;12142:93;12231:3;12142:93;:::i;:::-;12260:2;12255:3;12251:12;12244:19;;11903:366;;;:::o;12275:419::-;12441:4;12479:2;12468:9;12464:18;12456:26;;12528:9;12522:4;12518:20;12514:1;12503:9;12499:17;12492:47;12556:131;12682:4;12556:131;:::i;:::-;12548:139;;12275:419;;;:::o;12700:143::-;12757:5;12788:6;12782:13;12773:22;;12804:33;12831:5;12804:33;:::i;:::-;12700:143;;;;:::o;12849:351::-;12919:6;12968:2;12956:9;12947:7;12943:23;12939:32;12936:119;;;12974:79;;:::i;:::-;12936:119;13094:1;13119:64;13175:7;13166:6;13155:9;13151:22;13119:64;:::i;:::-;13109:74;;13065:128;12849:351;;;;:::o;13206:176::-;13346:28;13342:1;13334:6;13330:14;13323:52;13206:176;:::o;13388:366::-;13530:3;13551:67;13615:2;13610:3;13551:67;:::i;:::-;13544:74;;13627:93;13716:3;13627:93;:::i;:::-;13745:2;13740:3;13736:12;13729:19;;13388:366;;;:::o;13760:419::-;13926:4;13964:2;13953:9;13949:18;13941:26;;14013:9;14007:4;14003:20;13999:1;13988:9;13984:17;13977:47;14041:131;14167:4;14041:131;:::i;:::-;14033:139;;13760:419;;;:::o;14185:332::-;14306:4;14344:2;14333:9;14329:18;14321:26;;14357:71;14425:1;14414:9;14410:17;14401:6;14357:71;:::i;:::-;14438:72;14506:2;14495:9;14491:18;14482:6;14438:72;:::i;:::-;14185:332;;;;;:::o;14523:116::-;14593:21;14608:5;14593:21;:::i;:::-;14586:5;14583:32;14573:60;;14629:1;14626;14619:12;14573:60;14523:116;:::o;14645:137::-;14699:5;14730:6;14724:13;14715:22;;14746:30;14770:5;14746:30;:::i;:::-;14645:137;;;;:::o;14788:345::-;14855:6;14904:2;14892:9;14883:7;14879:23;14875:32;14872:119;;;14910:79;;:::i;:::-;14872:119;15030:1;15055:61;15108:7;15099:6;15088:9;15084:22;15055:61;:::i;:::-;15045:71;;15001:125;14788:345;;;;:::o;15139:223::-;15279:34;15275:1;15267:6;15263:14;15256:58;15348:6;15343:2;15335:6;15331:15;15324:31;15139:223;:::o;15368:366::-;15510:3;15531:67;15595:2;15590:3;15531:67;:::i;:::-;15524:74;;15607:93;15696:3;15607:93;:::i;:::-;15725:2;15720:3;15716:12;15709:19;;15368:366;;;:::o;15740:419::-;15906:4;15944:2;15933:9;15929:18;15921:26;;15993:9;15987:4;15983:20;15979:1;15968:9;15964:17;15957:47;16021:131;16147:4;16021:131;:::i;:::-;16013:139;;15740:419;;;:::o;16165:221::-;16305:34;16301:1;16293:6;16289:14;16282:58;16374:4;16369:2;16361:6;16357:15;16350:29;16165:221;:::o;16392:366::-;16534:3;16555:67;16619:2;16614:3;16555:67;:::i;:::-;16548:74;;16631:93;16720:3;16631:93;:::i;:::-;16749:2;16744:3;16740:12;16733:19;;16392:366;;;:::o;16764:419::-;16930:4;16968:2;16957:9;16953:18;16945:26;;17017:9;17011:4;17007:20;17003:1;16992:9;16988:17;16981:47;17045:131;17171:4;17045:131;:::i;:::-;17037:139;;16764:419;;;:::o;17189:224::-;17329:34;17325:1;17317:6;17313:14;17306:58;17398:7;17393:2;17385:6;17381:15;17374:32;17189:224;:::o;17419:366::-;17561:3;17582:67;17646:2;17641:3;17582:67;:::i;:::-;17575:74;;17658:93;17747:3;17658:93;:::i;:::-;17776:2;17771:3;17767:12;17760:19;;17419:366;;;:::o;17791:419::-;17957:4;17995:2;17984:9;17980:18;17972:26;;18044:9;18038:4;18034:20;18030:1;18019:9;18015:17;18008:47;18072:131;18198:4;18072:131;:::i;:::-;18064:139;;17791:419;;;:::o;18216:222::-;18356:34;18352:1;18344:6;18340:14;18333:58;18425:5;18420:2;18412:6;18408:15;18401:30;18216:222;:::o;18444:366::-;18586:3;18607:67;18671:2;18666:3;18607:67;:::i;:::-;18600:74;;18683:93;18772:3;18683:93;:::i;:::-;18801:2;18796:3;18792:12;18785:19;;18444:366;;;:::o;18816:419::-;18982:4;19020:2;19009:9;19005:18;18997:26;;19069:9;19063:4;19059:20;19055:1;19044:9;19040:17;19033:47;19097:131;19223:4;19097:131;:::i;:::-;19089:139;;18816:419;;;:::o;19241:228::-;19381:34;19377:1;19369:6;19365:14;19358:58;19450:11;19445:2;19437:6;19433:15;19426:36;19241:228;:::o;19475:366::-;19617:3;19638:67;19702:2;19697:3;19638:67;:::i;:::-;19631:74;;19714:93;19803:3;19714:93;:::i;:::-;19832:2;19827:3;19823:12;19816:19;;19475:366;;;:::o;19847:419::-;20013:4;20051:2;20040:9;20036:18;20028:26;;20100:9;20094:4;20090:20;20086:1;20075:9;20071:17;20064:47;20128:131;20254:4;20128:131;:::i;:::-;20120:139;;19847:419;;;:::o;20272:172::-;20412:24;20408:1;20400:6;20396:14;20389:48;20272:172;:::o;20450:366::-;20592:3;20613:67;20677:2;20672:3;20613:67;:::i;:::-;20606:74;;20689:93;20778:3;20689:93;:::i;:::-;20807:2;20802:3;20798:12;20791:19;;20450:366;;;:::o;20822:419::-;20988:4;21026:2;21015:9;21011:18;21003:26;;21075:9;21069:4;21065:20;21061:1;21050:9;21046:17;21039:47;21103:131;21229:4;21103:131;:::i;:::-;21095:139;;20822:419;;;:::o;21247:220::-;21387:34;21383:1;21375:6;21371:14;21364:58;21456:3;21451:2;21443:6;21439:15;21432:28;21247:220;:::o;21473:366::-;21615:3;21636:67;21700:2;21695:3;21636:67;:::i;:::-;21629:74;;21712:93;21801:3;21712:93;:::i;:::-;21830:2;21825:3;21821:12;21814:19;;21473:366;;;:::o;21845:419::-;22011:4;22049:2;22038:9;22034:18;22026:26;;22098:9;22092:4;22088:20;22084:1;22073:9;22069:17;22062:47;22126:131;22252:4;22126:131;:::i;:::-;22118:139;;21845:419;;;:::o;22270:191::-;22310:3;22329:20;22347:1;22329:20;:::i;:::-;22324:25;;22363:20;22381:1;22363:20;:::i;:::-;22358:25;;22406:1;22403;22399:9;22392:16;;22427:3;22424:1;22421:10;22418:36;;;22434:18;;:::i;:::-;22418:36;22270:191;;;;:::o;22467:176::-;22607:28;22603:1;22595:6;22591:14;22584:52;22467:176;:::o;22649:366::-;22791:3;22812:67;22876:2;22871:3;22812:67;:::i;:::-;22805:74;;22888:93;22977:3;22888:93;:::i;:::-;23006:2;23001:3;22997:12;22990:19;;22649:366;;;:::o;23021:419::-;23187:4;23225:2;23214:9;23210:18;23202:26;;23274:9;23268:4;23264:20;23260:1;23249:9;23245:17;23238:47;23302:131;23428:4;23302:131;:::i;:::-;23294:139;;23021:419;;;:::o;23446:194::-;23486:4;23506:20;23524:1;23506:20;:::i;:::-;23501:25;;23540:20;23558:1;23540:20;:::i;:::-;23535:25;;23584:1;23581;23577:9;23569:17;;23608:1;23602:4;23599:11;23596:37;;;23613:18;;:::i;:::-;23596:37;23446:194;;;;:::o;23646:180::-;23694:77;23691:1;23684:88;23791:4;23788:1;23781:15;23815:4;23812:1;23805:15;23832:180;23880:77;23877:1;23870:88;23977:4;23974:1;23967:15;24001:4;23998:1;23991:15;24018:143;24075:5;24106:6;24100:13;24091:22;;24122:33;24149:5;24122:33;:::i;:::-;24018:143;;;;:::o;24167:351::-;24237:6;24286:2;24274:9;24265:7;24261:23;24257:32;24254:119;;;24292:79;;:::i;:::-;24254:119;24412:1;24437:64;24493:7;24484:6;24473:9;24469:22;24437:64;:::i;:::-;24427:74;;24383:128;24167:351;;;;:::o;24524:85::-;24569:7;24598:5;24587:16;;24524:85;;;:::o;24615:60::-;24643:3;24664:5;24657:12;;24615:60;;;:::o;24681:158::-;24739:9;24772:61;24790:42;24799:32;24825:5;24799:32;:::i;:::-;24790:42;:::i;:::-;24772:61;:::i;:::-;24759:74;;24681:158;;;:::o;24845:147::-;24940:45;24979:5;24940:45;:::i;:::-;24935:3;24928:58;24845:147;;:::o;24998:114::-;25065:6;25099:5;25093:12;25083:22;;24998:114;;;:::o;25118:184::-;25217:11;25251:6;25246:3;25239:19;25291:4;25286:3;25282:14;25267:29;;25118:184;;;;:::o;25308:132::-;25375:4;25398:3;25390:11;;25428:4;25423:3;25419:14;25411:22;;25308:132;;;:::o;25446:108::-;25523:24;25541:5;25523:24;:::i;:::-;25518:3;25511:37;25446:108;;:::o;25560:179::-;25629:10;25650:46;25692:3;25684:6;25650:46;:::i;:::-;25728:4;25723:3;25719:14;25705:28;;25560:179;;;;:::o;25745:113::-;25815:4;25847;25842:3;25838:14;25830:22;;25745:113;;;:::o;25894:732::-;26013:3;26042:54;26090:5;26042:54;:::i;:::-;26112:86;26191:6;26186:3;26112:86;:::i;:::-;26105:93;;26222:56;26272:5;26222:56;:::i;:::-;26301:7;26332:1;26317:284;26342:6;26339:1;26336:13;26317:284;;;26418:6;26412:13;26445:63;26504:3;26489:13;26445:63;:::i;:::-;26438:70;;26531:60;26584:6;26531:60;:::i;:::-;26521:70;;26377:224;26364:1;26361;26357:9;26352:14;;26317:284;;;26321:14;26617:3;26610:10;;26018:608;;;25894:732;;;;:::o;26632:831::-;26895:4;26933:3;26922:9;26918:19;26910:27;;26947:71;27015:1;27004:9;27000:17;26991:6;26947:71;:::i;:::-;27028:80;27104:2;27093:9;27089:18;27080:6;27028:80;:::i;:::-;27155:9;27149:4;27145:20;27140:2;27129:9;27125:18;27118:48;27183:108;27286:4;27277:6;27183:108;:::i;:::-;27175:116;;27301:72;27369:2;27358:9;27354:18;27345:6;27301:72;:::i;:::-;27383:73;27451:3;27440:9;27436:19;27427:6;27383:73;:::i;:::-;26632:831;;;;;;;;:::o;27469:180::-;27517:77;27514:1;27507:88;27614:4;27611:1;27604:15;27638:4;27635:1;27628:15;27655:185;27695:1;27712:20;27730:1;27712:20;:::i;:::-;27707:25;;27746:20;27764:1;27746:20;:::i;:::-;27741:25;;27785:1;27775:35;;27790:18;;:::i;:::-;27775:35;27832:1;27829;27825:9;27820:14;;27655:185;;;;:::o;27846:220::-;27986:34;27982:1;27974:6;27970:14;27963:58;28055:3;28050:2;28042:6;28038:15;28031:28;27846:220;:::o;28072:366::-;28214:3;28235:67;28299:2;28294:3;28235:67;:::i;:::-;28228:74;;28311:93;28400:3;28311:93;:::i;:::-;28429:2;28424:3;28420:12;28413:19;;28072:366;;;:::o;28444:419::-;28610:4;28648:2;28637:9;28633:18;28625:26;;28697:9;28691:4;28687:20;28683:1;28672:9;28668:17;28661:47;28725:131;28851:4;28725:131;:::i;:::-;28717:139;;28444:419;;;:::o;28869:177::-;29009:29;29005:1;28997:6;28993:14;28986:53;28869:177;:::o;29052:366::-;29194:3;29215:67;29279:2;29274:3;29215:67;:::i;:::-;29208:74;;29291:93;29380:3;29291:93;:::i;:::-;29409:2;29404:3;29400:12;29393:19;;29052:366;;;:::o;29424:419::-;29590:4;29628:2;29617:9;29613:18;29605:26;;29677:9;29671:4;29667:20;29663:1;29652:9;29648:17;29641:47;29705:131;29831:4;29705:131;:::i;:::-;29697:139;;29424:419;;;:::o
Swarm Source
ipfs://f07fd714b621b1404dd944c2bccd32d8c2723726b9bd12b1daea3341e9dab60c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.