ERC-20
Overview
Max Total Supply
100,000,000,000 rBucks
Holders
103
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
50,063,666.907052557 rBucksValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
RetroBucks
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-18 */ /** Website - https://retrobucks.io Telegram - https://t.me/retrobucks Medium - https://medium.com/@retrobucks Twitter - https://twitter.com/retrobuckserc App - https://retrobucks.app Whitepaper - https://retrobucks.gitbook.io/retro-bucks-whitepaper/ */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract RetroBucks is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Retro Bucks"; string constant _symbol = "rBucks"; uint8 constant _decimals = 9; uint256 _totalSupply = 100_000_000_000 * (10 ** _decimals); uint256 public _maxWalletAmount = (_totalSupply * 100) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 liquidityFee = 0; uint256 marketingFee = 5; uint256 totalFee = liquidityFee + marketingFee; uint256 feeDenominator = 100; address public marketingFeeReceiver = 0x7c16637d9eAad959adaA5D74bdF0F77bC99CD3bD; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.5% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[0x7c16637d9eAad959adaA5D74bdF0F77bC99CD3bD] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[0x7c16637d9eAad959adaA5D74bdF0F77bC99CD3bD] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, 0x149b615F1FdCc224423E631D066A13bd113c1d38, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function clearStuckBalance() external { payable(marketingFeeReceiver).transfer(address(this).balance); } function setWalletLimit(uint256 amountPercent) external onlyOwner { _maxWalletAmount = (_totalSupply * amountPercent ) / 1000; } function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner { liquidityFee = _liquidityFee; marketingFee = _marketingFee; totalFee = liquidityFee + marketingFee; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000919565b64174876e800620000be91906200096a565b600355606480600354620000d391906200096a565b620000df9190620009fa565b60045560006009556005600a55600a54600954620000fe919062000a32565b600b556064600c55737c16637d9eaad959adaa5d74bdf0f77bc99cd3bd600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060036103e86003546200018a9190620009fa565b6200019691906200096a565b601055348015620001a657600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e0919062000af9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000369573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038f919062000af9565b306040518363ffffffff1660e01b8152600401620003af92919062000b3c565b6020604051808303816000875af1158015620003cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f5919062000af9565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160076000737c16637d9eaad959adaa5d74bdf0f77bc99cd3bd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000737c16637d9eaad959adaa5d74bdf0f77bc99cd3bd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000770919062000b7a565b60405180910390a35062000b97565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200080d57808604811115620007e557620007e46200077f565b5b6001851615620007f55780820291505b80810290506200080585620007ae565b9450620007c5565b94509492505050565b600082620008285760019050620008fb565b81620008385760009050620008fb565b81600181146200085157600281146200085c5762000892565b6001915050620008fb565b60ff8411156200087157620008706200077f565b5b8360020a9150848211156200088b576200088a6200077f565b5b50620008fb565b5060208310610133831016604e8410600b8410161715620008cc5782820a905083811115620008c657620008c56200077f565b5b620008fb565b620008db8484846001620007bb565b92509050818404811115620008f557620008f46200077f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009268262000902565b915062000933836200090c565b9250620009627fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000816565b905092915050565b6000620009778262000902565b9150620009848362000902565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009c057620009bf6200077f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a078262000902565b915062000a148362000902565b92508262000a275762000a26620009cb565b5b828204905092915050565b600062000a3f8262000902565b915062000a4c8362000902565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a845762000a836200077f565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ac18262000a94565b9050919050565b62000ad38162000ab4565b811462000adf57600080fd5b50565b60008151905062000af38162000ac8565b92915050565b60006020828403121562000b125762000b1162000a8f565b5b600062000b228482850162000ae2565b91505092915050565b62000b368162000ab4565b82525050565b600060408201905062000b53600083018562000b2b565b62000b62602083018462000b2b565b9392505050565b62000b748162000902565b82525050565b600060208201905062000b91600083018462000b69565b92915050565b6127b38062000ba76000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610425578063a9059cbb14610450578063dd62ed3e1461048d578063e96fada2146104ca578063f1d5f517146104f5578063f887ea401461051e57610140565b80636ddd17131461035057806370a082311461037b578063715018a6146103b8578063893d20e8146103cf57806395d89b41146103fa57610140565b80632f54bf6e116100fd5780632f54bf6e14610240578063313ce5671461027d578063364333f4146102a857806352f7c988146102bf578063571ac8b0146102e85780636c0a24eb1461032557610140565b80630445b6671461014557806306fdde0314610170578063095ea7b31461019b57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610549565b6040516101679190611c94565b60405180910390f35b34801561017c57600080fd5b5061018561054f565b6040516101929190611d48565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190611df9565b61058c565b6040516101cf9190611e54565b60405180910390f35b3480156101e457600080fd5b506101ed61067e565b6040516101fa9190611c94565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611e6f565b610688565b6040516102379190611e54565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190611ec2565b610888565b6040516102749190611e54565b60405180910390f35b34801561028957600080fd5b506102926108e1565b60405161029f9190611f0b565b60405180910390f35b3480156102b457600080fd5b506102bd6108ea565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190611f26565b610955565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190611ec2565b6109c5565b60405161031c9190611e54565b60405180910390f35b34801561033157600080fd5b5061033a6109f8565b6040516103479190611c94565b60405180910390f35b34801561035c57600080fd5b506103656109fe565b6040516103729190611e54565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d9190611ec2565b610a11565b6040516103af9190611c94565b60405180910390f35b3480156103c457600080fd5b506103cd610a5a565b005b3480156103db57600080fd5b506103e4610b1d565b6040516103f19190611f75565b60405180910390f35b34801561040657600080fd5b5061040f610b46565b60405161041c9190611d48565b60405180910390f35b34801561043157600080fd5b5061043a610b83565b6040516104479190611f75565b60405180910390f35b34801561045c57600080fd5b5061047760048036038101906104729190611df9565b610ba9565b6040516104849190611e54565b60405180910390f35b34801561049957600080fd5b506104b460048036038101906104af9190611f90565b610bbe565b6040516104c19190611c94565b60405180910390f35b3480156104d657600080fd5b506104df610c45565b6040516104ec9190611f75565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611fd0565b610c6b565b005b34801561052a57600080fd5b50610533610cd7565b604051610540919061205c565b60405180910390f35b60105481565b60606040518060400160405280600b81526020017f526574726f204275636b73000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161066c9190611c94565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610874576107f3826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61087f848484610d61565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610952573d6000803e3d6000fd5b50565b61095e33610888565b61099d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610994906120c3565b60405180910390fd5b8160098190555080600a81905550600a546009546109bb9190612112565b600b819055505050565b60006109f1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61058c565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a6333610888565b610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a99906120c3565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b139190611f75565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f724275636b730000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bb6338484610d61565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c7433610888565b610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa906120c3565b60405180910390fd5b6103e881600354610cc49190612168565b610cce91906121f1565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c9190611d48565b60405180910390fd5b5060008385610d549190612222565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d8a57610d8384848461112a565b9050611123565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e365750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f1f57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610edf575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edc9190612112565b11155b610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f15906122c8565b60405180910390fd5b5b610f276112fd565b15610f3557610f346113d4565b5b610fbe826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061100c85611910565b6110165782611021565b6110208584611967565b5b905061107581600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111159190611c94565b60405180910390a360019150505b9392505050565b60006111b5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124a82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112ea9190611c94565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561136a5750601160009054906101000a900460ff16155b80156113825750600f60149054906101000a900460ff165b80156113cf5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006114346002611426600b5461141860095487611b0990919063ffffffff16565b611b8490919063ffffffff16565b611b8490919063ffffffff16565b9050600061144b8284611bce90919063ffffffff16565b90506000600267ffffffffffffffff81111561146a576114696122e8565b5b6040519080825280602002602001820160405280156114985781602001602082028036833780820191505090505b50905030816000815181106114b0576114af612317565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157b919061235b565b8160018151811061158f5761158e612317565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611632959493929190612481565b600060405180830381600087803b15801561164c57600080fd5b505af1158015611660573d6000803e3d6000fd5b5050505060006116798247611bce90919063ffffffff16565b905060006116a76116966002600954611b8490919063ffffffff16565b600b54611bce90919063ffffffff16565b905060006116e560026116d7846116c960095488611b0990919063ffffffff16565b611b8490919063ffffffff16565b611b8490919063ffffffff16565b9050600061171083611702600a5487611b0990919063ffffffff16565b611b8490919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161175e9061250c565b600060405180830381858888f193505050503d806000811461179c576040519150601f19603f3d011682016040523d82523d6000602084013e6117a1565b606091505b50509050806117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc9061256d565b60405180910390fd5b60008911156118e957600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073149b615f1fdcc224423e631d066a13bd113c1d38426040518863ffffffff1660e01b81526004016118699695949392919061258d565b60606040518083038185885af1158015611887573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118ac9190612603565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118e0929190612656565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611993600c54611985600b5486611b0990919063ffffffff16565b611b8490919063ffffffff16565b90506119e781600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a879190611c94565b60405180910390a3611aa28184611bce90919063ffffffff16565b91505092915050565b6000808284611aba9190612112565b905083811015611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906126cb565b60405180910390fd5b8091505092915050565b600080831415611b1c5760009050611b7e565b60008284611b2a9190612168565b9050828482611b3991906121f1565b14611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061275d565b60405180910390fd5b809150505b92915050565b6000611bc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c18565b905092915050565b6000611c1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cfd565b905092915050565b60008083118290611c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c569190611d48565b60405180910390fd5b5060008385611c6e91906121f1565b9050809150509392505050565b6000819050919050565b611c8e81611c7b565b82525050565b6000602082019050611ca96000830184611c85565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ce9578082015181840152602081019050611cce565b83811115611cf8576000848401525b50505050565b6000601f19601f8301169050919050565b6000611d1a82611caf565b611d248185611cba565b9350611d34818560208601611ccb565b611d3d81611cfe565b840191505092915050565b60006020820190508181036000830152611d628184611d0f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d9a82611d6f565b9050919050565b611daa81611d8f565b8114611db557600080fd5b50565b600081359050611dc781611da1565b92915050565b611dd681611c7b565b8114611de157600080fd5b50565b600081359050611df381611dcd565b92915050565b60008060408385031215611e1057611e0f611d6a565b5b6000611e1e85828601611db8565b9250506020611e2f85828601611de4565b9150509250929050565b60008115159050919050565b611e4e81611e39565b82525050565b6000602082019050611e696000830184611e45565b92915050565b600080600060608486031215611e8857611e87611d6a565b5b6000611e9686828701611db8565b9350506020611ea786828701611db8565b9250506040611eb886828701611de4565b9150509250925092565b600060208284031215611ed857611ed7611d6a565b5b6000611ee684828501611db8565b91505092915050565b600060ff82169050919050565b611f0581611eef565b82525050565b6000602082019050611f206000830184611efc565b92915050565b60008060408385031215611f3d57611f3c611d6a565b5b6000611f4b85828601611de4565b9250506020611f5c85828601611de4565b9150509250929050565b611f6f81611d8f565b82525050565b6000602082019050611f8a6000830184611f66565b92915050565b60008060408385031215611fa757611fa6611d6a565b5b6000611fb585828601611db8565b9250506020611fc685828601611db8565b9150509250929050565b600060208284031215611fe657611fe5611d6a565b5b6000611ff484828501611de4565b91505092915050565b6000819050919050565b600061202261201d61201884611d6f565b611ffd565b611d6f565b9050919050565b600061203482612007565b9050919050565b600061204682612029565b9050919050565b6120568161203b565b82525050565b6000602082019050612071600083018461204d565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006120ad600683611cba565b91506120b882612077565b602082019050919050565b600060208201905081810360008301526120dc816120a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061211d82611c7b565b915061212883611c7b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561215d5761215c6120e3565b5b828201905092915050565b600061217382611c7b565b915061217e83611c7b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121b7576121b66120e3565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121fc82611c7b565b915061220783611c7b565b925082612217576122166121c2565b5b828204905092915050565b600061222d82611c7b565b915061223883611c7b565b92508282101561224b5761224a6120e3565b5b828203905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006122b2602583611cba565b91506122bd82612256565b604082019050919050565b600060208201905081810360008301526122e1816122a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061235581611da1565b92915050565b60006020828403121561237157612370611d6a565b5b600061237f84828501612346565b91505092915050565b6000819050919050565b60006123ad6123a86123a384612388565b611ffd565b611c7b565b9050919050565b6123bd81612392565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123f881611d8f565b82525050565b600061240a83836123ef565b60208301905092915050565b6000602082019050919050565b600061242e826123c3565b61243881856123ce565b9350612443836123df565b8060005b8381101561247457815161245b88826123fe565b975061246683612416565b925050600181019050612447565b5085935050505092915050565b600060a0820190506124966000830188611c85565b6124a360208301876123b4565b81810360408301526124b58186612423565b90506124c46060830185611f66565b6124d16080830184611c85565b9695505050505050565b600081905092915050565b50565b60006124f66000836124db565b9150612501826124e6565b600082019050919050565b6000612517826124e9565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612557601e83611cba565b915061256282612521565b602082019050919050565b600060208201905081810360008301526125868161254a565b9050919050565b600060c0820190506125a26000830189611f66565b6125af6020830188611c85565b6125bc60408301876123b4565b6125c960608301866123b4565b6125d66080830185611f66565b6125e360a0830184611c85565b979650505050505050565b6000815190506125fd81611dcd565b92915050565b60008060006060848603121561261c5761261b611d6a565b5b600061262a868287016125ee565b935050602061263b868287016125ee565b925050604061264c868287016125ee565b9150509250925092565b600060408201905061266b6000830185611c85565b6126786020830184611c85565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006126b5601b83611cba565b91506126c08261267f565b602082019050919050565b600060208201905081810360008301526126e4816126a8565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612747602183611cba565b9150612752826126eb565b604082019050919050565b600060208201905081810360008301526127768161273a565b905091905056fea264697066735822122063ea2f80fad298e72b3ea1f2eed5a1f53cfa877a07872f72ea7bd777ef46c88464736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610425578063a9059cbb14610450578063dd62ed3e1461048d578063e96fada2146104ca578063f1d5f517146104f5578063f887ea401461051e57610140565b80636ddd17131461035057806370a082311461037b578063715018a6146103b8578063893d20e8146103cf57806395d89b41146103fa57610140565b80632f54bf6e116100fd5780632f54bf6e14610240578063313ce5671461027d578063364333f4146102a857806352f7c988146102bf578063571ac8b0146102e85780636c0a24eb1461032557610140565b80630445b6671461014557806306fdde0314610170578063095ea7b31461019b57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610549565b6040516101679190611c94565b60405180910390f35b34801561017c57600080fd5b5061018561054f565b6040516101929190611d48565b60405180910390f35b3480156101a757600080fd5b506101c260048036038101906101bd9190611df9565b61058c565b6040516101cf9190611e54565b60405180910390f35b3480156101e457600080fd5b506101ed61067e565b6040516101fa9190611c94565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611e6f565b610688565b6040516102379190611e54565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190611ec2565b610888565b6040516102749190611e54565b60405180910390f35b34801561028957600080fd5b506102926108e1565b60405161029f9190611f0b565b60405180910390f35b3480156102b457600080fd5b506102bd6108ea565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190611f26565b610955565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190611ec2565b6109c5565b60405161031c9190611e54565b60405180910390f35b34801561033157600080fd5b5061033a6109f8565b6040516103479190611c94565b60405180910390f35b34801561035c57600080fd5b506103656109fe565b6040516103729190611e54565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d9190611ec2565b610a11565b6040516103af9190611c94565b60405180910390f35b3480156103c457600080fd5b506103cd610a5a565b005b3480156103db57600080fd5b506103e4610b1d565b6040516103f19190611f75565b60405180910390f35b34801561040657600080fd5b5061040f610b46565b60405161041c9190611d48565b60405180910390f35b34801561043157600080fd5b5061043a610b83565b6040516104479190611f75565b60405180910390f35b34801561045c57600080fd5b5061047760048036038101906104729190611df9565b610ba9565b6040516104849190611e54565b60405180910390f35b34801561049957600080fd5b506104b460048036038101906104af9190611f90565b610bbe565b6040516104c19190611c94565b60405180910390f35b3480156104d657600080fd5b506104df610c45565b6040516104ec9190611f75565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611fd0565b610c6b565b005b34801561052a57600080fd5b50610533610cd7565b604051610540919061205c565b60405180910390f35b60105481565b60606040518060400160405280600b81526020017f526574726f204275636b73000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161066c9190611c94565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610874576107f3826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61087f848484610d61565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610952573d6000803e3d6000fd5b50565b61095e33610888565b61099d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610994906120c3565b60405180910390fd5b8160098190555080600a81905550600a546009546109bb9190612112565b600b819055505050565b60006109f1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61058c565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a6333610888565b610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a99906120c3565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b139190611f75565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f724275636b730000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bb6338484610d61565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c7433610888565b610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa906120c3565b60405180910390fd5b6103e881600354610cc49190612168565b610cce91906121f1565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c9190611d48565b60405180910390fd5b5060008385610d549190612222565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d8a57610d8384848461112a565b9050611123565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e365750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f1f57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610edf575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610edc9190612112565b11155b610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f15906122c8565b60405180910390fd5b5b610f276112fd565b15610f3557610f346113d4565b5b610fbe826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061100c85611910565b6110165782611021565b6110208584611967565b5b905061107581600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111159190611c94565b60405180910390a360019150505b9392505050565b60006111b5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124a82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112ea9190611c94565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561136a5750601160009054906101000a900460ff16155b80156113825750600f60149054906101000a900460ff165b80156113cf5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006114346002611426600b5461141860095487611b0990919063ffffffff16565b611b8490919063ffffffff16565b611b8490919063ffffffff16565b9050600061144b8284611bce90919063ffffffff16565b90506000600267ffffffffffffffff81111561146a576114696122e8565b5b6040519080825280602002602001820160405280156114985781602001602082028036833780820191505090505b50905030816000815181106114b0576114af612317565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157b919061235b565b8160018151811061158f5761158e612317565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611632959493929190612481565b600060405180830381600087803b15801561164c57600080fd5b505af1158015611660573d6000803e3d6000fd5b5050505060006116798247611bce90919063ffffffff16565b905060006116a76116966002600954611b8490919063ffffffff16565b600b54611bce90919063ffffffff16565b905060006116e560026116d7846116c960095488611b0990919063ffffffff16565b611b8490919063ffffffff16565b611b8490919063ffffffff16565b9050600061171083611702600a5487611b0990919063ffffffff16565b611b8490919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161175e9061250c565b600060405180830381858888f193505050503d806000811461179c576040519150601f19603f3d011682016040523d82523d6000602084013e6117a1565b606091505b50509050806117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc9061256d565b60405180910390fd5b60008911156118e957600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073149b615f1fdcc224423e631d066a13bd113c1d38426040518863ffffffff1660e01b81526004016118699695949392919061258d565b60606040518083038185885af1158015611887573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118ac9190612603565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118e0929190612656565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611993600c54611985600b5486611b0990919063ffffffff16565b611b8490919063ffffffff16565b90506119e781600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aab90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a879190611c94565b60405180910390a3611aa28184611bce90919063ffffffff16565b91505092915050565b6000808284611aba9190612112565b905083811015611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906126cb565b60405180910390fd5b8091505092915050565b600080831415611b1c5760009050611b7e565b60008284611b2a9190612168565b9050828482611b3991906121f1565b14611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061275d565b60405180910390fd5b809150505b92915050565b6000611bc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c18565b905092915050565b6000611c1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cfd565b905092915050565b60008083118290611c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c569190611d48565b60405180910390fd5b5060008385611c6e91906121f1565b9050809150509392505050565b6000819050919050565b611c8e81611c7b565b82525050565b6000602082019050611ca96000830184611c85565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ce9578082015181840152602081019050611cce565b83811115611cf8576000848401525b50505050565b6000601f19601f8301169050919050565b6000611d1a82611caf565b611d248185611cba565b9350611d34818560208601611ccb565b611d3d81611cfe565b840191505092915050565b60006020820190508181036000830152611d628184611d0f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d9a82611d6f565b9050919050565b611daa81611d8f565b8114611db557600080fd5b50565b600081359050611dc781611da1565b92915050565b611dd681611c7b565b8114611de157600080fd5b50565b600081359050611df381611dcd565b92915050565b60008060408385031215611e1057611e0f611d6a565b5b6000611e1e85828601611db8565b9250506020611e2f85828601611de4565b9150509250929050565b60008115159050919050565b611e4e81611e39565b82525050565b6000602082019050611e696000830184611e45565b92915050565b600080600060608486031215611e8857611e87611d6a565b5b6000611e9686828701611db8565b9350506020611ea786828701611db8565b9250506040611eb886828701611de4565b9150509250925092565b600060208284031215611ed857611ed7611d6a565b5b6000611ee684828501611db8565b91505092915050565b600060ff82169050919050565b611f0581611eef565b82525050565b6000602082019050611f206000830184611efc565b92915050565b60008060408385031215611f3d57611f3c611d6a565b5b6000611f4b85828601611de4565b9250506020611f5c85828601611de4565b9150509250929050565b611f6f81611d8f565b82525050565b6000602082019050611f8a6000830184611f66565b92915050565b60008060408385031215611fa757611fa6611d6a565b5b6000611fb585828601611db8565b9250506020611fc685828601611db8565b9150509250929050565b600060208284031215611fe657611fe5611d6a565b5b6000611ff484828501611de4565b91505092915050565b6000819050919050565b600061202261201d61201884611d6f565b611ffd565b611d6f565b9050919050565b600061203482612007565b9050919050565b600061204682612029565b9050919050565b6120568161203b565b82525050565b6000602082019050612071600083018461204d565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006120ad600683611cba565b91506120b882612077565b602082019050919050565b600060208201905081810360008301526120dc816120a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061211d82611c7b565b915061212883611c7b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561215d5761215c6120e3565b5b828201905092915050565b600061217382611c7b565b915061217e83611c7b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121b7576121b66120e3565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121fc82611c7b565b915061220783611c7b565b925082612217576122166121c2565b5b828204905092915050565b600061222d82611c7b565b915061223883611c7b565b92508282101561224b5761224a6120e3565b5b828203905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006122b2602583611cba565b91506122bd82612256565b604082019050919050565b600060208201905081810360008301526122e1816122a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061235581611da1565b92915050565b60006020828403121561237157612370611d6a565b5b600061237f84828501612346565b91505092915050565b6000819050919050565b60006123ad6123a86123a384612388565b611ffd565b611c7b565b9050919050565b6123bd81612392565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123f881611d8f565b82525050565b600061240a83836123ef565b60208301905092915050565b6000602082019050919050565b600061242e826123c3565b61243881856123ce565b9350612443836123df565b8060005b8381101561247457815161245b88826123fe565b975061246683612416565b925050600181019050612447565b5085935050505092915050565b600060a0820190506124966000830188611c85565b6124a360208301876123b4565b81810360408301526124b58186612423565b90506124c46060830185611f66565b6124d16080830184611c85565b9695505050505050565b600081905092915050565b50565b60006124f66000836124db565b9150612501826124e6565b600082019050919050565b6000612517826124e9565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612557601e83611cba565b915061256282612521565b602082019050919050565b600060208201905081810360008301526125868161254a565b9050919050565b600060c0820190506125a26000830189611f66565b6125af6020830188611c85565b6125bc60408301876123b4565b6125c960608301866123b4565b6125d66080830185611f66565b6125e360a0830184611c85565b979650505050505050565b6000815190506125fd81611dcd565b92915050565b60008060006060848603121561261c5761261b611d6a565b5b600061262a868287016125ee565b935050602061263b868287016125ee565b925050604061264c868287016125ee565b9150509250925092565b600060408201905061266b6000830185611c85565b6126786020830184611c85565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006126b5601b83611cba565b91506126c08261267f565b602082019050919050565b600060208201905081810360008301526126e4816126a8565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612747602183611cba565b9150612752826126eb565b604082019050919050565b600060208201905081810360008301526127768161273a565b905091905056fea264697066735822122063ea2f80fad298e72b3ea1f2eed5a1f53cfa877a07872f72ea7bd777ef46c88464736f6c634300080a0033
Deployed Bytecode Sourcemap
4356:7757:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5375:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6460:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6882:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6190:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7400:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2594:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6284:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11542:118;;;;;;;;;;;;;:::i;:::-;;11818:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7106:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4759:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5338:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6630:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2703:131;;;;;;;;;;;;;:::i;:::-;;6546:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6370:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5310:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7236:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6741:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5190:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11668:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5279:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5375:54;;;;:::o;6460:80::-;6508:13;6532:5;;;;;;;;;;;;;;;;;6525:12;;6460:80;:::o;6882:216::-;6957:4;7009:6;6974:11;:23;6986:10;6974:23;;;;;;;;;;;;;;;:32;6998:7;6974:32;;;;;;;;;;;;;;;:41;;;;7052:7;7031:37;;7040:10;7031:37;;;7061:6;7031:37;;;;;;:::i;:::-;;;;;;;;7086:4;7079:11;;6882:216;;;;:::o;6190:88::-;6245:7;6263:12;;6256:19;;6190:88;:::o;7400:370::-;7500:4;7555:17;7520:11;:19;7532:6;7520:19;;;;;;;;;;;;;;;:31;7540:10;7520:31;;;;;;;;;;;;;;;;:52;7517:186;;7622:69;7658:6;7622:69;;;;;;;;;;;;;;;;;:11;:19;7634:6;7622:19;;;;;;;;;;;;;;;:31;7642:10;7622:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7588:11;:19;7600:6;7588:19;;;;;;;;;;;;;;;:31;7608:10;7588:31;;;;;;;;;;;;;;;:103;;;;7517:186;7722:40;7736:6;7744:9;7755:6;7722:13;:40::i;:::-;7715:47;;7400:370;;;;;:::o;2594:103::-;2649:4;2684:5;;;;;;;;;;;2673:16;;:7;:16;;;2666:23;;2594:103;;;:::o;6284:80::-;6336:5;4684:1;6345:16;;6284:80;:::o;11542:118::-;11599:20;;;;;;;;;;;11591:38;;:61;11630:21;11591:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11542:118::o;11818:220::-;2547:19;2555:10;2547:7;:19::i;:::-;2539:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11926:13:::1;11911:12;:28;;;;11967:13;11952:12;:28;;;;12018:12;;12003;;:27;;;;:::i;:::-;11992:8;:38;;;;11818:220:::0;;:::o;7106:122::-;7161:4;7185:35;7193:7;7202:17;7185:7;:35::i;:::-;7178:42;;7106:122;;;:::o;4759:60::-;;;;:::o;5338:30::-;;;;;;;;;;;;;:::o;6630:105::-;6696:7;6714:9;:18;6724:7;6714:18;;;;;;;;;;;;;;;;6707:25;;6630:105;;;:::o;2703:131::-;2547:19;2555:10;2547:7;:19::i;:::-;2539:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2776:1:::1;2760:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2794:32;2823:1;2794:32;;;;;;:::i;:::-;;;;;;;;2703:131::o:0;6546:78::-;6598:7;6616:5;;;;;;;;;;;6609:12;;6546:78;:::o;6370:84::-;6420:13;6444:7;;;;;;;;;;;;;;;;;6437:14;;6370:84;:::o;5310:19::-;;;;;;;;;;;;;:::o;7236:156::-;7316:4;7340:44;7354:10;7366:9;7377:6;7340:13;:44::i;:::-;7333:51;;7236:156;;;;:::o;6741:133::-;6825:7;6843:11;:19;6855:6;6843:19;;;;;;;;;;;;;;;:28;6863:7;6843:28;;;;;;;;;;;;;;;;6836:35;;6741:133;;;;:::o;5190:80::-;;;;;;;;;;;;;:::o;11668:142::-;2547:19;2555:10;2547:7;:19::i;:::-;2539:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11798:4:::1;11780:13;11765:12;;:28;;;;:::i;:::-;11764:38;;;;:::i;:::-;11745:16;:57;;;;11668:142:::0;:::o;5279:24::-;;;;;;;;;;;;;:::o;683:190::-;769:7;802:1;797;:6;;805:12;789:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;829:9;845:1;841;:5;;;;:::i;:::-;829:17;;864:1;857:8;;;683:190;;;;;:::o;7778:792::-;7870:4;7890:6;;;;;;;;;;;7887:63;;;7906:41;7921:6;7929:9;7940:6;7906:14;:41::i;:::-;7899:48;;;;7887:63;7987:4;;;;;;;;;;;7974:17;;:9;:17;;;;:38;;;;;8008:4;;;;;;;;;;;7995:17;;:9;:17;;;;7974:38;7970:200;;;8037:15;:26;8053:9;8037:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;8100:16;;8090:6;8067:9;:20;8077:9;8067:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8037:79;8029:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7970:200;8193:16;:14;:16::i;:::-;8190:35;;;8212:10;:8;:10::i;:::-;8190:35;8258:53;8280:6;8258:53;;;;;;;;;;;;;;;;;:9;:17;8268:6;8258:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8238:9;:17;8248:6;8238:17;;;;;;;;;;;;;;;:73;;;;8324:22;8349:21;8363:6;8349:13;:21::i;:::-;:56;;8399:6;8349:56;;;8373:23;8381:6;8389;8373:7;:23::i;:::-;8349:56;8324:81;;8439:40;8464:14;8439:9;:20;8449:9;8439:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8416:9;:20;8426:9;8416:20;;;;;;;;;;;;;;;:63;;;;8514:9;8497:43;;8506:6;8497:43;;;8525:14;8497:43;;;;;;:::i;:::-;;;;;;;;8558:4;8551:11;;;7778:792;;;;;;:::o;8582:330::-;8675:4;8712:53;8734:6;8712:53;;;;;;;;;;;;;;;;;:9;:17;8722:6;8712:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8692:9;:17;8702:6;8692:17;;;;;;;;;;;;;;;:73;;;;8799:32;8824:6;8799:9;:20;8809:9;8799:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8776:9;:20;8786:9;8776:20;;;;;;;;;;;;;;;:55;;;;8864:9;8847:35;;8856:6;8847:35;;;8875:6;8847:35;;;;;;:::i;:::-;;;;;;;;8900:4;8893:11;;8582:330;;;;;:::o;9379:197::-;9428:4;9466;;;;;;;;;;;9452:18;;:10;:18;;;;:38;;;;;9484:6;;;;;;;;;;;9483:7;9452:38;:62;;;;;9503:11;;;;;;;;;;;9452:62;:116;;;;;9555:13;;9527:9;:24;9545:4;9527:24;;;;;;;;;;;;;;;;:41;;9452:116;9445:123;;9379:197;:::o;9584:1572::-;5493:4;5484:6;;:13;;;;;;;;;;;;;;;;;;9633:28:::1;9664:13;;9633:44;;9688:23;9714:59;9771:1;9714:52;9757:8;;9714:38;9739:12;;9714:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;9688:85;;9784:20;9807:41;9832:15;9807:20;:24;;:41;;;;:::i;:::-;9784:64;;9861:21;9899:1;9885:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9861:40;;9930:4;9912;9917:1;9912:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9956:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9946:4;9951:1;9946:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9982:21;10006;9982:45;;10040:6;;;;;;;;;;;:57;;;10112:12;10139:1;10155:4;10182;10202:15;10040:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10239:17;10259:40;10285:13;10259:21;:25;;:40;;;;:::i;:::-;10239:60;;10310:19;10332:33;10345:19;10362:1;10345:12;;:16;;:19;;;;:::i;:::-;10332:8;;:12;;:33;;;;:::i;:::-;10310:55;;10376:26;10405:51;10454:1;10405:44;10437:11;10405:27;10419:12;;10405:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10376:80;;10467:26;10496:44;10528:11;10496:27;10510:12;;10496:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10467:73;;10556:21;10614:20;;;;;;;;;;;10606:34;;10648:18;10673:5;10606:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10555:128;;;10702:16;10694:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10787:1;10769:15;:19;10766:383;;;10804:6;;;;;;;;;;;:22;;;10834:18;10880:4;10904:15;10938:1;10958::::0;10978:42:::1;11039:15;10804:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11089:48;11101:18;11121:15;11089:48;;;;;;;:::i;:::-;;;;;;;;10766:383;9622:1534;;;;;;;;;;5511:5:::0;5502:6;;:14;;;;;;;;;;;;;;;;;;9584:1572::o;8920:114::-;8982:4;9007:11;:19;9019:6;9007:19;;;;;;;;;;;;;;;;;;;;;;;;;9006:20;8999:27;;8920:114;;;:::o;9042:329::-;9109:7;9129:17;9149:40;9174:14;;9149:20;9160:8;;9149:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9129:60;;9227:39;9256:9;9227;:24;9245:4;9227:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9200:9;:24;9218:4;9200:24;;;;;;;;;;;;;;;:66;;;;9307:4;9282:42;;9291:6;9282:42;;;9314:9;9282:42;;;;;;:::i;:::-;;;;;;;;9342:21;9353:9;9342:6;:10;;:21;;;;:::i;:::-;9335:28;;;9042:329;;;;:::o;356:179::-;414:7;434:9;450:1;446;:5;;;;:::i;:::-;434:17;;475:1;470;:6;;462:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;526:1;519:8;;;356:179;;;;:::o;879:246::-;937:7;966:1;961;:6;957:47;;;991:1;984:8;;;;957:47;1014:9;1030:1;1026;:5;;;;:::i;:::-;1014:17;;1059:1;1054;1050;:5;;;;:::i;:::-;:10;1042:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1116:1;1109:8;;;879:246;;;;;:::o;1131:132::-;1189:7;1216:39;1220:1;1223;1216:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1209:46;;1131:132;;;;:::o;541:136::-;599:7;626:43;630:1;633;626:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;619:50;;541:136;;;;:::o;1269:189::-;1355:7;1387:1;1383;:5;1390:12;1375:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1414:9;1430:1;1426;:5;;;;:::i;:::-;1414:17;;1449:1;1442:8;;;1269:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:474::-;5304:6;5312;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5614:2;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5585:118;5236:474;;;;;:::o;5716:118::-;5803:24;5821:5;5803:24;:::i;:::-;5798:3;5791:37;5716:118;;:::o;5840:222::-;5933:4;5971:2;5960:9;5956:18;5948:26;;5984:71;6052:1;6041:9;6037:17;6028:6;5984:71;:::i;:::-;5840:222;;;;:::o;6068:474::-;6136:6;6144;6193:2;6181:9;6172:7;6168:23;6164:32;6161:119;;;6199:79;;:::i;:::-;6161:119;6319:1;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;:::i;:::-;6334:63;;6290:117;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;6068:474;;;;;:::o;6548:329::-;6607:6;6656:2;6644:9;6635:7;6631:23;6627:32;6624:119;;;6662:79;;:::i;:::-;6624:119;6782:1;6807:53;6852:7;6843:6;6832:9;6828:22;6807:53;:::i;:::-;6797:63;;6753:117;6548:329;;;;:::o;6883:60::-;6911:3;6932:5;6925:12;;6883:60;;;:::o;6949:142::-;6999:9;7032:53;7050:34;7059:24;7077:5;7059:24;:::i;:::-;7050:34;:::i;:::-;7032:53;:::i;:::-;7019:66;;6949:142;;;:::o;7097:126::-;7147:9;7180:37;7211:5;7180:37;:::i;:::-;7167:50;;7097:126;;;:::o;7229:144::-;7297:9;7330:37;7361:5;7330:37;:::i;:::-;7317:50;;7229:144;;;:::o;7379:167::-;7484:55;7533:5;7484:55;:::i;:::-;7479:3;7472:68;7379:167;;:::o;7552:258::-;7663:4;7701:2;7690:9;7686:18;7678:26;;7714:89;7800:1;7789:9;7785:17;7776:6;7714:89;:::i;:::-;7552:258;;;;:::o;7816:156::-;7956:8;7952:1;7944:6;7940:14;7933:32;7816:156;:::o;7978:365::-;8120:3;8141:66;8205:1;8200:3;8141:66;:::i;:::-;8134:73;;8216:93;8305:3;8216:93;:::i;:::-;8334:2;8329:3;8325:12;8318:19;;7978:365;;;:::o;8349:419::-;8515:4;8553:2;8542:9;8538:18;8530:26;;8602:9;8596:4;8592:20;8588:1;8577:9;8573:17;8566:47;8630:131;8756:4;8630:131;:::i;:::-;8622:139;;8349:419;;;:::o;8774:180::-;8822:77;8819:1;8812:88;8919:4;8916:1;8909:15;8943:4;8940:1;8933:15;8960:305;9000:3;9019:20;9037:1;9019:20;:::i;:::-;9014:25;;9053:20;9071:1;9053:20;:::i;:::-;9048:25;;9207:1;9139:66;9135:74;9132:1;9129:81;9126:107;;;9213:18;;:::i;:::-;9126:107;9257:1;9254;9250:9;9243:16;;8960:305;;;;:::o;9271:348::-;9311:7;9334:20;9352:1;9334:20;:::i;:::-;9329:25;;9368:20;9386:1;9368:20;:::i;:::-;9363:25;;9556:1;9488:66;9484:74;9481:1;9478:81;9473:1;9466:9;9459:17;9455:105;9452:131;;;9563:18;;:::i;:::-;9452:131;9611:1;9608;9604:9;9593:20;;9271:348;;;;:::o;9625:180::-;9673:77;9670:1;9663:88;9770:4;9767:1;9760:15;9794:4;9791:1;9784:15;9811:185;9851:1;9868:20;9886:1;9868:20;:::i;:::-;9863:25;;9902:20;9920:1;9902:20;:::i;:::-;9897:25;;9941:1;9931:35;;9946:18;;:::i;:::-;9931:35;9988:1;9985;9981:9;9976:14;;9811:185;;;;:::o;10002:191::-;10042:4;10062:20;10080:1;10062:20;:::i;:::-;10057:25;;10096:20;10114:1;10096:20;:::i;:::-;10091:25;;10135:1;10132;10129:8;10126:34;;;10140:18;;:::i;:::-;10126:34;10185:1;10182;10178:9;10170:17;;10002:191;;;;:::o;10199:224::-;10339:34;10335:1;10327:6;10323:14;10316:58;10408:7;10403:2;10395:6;10391:15;10384:32;10199:224;:::o;10429:366::-;10571:3;10592:67;10656:2;10651:3;10592:67;:::i;:::-;10585:74;;10668:93;10757:3;10668:93;:::i;:::-;10786:2;10781:3;10777:12;10770:19;;10429:366;;;:::o;10801:419::-;10967:4;11005:2;10994:9;10990:18;10982:26;;11054:9;11048:4;11044:20;11040:1;11029:9;11025:17;11018:47;11082:131;11208:4;11082:131;:::i;:::-;11074:139;;10801:419;;;:::o;11226:180::-;11274:77;11271:1;11264:88;11371:4;11368:1;11361:15;11395:4;11392:1;11385:15;11412:180;11460:77;11457:1;11450:88;11557:4;11554:1;11547:15;11581:4;11578:1;11571:15;11598:143;11655:5;11686:6;11680:13;11671:22;;11702:33;11729:5;11702:33;:::i;:::-;11598:143;;;;:::o;11747:351::-;11817:6;11866:2;11854:9;11845:7;11841:23;11837:32;11834:119;;;11872:79;;:::i;:::-;11834:119;11992:1;12017:64;12073:7;12064:6;12053:9;12049:22;12017:64;:::i;:::-;12007:74;;11963:128;11747:351;;;;:::o;12104:85::-;12149:7;12178:5;12167:16;;12104:85;;;:::o;12195:158::-;12253:9;12286:61;12304:42;12313:32;12339:5;12313:32;:::i;:::-;12304:42;:::i;:::-;12286:61;:::i;:::-;12273:74;;12195:158;;;:::o;12359:147::-;12454:45;12493:5;12454:45;:::i;:::-;12449:3;12442:58;12359:147;;:::o;12512:114::-;12579:6;12613:5;12607:12;12597:22;;12512:114;;;:::o;12632:184::-;12731:11;12765:6;12760:3;12753:19;12805:4;12800:3;12796:14;12781:29;;12632:184;;;;:::o;12822:132::-;12889:4;12912:3;12904:11;;12942:4;12937:3;12933:14;12925:22;;12822:132;;;:::o;12960:108::-;13037:24;13055:5;13037:24;:::i;:::-;13032:3;13025:37;12960:108;;:::o;13074:179::-;13143:10;13164:46;13206:3;13198:6;13164:46;:::i;:::-;13242:4;13237:3;13233:14;13219:28;;13074:179;;;;:::o;13259:113::-;13329:4;13361;13356:3;13352:14;13344:22;;13259:113;;;:::o;13408:732::-;13527:3;13556:54;13604:5;13556:54;:::i;:::-;13626:86;13705:6;13700:3;13626:86;:::i;:::-;13619:93;;13736:56;13786:5;13736:56;:::i;:::-;13815:7;13846:1;13831:284;13856:6;13853:1;13850:13;13831:284;;;13932:6;13926:13;13959:63;14018:3;14003:13;13959:63;:::i;:::-;13952:70;;14045:60;14098:6;14045:60;:::i;:::-;14035:70;;13891:224;13878:1;13875;13871:9;13866:14;;13831:284;;;13835:14;14131:3;14124:10;;13532:608;;;13408:732;;;;:::o;14146:831::-;14409:4;14447:3;14436:9;14432:19;14424:27;;14461:71;14529:1;14518:9;14514:17;14505:6;14461:71;:::i;:::-;14542:80;14618:2;14607:9;14603:18;14594:6;14542:80;:::i;:::-;14669:9;14663:4;14659:20;14654:2;14643:9;14639:18;14632:48;14697:108;14800:4;14791:6;14697:108;:::i;:::-;14689:116;;14815:72;14883:2;14872:9;14868:18;14859:6;14815:72;:::i;:::-;14897:73;14965:3;14954:9;14950:19;14941:6;14897:73;:::i;:::-;14146:831;;;;;;;;:::o;14983:147::-;15084:11;15121:3;15106:18;;14983:147;;;;:::o;15136:114::-;;:::o;15256:398::-;15415:3;15436:83;15517:1;15512:3;15436:83;:::i;:::-;15429:90;;15528:93;15617:3;15528:93;:::i;:::-;15646:1;15641:3;15637:11;15630:18;;15256:398;;;:::o;15660:379::-;15844:3;15866:147;16009:3;15866:147;:::i;:::-;15859:154;;16030:3;16023:10;;15660:379;;;:::o;16045:180::-;16185:32;16181:1;16173:6;16169:14;16162:56;16045:180;:::o;16231:366::-;16373:3;16394:67;16458:2;16453:3;16394:67;:::i;:::-;16387:74;;16470:93;16559:3;16470:93;:::i;:::-;16588:2;16583:3;16579:12;16572:19;;16231:366;;;:::o;16603:419::-;16769:4;16807:2;16796:9;16792:18;16784:26;;16856:9;16850:4;16846:20;16842:1;16831:9;16827:17;16820:47;16884:131;17010:4;16884:131;:::i;:::-;16876:139;;16603:419;;;:::o;17028:807::-;17277:4;17315:3;17304:9;17300:19;17292:27;;17329:71;17397:1;17386:9;17382:17;17373:6;17329:71;:::i;:::-;17410:72;17478:2;17467:9;17463:18;17454:6;17410:72;:::i;:::-;17492:80;17568:2;17557:9;17553:18;17544:6;17492:80;:::i;:::-;17582;17658:2;17647:9;17643:18;17634:6;17582:80;:::i;:::-;17672:73;17740:3;17729:9;17725:19;17716:6;17672:73;:::i;:::-;17755;17823:3;17812:9;17808:19;17799:6;17755:73;:::i;:::-;17028:807;;;;;;;;;:::o;17841:143::-;17898:5;17929:6;17923:13;17914:22;;17945:33;17972:5;17945:33;:::i;:::-;17841:143;;;;:::o;17990:663::-;18078:6;18086;18094;18143:2;18131:9;18122:7;18118:23;18114:32;18111:119;;;18149:79;;:::i;:::-;18111:119;18269:1;18294:64;18350:7;18341:6;18330:9;18326:22;18294:64;:::i;:::-;18284:74;;18240:128;18407:2;18433:64;18489:7;18480:6;18469:9;18465:22;18433:64;:::i;:::-;18423:74;;18378:129;18546:2;18572:64;18628:7;18619:6;18608:9;18604:22;18572:64;:::i;:::-;18562:74;;18517:129;17990:663;;;;;:::o;18659:332::-;18780:4;18818:2;18807:9;18803:18;18795:26;;18831:71;18899:1;18888:9;18884:17;18875:6;18831:71;:::i;:::-;18912:72;18980:2;18969:9;18965:18;18956:6;18912:72;:::i;:::-;18659:332;;;;;:::o;18997:177::-;19137:29;19133:1;19125:6;19121:14;19114:53;18997:177;:::o;19180:366::-;19322:3;19343:67;19407:2;19402:3;19343:67;:::i;:::-;19336:74;;19419:93;19508:3;19419:93;:::i;:::-;19537:2;19532:3;19528:12;19521:19;;19180:366;;;:::o;19552:419::-;19718:4;19756:2;19745:9;19741:18;19733:26;;19805:9;19799:4;19795:20;19791:1;19780:9;19776:17;19769:47;19833:131;19959:4;19833:131;:::i;:::-;19825:139;;19552:419;;;:::o;19977:220::-;20117:34;20113:1;20105:6;20101:14;20094:58;20186:3;20181:2;20173:6;20169:15;20162:28;19977:220;:::o;20203:366::-;20345:3;20366:67;20430:2;20425:3;20366:67;:::i;:::-;20359:74;;20442:93;20531:3;20442:93;:::i;:::-;20560:2;20555:3;20551:12;20544:19;;20203:366;;;:::o;20575:419::-;20741:4;20779:2;20768:9;20764:18;20756:26;;20828:9;20822:4;20818:20;20814:1;20803:9;20799:17;20792:47;20856:131;20982:4;20856:131;:::i;:::-;20848:139;;20575:419;;;:::o
Swarm Source
ipfs://63ea2f80fad298e72b3ea1f2eed5a1f53cfa877a07872f72ea7bd777ef46c884
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.