Token SNOW

Overview ERC20

Price
$0.00 @ 0.000000 AVAX
Fully Diluted Market Cap
Total Supply:
9,637,378.769799 SNOW

Holders:
305 addresses

Transfers:
-

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

A deflationary protocol, that rewards users who stake assets through a sustainable distribution. Snowdream uses already circulating assets, but redistributes using a small tax system.


Update? Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Snowdream

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-07-15
*/

pragma solidity ^0.5.13;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

contract Snowdream {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 1e25; // 1B
	uint256 constant private BURN_RATE = 5; // 5% per tx
	uint256 constant private SUPPLY_FLOOR = 1; // 1% of 1M = 100K
	uint256 constant private MIN_FREEZE_AMOUNT = 0; // 0

	string constant public name = "SNOW";
	string constant public symbol = "SNOW";
	uint8 constant public decimals = 18;

	struct User {
		bool whitelisted;
		uint256 balance;
		uint256 frozen;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}

	struct Info {
		uint256 totalSupply;
		uint256 totalFrozen;
		mapping(address => User) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	event Freeze(address indexed owner, uint256 tokens);
	event Unfreeze(address indexed owner, uint256 tokens);
	event Collect(address indexed owner, uint256 tokens);
	event Burn(uint256 tokens);


	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		whitelist(msg.sender, true);
	}

	function freeze(uint256 _tokens) external {
		_freeze(_tokens);
	}

	function unfreeze(uint256 _tokens) external {
		_unfreeze(_tokens);
	}

	function collect() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Collect(msg.sender, _dividends);
		return _dividends;
	}

	function burn(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		uint256 _burnedAmount = _tokens;
		if (info.totalFrozen > 0) {
			_burnedAmount /= 2;
			info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
			emit Transfer(msg.sender, address(this), _burnedAmount);
		}
		info.totalSupply -= _burnedAmount;
		emit Transfer(msg.sender, address(0x0), _burnedAmount);
		emit Burn(_burnedAmount);
	}

	function distribute(uint256 _tokens) external {
		require(info.totalFrozen > 0);
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalFrozen;
		emit Transfer(msg.sender, address(this), _tokens);
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}

	function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		uint256 _transferred = _transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _transferred, _data));
		}
		return true;
	}

	function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}

	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}


	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

	function totalFrozen() public view returns (uint256) {
		return info.totalFrozen;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance - frozenOf(_user);
	}

	function frozenOf(address _user) public view returns (uint256) {
		return info.users[_user].frozen;
	}

	function dividendsOf(address _user) public view returns (uint256) {
		return uint256(int256(info.scaledPayoutPerToken * info.users[_user].frozen) - info.users[_user].scaledPayout) / FLOAT_SCALAR;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 totalTokensFrozen, uint256 userBalance, uint256 userFrozen, uint256 userDividends) {
		return (totalSupply(), totalFrozen(), balanceOf(_user), frozenOf(_user), dividendsOf(_user));
	}


	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
		uint256 _burnedAmount = _tokens * BURN_RATE / 100;
		if (totalSupply() - _burnedAmount < INITIAL_SUPPLY * SUPPLY_FLOOR / 100 || isWhitelisted(_from)) {
			_burnedAmount = 0;
		}
		uint256 _transferred = _tokens - _burnedAmount;
		info.users[_to].balance += _transferred;
		emit Transfer(_from, _to, _transferred);
		if (_burnedAmount > 0) {
			if (info.totalFrozen > 0) {
				_burnedAmount /= 2;
				info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
				emit Transfer(_from, address(this), _burnedAmount);
			}
			info.totalSupply -= _burnedAmount;
			emit Transfer(_from, address(0x0), _burnedAmount);
			emit Burn(_burnedAmount);
		}
		return _transferred;
	}

	function _freeze(uint256 _amount) internal {
		require(balanceOf(msg.sender) >= _amount);
		require(frozenOf(msg.sender) + _amount >= MIN_FREEZE_AMOUNT);
		info.totalFrozen += _amount;
		info.users[msg.sender].frozen += _amount;
		info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(msg.sender, address(this), _amount);
		emit Freeze(msg.sender, _amount);
	}

	function _unfreeze(uint256 _amount) internal {
		require(frozenOf(msg.sender) >= _amount);
		uint256 _burnedAmount = _amount * BURN_RATE / 100;
		info.scaledPayoutPerToken += _burnedAmount * FLOAT_SCALAR / info.totalFrozen;
		info.totalFrozen -= _amount;
		info.users[msg.sender].balance -= _burnedAmount;
		info.users[msg.sender].frozen -= _amount;
		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(address(this), msg.sender, _amount - _burnedAmount);
		emit Unfreeze(msg.sender, _amount);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Freeze","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensFrozen","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userFrozen","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"frozenOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5033600060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a084595161401484a00000060008001819055506a084595161401484a000000600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040518082815260200191505060405180910390a361014033600161014560201b60201c565b610255565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a257600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b611c70806102646000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b4114610700578063a9059cbb14610783578063d7a78db8146107e9578063dd62ed3e14610817578063e52253811461088f578063f59c3708146108ad57610141565b806342966c68146105aa57806357f6b812146105d85780636623fc461461064c57806370a082311461067a57806391c05b0b146106d257610141565b80631bf6e00d1161010a5780631bf6e00d146103735780631e7f87bc146103cb57806323b872dd146103e9578063313ce5671461046f5780633af32abf146104935780634000aea0146104ef57610141565b806265318b1461014657806306fdde031461019e578063095ea7b314610221578063153a1f3e1461028757806318160ddd14610355575b600080fd5b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fd565b6040518082815260200191505060405180910390f35b6101a66109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026d6004803603604081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e5565b604051808215151515815260200191505060405180910390f35b6103536004803603604081101561029d57600080fd5b81019080803590602001906401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b90919293919293908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b9091929391929390505050610add565b005b61035d610b5a565b6040518082815260200191505060405180910390f35b6103b56004803603602081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b66565b6040518082815260200191505060405180910390f35b6103d3610bb4565b6040518082815260200191505060405180910390f35b610455600480360360608110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b604051808215151515815260200191505060405180910390f35b610477610cf8565b604051808260ff1660ff16815260200191505060405180910390f35b6104d5600480360360208110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfd565b604051808215151515815260200191505060405180910390f35b6105906004803603606081101561050557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561054c57600080fd5b82018360208201111561055e57600080fd5b8035906020019184600183028401116401000000008311171561058057600080fd5b9091929391929390505050610d58565b604051808215151515815260200191505060405180910390f35b6105d6600480360360208110156105c057600080fd5b8101908080359060200190929190505050610e8b565b005b61061a600480360360208110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611057565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6106786004803603602081101561066257600080fd5b810190808035906020019092919050505061109d565b005b6106bc6004803603602081101561069057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a9565b6040518082815260200191505060405180910390f35b6106fe600480360360208110156106e857600080fd5b8101908080359060200190929190505050611102565b005b61070861120f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074857808201518184015260208101905061072d565b50505050905090810190601f1680156107755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107cf6004803603604081101561079957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611248565b604051808215151515815260200191505060405180910390f35b610815600480360360208110156107ff57600080fd5b8101908080359060200190929190505050611260565b005b6108796004803603604081101561082d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b6040518082815260200191505060405180910390f35b6108976112f8565b6040518082815260200191505060405180910390f35b6108fb600480360360408110156108c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061147f565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816109a457fe5b049050919050565b6040518060400160405280600481526020017f534e4f570000000000000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610aef57600080fd5b60008090505b84849050811015610b5357610b4533868684818110610b1057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610b3957fe5b9050602002013561158f565b508080600101915050610af5565b5050505050565b60008060000154905090565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060010154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c5157600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610cec84848461158f565b50600190509392505050565b601281565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600080610d6633878761158f565b90506000863b905060008163ffffffff161115610e7d578673ffffffffffffffffffffffffffffffffffffffff16636be32e73338488886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b505050506040513d6020811015610e6257600080fd5b8101908080519060200190929190505050610e7c57600080fd5b5b600192505050949350505050565b80610e95336110a9565b1015610ea057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000819050600080600101541115610fa45760028181610f0f57fe5b04905060006001015468010000000000000000820281610f2b57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000806000806000611067610b5a565b61106f610bb4565b611078886110a9565b61108189610b66565b61108a8a6108fd565b9450945094509450945091939590929450565b6110a681611879565b50565b60006110b482610b66565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b600080600101541161111357600080fd5b8061111d336110a9565b101561112857600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000600101546801000000000000000082028161119457fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600481526020017f534e4f570000000000000000000000000000000000000000000000000000000081525081565b600061125533848461158f565b506001905092915050565b61126981611a98565b50565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080611304336108fd565b9050600081101561131457600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999826040518082815260200191505060405180910390a28091505090565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dc57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b60008161159b856110a9565b10156115a657600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600584028161160857fe5b049050606460016a084595161401484a000000028161162357fe5b048161162d610b5a565b03108061163f575061163e85610cfd565b5b1561164957600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600082111561186d576000806001015411156117bd576002828161172857fe5b0491506000600101546801000000000000000083028161174457fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b8061188333610b66565b101561188e57600080fd5b60006064600583028161189d57fe5b049050600060010154680100000000000000008202816118b957fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f836040518082815260200191505060405180910390a25050565b80611aa2336110a9565b1015611aad57600080fd5b600081611ab933610b66565b011015611ac557600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25056fea265627a7a72315820cf3802e77e8a88eb62eb5f02d09e2061bd86ddb5f34db75ed95ff37f9b5f8d1664736f6c63430005110032

Deployed ByteCode Sourcemap

159:7211:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:7211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4759:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4759:200:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;465:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;465:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3056:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3056:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3891:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3891:259:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3891:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3891:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3891:259:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3891:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3891:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3891:259:0;;;;;;;;;;;;:::i;:::-;;4339:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4650:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4650:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4430:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3264:266;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3264:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;547:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5105:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5105:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3535:351;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3535:351:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3535:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3535:351:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3535:351:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2100:502;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2100:502:0;;;;;;;;;;;;;;;;;:::i;:::-;;5221:275;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5221:275:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:72;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1643:72:0;;;;;;;;;;;;;;;;;:::i;:::-;;4521:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4521:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2607:306;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2607:306:0;;;;;;;;;;;;;;;;;:::i;:::-;;505:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;505:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2918:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2918:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1570:68;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1570:68:0;;;;;;;;;;;;;;;;;:::i;:::-;;4964:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4964:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1720:375;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4155:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4155:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4759:200;4816:7;224:5;4908:4;:10;;:17;4919:5;4908:17;;;;;;;;;;;;;;;:30;;;4880:4;:10;;:17;4891:5;4880:17;;;;;;;;;;;;;;;:24;;;4852:4;:25;;;:52;4845:93;4837:117;;;;;;4830:124;;4759:200;;;:::o;465:36::-;;;;;;;;;;;;;;;;;;;:::o;3056:203::-;3126:4;3182:7;3137:4;:10;;:22;3148:10;3137:22;;;;;;;;;;;;;;;:32;;:42;3170:8;3137:42;;;;;;;;;;;;;;;:52;;;;3220:8;3199:39;;3208:10;3199:39;;;3230:7;3199:39;;;;;;;;;;;;;;;;;;3250:4;3243:11;;3056:203;;;;:::o;3891:259::-;4016:8;;:15;;3995:10;;:17;;:36;3987:45;;;;;;4042:9;4054:1;4042:13;;4037:109;4061:10;;:17;;4057:1;:21;4037:109;;;4091:49;4101:10;4113;;4124:1;4113:13;;;;;;;;;;;;;;;4128:8;;4137:1;4128:11;;;;;;;;;;;;;4091:9;:49::i;:::-;;4080:3;;;;;;;4037:109;;;;3891:259;;;;:::o;4339:86::-;4383:7;4404:4;:16;;;4397:23;;4339:86;:::o;4650:104::-;4704:7;4725:4;:10;;:17;4736:5;4725:17;;;;;;;;;;;;;;;:24;;;4718:31;;4650:104;;;:::o;4430:86::-;4474:7;4495:4;:16;;;4488:23;;4430:86;:::o;3264:266::-;3349:4;3411:7;3368:4;:10;;:17;3379:5;3368:17;;;;;;;;;;;;;;;:27;;:39;3396:10;3368:39;;;;;;;;;;;;;;;;:50;;3360:59;;;;;;3467:7;3424:4;:10;;:17;3435:5;3424:17;;;;;;;;;;;;;;;:27;;:39;3452:10;3424:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;3479:30;3489:5;3496:3;3501:7;3479:9;:30::i;:::-;;3521:4;3514:11;;3264:266;;;;;:::o;547:35::-;580:2;547:35;:::o;5105:111::-;5164:4;5182;:10;;:17;5193:5;5182:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;5175:36;;5105:111;;;:::o;3535:351::-;3630:4;3641:20;3664:35;3674:10;3686:3;3691:7;3664:9;:35::i;:::-;3641:58;;3704:12;3757:3;3745:16;3736:25;;3782:1;3774:5;:9;;;3770:96;;;3808:3;3799:27;;;3827:10;3839:12;3853:5;;3799:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3799:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3799:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3799:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3799:60:0;;;;;;;;;;;;;;;;3791:69;;;;;;3770:96;3877:4;3870:11;;;;3535:351;;;;;;:::o;2100:502::-;2178:7;2153:21;2163:10;2153:9;:21::i;:::-;:32;;2145:41;;;;;;2225:7;2191:4;:10;;:22;2202:10;2191:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2237:21;2261:7;2237:31;;2296:1;2277:4;:16;;;:20;2273:199;;;2322:1;2305:18;;;;;;;;;2389:4;:16;;;224:5;2358:13;:28;:47;;;;;;2329:4;:25;;;:76;;;;;;;;;;;2445:4;2416:50;;2425:10;2416:50;;;2452:13;2416:50;;;;;;;;;;;;;;;;;;2273:199;2496:13;2476:4;:16;;;:33;;;;;;;;;;;2548:3;2519:49;;2528:10;2519:49;;;2554:13;2519:49;;;;;;;;;;;;;;;;;;2578:19;2583:13;2578:19;;;;;;;;;;;;;;;;;;2100:502;;:::o;5221:275::-;5277:24;5303:25;5330:19;5351:18;5371:21;5407:13;:11;:13::i;:::-;5422;:11;:13::i;:::-;5437:16;5447:5;5437:9;:16::i;:::-;5455:15;5464:5;5455:8;:15::i;:::-;5472:18;5484:5;5472:11;:18::i;:::-;5399:92;;;;;;;;;;5221:275;;;;;;;:::o;1643:72::-;1692:18;1702:7;1692:9;:18::i;:::-;1643:72;:::o;4521:124::-;4576:7;4625:15;4634:5;4625:8;:15::i;:::-;4597:4;:10;;:17;4608:5;4597:17;;;;;;;;;;;;;;;:25;;;:43;4590:50;;4521:124;;;:::o;2607:306::-;2685:1;2666:4;:16;;;:20;2658:29;;;;;;2725:7;2700:21;2710:10;2700:9;:21::i;:::-;:32;;2692:41;;;;;;2772:7;2738:4;:10;;:22;2749:10;2738:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2838:4;:16;;;224:5;2813:7;:22;:41;;;;;;2784:4;:25;;;:70;;;;;;;;;;;2893:4;2864:44;;2873:10;2864:44;;;2900:7;2864:44;;;;;;;;;;;;;;;;;;2607:306;:::o;505:38::-;;;;;;;;;;;;;;;;;;;:::o;2918:133::-;2984:4;2995:35;3005:10;3017:3;3022:7;2995:9;:35::i;:::-;;3042:4;3035:11;;2918:133;;;;:::o;1570:68::-;1617:16;1625:7;1617;:16::i;:::-;1570:68;:::o;4964:136::-;5037:7;5058:4;:10;;:17;5069:5;5058:17;;;;;;;;;;;;;;;:27;;:37;5086:8;5058:37;;;;;;;;;;;;;;;;5051:44;;4964:136;;;;:::o;1720:375::-;1757:7;1771:18;1792:23;1804:10;1792:11;:23::i;:::-;1771:44;;1842:1;1828:10;:15;;1820:24;;;;;;224:5;1895:10;:25;1849:4;:10;;:22;1860:10;1849:22;;;;;;;;;;;;;;;:35;;;:72;;;;;;;;;;;1960:10;1926:4;:10;;:22;1937:10;1926:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;2004:10;1980:47;;1997:4;1980:47;;;2016:10;1980:47;;;;;;;;;;;;;;;;;;2045:10;2037:31;;;2057:10;2037:31;;;;;;;;;;;;;;;;;;2080:10;2073:17;;;1720:375;:::o;4155:177::-;4237:4;:10;;;;;;;;;;;;4223:24;;:10;:24;;;4215:33;;;;;;4285:7;4253:4;:10;;:17;4264:5;4253:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;4312:5;4302:25;;;4319:7;4302:25;;;;;;;;;;;;;;;;;;;;;;4155:177;;:::o;5503:885::-;5585:7;5627;5607:16;5617:5;5607:9;:16::i;:::-;:27;;5599:36;;;;;;5669:7;5640:4;:10;;:17;5651:5;5640:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;5681:21;5727:3;326:1;5705:7;:19;:25;;;;;;5681:49;;5803:3;384:1;275:4;5771:29;:35;;;;;;5755:13;5739;:11;:13::i;:::-;:29;:67;:91;;;;5810:20;5824:5;5810:13;:20::i;:::-;5739:91;5735:126;;;5854:1;5838:17;;5735:126;5865:20;5898:13;5888:7;:23;5865:46;;5943:12;5916:4;:10;;:15;5927:3;5916:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;5981:3;5965:34;;5974:5;5965:34;;;5986:12;5965:34;;;;;;;;;;;;;;;;;;6024:1;6008:13;:17;6004:356;;;6056:1;6037:4;:16;;;:20;6033:198;;;6083:1;6066:18;;;;;;;;;6151:4;:16;;;224:5;6120:13;:28;:47;;;;;;6091:4;:25;;;:76;;;;;;;;;;;6203:4;6179:45;;6188:5;6179:45;;;6210:13;6179:45;;;;;;;;;;;;;;;;;;6033:198;6256:13;6236:4;:16;;;:33;;;;;;;;;;;6304:3;6280:44;;6289:5;6280:44;;;6310:13;6280:44;;;;;;;;;;;;;;;;;;6335:19;6340:13;6335:19;;;;;;;;;;;;;;;;;;6004:356;6371:12;6364:19;;;;5503:885;;;;;:::o;6812:555::-;6894:7;6870:20;6879:10;6870:8;:20::i;:::-;:31;;6862:40;;;;;;6907:21;6953:3;326:1;6931:7;:19;:25;;;;;;6907:49;;7021:4;:16;;;224:5;6990:13;:28;:47;;;;;;6961:4;:25;;;:76;;;;;;;;;;;7062:7;7042:4;:16;;;:27;;;;;;;;;;;7108:13;7074:4;:10;;:22;7085:10;7074:22;;;;;;;;;;;;;;;:30;;;:47;;;;;;;;;;;7159:7;7126:4;:10;;:22;7137:10;7126:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;7227:4;:25;;;7217:7;:35;7171:4;:10;;:22;7182:10;7171:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;7287:10;7263:60;;7280:4;7263:60;;;7309:13;7299:7;:23;7263:60;;;;;;;;;;;;;;;;;;7342:10;7333:29;;;7354:7;7333:29;;;;;;;;;;;;;;;;;;6812:555;;:::o;6393:414::-;6474:7;6449:21;6459:10;6449:9;:21::i;:::-;:32;;6441:41;;;;;;453:1;6518:7;6495:20;6504:10;6495:8;:20::i;:::-;:30;:51;;6487:60;;;;;;6572:7;6552:4;:16;;;:27;;;;;;;;;;;6617:7;6584:4;:10;;:22;6595:10;6584:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;6685:4;:25;;;6675:7;:35;6629:4;:10;;:22;6640:10;6629:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;6750:4;6721:44;;6730:10;6721:44;;;6757:7;6721:44;;;;;;;;;;;;;;;;;;6782:10;6775:27;;;6794:7;6775:27;;;;;;;;;;;;;;;;;;6393:414;:::o

Swarm Source

bzzr://cf3802e77e8a88eb62eb5f02d09e2061bd86ddb5f34db75ed95ff37f9b5f8d16
Loading