Contract 0xe2d2656516cD5a021bD2A3943d32Fd1c8c1D93Ea 1

  Note: Our AVAX balance display is temporarily unavailable. Please check back later.
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf341f885971d7b4137e7aadcbd62586008f802f64f26fcc917c2db4f026c014bTake From Cashba...105008282022-02-05 2:35:51303 days 5 hrs ago0x6c7c3806b3cae601b1d99c017e4592753ba8d41e IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00180258 30
0x4f65ff83e63220f9e6e03b29dd18d38acca171019861193515be34f2e13f563dTake From Cashba...104680572022-02-04 8:44:09303 days 23 hrs ago0x08cfba56dc10fe7565d6fa510a5319290815b509 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00180258 30
0x1db55d0aad4c6f1c1808c415d00c3a3af0715b5feb80cb4c878dde611c6a329bTake From Cashba...104657302022-02-04 7:27:25304 days 44 mins ago0x66c235d79f29c6ccccdf4f43c84ea5ebabcd1b56 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00180438 30
0xb959867cce66164a9d68db3fa77dafe5804df21d58b03bc1ccf736d58b6d2ad6Join Cashbag104657132022-02-04 7:26:50304 days 44 mins ago0x66c235d79f29c6ccccdf4f43c84ea5ebabcd1b56 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00364662 30
0x0fb1cba8acc6bda8afa1751010a8dfbf88621c099ee3530e3e8a024c44211d66Create Cashbag104649292022-02-04 7:01:31304 days 1 hr ago0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0.1 AVAX0.00563757 30
0x426a708111714283b01c8d0b8fab85640268869fa435c96ef93ea66e7b08e166Take From Cashba...104612552022-02-04 5:02:36304 days 3 hrs ago0x5bf0e1e38d755e803a71b4384aafaa91d65902fc IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00084155 25
0x3b5941727d3e02bdf1584a7db52d50c7d373b7649e2be09cd9c045981416a189Take From Cashba...104611942022-02-04 5:00:56304 days 3 hrs ago0x5bf0e1e38d755e803a71b4384aafaa91d65902fc IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.001844344312 30.695075602
0xa415c9c91c55d5d20941b10ad985f2375e3ca2a4e96c1f2f7b71d5e8626f8717Take From Cashba...104611742022-02-04 5:00:23304 days 3 hrs ago0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00180258 30
0xe73ac26b4d0ec6af0d8887177dcfa3065d5613ce10a3c7c4e25a437d7f3e873dTake From Cashba...104610892022-02-04 4:57:40304 days 3 hrs ago0x379aad5aaf5516e0e8ad80b327bbaf67a17185a1 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00180258 30
0x7bc1ef11c0d9a864f5f943c8c2d098b3f7ad3b46558426ce71563eb3546b5fb5Join Cashbag104610562022-02-04 4:56:36304 days 3 hrs ago0x379aad5aaf5516e0e8ad80b327bbaf67a17185a1 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00313362 30
0xace5089477de71358780d8897482a5ba1d34e60b264b7195711f1454859f4a6dJoin Cashbag104604332022-02-04 4:36:13304 days 3 hrs ago0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00313326 30
0x3d5749c7242578a3f7a7400ef9a0e185fe28c6ebe9112cfb111b2d8a8193e035Join Cashbag104485582022-02-03 22:07:55304 days 10 hrs ago0x6c7c3806b3cae601b1d99c017e4592753ba8d41e IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.003812292375 36.49733256
0xda41807ebbe35af9f655d6c04a9e2763d48aa3702c99a3f66f22f1aa3719c840Take From Cashba...104362282022-02-03 15:28:21304 days 16 hrs ago0x61debe73ea0df6d3d564d381b658b54bef0307e1 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.000847538399 25.177897924
0x5de5af58c3684247823ed237c2fc2e8ede0b223e60d894567b55b678815ff3d9Take From Cashba...104362132022-02-03 15:27:50304 days 16 hrs ago0x61debe73ea0df6d3d564d381b658b54bef0307e1 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.001842960295 30.672041661
0xb682efd147b97a81ba071625c7bcf3dc43fd2757d93a1040b3c88ecab351f5faJoin Cashbag104342602022-02-03 14:24:38304 days 17 hrs ago0x5bf0e1e38d755e803a71b4384aafaa91d65902fc IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00313362 30
0x3bf9eac02d787840c8f92751a9225f0011cdc46263f6551b86b99d884f65ad42Join Cashbag104335322022-02-03 14:00:53304 days 18 hrs ago0x08cfba56dc10fe7565d6fa510a5319290815b509 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.00364662 30
0x0ba437e6b394e52f454a9719a07d578b150513f9f09c0f121dc9b507645148bbCreate Cashbag104227072022-02-03 8:04:31305 days 7 mins ago0x68929570ee8a4da4fc7634340d0d92585b2aa313 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0.1 AVAX0.00563757 30
0xe0c9a5b08daccdefa6637ad53660af41eecf0c0480982b01b9a0f7c9a8a5946eTake From Cashba...104082742022-02-03 0:09:46305 days 8 hrs ago0x68929570ee8a4da4fc7634340d0d92585b2aa313 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.001081319148 32.122843225
0x884123066f0bffd0d20d22900285c28967ab7976d2f13306375d34d13cfee139Take From Cashba...104082312022-02-03 0:08:25305 days 8 hrs ago0x68929570ee8a4da4fc7634340d0d92585b2aa313 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.002267501053 37.737593674
0xf56bdbf55366e6e4f2b53ae2a70b20a57624a6754af0fa7811d242aca1443257Take From Cashba...104081892022-02-03 0:06:59305 days 8 hrs ago0x6c7c3806b3cae601b1d99c017e4592753ba8d41e IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.001112847578 33.059461077
0x9b98cf0480cc5f4c6d44570a08cfdee6338bbc425d84b8c7d846d68fea8e952dTake From Cashba...104081882022-02-03 0:06:57305 days 8 hrs ago0x6c7c3806b3cae601b1d99c017e4592753ba8d41e IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.002253022361 37.496627524
0x595f7dda6376145ab376dd271056615994af09b05f2455ac51c71860f62860c4Join Cashbag104081602022-02-03 0:06:01305 days 8 hrs ago0x6c7c3806b3cae601b1d99c017e4592753ba8d41e IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.003872988538 37.078412877
0x43c6216571e0cb1ad46c4eace581320d66eb21c2f13dec90c534b1a7ebd6c56cJoin Cashbag104076602022-02-02 23:49:32305 days 8 hrs ago0x61debe73ea0df6d3d564d381b658b54bef0307e1 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.003803214353 36.410423284
0xc95f25161af00f73c97b570fa6a0039595f39f560c132876b4efb4f38e11ec7fJoin Cashbag104072662022-02-02 23:36:33305 days 8 hrs ago0x68929570ee8a4da4fc7634340d0d92585b2aa313 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0 AVAX0.004371816816 35.966046499
0x031d293f6698d153db7bea6ebad7e5e3b570c5fb854e71b30378c8ee92935ac3Create Cashbag103844472022-02-02 11:11:10305 days 21 hrs ago0x136056db90a323128a961b45a4b14f285dbf4dc5 IN  0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0.22 AVAX0.00563757 30
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf341f885971d7b4137e7aadcbd62586008f802f64f26fcc917c2db4f026c014b105008282022-02-05 2:35:51303 days 5 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x6c7c3806b3cae601b1d99c017e4592753ba8d41e0.02 AVAX
0x4f65ff83e63220f9e6e03b29dd18d38acca171019861193515be34f2e13f563d104680572022-02-04 8:44:09303 days 23 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x08cfba56dc10fe7565d6fa510a5319290815b5090.02 AVAX
0x1db55d0aad4c6f1c1808c415d00c3a3af0715b5feb80cb4c878dde611c6a329b104657302022-02-04 7:27:25304 days 44 mins ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x66c235d79f29c6ccccdf4f43c84ea5ebabcd1b560.1 AVAX
0x3b5941727d3e02bdf1584a7db52d50c7d373b7649e2be09cd9c045981416a189104611942022-02-04 5:00:56304 days 3 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x5bf0e1e38d755e803a71b4384aafaa91d65902fc0.02 AVAX
0xa415c9c91c55d5d20941b10ad985f2375e3ca2a4e96c1f2f7b71d5e8626f8717104611742022-02-04 5:00:23304 days 3 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.02 AVAX
0xe73ac26b4d0ec6af0d8887177dcfa3065d5613ce10a3c7c4e25a437d7f3e873d104610892022-02-04 4:57:40304 days 3 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x379aad5aaf5516e0e8ad80b327bbaf67a17185a10.02 AVAX
0x5de5af58c3684247823ed237c2fc2e8ede0b223e60d894567b55b678815ff3d9104362132022-02-03 15:27:50304 days 16 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x61debe73ea0df6d3d564d381b658b54bef0307e10.073333333333333333 AVAX
0x884123066f0bffd0d20d22900285c28967ab7976d2f13306375d34d13cfee139104082312022-02-03 0:08:25305 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x68929570ee8a4da4fc7634340d0d92585b2aa3130.073333333333333333 AVAX
0x9b98cf0480cc5f4c6d44570a08cfdee6338bbc425d84b8c7d846d68fea8e952d104081882022-02-03 0:06:57305 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x6c7c3806b3cae601b1d99c017e4592753ba8d41e0.073333333333333333 AVAX
0xe9669d2b9c3708f5ecdc964daed9311fb7def191d5d538f346ce42927edaf3a3103800112022-02-02 8:45:11305 days 23 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.1 AVAX
0x3b16caaa63e64dc0a5c0484a4d82b11bbf18f2b438ab8fdf048372b51d853b74103477372022-02-01 15:12:04306 days 16 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.1 AVAX
0x2ec61eaa7614922e279653e4ac48ef0d8f36864a8e42cae29eaf2dad72db689e103408512022-02-01 11:28:05306 days 20 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xbb29f5be9cc59e28587f5bb8f6c6ac6ba9b5f18a0.1 AVAX
0xeb0a80d05e73b89a3b42eacaee19639b065261d8f6161b13f4eb1024cac3e14f103408132022-02-01 11:26:53306 days 20 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.1 AVAX
0xb3718fcc575e82155a567dc7edfef48001acf6e24fe4d9893ee1d7e927867c09103405842022-02-01 11:19:11306 days 20 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.1 AVAX
0x7a36cc25997dc7f4a6756d0d7035830e8fecca8add3ebc0896ad9a3ce35e2958103392932022-02-01 10:36:15306 days 21 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xbb29f5be9cc59e28587f5bb8f6c6ac6ba9b5f18a0.1 AVAX
0x773b11828282960f46182a2b6c6c2498865ea4b6a452240ffdaf22db0726611e103381342022-02-01 9:58:04306 days 22 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.1 AVAX
0x07b303403b7d33d1f223232e4a2bb6f24e81d9fab346056c4931a732dfc3d953103199602022-02-01 0:10:48307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe51a08ce10845a7f7b2287b16b410b02ac09a2270.07 AVAX
0xd54471582dba4e18cf6fd05980d1fdd7bab754f77d10f7e5f8c250b4bbc86738103199602022-02-01 0:10:48307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x5a35aaa43281d6783e71eef91a639ef8980735bc0.07 AVAX
0xa6890f0486e88703a94bb8916af4bf83e204ca788cdb8508e57c67e2d3015980103199592022-02-01 0:10:47307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x85d43180729a63ccc61f765879359619c5ac09e30.07 AVAX
0x39741ee9b466789aed6ab108dea78defbda8b4b287ee7932388fffee4eb2154b103199362022-02-01 0:10:00307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe1fae6e277f8302d5bedd1c15e6480c9a75fb3bb0.07 AVAX
0x7e288c9f55f6715932e5216e6bf97f30fee8434b84f02b1849fe48722be24fa2103199362022-02-01 0:10:00307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xbb29f5be9cc59e28587f5bb8f6c6ac6ba9b5f18a0.1 AVAX
0xe9b3352cf4c24d2c461414fa3e085486b0e9b5c00d2fff0a88cdd7a7b89c336c103199282022-02-01 0:09:47307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x136056db90a323128a961b45a4b14f285dbf4dc50.07 AVAX
0x450f69591cecc96ccca521fa29980b1f7e1930cef57ab6c9838ebe0bc2ce0724103199262022-02-01 0:09:42307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x5a35aaa43281d6783e71eef91a639ef8980735bc0.1 AVAX
0x39456f0de551a54d92b53e6b31e147d58d0eae553eb5ca5c381d611d39169ce4103199152022-02-01 0:09:21307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0xe51a08ce10845a7f7b2287b16b410b02ac09a2270.1 AVAX
0xc5fced57ce4426dd84aee0b5782d03b8ea8fb22459e2e83afe370f4bfc96ea6c103198832022-02-01 0:08:13307 days 8 hrs ago 0xe2d2656516cd5a021bd2a3943d32fd1c8c1d93ea0x85d43180729a63ccc61f765879359619c5ac09e30.1 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CashbagManager

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, BSL 1.1 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2022-02-02
*/

// Sources flattened with hardhat v2.8.3 https://hardhat.org

// File hardhat/[email protected]

// SPDX-License-Identifier: MIT AND UNLICENSED
pragma solidity >= 0.4.22 <0.9.0;

library console {
	address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);

	function _sendLogPayload(bytes memory payload) private view {
		uint256 payloadLength = payload.length;
		address consoleAddress = CONSOLE_ADDRESS;
		assembly {
			let payloadStart := add(payload, 32)
			let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
		}
	}

	function log() internal view {
		_sendLogPayload(abi.encodeWithSignature("log()"));
	}

	function logInt(int p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(int)", p0));
	}

	function logUint(uint p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint)", p0));
	}

	function logString(string memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
	}

	function logBool(bool p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
	}

	function logAddress(address p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
	}

	function logBytes(bytes memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
	}

	function logBytes1(bytes1 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
	}

	function logBytes2(bytes2 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
	}

	function logBytes3(bytes3 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
	}

	function logBytes4(bytes4 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
	}

	function logBytes5(bytes5 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
	}

	function logBytes6(bytes6 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
	}

	function logBytes7(bytes7 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
	}

	function logBytes8(bytes8 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
	}

	function logBytes9(bytes9 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
	}

	function logBytes10(bytes10 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
	}

	function logBytes11(bytes11 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
	}

	function logBytes12(bytes12 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
	}

	function logBytes13(bytes13 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
	}

	function logBytes14(bytes14 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
	}

	function logBytes15(bytes15 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
	}

	function logBytes16(bytes16 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
	}

	function logBytes17(bytes17 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
	}

	function logBytes18(bytes18 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
	}

	function logBytes19(bytes19 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
	}

	function logBytes20(bytes20 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
	}

	function logBytes21(bytes21 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
	}

	function logBytes22(bytes22 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
	}

	function logBytes23(bytes23 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
	}

	function logBytes24(bytes24 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
	}

	function logBytes25(bytes25 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
	}

	function logBytes26(bytes26 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
	}

	function logBytes27(bytes27 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
	}

	function logBytes28(bytes28 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
	}

	function logBytes29(bytes29 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
	}

	function logBytes30(bytes30 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
	}

	function logBytes31(bytes31 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
	}

	function logBytes32(bytes32 p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
	}

	function log(uint p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint)", p0));
	}

	function log(string memory p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
	}

	function log(bool p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
	}

	function log(address p0) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
	}

	function log(uint p0, uint p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint)", p0, p1));
	}

	function log(uint p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string)", p0, p1));
	}

	function log(uint p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool)", p0, p1));
	}

	function log(uint p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address)", p0, p1));
	}

	function log(string memory p0, uint p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint)", p0, p1));
	}

	function log(string memory p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
	}

	function log(string memory p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
	}

	function log(string memory p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
	}

	function log(bool p0, uint p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint)", p0, p1));
	}

	function log(bool p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
	}

	function log(bool p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
	}

	function log(bool p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
	}

	function log(address p0, uint p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint)", p0, p1));
	}

	function log(address p0, string memory p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
	}

	function log(address p0, bool p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
	}

	function log(address p0, address p1) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
	}

	function log(uint p0, uint p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint)", p0, p1, p2));
	}

	function log(uint p0, uint p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,string)", p0, p1, p2));
	}

	function log(uint p0, uint p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool)", p0, p1, p2));
	}

	function log(uint p0, uint p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,address)", p0, p1, p2));
	}

	function log(uint p0, string memory p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,uint)", p0, p1, p2));
	}

	function log(uint p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,string)", p0, p1, p2));
	}

	function log(uint p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,bool)", p0, p1, p2));
	}

	function log(uint p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,address)", p0, p1, p2));
	}

	function log(uint p0, bool p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint)", p0, p1, p2));
	}

	function log(uint p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,string)", p0, p1, p2));
	}

	function log(uint p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool)", p0, p1, p2));
	}

	function log(uint p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,address)", p0, p1, p2));
	}

	function log(uint p0, address p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,uint)", p0, p1, p2));
	}

	function log(uint p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,string)", p0, p1, p2));
	}

	function log(uint p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,bool)", p0, p1, p2));
	}

	function log(uint p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,address)", p0, p1, p2));
	}

	function log(string memory p0, uint p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,uint)", p0, p1, p2));
	}

	function log(string memory p0, uint p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,string)", p0, p1, p2));
	}

	function log(string memory p0, uint p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,bool)", p0, p1, p2));
	}

	function log(string memory p0, uint p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,address)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
	}

	function log(string memory p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
	}

	function log(string memory p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
	}

	function log(string memory p0, address p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint)", p0, p1, p2));
	}

	function log(string memory p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
	}

	function log(string memory p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
	}

	function log(string memory p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
	}

	function log(bool p0, uint p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint)", p0, p1, p2));
	}

	function log(bool p0, uint p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,string)", p0, p1, p2));
	}

	function log(bool p0, uint p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool)", p0, p1, p2));
	}

	function log(bool p0, uint p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,address)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
	}

	function log(bool p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
	}

	function log(bool p0, bool p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint)", p0, p1, p2));
	}

	function log(bool p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
	}

	function log(bool p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
	}

	function log(bool p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
	}

	function log(bool p0, address p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint)", p0, p1, p2));
	}

	function log(bool p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
	}

	function log(bool p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
	}

	function log(bool p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
	}

	function log(address p0, uint p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,uint)", p0, p1, p2));
	}

	function log(address p0, uint p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,string)", p0, p1, p2));
	}

	function log(address p0, uint p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,bool)", p0, p1, p2));
	}

	function log(address p0, uint p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,address)", p0, p1, p2));
	}

	function log(address p0, string memory p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint)", p0, p1, p2));
	}

	function log(address p0, string memory p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
	}

	function log(address p0, string memory p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
	}

	function log(address p0, string memory p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
	}

	function log(address p0, bool p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint)", p0, p1, p2));
	}

	function log(address p0, bool p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
	}

	function log(address p0, bool p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
	}

	function log(address p0, bool p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
	}

	function log(address p0, address p1, uint p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint)", p0, p1, p2));
	}

	function log(address p0, address p1, string memory p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
	}

	function log(address p0, address p1, bool p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
	}

	function log(address p0, address p1, address p2) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
	}

	function log(uint p0, uint p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,string)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,address)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,string)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,address)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,string)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,address)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,string)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, uint p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,address)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,string)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,address)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,string,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,string,string)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,string,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,string,address)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,string)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,address)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,address,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,address,string)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,address,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,string,address,address)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,string)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,address)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,string)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,address)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,string)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,address)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,string)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,address)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,string,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,string,string)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,string,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,string,address)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,string)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,address)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,address,uint)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,address,string)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,address,bool)", p0, p1, p2, p3));
	}

	function log(uint p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(uint,address,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,string,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,address,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, uint p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,uint,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,uint,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,uint,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
	}

	function log(string memory p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, uint p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
	}

	function log(bool p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,uint)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,string,uint)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,uint)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,address,uint)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, uint p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,uint,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint,uint)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,uint,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, string memory p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,uint)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, bool p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint,uint)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, uint p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,uint,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, string memory p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, bool p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, uint p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, string memory p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, bool p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
	}

	function log(address p0, address p1, address p2, address p3) internal view {
		_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
	}

}


// File contracts/CashbagManager.sol

pragma solidity ^0.8.9;

// TODO: add randomness to payouts

contract CashbagManager {
  enum CashbagPhase {
    Commit,
    Reveal
  }

  struct Cashbag {
    // Cashbag owner address
    address owner;
    // Starting amount of cash for grabs, in wei
    uint256 startingCash;
    // Amount of cash for grabs, in wei
    uint256 cash;
    // Max number of participants
    uint128 maxParticipants;
    // Timestamp UNIX, when commit period is over
    uint256 commitPeriodOver;
    // List of participant addresses
    address[] participantAddresses;
    // Password is salted and hashed with keccak256
    bytes32 passwordHash;
    string salt;
  }
  // [cashbagId] => cashbag
  Cashbag[] public cashbags;

  struct Participant {
    ParticipantStatus status;
    bytes32 commitmentHash;
  }
  enum ParticipantStatus {
    NotCommitted,
    Committed,
    PayoutClaimed
  }
  // [cashbagId][participantAddress] => Participant
  mapping(uint256 => mapping(address => Participant))
    public cashbagParticipants;

  /**
   * Gets cashbag via id
   */
  function getCashbag(uint256 _cashBagId)
    external
    view
    returns (Cashbag memory)
  {
    require(_cashBagId < cashbags.length, "Cashbag ID out of bounds");
    return cashbags[_cashBagId];
  }

  /**
   * Creates a new cashbag
   */
  function createCashbag(
    uint64 _maxParticipants,
    string calldata _salt,
    bytes32 _passwordHash,
    uint _commitPeriod
  ) external payable {
    require(_maxParticipants > 0, 'Need to have at least one participant');

    Cashbag memory cashbag;
    cashbag.owner = msg.sender;
    cashbag.maxParticipants = _maxParticipants;
    cashbag.cash = msg.value;
    cashbag.startingCash = msg.value;
    cashbag.salt = _salt;
    cashbag.commitPeriodOver = block.timestamp + _commitPeriod;
    cashbag.passwordHash = _passwordHash;

    cashbags.push(cashbag);

    emit CashbagCreated(cashbags.length - 1, msg.sender);
  }

  /**
  * Check current phase is reveal
  */
  function isRevealPhase(uint256 _cashbagId) external view returns (bool isReveal) {
    CashbagPhase phase = getCurrentPhase(_cashbagId);
    return phase == CashbagPhase.Reveal;
  }

  /**
   * Check if message sender can claim payout
   */
  function hasClaimedPayout(uint256 _cashbagId) external view returns (bool) {
    Participant memory participant = cashbagParticipants[_cashbagId][
      msg.sender
    ];

    return participant.status == ParticipantStatus.PayoutClaimed;
  }

  /**
  * Retreives cashbags owned by the message sender
  */
  function getOwnerCashbags() external view returns (
    Cashbag[] memory,
    uint[] memory,
    uint
  ) {
    Cashbag[] memory ownerCashbags = new Cashbag[](cashbags.length);
    uint[] memory ownerCashbagsIds = new uint[](cashbags.length);
    uint numOwnerCashbags = 0;

    for (uint i = 0; i < cashbags.length; i++) {
      if (cashbags[i].owner == msg.sender) {
        ownerCashbags[numOwnerCashbags] = cashbags[i];
        ownerCashbagsIds[numOwnerCashbags] = i;
        numOwnerCashbags++;
      }
    }
    return (ownerCashbags, ownerCashbagsIds, numOwnerCashbags);
  }

  /**
   * Returns current phase (COMMIT vs REVEAL) for a given Cashbag ID
   */
  function getCurrentPhase(uint256 _cashbagId) internal view returns (CashbagPhase) {
    require(_cashbagId < cashbags.length, 'Cashbag not found');
    Cashbag storage cashbag = cashbags[_cashbagId];

    bool isParticipantsListNotFull = cashbag.participantAddresses.length < cashbag.maxParticipants;
    bool isInCommitPeriod = cashbag.commitPeriodOver >= block.timestamp;

    return (isParticipantsListNotFull && isInCommitPeriod) ? CashbagPhase.Commit : CashbagPhase.Reveal;
  }

  /**
   * Join cashbag by committing with a password hash.
   * This can be done only during the commit phase.
   */
  function joinCashbag(uint256 _cashbagId, bytes32 _commitmentHash) external {
    require(_cashbagId < cashbags.length, 'Cashbag not found');

    Participant storage participant = cashbagParticipants[_cashbagId][
      msg.sender
    ];
    Cashbag storage cashbag = cashbags[_cashbagId];

    require(cashbag.owner != msg.sender, 'Owner cannot join their own cashbag');
    require(
      participant.status != ParticipantStatus.Committed,
      'Already joined'
    );

    CashbagPhase currentPhase = getCurrentPhase(_cashbagId);
    require(currentPhase == CashbagPhase.Commit, 'No more participants allowed');

    participant.commitmentHash = _commitmentHash;
    participant.status = ParticipantStatus.Committed;
    cashbag.participantAddresses.push(msg.sender);

    emit ParticipantJoined(_cashbagId, msg.sender);
  }

  /**
   * Take from cashbag by revealing the previously committed password.
   * This can be done only during the reveal phase.
   */
  function takeFromCashbag(uint256 _cashbagId, string calldata _password)
    payable
    external
  {
    require(_cashbagId < cashbags.length, 'Cashbag not found');

    Participant storage participant = cashbagParticipants[_cashbagId][
      msg.sender
    ];
    Cashbag storage cashbag = cashbags[_cashbagId];

    CashbagPhase currentPhase = getCurrentPhase(_cashbagId);

    require(
      participant.status == ParticipantStatus.Committed,
      'Participant must join this cashbag first OR has claimed cashbag'
    );
    require(
      currentPhase == CashbagPhase.Reveal,
      'Cashbag is still accepting new users'
    );
    require(
      keccak256(abi.encode(msg.sender, _password)) == participant.commitmentHash,
      'Committed passphrase does not match'
    );
    require(
      keccak256(abi.encode(cashbag.salt, _password)) == cashbag.passwordHash,
      'Wrong passphrase'
    );

    participant.status = ParticipantStatus.PayoutClaimed;
    
    // Starting cash instead of cash as cash decreases overtime
    uint256 payoutAmount = cashbags[_cashbagId].startingCash /
      cashbag.maxParticipants;
    cashbag.cash -= payoutAmount;
    (bool success, ) = msg.sender.call{ value: payoutAmount }("");

    require(success, "Ether failed to sent");
    emit CashTaken(_cashbagId, payoutAmount, msg.sender);
  }

  event CashbagCreated(uint256 cashbagId, address creatorAddress);
  event ParticipantJoined(uint256 cashbagId, address participantAddress);
  event CashTaken(uint256 cashbagId, uint256 payoutAmount, address participantAddress);
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cashbagId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"payoutAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"participantAddress","type":"address"}],"name":"CashTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cashbagId","type":"uint256"},{"indexed":false,"internalType":"address","name":"creatorAddress","type":"address"}],"name":"CashbagCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cashbagId","type":"uint256"},{"indexed":false,"internalType":"address","name":"participantAddress","type":"address"}],"name":"ParticipantJoined","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"cashbagParticipants","outputs":[{"internalType":"enum CashbagManager.ParticipantStatus","name":"status","type":"uint8"},{"internalType":"bytes32","name":"commitmentHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cashbags","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"startingCash","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint128","name":"maxParticipants","type":"uint128"},{"internalType":"uint256","name":"commitPeriodOver","type":"uint256"},{"internalType":"bytes32","name":"passwordHash","type":"bytes32"},{"internalType":"string","name":"salt","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_maxParticipants","type":"uint64"},{"internalType":"string","name":"_salt","type":"string"},{"internalType":"bytes32","name":"_passwordHash","type":"bytes32"},{"internalType":"uint256","name":"_commitPeriod","type":"uint256"}],"name":"createCashbag","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cashBagId","type":"uint256"}],"name":"getCashbag","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"startingCash","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint128","name":"maxParticipants","type":"uint128"},{"internalType":"uint256","name":"commitPeriodOver","type":"uint256"},{"internalType":"address[]","name":"participantAddresses","type":"address[]"},{"internalType":"bytes32","name":"passwordHash","type":"bytes32"},{"internalType":"string","name":"salt","type":"string"}],"internalType":"struct CashbagManager.Cashbag","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnerCashbags","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"startingCash","type":"uint256"},{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint128","name":"maxParticipants","type":"uint128"},{"internalType":"uint256","name":"commitPeriodOver","type":"uint256"},{"internalType":"address[]","name":"participantAddresses","type":"address[]"},{"internalType":"bytes32","name":"passwordHash","type":"bytes32"},{"internalType":"string","name":"salt","type":"string"}],"internalType":"struct CashbagManager.Cashbag[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cashbagId","type":"uint256"}],"name":"hasClaimedPayout","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cashbagId","type":"uint256"}],"name":"isRevealPhase","outputs":[{"internalType":"bool","name":"isReveal","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cashbagId","type":"uint256"},{"internalType":"bytes32","name":"_commitmentHash","type":"bytes32"}],"name":"joinCashbag","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_cashbagId","type":"uint256"},{"internalType":"string","name":"_password","type":"string"}],"name":"takeFromCashbag","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b50611a41806100206000396000f3fe6080604052600436106100965760003560e01c8063a1c6e1ec11610069578063b5e307491161004e578063b5e30749146101aa578063dae9cf0e146101ca578063e802a277146101fd57600080fd5b8063a1c6e1ec1461012a578063a9a661081461015a57600080fd5b80634f5a566d1461009b5780636438dd09146100b057806372026ab2146100e657806384b9bc3c14610106575b600080fd5b6100ae6100a9366004611481565b610210565b005b3480156100bc57600080fd5b506100d06100cb3660046114cd565b610625565b6040516100dd91906115f5565b60405180910390f35b3480156100f257600080fd5b506100ae61010136600461160f565b610844565b34801561011257600080fd5b5061011b610aab565b6040516100dd93929190611631565b34801561013657600080fd5b5061014a6101453660046114cd565b610dc7565b60405190151581526020016100dd565b34801561016657600080fd5b5061019c6101753660046116d4565b60016020818152600093845260408085209091529183529120805491015460ff9091169082565b6040516100dd929190611726565b3480156101b657600080fd5b5061014a6101c53660046114cd565b610df1565b3480156101d657600080fd5b506101ea6101e53660046114cd565b610e66565b6040516100dd9796959493929190611752565b6100ae61020b3660046117a8565b610f57565b600054831061025a5760405162461bcd60e51b815260206004820152601160248201527010d85cda189859c81b9bdd08199bdd5b99607a1b60448201526064015b60405180910390fd5b60008381526001602090815260408083203384529091528120815490919081908690811061028a5761028a611818565b9060005260206000209060080201905060006102a586611290565b90506001835460ff1660028111156102bf576102bf611710565b146103325760405162461bcd60e51b815260206004820152603f60248201527f5061727469636970616e74206d757374206a6f696e207468697320636173686260448201527f6167206669727374204f522068617320636c61696d65642063617368626167006064820152608401610251565b600181600181111561034657610346611710565b146103b85760405162461bcd60e51b8152602060048201526024808201527f43617368626167206973207374696c6c20616363657074696e67206e6577207560448201527f73657273000000000000000000000000000000000000000000000000000000006064820152608401610251565b82600101543386866040516020016103d293929190611857565b604051602081830303815290604052805190602001201461045b5760405162461bcd60e51b815260206004820152602360248201527f436f6d6d6974746564207061737370687261736520646f6573206e6f74206d6160448201527f74636800000000000000000000000000000000000000000000000000000000006064820152608401610251565b8160060154826007018686604051602001610478939291906118b5565b60405160208183030381529060405280519060200120146104db5760405162461bcd60e51b815260206004820152601060248201527f57726f6e672070617373706872617365000000000000000000000000000000006044820152606401610251565b825460ff1916600217835560038201546000805490916001600160801b03169082908990811061050d5761050d611818565b9060005260206000209060080201600101546105299190611989565b90508083600201600082825461053f91906119ab565b9091555050604051600090339083908381818185875af1925050503d8060008114610586576040519150601f19603f3d011682016040523d82523d6000602084013e61058b565b606091505b50509050806105dc5760405162461bcd60e51b815260206004820152601460248201527f4574686572206661696c656420746f2073656e740000000000000000000000006044820152606401610251565b6040805189815260208101849052338183015290517f7ffa8df2f3699dc68fd62c59a97f94778c63f9ae1f461cd4f1467e95cfbd7eef9181900360600190a15050505050505050565b61068260405180610100016040528060006001600160a01b03168152602001600081526020016000815260200160006001600160801b03168152602001600081526020016060815260200160008019168152602001606081525090565b60005482106106d35760405162461bcd60e51b815260206004820152601860248201527f43617368626167204944206f7574206f6620626f756e647300000000000000006044820152606401610251565b600082815481106106e6576106e6611818565b60009182526020918290206040805161010081018252600890930290910180546001600160a01b0316835260018101548385015260028101548383015260038101546001600160801b03166060840152600481015460808401526005810180548351818702810187019094528084529394919360a08601939283018282801561079857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161077a575b50505050508152602001600682015481526020016007820180546107bb9061187a565b80601f01602080910402602001604051908101604052809291908181526020018280546107e79061187a565b80156108345780601f1061080957610100808354040283529160200191610834565b820191906000526020600020905b81548152906001019060200180831161081757829003601f168201915b5050505050815250509050919050565b60005482106108895760405162461bcd60e51b815260206004820152601160248201527010d85cda189859c81b9bdd08199bdd5b99607a1b6044820152606401610251565b6000828152600160209081526040808320338452909152812081549091908190859081106108b9576108b9611818565b6000918252602090912060089091020180549091506001600160a01b031633141561094c5760405162461bcd60e51b815260206004820152602360248201527f4f776e65722063616e6e6f74206a6f696e207468656972206f776e206361736860448201527f62616700000000000000000000000000000000000000000000000000000000006064820152608401610251565b6001825460ff16600281111561096457610964611710565b14156109b25760405162461bcd60e51b815260206004820152600e60248201527f416c7265616479206a6f696e65640000000000000000000000000000000000006044820152606401610251565b60006109bd85611290565b905060008160018111156109d3576109d3611710565b14610a205760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d6f7265207061727469636970616e747320616c6c6f776564000000006044820152606401610251565b6001838101859055835460ff19168117845560058301805491820181556000908152602090819020909101805473ffffffffffffffffffffffffffffffffffffffff19163390811790915560408051888152928301919091527f7dd8cb04159701bc1976c246434d7d96812782e7489e6c5c34db49a388fe9e80910160405180910390a15050505050565b60608060008060008054905067ffffffffffffffff811115610acf57610acf6119c2565b604051908082528060200260200182016040528015610b5d57816020015b610b4a60405180610100016040528060006001600160a01b03168152602001600081526020016000815260200160006001600160801b03168152602001600081526020016060815260200160008019168152602001606081525090565b815260200190600190039081610aed5790505b50600080549192509067ffffffffffffffff811115610b7e57610b7e6119c2565b604051908082528060200260200182016040528015610ba7578160200160208202803683370190505b5090506000805b600054811015610dba57336001600160a01b031660008281548110610bd557610bd5611818565b60009182526020909120600890910201546001600160a01b03161415610da85760008181548110610c0857610c08611818565b60009182526020918290206040805161010081018252600890930290910180546001600160a01b0316835260018101548385015260028101548383015260038101546001600160801b03166060840152600481015460808401526005810180548351818702810187019094528084529394919360a086019392830182828015610cba57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c9c575b5050505050815260200160068201548152602001600782018054610cdd9061187a565b80601f0160208091040260200160405190810160405280929190818152602001828054610d099061187a565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b505050505081525050848381518110610d7157610d71611818565b602002602001018190525080838381518110610d8f57610d8f611818565b602090810291909101015281610da4816119d8565b9250505b80610db2816119d8565b915050610bae565b5091959094509092509050565b600080610dd383611290565b90506001816001811115610de957610de9611710565b149392505050565b60008181526001602090815260408083203384529091528082208151808301909252805483929190829060ff166002811115610e2f57610e2f611710565b6002811115610e4057610e40611710565b8152600191909101546020909101529050600281516002811115610de957610de9611710565b60008181548110610e7657600080fd5b600091825260209091206008909102018054600182015460028301546003840154600485015460068601546007870180546001600160a01b039097169850949693956001600160801b039093169491939092909190610ed49061187a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f009061187a565b8015610f4d5780601f10610f2257610100808354040283529160200191610f4d565b820191906000526020600020905b815481529060010190602001808311610f3057829003601f168201915b5050505050905087565b60008567ffffffffffffffff1611610fd75760405162461bcd60e51b815260206004820152602560248201527f4e65656420746f2068617665206174206c65617374206f6e652070617274696360448201527f6970616e740000000000000000000000000000000000000000000000000000006064820152608401610251565b61103460405180610100016040528060006001600160a01b03168152602001600081526020016000815260200160006001600160801b03168152602001600081526020016060815260200160008019168152602001606081525090565b33815267ffffffffffffffff861660608201523460408083018290526020808401929092528051601f870183900483028101830190915285815290869086908190840183828082843760009201919091525050505060e082015261109882426119f3565b6080820190815260c0820184905260008054600181018255908052825160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563810180546001600160a01b0390931673ffffffffffffffffffffffffffffffffffffffff199093169290921782556020808501517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56483015560408501517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56583015560608501517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180546001600160801b039092167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905592517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56782015560a084015180518594611218937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5680192019061133d565b5060c0820151600682015560e0820151805161123e9160078401916020909101906113af565b50506000547f8396060a99a76cac4afa1ae88512f500620e1e7461f6a33255444f951bf2e3a69150611272906001906119ab565b604080519182523360208301520160405180910390a1505050505050565b6000805482106112d65760405162461bcd60e51b815260206004820152601160248201527010d85cda189859c81b9bdd08199bdd5b99607a1b6044820152606401610251565b60008083815481106112ea576112ea611818565b600091825260209091206008909102016003810154600582015460048301549293506001600160801b0390911611904211158180156113265750805b611331576001611334565b60005b95945050505050565b82805482825590600052602060002090810192821561139f579160200282015b8281111561139f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061135d565b506113ab929150611423565b5090565b8280546113bb9061187a565b90600052602060002090601f0160209004810192826113dd576000855561139f565b82601f106113f657805160ff191683800117855561139f565b8280016001018555821561139f579182015b8281111561139f578251825591602001919060010190611408565b5b808211156113ab5760008155600101611424565b60008083601f84011261144a57600080fd5b50813567ffffffffffffffff81111561146257600080fd5b60208301915083602082850101111561147a57600080fd5b9250929050565b60008060006040848603121561149657600080fd5b83359250602084013567ffffffffffffffff8111156114b457600080fd5b6114c086828701611438565b9497909650939450505050565b6000602082840312156114df57600080fd5b5035919050565b600081518084526020808501945080840160005b8381101561151f5781516001600160a01b0316875295820195908201906001016114fa565b509495945050505050565b6000815180845260005b8181101561155057602081850181015186830182015201611534565b81811115611562576000602083870101525b50601f01601f19169290920160200192915050565b60006101006001600160a01b03835116845260208301516020850152604083015160408501526001600160801b0360608401511660608501526080830151608085015260a08301518160a08601526115d1828601826114e6565b91505060c083015160c085015260e083015184820360e0860152611334828261152a565b6020815260006116086020830184611577565b9392505050565b6000806040838503121561162257600080fd5b50508035926020909101359150565b6000606082016060835280865180835260808501915060808160051b8601019250602080890160005b8381101561168857607f19888703018552611676868351611577565b9550938201939082019060010161165a565b50508584038187015287518085528882019482019350915060005b828110156116bf578451845293810193928101926001016116a3565b50505060409390930193909352509392505050565b600080604083850312156116e757600080fd5b8235915060208301356001600160a01b038116811461170557600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b604081016003841061174857634e487b7160e01b600052602160045260246000fd5b9281526020015290565b6001600160a01b03881681528660208201528560408201526001600160801b03851660608201528360808201528260a082015260e060c0820152600061179b60e083018461152a565b9998505050505050505050565b6000806000806000608086880312156117c057600080fd5b853567ffffffffffffffff80821682146117d957600080fd5b909550602087013590808211156117ef57600080fd5b506117fc88828901611438565b9699909850959660408101359660609091013595509350505050565b634e487b7160e01b600052603260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820152600061133460408301848661182e565b600181811c9082168061188e57607f821691505b602082108114156118af57634e487b7160e01b600052602260045260246000fd5b50919050565b60408152600080855481600182811c9150808316806118d557607f831692505b60208084108214156118f557634e487b7160e01b86526022600452602486fd5b6040880184905260608801828015611914576001811461192557611950565b60ff19871682528282019750611950565b60008d81526020902060005b8781101561194a57815484820152908601908401611931565b83019850505b505087860381890152505050505061196981858761182e565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b6000826119a657634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156119bd576119bd611973565b500390565b634e487b7160e01b600052604160045260246000fd5b60006000198214156119ec576119ec611973565b5060010190565b60008219821115611a0657611a06611973565b50019056fea2646970667358221220ba71d3032116d63f177423d4e380ed264277c5ca968abea4fbb8e79c7ba1d12b64736f6c634300080b0033

Deployed ByteCode Sourcemap

63806:6475:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;68671:1373;;;;;;:::i;:::-;;:::i;:::-;;64842:209;;;;;;;;;;-1:-1:-1;64842:209:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;67677:849;;;;;;;;;;-1:-1:-1;67677:849:0;;;;;:::i;:::-;;:::i;66371:598::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;65802:184::-;;;;;;;;;;-1:-1:-1;65802:184:0;;;;;:::i;:::-;;:::i;:::-;;;5117:14:1;;5110:22;5092:41;;5080:2;5065:18;65802:184:0;4952:187:1;64712:83:0;;;;;;;;;;-1:-1:-1;64712:83:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;66053:247::-;;;;;;;;;;-1:-1:-1;66053:247:0;;;;;:::i;:::-;;:::i;64451:25::-;;;;;;;;;;-1:-1:-1;64451:25:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;65099:649::-;;;;;;:::i;:::-;;:::i;68671:1373::-;68801:8;:15;68788:28;;68780:58;;;;-1:-1:-1;;;68780:58:0;;7876:2:1;68780:58:0;;;7858:21:1;7915:2;7895:18;;;7888:30;-1:-1:-1;;;7934:18:1;;;7927:47;7991:18;;68780:58:0;;;;;;;;;68847:31;68881;;;:19;:31;;;;;;;;68921:10;68881:57;;;;;;;68971:20;;68881:57;;68847:31;;;68901:10;;68971:20;;;;;;:::i;:::-;;;;;;;;;;;68945:46;;69000:25;69028:27;69044:10;69028:15;:27::i;:::-;69000:55;-1:-1:-1;69102:27:0;69080:18;;;;:49;;;;;;;;:::i;:::-;;69064:146;;;;-1:-1:-1;;;69064:146:0;;8411:2:1;69064:146:0;;;8393:21:1;8450:2;8430:18;;;8423:30;8489:34;8469:18;;;8462:62;8560:33;8540:18;;;8533:61;8611:19;;69064:146:0;8209:427:1;69064:146:0;69249:19;69233:12;:35;;;;;;;;:::i;:::-;;69217:105;;;;-1:-1:-1;;;69217:105:0;;8843:2:1;69217:105:0;;;8825:21:1;8882:2;8862:18;;;8855:30;8921:34;8901:18;;;8894:62;8992:6;8972:18;;;8965:34;9016:19;;69217:105:0;8641:400:1;69217:105:0;69393:11;:26;;;69366:10;69378:9;;69355:33;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;69345:44;;;;;;:74;69329:143;;;;-1:-1:-1;;;69329:143:0;;9892:2:1;69329:143:0;;;9874:21:1;9931:2;9911:18;;;9904:30;9970:34;9950:18;;;9943:62;10041:5;10021:18;;;10014:33;10064:19;;69329:143:0;9690:399:1;69329:143:0;69545:7;:20;;;69516:7;:12;;69530:9;;69505:35;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;69495:46;;;;;;:70;69479:120;;;;-1:-1:-1;;;69479:120:0;;12281:2:1;69479:120:0;;;12263:21:1;12320:2;12300:18;;;12293:30;12359:18;12339;;;12332:46;12395:18;;69479:120:0;12079:340:1;69479:120:0;69608:52;;-1:-1:-1;;69608:52:0;69629:31;69608:52;;;69804:23;;;;-1:-1:-1;69761:20:0;;-1:-1:-1;;;;;;;69804:23:0;;-1:-1:-1;;69770:10:0;;69761:20;;;;;;:::i;:::-;;;;;;;;;;;:33;;;:66;;;;:::i;:::-;69738:89;;69850:12;69834:7;:12;;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;69888:42:0;;69870:12;;69888:10;;69912:12;;69870;69888:42;69870:12;69888:42;69912:12;69888:10;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;69869:61;;;69947:7;69939:40;;;;-1:-1:-1;;;69939:40:0;;13434:2:1;69939:40:0;;;13416:21:1;13473:2;13453:18;;;13446:30;13512:22;13492:18;;;13485:50;13552:18;;69939:40:0;13232:344:1;69939:40:0;69991:47;;;13783:25:1;;;13839:2;13824:18;;13817:34;;;70027:10:0;13867:18:1;;;13860:83;69991:47:0;;;;;;;13771:2:1;69991:47:0;;;68773:1271;;;;;68671:1373;;;:::o;64842:209::-;64920:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;64920:14:0;64967:8;:15;64954:28;;64946:65;;;;-1:-1:-1;;;64946:65:0;;14156:2:1;64946:65:0;;;14138:21:1;14195:2;14175:18;;;14168:30;14234:26;14214:18;;;14207:54;14278:18;;64946:65:0;13954:348:1;64946:65:0;65025:8;65034:10;65025:20;;;;;;;;:::i;:::-;;;;;;;;;;65018:27;;;;;;;;65025:20;;;;;;;65018:27;;-1:-1:-1;;;;;65018:27:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;65018:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;65025:20;;65018:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;65018:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;64842:209;;;:::o;67677:849::-;67780:8;:15;67767:28;;67759:58;;;;-1:-1:-1;;;67759:58:0;;7876:2:1;67759:58:0;;;7858:21:1;7915:2;7895:18;;;7888:30;-1:-1:-1;;;7934:18:1;;;7927:47;7991:18;;67759:58:0;7674:341:1;67759:58:0;67826:31;67860;;;:19;:31;;;;;;;;67900:10;67860:57;;;;;;;67950:20;;67860:57;;67826:31;;;67880:10;;67950:20;;;;;;:::i;:::-;;;;;;;;;;;;;;67987:13;;67950:20;;-1:-1:-1;;;;;;67987:13:0;68004:10;67987:27;;67979:75;;;;-1:-1:-1;;;67979:75:0;;14509:2:1;67979:75:0;;;14491:21:1;14548:2;14528:18;;;14521:30;14587:34;14567:18;;;14560:62;14658:5;14638:18;;;14631:33;14681:19;;67979:75:0;14307:399:1;67979:75:0;68099:27;68077:18;;;;:49;;;;;;;;:::i;:::-;;;68061:97;;;;-1:-1:-1;;;68061:97:0;;14913:2:1;68061:97:0;;;14895:21:1;14952:2;14932:18;;;14925:30;14991:16;14971:18;;;14964:44;15025:18;;68061:97:0;14711:338:1;68061:97:0;68167:25;68195:27;68211:10;68195:15;:27::i;:::-;68167:55;-1:-1:-1;68253:19:0;68237:12;:35;;;;;;;;:::i;:::-;;68229:76;;;;-1:-1:-1;;;68229:76:0;;15256:2:1;68229:76:0;;;15238:21:1;15295:2;15275:18;;;15268:30;15334;15314:18;;;15307:58;15382:18;;68229:76:0;15054:352:1;68229:76:0;68314:26;;;;:44;;;68365:48;;-1:-1:-1;;68365:48:0;;;;;68420:28;;;:45;;;;;;;-1:-1:-1;68420:45:0;;;;;;;;;;;;;-1:-1:-1;;68420:45:0;68454:10;68420:45;;;;;;68479:41;;;15585:25:1;;;15626:18;;;15619:83;;;;68479:41:0;;15558:18:1;68479:41:0;;;;;;;67752:774;;;67677:849;;:::o;66371:598::-;66428:16;66451:13;66471:4;66488:30;66535:8;:15;;;;66521:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;66521:30:0;;;;;;;;;;;;;;;;-1:-1:-1;66558:30:0;66602:15;;66488:63;;-1:-1:-1;66558:30:0;66591:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;66591:27:0;;66558:60;;66625:21;66664:6;66659:240;66680:8;:15;66676:19;;66659:240;;;66736:10;-1:-1:-1;;;;;66715:31:0;:8;66724:1;66715:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:17;-1:-1:-1;;;;;66715:17:0;:31;66711:181;;;66793:8;66802:1;66793:11;;;;;;;;:::i;:::-;;;;;;;;;;66759:45;;;;;;;;66793:11;;;;;;;66759:45;;-1:-1:-1;;;;;66759:45:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;66759:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;66793:11;;66759:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;66759:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;66773:16;66759:31;;;;;;;;:::i;:::-;;;;;;:45;;;;66852:1;66815:16;66832;66815:34;;;;;;;;:::i;:::-;;;;;;;;;;:38;66864:18;;;;:::i;:::-;;;;66711:181;66697:3;;;;:::i;:::-;;;;66659:240;;;-1:-1:-1;66913:13:0;;66928:16;;-1:-1:-1;66946:16:0;;-1:-1:-1;66371:598:0;-1:-1:-1;66371:598:0:o;65802:184::-;65868:13;65890:18;65911:27;65927:10;65911:15;:27::i;:::-;65890:48;-1:-1:-1;65961:19:0;65952:5;:28;;;;;;;;:::i;:::-;;;65802:184;-1:-1:-1;;;65802:184:0:o;66053:247::-;66122:4;66168:31;;;:19;:31;;;;;;;;66208:10;66168:57;;;;;;;;66135:90;;;;;;;;;;66122:4;;66135:90;66168:57;66135:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;66263:31:0;66241:18;;:53;;;;;;;;:::i;64451:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;64451:25:0;;;;-1:-1:-1;64451:25:0;;;;-1:-1:-1;;;;;64451:25:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;65099:649::-;65289:1;65270:16;:20;;;65262:70;;;;-1:-1:-1;;;65262:70:0;;16244:2:1;65262:70:0;;;16226:21:1;16283:2;16263:18;;;16256:30;16322:34;16302:18;;;16295:62;16393:7;16373:18;;;16366:35;16418:19;;65262:70:0;16042:401:1;65262:70:0;65341:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;65341:22:0;65386:10;65370:26;;65403:42;;;:23;;;:42;65467:9;65452:12;;;;:24;;;-1:-1:-1;65483:20:0;;;:32;;;;65522:20;;;;;;;;;;;;;;;;;;;;;65537:5;;;;;;65522:20;;65537:5;;;;65522:20;;;;;;;;;-1:-1:-1;;;;65522:12:0;;;:20;65576:31;65594:13;65576:15;:31;:::i;:::-;65549:24;;;:58;;;65614:20;;;:36;;;-1:-1:-1;65659:22:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;65659:22:0;;;-1:-1:-1;;65659:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;65659:22:0;;;;;;;;;;;;;;;;;;;;;;;;;65549:7;;65659:22;;;;;;;;:::i;:::-;-1:-1:-1;65659:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;65710:8:0;:15;65695:47;;-1:-1:-1;65710:19:0;;65728:1;;65710:19;:::i;:::-;65695:47;;;15585:25:1;;;65731:10:0;15641:2:1;15626:18;;15619:83;15558:18;65695:47:0;;;;;;;65255:493;65099:649;;;;;:::o;67059:490::-;67127:12;67169:15;;67156:28;;67148:58;;;;-1:-1:-1;;;67148:58:0;;7876:2:1;67148:58:0;;;7858:21:1;7915:2;7895:18;;;7888:30;-1:-1:-1;;;7934:18:1;;;7927:47;7991:18;;67148:58:0;7674:341:1;67148:58:0;67213:23;67239:8;67248:10;67239:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;67339:23;;;;67301:28;;;:35;67393:24;;;;67239:20;;-1:-1:-1;;;;;;67339:23:0;;;-1:-1:-1;;67421:15:0;-1:-1:-1;67393:43:0;-1:-1:-1;67453:45:0;;;;;67482:16;67453:45;67452:91;;67524:19;67452:91;;;67502:19;67452:91;67445:98;67059:490;-1:-1:-1;;;;;67059:490:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:348:1;66:8;76:6;130:3;123:4;115:6;111:17;107:27;97:55;;148:1;145;138:12;97:55;-1:-1:-1;171:20:1;;214:18;203:30;;200:50;;;246:1;243;236:12;200:50;283:4;275:6;271:17;259:29;;335:3;328:4;319:6;311;307:19;303:30;300:39;297:59;;;352:1;349;342:12;297:59;14:348;;;;;:::o;367:479::-;447:6;455;463;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;568:9;555:23;545:33;;629:2;618:9;614:18;601:32;656:18;648:6;645:30;642:50;;;688:1;685;678:12;642:50;727:59;778:7;769:6;758:9;754:22;727:59;:::i;:::-;367:479;;805:8;;-1:-1:-1;701:85:1;;-1:-1:-1;;;;367:479:1:o;851:180::-;910:6;963:2;951:9;942:7;938:23;934:32;931:52;;;979:1;976;969:12;931:52;-1:-1:-1;1002:23:1;;851:180;-1:-1:-1;851:180:1:o;1202:484::-;1255:3;1293:5;1287:12;1320:6;1315:3;1308:19;1346:4;1375:2;1370:3;1366:12;1359:19;;1412:2;1405:5;1401:14;1433:1;1443:218;1457:6;1454:1;1451:13;1443:218;;;1522:13;;-1:-1:-1;;;;;1518:62:1;1506:75;;1601:12;;;;1636:15;;;;1479:1;1472:9;1443:218;;;-1:-1:-1;1677:3:1;;1202:484;-1:-1:-1;;;;;1202:484:1:o;1691:472::-;1733:3;1771:5;1765:12;1798:6;1793:3;1786:19;1823:1;1833:162;1847:6;1844:1;1841:13;1833:162;;;1909:4;1965:13;;;1961:22;;1955:29;1937:11;;;1933:20;;1926:59;1862:12;1833:162;;;2013:6;2010:1;2007:13;2004:87;;;2079:1;2072:4;2063:6;2058:3;2054:16;2050:27;2043:38;2004:87;-1:-1:-1;2145:2:1;2124:15;-1:-1:-1;;2120:29:1;2111:39;;;;2152:4;2107:50;;1691:472;-1:-1:-1;;1691:472:1:o;2168:814::-;2218:3;2246:6;-1:-1:-1;;;;;2283:5:1;2277:12;2273:61;2268:3;2261:74;2384:4;2377:5;2373:16;2367:23;2360:4;2355:3;2351:14;2344:47;2440:4;2433:5;2429:16;2423:23;2416:4;2411:3;2407:14;2400:47;-1:-1:-1;;;;;2500:4:1;2493:5;2489:16;2483:23;2479:64;2472:4;2467:3;2463:14;2456:88;2593:4;2586:5;2582:16;2576:23;2569:4;2564:3;2560:14;2553:47;2646:4;2639:5;2635:16;2629:23;2684:2;2677:4;2672:3;2668:14;2661:26;2708:56;2760:2;2755:3;2751:12;2737;2708:56;:::i;:::-;2696:68;;;2813:4;2806:5;2802:16;2796:23;2789:4;2784:3;2780:14;2773:47;2868:4;2861:5;2857:16;2851:23;2916:3;2910:4;2906:14;2899:4;2894:3;2890:14;2883:38;2937:39;2971:4;2955:14;2937:39;:::i;2987:258::-;3166:2;3155:9;3148:21;3129:4;3186:53;3235:2;3224:9;3220:18;3212:6;3186:53;:::i;:::-;3178:61;2987:258;-1:-1:-1;;;2987:258:1:o;3250:248::-;3318:6;3326;3379:2;3367:9;3358:7;3354:23;3350:32;3347:52;;;3395:1;3392;3385:12;3347:52;-1:-1:-1;;3418:23:1;;;3488:2;3473:18;;;3460:32;;-1:-1:-1;3250:248:1:o;3503:1444::-;3801:4;3849:2;3838:9;3834:18;3879:2;3868:9;3861:21;3902:6;3937;3931:13;3968:6;3960;3953:22;4006:3;3995:9;3991:19;3984:26;;4069:3;4059:6;4056:1;4052:14;4041:9;4037:30;4033:40;4019:54;;4092:4;4131:2;4123:6;4119:15;4152:1;4162:264;4176:6;4173:1;4170:13;4162:264;;;4269:3;4265:8;4253:9;4245:6;4241:22;4237:37;4232:3;4225:50;4298:48;4339:6;4330;4324:13;4298:48;:::i;:::-;4288:58;-1:-1:-1;4404:12:1;;;;4369:15;;;;4198:1;4191:9;4162:264;;;-1:-1:-1;;4462:22:1;;;4442:18;;;4435:50;4538:13;;4560:24;;;4642:15;;;;4602;;;-1:-1:-1;4538:13:1;-1:-1:-1;4677:1:1;4687:189;4703:8;4698:3;4695:17;4687:189;;;4772:15;;4758:30;;4849:17;;;;4810:14;;;;4731:1;4722:11;4687:189;;;-1:-1:-1;;;4929:2:1;4914:18;;;;4907:34;;;;-1:-1:-1;4893:5:1;3503:1444;-1:-1:-1;;;3503:1444:1:o;5144:377::-;5212:6;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5325:9;5312:23;5302:33;;5385:2;5374:9;5370:18;5357:32;-1:-1:-1;;;;;5422:5:1;5418:54;5411:5;5408:65;5398:93;;5487:1;5484;5477:12;5398:93;5510:5;5500:15;;;5144:377;;;;;:::o;5526:184::-;-1:-1:-1;;;5575:1:1;5568:88;5675:4;5672:1;5665:15;5699:4;5696:1;5689:15;5715:478;5897:2;5882:18;;5930:1;5919:13;;5909:201;;-1:-1:-1;;;5963:1:1;5956:88;6067:4;6064:1;6057:15;6095:4;6092:1;6085:15;5909:201;6119:25;;;6175:2;6160:18;6153:34;5715:478;:::o;6198:741::-;-1:-1:-1;;;;;6519:6:1;6515:55;6504:9;6497:74;6607:6;6602:2;6591:9;6587:18;6580:34;6650:6;6645:2;6634:9;6630:18;6623:34;-1:-1:-1;;;;;6697:6:1;6693:47;6688:2;6677:9;6673:18;6666:75;6778:6;6772:3;6761:9;6757:19;6750:35;6822:6;6816:3;6805:9;6801:19;6794:35;6866:3;6860;6849:9;6845:19;6838:32;6478:4;6887:46;6928:3;6917:9;6913:19;6905:6;6887:46;:::i;:::-;6879:54;6198:741;-1:-1:-1;;;;;;;;;6198:741:1:o;6944:725::-;7041:6;7049;7057;7065;7073;7126:3;7114:9;7105:7;7101:23;7097:33;7094:53;;;7143:1;7140;7133:12;7094:53;7182:9;7169:23;7211:18;7269:2;7262:5;7258:14;7251:5;7248:25;7238:53;;7287:1;7284;7277:12;7238:53;7310:5;;-1:-1:-1;7366:2:1;7351:18;;7338:32;;7382:14;;;7379:34;;;7409:1;7406;7399:12;7379:34;;7448:59;7499:7;7490:6;7479:9;7475:22;7448:59;:::i;:::-;6944:725;;7526:8;;-1:-1:-1;7422:85:1;;7608:2;7593:18;;7580:32;;7659:2;7644:18;;;7631:32;;-1:-1:-1;6944:725:1;-1:-1:-1;;;;6944:725:1:o;8020:184::-;-1:-1:-1;;;8069:1:1;8062:88;8169:4;8166:1;8159:15;8193:4;8190:1;8183:15;9046:267;9135:6;9130:3;9123:19;9187:6;9180:5;9173:4;9168:3;9164:14;9151:43;-1:-1:-1;9239:1:1;9214:16;;;9232:4;9210:27;;;9203:38;;;;9295:2;9274:15;;;-1:-1:-1;;9270:29:1;9261:39;;;9257:50;;9046:267::o;9318:367::-;-1:-1:-1;;;;;9509:6:1;9505:55;9494:9;9487:74;9597:2;9592;9581:9;9577:18;9570:30;9468:4;9617:62;9675:2;9664:9;9660:18;9652:6;9644;9617:62;:::i;10094:437::-;10173:1;10169:12;;;;10216;;;10237:61;;10291:4;10283:6;10279:17;10269:27;;10237:61;10344:2;10336:6;10333:14;10313:18;10310:38;10307:218;;;-1:-1:-1;;;10378:1:1;10371:88;10482:4;10479:1;10472:15;10510:4;10507:1;10500:15;10307:218;;10094:437;;;:::o;10662:1412::-;10866:2;10855:9;10848:21;10829:4;10889:1;10922:6;10916:13;10952:3;10974:1;11002:9;10998:2;10994:18;10984:28;;11062:2;11051:9;11047:18;11084;11074:61;;11128:4;11120:6;11116:17;11106:27;;11074:61;11154:2;11202;11194:6;11191:14;11171:18;11168:38;11165:222;;;-1:-1:-1;;;11236:3:1;11229:90;11342:4;11339:1;11332:15;11372:4;11367:3;11360:17;11165:222;11469:2;11454:18;;1134:19;;;1177:14;;;11497:18;11524:100;;;;11638:1;11633:315;;;;11490:458;;11524:100;-1:-1:-1;;11557:24:1;;11545:37;;11602:12;;;;-1:-1:-1;11524:100:1;;11633:315;10609:1;10602:14;;;10646:4;10633:18;;11728:1;11742:165;11756:6;11753:1;11750:13;11742:165;;;11834:14;;11821:11;;;11814:35;11877:16;;;;11771:10;;11742:165;;;11927:11;;;-1:-1:-1;;11490:458:1;;;11993:9;11988:3;11984:19;11979:2;11968:9;11964:18;11957:47;;;;;;12021;12064:3;12056:6;12048;12021:47;:::i;:::-;12013:55;10662:1412;-1:-1:-1;;;;;;10662:1412:1:o;12424:184::-;-1:-1:-1;;;12473:1:1;12466:88;12573:4;12570:1;12563:15;12597:4;12594:1;12587:15;12613:274;12653:1;12679;12669:189;;-1:-1:-1;;;12711:1:1;12704:88;12815:4;12812:1;12805:15;12843:4;12840:1;12833:15;12669:189;-1:-1:-1;12872:9:1;;12613:274::o;12892:125::-;12932:4;12960:1;12957;12954:8;12951:34;;;12965:18;;:::i;:::-;-1:-1:-1;13002:9:1;;12892:125::o;15713:184::-;-1:-1:-1;;;15762:1:1;15755:88;15862:4;15859:1;15852:15;15886:4;15883:1;15876:15;15902:135;15941:3;-1:-1:-1;;15962:17:1;;15959:43;;;15982:18;;:::i;:::-;-1:-1:-1;16029:1:1;16018:13;;15902:135::o;16448:128::-;16488:3;16519:1;16515:6;16512:1;16509:13;16506:39;;;16525:18;;:::i;:::-;-1:-1:-1;16561:9:1;;16448:128::o

Swarm Source

ipfs://ba71d3032116d63f177423d4e380ed264277c5ca968abea4fbb8e79c7ba1d12b
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.