{"abi":[{"type":"constructor","inputs":[{"name":"beneficiaryAddress","type":"address","internalType":"address"},{"name":"startTimestamp","type":"uint64","internalType":"uint64"},{"name":"durationSeconds","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"duration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"end","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"releasable","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"releasable","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"release","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"release","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"released","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"released","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"start","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"vestedAmount","inputs":[{"name":"timestamp","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"vestedAmount","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"timestamp","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"ERC20Released","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EtherReleased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60c03461010c57601f61095a38819003918201601f19168301916001600160401b038311848410176101105780849260609460405283398101031261010c5780516001600160a01b038116919082900361010c5761006b604061006460208401610124565b9201610124565b9082156100f9575f80546001600160a01b031981168517825560405194916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360805260a052610821908161013982396080518181816101c0015281816106ec0152610720015260a051818181610535015281816106c201526107860152f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160401b038216820361010c5756fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80630a17b06b146105595780630fb5a6b414610516578063191655871461042c578063715018a6146103d5578063810ec23b1461039c57806386d1a69f146102835780638da5cb5b1461025c578063961325211461023f5780639852595c14610207578063a3f8eace146101e4578063be9a6555146101a1578063efbe1c1c14610187578063f2fde38b146101025763fbccedae0361000e57346100fe575f3660031901126100fe5760206100f66100ed476100e86001600160401b03421691600154906105a6565b610711565b60015490610672565b604051908152f35b5f80fd5b346100fe5760203660031901126100fe5761011b610590565b6101236107c5565b6001600160a01b03168015610174575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346100fe575f3660031901126100fe5760206100f66106b5565b346100fe575f3660031901126100fe5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100fe5760203660031901126100fe5760206100f6610202610590565b61067f565b346100fe5760203660031901126100fe576001600160a01b03610228610590565b165f526002602052602060405f2054604051908152f35b346100fe575f3660031901126100fe576020600154604051908152f35b346100fe575f3660031901126100fe575f546040516001600160a01b039091168152602090f35b346100fe575f3660031901126100fe576102ae476100e86001600160401b03421691600154906105a6565b6102c56102be6001548093610672565b80926105a6565b6001557fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b6020604051838152a15f546001600160a01b0316478211610385575f80809381935af13d1561037d573d906001600160401b038211610369576040519161033a601f8201601f1916602001846105c7565b82523d5f602084013e5b1561034b57005b80511561035a57602081519101fd5b63d6bda27560e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b606090610344565b504763cf47918160e01b5f5260045260245260445ffd5b346100fe5760403660031901126100fe576103b5610590565b602435906001600160401b03821682036100fe576020916100f6916105e8565b346100fe575f3660031901126100fe576103ed6107c5565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100fe5760203660031901126100fe57610445610590565b60205f6104518361067f565b9260018060a01b03169283825260028352604082206104718282546105a6565b9055837fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b84604051848152a260018060a01b0382541690604051908482019263a9059cbb60e01b845260248301526044820152604481526104d36064826105c7565b519082855af11561050b575f513d6105025750803b155b6104f057005b635274afe760e01b5f5260045260245ffd5b600114156104ea565b6040513d5f823e3d90fd5b346100fe575f3660031901126100fe5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100fe5760203660031901126100fe576004356001600160401b03811681036100fe576100f66020916100e847600154906105a6565b600435906001600160a01b03821682036100fe57565b919082018092116105b357565b634e487b7160e01b5f52601160045260245ffd5b90601f801991011681019081106001600160401b0382111761036957604052565b6040516370a0823160e01b81523060048201526001600160a01b03919091169190602081602481865afa90811561050b575f9161063e575b506100e89061063b935f52600260205260405f2054906105a6565b90565b90506020813d60201161066a575b81610659602093836105c7565b810103126100fe575161063b610620565b3d915061064c565b919082039182116105b357565b61063b906106966001600160401b034216826105e8565b6001600160a01b039091165f9081526002602052604090205490610672565b61063b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166105a6565b906001600160401b03908116907f0000000000000000000000000000000000000000000000000000000000000000168082101561074f575050505f90565b6107576106b5565b821061076257505090565b61076b91610672565b908181029181830414901517156105b3576001600160401b037f0000000000000000000000000000000000000000000000000000000000000000169081156107b1570490565b634e487b7160e01b5f52601260045260245ffd5b5f546001600160a01b031633036107d857565b63118cdaa760e01b5f523360045260245ffdfea2646970667358221220ebe1d64ecfe6110508664b1b729e0e913fbe58e77565e254b5e93a47776ae7a064736f6c634300081e0033","sourceMap":"169:254:3:-:0;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;-1:-1:-1;;;;;169:254:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;169:254:3;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1273:26:31;;;1269:95;;-1:-1:-1;169:254:3;;-1:-1:-1;;;;;;169:254:3;;;;;;;;;;-1:-1:-1;;;;;169:254:3;;;;3052:40:31;;-1:-1:-1;3052:40:31;2644:23:32;;2677:27;;169:254:3;;;;;;2644:23:32;169:254:3;;;;;;;;;;;;;;;2677:27:32;169:254:3;;;;;;;;;;;;;;;;1269:95:31;1322:31;;;-1:-1:-1;1322:31:31;-1:-1:-1;1322:31:31;169:254:3;;-1:-1:-1;1322:31:31;169:254:3;-1:-1:-1;169:254:3;;;;;;-1:-1:-1;169:254:3;;;;;-1:-1:-1;169:254:3;;;;-1:-1:-1;;;;;169:254:3;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80630a17b06b146105595780630fb5a6b414610516578063191655871461042c578063715018a6146103d5578063810ec23b1461039c57806386d1a69f146102835780638da5cb5b1461025c578063961325211461023f5780639852595c14610207578063a3f8eace146101e4578063be9a6555146101a1578063efbe1c1c14610187578063f2fde38b146101025763fbccedae0361000e57346100fe575f3660031901126100fe5760206100f66100ed476100e86001600160401b03421691600154906105a6565b610711565b60015490610672565b604051908152f35b5f80fd5b346100fe5760203660031901126100fe5761011b610590565b6101236107c5565b6001600160a01b03168015610174575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346100fe575f3660031901126100fe5760206100f66106b5565b346100fe575f3660031901126100fe5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100fe5760203660031901126100fe5760206100f6610202610590565b61067f565b346100fe5760203660031901126100fe576001600160a01b03610228610590565b165f526002602052602060405f2054604051908152f35b346100fe575f3660031901126100fe576020600154604051908152f35b346100fe575f3660031901126100fe575f546040516001600160a01b039091168152602090f35b346100fe575f3660031901126100fe576102ae476100e86001600160401b03421691600154906105a6565b6102c56102be6001548093610672565b80926105a6565b6001557fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b6020604051838152a15f546001600160a01b0316478211610385575f80809381935af13d1561037d573d906001600160401b038211610369576040519161033a601f8201601f1916602001846105c7565b82523d5f602084013e5b1561034b57005b80511561035a57602081519101fd5b63d6bda27560e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b606090610344565b504763cf47918160e01b5f5260045260245260445ffd5b346100fe5760403660031901126100fe576103b5610590565b602435906001600160401b03821682036100fe576020916100f6916105e8565b346100fe575f3660031901126100fe576103ed6107c5565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100fe5760203660031901126100fe57610445610590565b60205f6104518361067f565b9260018060a01b03169283825260028352604082206104718282546105a6565b9055837fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b84604051848152a260018060a01b0382541690604051908482019263a9059cbb60e01b845260248301526044820152604481526104d36064826105c7565b519082855af11561050b575f513d6105025750803b155b6104f057005b635274afe760e01b5f5260045260245ffd5b600114156104ea565b6040513d5f823e3d90fd5b346100fe575f3660031901126100fe5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100fe5760203660031901126100fe576004356001600160401b03811681036100fe576100f66020916100e847600154906105a6565b600435906001600160a01b03821682036100fe57565b919082018092116105b357565b634e487b7160e01b5f52601160045260245ffd5b90601f801991011681019081106001600160401b0382111761036957604052565b6040516370a0823160e01b81523060048201526001600160a01b03919091169190602081602481865afa90811561050b575f9161063e575b506100e89061063b935f52600260205260405f2054906105a6565b90565b90506020813d60201161066a575b81610659602093836105c7565b810103126100fe575161063b610620565b3d915061064c565b919082039182116105b357565b61063b906106966001600160401b034216826105e8565b6001600160a01b039091165f9081526002602052604090205490610672565b61063b6001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166105a6565b906001600160401b03908116907f0000000000000000000000000000000000000000000000000000000000000000168082101561074f575050505f90565b6107576106b5565b821061076257505090565b61076b91610672565b908181029181830414901517156105b3576001600160401b037f0000000000000000000000000000000000000000000000000000000000000000169081156107b1570490565b634e487b7160e01b5f52601260045260245ffd5b5f546001600160a01b031633036107d857565b63118cdaa760e01b5f523360045260245ffdfea2646970667358221220ebe1d64ecfe6110508664b1b729e0e913fbe58e77565e254b5e93a47776ae7a064736f6c634300081e0033","sourceMap":"169:254:3:-:0;;;;;;;;;-1:-1:-1;169:254:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;3787:50:32;5092:63;5109:21;:34;-1:-1:-1;;;;;3807:15:32;169:254:3;;3436:9:32;169:254:3;5109:34:32;;:::i;:::-;5092:63;:::i;:::-;3436:9;169:254:3;3787:50:32;;:::i;:::-;169:254:3;;;;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;;:::i;:::-;1500:62:31;;:::i;:::-;-1:-1:-1;;;;;169:254:3;2627:22:31;;2623:91;;169:254:3;;;-1:-1:-1;;;;;;169:254:3;;;;;;-1:-1:-1;;;;;169:254:3;;3052:40:31;;169:254:3;3052:40:31;169:254:3;2623:91:31;2672:31;;;169:254:3;2672:31:31;169:254:3;;;;;2672:31:31;169:254:3;;;;;;-1:-1:-1;;169:254:3;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;169:254:3;;;;;;;-1:-1:-1;;;;;2964:6:32;169:254:3;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;169:254:3;;;;-1:-1:-1;;;;;169:254:3;;:::i;:::-;;;;3607:14:32;169:254:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;3436:9:32;169:254:3;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;;;;-1:-1:-1;;;;;169:254:3;;;;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;5092:63:32;5109:21;:34;-1:-1:-1;;;;;3807:15:32;169:254:3;;3436:9:32;169:254:3;5109:34:32;;:::i;5092:63::-;4372:19;3787:50;3436:9;169:254:3;3787:50:32;;;:::i;:::-;4372:19;;;:::i;:::-;3436:9;169:254:3;4406:21:32;169:254:3;;;;;;4406:21:32;169:254:3;;-1:-1:-1;;;;;169:254:3;1375:21:41;:30;-1:-1:-1;1371:125:41;;169:254:3;1548:33:41;;;;;;;169:254:3;;;;;;-1:-1:-1;;;;;169:254:3;;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;:::i;:::-;;;;;;;;;;1595:8:41;1591:58;;169:254:3;1591:58:41;169:254:3;;5690:21:41;:17;;169:254:3;5815:105:41;;;;;5686:301;5957:19;;;169:254:3;5957:19:41;169:254:3;;5957:19:41;169:254:3;;;;;;;;;;;;;;;;;1371:125:41;1455:21;;1428:57;;;169:254:3;1428:57:41;169:254:3;;;;;;1428:57:41;169:254:3;;;;;;-1:-1:-1;;169:254:3;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;169:254:3;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;169:254:3;;;;1500:62:31;;:::i;:::-;169:254:3;;;-1:-1:-1;;;;;;169:254:3;;;;-1:-1:-1;;;;;169:254:3;3052:40:31;169:254:3;;3052:40:31;169:254:3;;;;;;;-1:-1:-1;;169:254:3;;;;;;:::i;:::-;;;4685:17:32;;;:::i;:::-;169:254:3;;;;;;;;;;;4712:14:32;169:254:3;;;;;4712:31:32;169:254:3;;;4712:31:32;:::i;:::-;169:254:3;;;4758:28:32;169:254:3;;;;;;4758:28:32;169:254:3;;;;;;;;;;;1328:43:40;;;;169:254:3;;;;1328:43:40;;;;;169:254:3;;;;;;1328:43:40;;;;;;:::i;:::-;8507:421;;;;;;;;;169:254:3;8507:421:40;;8942:15;;8960:26;;;:31;8942:68;8938:146;;169:254:3;8938:146:40;9033:40;;;169:254:3;9033:40:40;169:254:3;;1328:43:40;169:254:3;9033:40:40;8942:68;9009:1;8994:16;;8942:68;;8507:421;169:254:3;8507:421:40;;169:254:3;8507:421:40;;;;;169:254:3;;;;;;-1:-1:-1;;169:254:3;;;;;;;-1:-1:-1;;;;;3119:9:32;169:254:3;;;;;;;;;;-1:-1:-1;;169:254:3;;;;;;-1:-1:-1;;;;;169:254:3;;;;;;5092:63:32;169:254:3;;5109:34:32;:21;3436:9;169:254:3;5109:34:32;;:::i;169:254:3:-;;;;-1:-1:-1;;;;;169:254:3;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;169:254:3;;;;;;;:::o;5303:202:32:-;169:254:3;;-1:-1:-1;;;5430:38:32;;5462:4;5430:38;;;169:254:3;-1:-1:-1;;;;;169:254:3;;;;;;;;5430:38:32;169:254:3;;5430:38:32;;;;;;;-1:-1:-1;5430:38:32;;;5303:202;169:254:3;5430:56:32;169:254:3;5413:85:32;169:254:3;-1:-1:-1;169:254:3;3607:14:32;169:254:3;;;-1:-1:-1;169:254:3;;5430:56:32;;:::i;5413:85::-;5303:202;:::o;5430:38::-;;;169:254:3;5430:38:32;;169:254:3;5430:38:32;;;;;;169:254:3;5430:38:32;;;:::i;:::-;;;169:254:3;;;;;5413:85:32;5430:38;;;;;-1:-1:-1;5430:38:32;;169:254:3;;;;;;;;;;:::o;3992:159:32:-;4082:62;3992:159;4082:44;-1:-1:-1;;;;;4109:15:32;169:254:3;4082:44:32;;:::i;:::-;-1:-1:-1;;;;;169:254:3;;;-1:-1:-1;169:254:3;;;3607:14:32;169:254:3;;;;;;;4082:62:32;:::i;3199:97::-;3269:20;-1:-1:-1;;;;;3119:9:32;169:254:3;-1:-1:-1;;;;;2964:6:32;169:254:3;3269:20:32;:::i;5700:352::-;;-1:-1:-1;;;;;169:254:3;;;;2964:6:32;169:254:3;5823:19:32;;;;;;5858:8;;;169:254:3;5858:8:32;:::o;5819:227::-;5900:5;;:::i;:::-;5887:18;;5900:5;;5921:22;;;:::o;5883:163::-;6001:19;;;:::i;:::-;169:254:3;;;;;;;;;;;;;;;-1:-1:-1;;;;;3119:9:32;169:254:3;;;;;;;5974:61:32;:::o;169:254:3:-;;;;;;;;;;;;1796:162:31;1710:6;169:254:3;-1:-1:-1;;;;;169:254:3;735:10:42;1855:23:31;1851:101;;1796:162::o;1851:101::-;1901:40;;;1710:6;1901:40;735:10:42;1901:40:31;169:254:3;;1710:6:31;1901:40","linkReferences":{},"immutableReferences":{"41622":[{"start":448,"length":32},{"start":1772,"length":32},{"start":1824,"length":32}],"41624":[{"start":1333,"length":32},{"start":1730,"length":32},{"start":1926,"length":32}]}},"methodIdentifiers":{"duration()":"0fb5a6b4","end()":"efbe1c1c","owner()":"8da5cb5b","releasable()":"fbccedae","releasable(address)":"a3f8eace","release()":"86d1a69f","release(address)":"19165587","released()":"96132521","released(address)":"9852595c","renounceOwnership()":"715018a6","start()":"be9a6555","transferOwnership(address)":"f2fde38b","vestedAmount(address,uint64)":"810ec23b","vestedAmount(uint64)":"0a17b06b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiaryAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"startTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"durationSeconds\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Released\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EtherReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"duration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"end\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releasable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"released\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"start\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"vestedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"vestedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InsufficientBalance(uint256,uint256)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"duration()\":{\"details\":\"Getter for the vesting duration.\"},\"end()\":{\"details\":\"Getter for the end timestamp.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"releasable()\":{\"details\":\"Getter for the amount of releasable eth.\"},\"releasable(address)\":{\"details\":\"Getter for the amount of releasable `token` tokens. `token` should be the address of an {IERC20} contract.\"},\"release()\":{\"details\":\"Release the native token (ether) that have already vested. Emits a {EtherReleased} event.\"},\"release(address)\":{\"details\":\"Release the tokens that have already vested. Emits a {ERC20Released} event.\"},\"released()\":{\"details\":\"Amount of eth already released\"},\"released(address)\":{\"details\":\"Amount of token already released\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"start()\":{\"details\":\"Getter for the start timestamp.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"vestedAmount(address,uint64)\":{\"details\":\"Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve.\"},\"vestedAmount(uint64)\":{\"details\":\"Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ExampleVestingWallet.sol\":\"ExampleVestingWallet\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/ExampleVestingWallet.sol\":{\"keccak256\":\"0x6b96415c1d2604a2f069ed3a4cd0815dac54533cd7381acca325e00a52135b44\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://e11c3e49737a42e30995c54f08c68ea7d0f14ff2c60abd97b19dbd8ac5a62417\",\"dweb:/ipfs/QmTUvemY6TNoQ2eNDpMVqDsuFin15qqRpFM4keY1xJ8maL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/finance/VestingWallet.sol\":{\"keccak256\":\"0x79de2c47546e7d9e9785dff775e1cadda15fa877ff956f5b33b7a572e4d43e5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c431f66acb879d3dba4f4e32a21efcad38b49983cfc0a31d49bfa95a738c9f6\",\"dweb:/ipfs/QmQodRbcvFSLc7Cu6XXmGk75CZbsLmL1aZTtjeiDXVagtq\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"beneficiaryAddress","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"uint64","name":"durationSeconds","type":"uint64"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"InsufficientBalance"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ERC20Released","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"EtherReleased","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"end","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"releasable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"release"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"release"},{"inputs":[],"stateMutability":"view","type":"function","name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint64","name":"timestamp","type":"uint64"}],"stateMutability":"view","type":"function","name":"vestedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint64","name":"timestamp","type":"uint64"}],"stateMutability":"view","type":"function","name":"vestedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"duration()":{"details":"Getter for the vesting duration."},"end()":{"details":"Getter for the end timestamp."},"owner()":{"details":"Returns the address of the current owner."},"releasable()":{"details":"Getter for the amount of releasable eth."},"releasable(address)":{"details":"Getter for the amount of releasable `token` tokens. `token` should be the address of an {IERC20} contract."},"release()":{"details":"Release the native token (ether) that have already vested. Emits a {EtherReleased} event."},"release(address)":{"details":"Release the tokens that have already vested. Emits a {ERC20Released} event."},"released()":{"details":"Amount of eth already released"},"released(address)":{"details":"Amount of token already released"},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"start()":{"details":"Getter for the start timestamp."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"vestedAmount(address,uint64)":{"details":"Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve."},"vestedAmount(uint64)":{"details":"Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/ExampleVestingWallet.sol":"ExampleVestingWallet"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/ExampleVestingWallet.sol":{"keccak256":"0x6b96415c1d2604a2f069ed3a4cd0815dac54533cd7381acca325e00a52135b44","urls":["bzz-raw://e11c3e49737a42e30995c54f08c68ea7d0f14ff2c60abd97b19dbd8ac5a62417","dweb:/ipfs/QmTUvemY6TNoQ2eNDpMVqDsuFin15qqRpFM4keY1xJ8maL"],"license":"FSL-1.1-MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/finance/VestingWallet.sol":{"keccak256":"0x79de2c47546e7d9e9785dff775e1cadda15fa877ff956f5b33b7a572e4d43e5c","urls":["bzz-raw://1c431f66acb879d3dba4f4e32a21efcad38b49983cfc0a31d49bfa95a738c9f6","dweb:/ipfs/QmQodRbcvFSLc7Cu6XXmGk75CZbsLmL1aZTtjeiDXVagtq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"keccak256":"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d","urls":["bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100","dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc","urls":["bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037","dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"keccak256":"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44","urls":["bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d","dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5","urls":["bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508","dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0","urls":["bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f","dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"}},"version":1},"id":3}