Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@beandao/contracts

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@beandao/contracts - npm Package Compare versions

Comparing version 0.7.4 to 0.8.0

build/contracts/AbstractERC20.dbg.json

2

build/contracts/Aggregatecall.dbg.json
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/c45cb8cbe2c4b4bfb1acfc041e1a0f29.json"
"buildInfo": "../../../build-info/4086de7a3fee1ae3d58448b7526ddd23.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/c45cb8cbe2c4b4bfb1acfc041e1a0f29.json"
"buildInfo": "../../../build-info/4086de7a3fee1ae3d58448b7526ddd23.json"
}

@@ -38,6 +38,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50610663806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063252dba4214610030575b600080fd5b61004361003e36600461022b565b610059565b604051610050919061031a565b60405180910390f35b60608167ffffffffffffffff8111156100745761007461039a565b6040519080825280602002602001820160405280156100a757816020015b60608152602001906001900390816100925790505b50905060005b82811015610224576000808585848181106100ca576100ca6103c9565b90506020028101906100dc91906103f8565b6100ea906020810190610436565b73ffffffffffffffffffffffffffffffffffffffff16868685818110610112576101126103c9565b905060200281019061012491906103f8565b610132906020810190610473565b6040516101409291906104df565b6000604051808303816000865af19150503d806000811461017d576040519150601f19603f3d011682016040523d82523d6000602084013e610182565b606091505b5091509150816101f15760448151101561019b57600080fd5b600481019050808060200190518101906101b591906104ef565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e891906105ba565b60405180910390fd5b80848481518110610204576102046103c9565b60200260200101819052505050808061021c906105cd565b9150506100ad565b5092915050565b6000806020838503121561023e57600080fd5b823567ffffffffffffffff8082111561025657600080fd5b818501915085601f83011261026a57600080fd5b81358181111561027957600080fd5b8660208260051b850101111561028e57600080fd5b60209290920196919550909350505050565b60005b838110156102bb5781810151838201526020016102a3565b838111156102ca576000848401525b50505050565b600081518084526102e88160208601602086016102a0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561038d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261037b8583516102d0565b94509285019290850190600101610341565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261042c57600080fd5b9190910192915050565b60006020828403121561044857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461046c57600080fd5b9392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126104a857600080fd5b83018035915067ffffffffffffffff8211156104c357600080fd5b6020019150368190038213156104d857600080fd5b9250929050565b8183823760009101908152919050565b60006020828403121561050157600080fd5b815167ffffffffffffffff8082111561051957600080fd5b818401915084601f83011261052d57600080fd5b81518181111561053f5761053f61039a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156105855761058561039a565b8160405282815287602084870101111561059e57600080fd5b6105af8360208301602088016102a0565b979650505050505050565b60208152600061046c60208301846102d0565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610626577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220a6688cb3b4428e85f93312c825af14ae9dd939ebb2a0d29f66158d9533a5c93e64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063252dba4214610030575b600080fd5b61004361003e36600461022b565b610059565b604051610050919061031a565b60405180910390f35b60608167ffffffffffffffff8111156100745761007461039a565b6040519080825280602002602001820160405280156100a757816020015b60608152602001906001900390816100925790505b50905060005b82811015610224576000808585848181106100ca576100ca6103c9565b90506020028101906100dc91906103f8565b6100ea906020810190610436565b73ffffffffffffffffffffffffffffffffffffffff16868685818110610112576101126103c9565b905060200281019061012491906103f8565b610132906020810190610473565b6040516101409291906104df565b6000604051808303816000865af19150503d806000811461017d576040519150601f19603f3d011682016040523d82523d6000602084013e610182565b606091505b5091509150816101f15760448151101561019b57600080fd5b600481019050808060200190518101906101b591906104ef565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e891906105ba565b60405180910390fd5b80848481518110610204576102046103c9565b60200260200101819052505050808061021c906105cd565b9150506100ad565b5092915050565b6000806020838503121561023e57600080fd5b823567ffffffffffffffff8082111561025657600080fd5b818501915085601f83011261026a57600080fd5b81358181111561027957600080fd5b8660208260051b850101111561028e57600080fd5b60209290920196919550909350505050565b60005b838110156102bb5781810151838201526020016102a3565b838111156102ca576000848401525b50505050565b600081518084526102e88160208601602086016102a0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561038d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261037b8583516102d0565b94509285019290850190600101610341565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261042c57600080fd5b9190910192915050565b60006020828403121561044857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461046c57600080fd5b9392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126104a857600080fd5b83018035915067ffffffffffffffff8211156104c357600080fd5b6020019150368190038213156104d857600080fd5b9250929050565b8183823760009101908152919050565b60006020828403121561050157600080fd5b815167ffffffffffffffff8082111561051957600080fd5b818401915084601f83011261052d57600080fd5b81518181111561053f5761053f61039a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156105855761058561039a565b8160405282815287602084870101111561059e57600080fd5b6105af8360208301602088016102a0565b979650505050505050565b60208152600061046c60208301846102d0565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610626577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220a6688cb3b4428e85f93312c825af14ae9dd939ebb2a0d29f66158d9533a5c93e64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610479806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063252dba4214610030575b600080fd5b61004361003e3660046101a2565b610059565b6040516100509190610217565b60405180910390f35b6060818067ffffffffffffffff811115610075576100756102ee565b6040519080825280602002602001820160405280156100a857816020015b60608152602001906001900390816100935790505b5091503660005b828114610199578585828181106100c8576100c861031d565b90506020028101906100da919061034c565b91506000806100ec602085018561038a565b73ffffffffffffffffffffffffffffffffffffffff1661010f60208601866103c7565b60405161011d929190610433565b6000604051808303816000865af19150503d806000811461015a576040519150601f19603f3d011682016040523d82523d6000602084013e61015f565b606091505b50915091508161017157805181602001fd5b808684815181106101845761018461031d565b602090810291909101015250506001016100af565b50505092915050565b600080602083850312156101b557600080fd5b823567ffffffffffffffff808211156101cd57600080fd5b818501915085601f8301126101e157600080fd5b8135818111156101f057600080fd5b8660208260051b850101111561020557600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b838110156102e0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610292578281018a01518982018b01528901610277565b818111156102a257848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169690960187019550938601939186019160010161023f565b509398975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261038057600080fd5b9190910192915050565b60006020828403121561039c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103c057600080fd5b9392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126103fc57600080fd5b83018035915067ffffffffffffffff82111561041757600080fd5b60200191503681900382131561042c57600080fd5b9250929050565b818382376000910190815291905056fea2646970667358221220424379e1cb7a41c774aa5c55322da99694cfeb447cbe6e08a701931e40332b2964736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063252dba4214610030575b600080fd5b61004361003e3660046101a2565b610059565b6040516100509190610217565b60405180910390f35b6060818067ffffffffffffffff811115610075576100756102ee565b6040519080825280602002602001820160405280156100a857816020015b60608152602001906001900390816100935790505b5091503660005b828114610199578585828181106100c8576100c861031d565b90506020028101906100da919061034c565b91506000806100ec602085018561038a565b73ffffffffffffffffffffffffffffffffffffffff1661010f60208601866103c7565b60405161011d929190610433565b6000604051808303816000865af19150503d806000811461015a576040519150601f19603f3d011682016040523d82523d6000602084013e61015f565b606091505b50915091508161017157805181602001fd5b808684815181106101845761018461031d565b602090810291909101015250506001016100af565b50505092915050565b600080602083850312156101b557600080fd5b823567ffffffffffffffff808211156101cd57600080fd5b818501915085601f8301126101e157600080fd5b8135818111156101f057600080fd5b8660208260051b850101111561020557600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b838110156102e0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610292578281018a01518982018b01528901610277565b818111156102a257848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169690960187019550938601939186019160010161023f565b509398975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261038057600080fd5b9190910192915050565b60006020828403121561039c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103c057600080fd5b9392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126103fc57600080fd5b83018035915067ffffffffffffffff82111561041757600080fd5b60200191503681900382131561042c57600080fd5b9250929050565b818382376000910190815291905056fea2646970667358221220424379e1cb7a41c774aa5c55322da99694cfeb447cbe6e08a701931e40332b2964736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/30d917f229986a16b36057a13cfbe87a.json"
"buildInfo": "../../../build-info/74f367272954b8b3ca2cbf3d70c93a55.json"
}

@@ -6,6 +6,6 @@ {

"abi": [],
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220aa4f5448d8afd4ec212575f641e5588d8eec698f557118e45ca7e76a4058539464736f6c634300080c0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220aa4f5448d8afd4ec212575f641e5588d8eec698f557118e45ca7e76a4058539464736f6c634300080c0033",
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205e88d8ac7015f9bd5b3d9325771cd98a661bed5e80fb92a8bc8a2239d487e69264736f6c634300080d0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205e88d8ac7015f9bd5b3d9325771cd98a661bed5e80fb92a8bc8a2239d487e69264736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/30d917f229986a16b36057a13cfbe87a.json"
"buildInfo": "../../../build-info/74f367272954b8b3ca2cbf3d70c93a55.json"
}

@@ -57,6 +57,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b5061044d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317a68dd8146100465780634c96a38914610070578063d1524f7414610085575b600080fd5b61005961005436600461027c565b6100ca565b6040516100679291906102e9565b60405180910390f35b61008361007e36600461027c565b610198565b005b6000546100a59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610067565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091606091839101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260005490925073ffffffffffffffffffffffffffffffffffffffff169061014a908390610343565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909590945092505050565b6101a1816101e9565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091829101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261024a9160200161035f565b60405160208183030381529060405290508051602082016000f09150813b610276573d6000803e3d6000fd5b50919050565b60006020828403121561028e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102b257600080fd5b9392505050565b60005b838110156102d45781810151838201526020016102bc565b838111156102e3576000848401525b50505050565b821515815260406020820152600082518060408401526103108160608501602087016102b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600082516103558184602087016102b9565b9190910192915050565b7f606161002960003933600081816002015260310152602080380360803960805181527f60005560616000f3fe337f0000000000000000000000000000000000000000006020820152741415602e57600035600055005b337f00000000000060408201526514606057600060608201527f5460005260206000f35b0000000000000000000000000000000000000000000060808201526000825161040a81608a8501602087016102b9565b91909101608a019291505056fea2646970667358221220e705aef68549666fb9f5a11770cb04ebcad706fe7ca9eafe46bbe19d0290a54064736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806317a68dd8146100465780634c96a38914610070578063d1524f7414610085575b600080fd5b61005961005436600461027c565b6100ca565b6040516100679291906102e9565b60405180910390f35b61008361007e36600461027c565b610198565b005b6000546100a59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610067565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091606091839101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260005490925073ffffffffffffffffffffffffffffffffffffffff169061014a908390610343565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909590945092505050565b6101a1816101e9565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091829101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261024a9160200161035f565b60405160208183030381529060405290508051602082016000f09150813b610276573d6000803e3d6000fd5b50919050565b60006020828403121561028e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102b257600080fd5b9392505050565b60005b838110156102d45781810151838201526020016102bc565b838111156102e3576000848401525b50505050565b821515815260406020820152600082518060408401526103108160608501602087016102b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600082516103558184602087016102b9565b9190910192915050565b7f606161002960003933600081816002015260310152602080380360803960805181527f60005560616000f3fe337f0000000000000000000000000000000000000000006020820152741415602e57600035600055005b337f00000000000060408201526514606057600060608201527f5460005260206000f35b0000000000000000000000000000000000000000000060808201526000825161040a81608a8501602087016102b9565b91909101608a019291505056fea2646970667358221220e705aef68549666fb9f5a11770cb04ebcad706fe7ca9eafe46bbe19d0290a54064736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b5061044d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317a68dd8146100465780634c96a38914610070578063d1524f7414610085575b600080fd5b61005961005436600461027c565b6100ca565b6040516100679291906102e9565b60405180910390f35b61008361007e36600461027c565b610198565b005b6000546100a59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610067565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091606091839101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260005490925073ffffffffffffffffffffffffffffffffffffffff169061014a908390610343565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909590945092505050565b6101a1816101e9565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091829101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261024a9160200161035f565b60405160208183030381529060405290508051602082016000f09150813b610276573d6000803e3d6000fd5b50919050565b60006020828403121561028e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102b257600080fd5b9392505050565b60005b838110156102d45781810151838201526020016102bc565b838111156102e3576000848401525b50505050565b821515815260406020820152600082518060408401526103108160608501602087016102b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600082516103558184602087016102b9565b9190910192915050565b7f606161002960003933600081816002015260310152602080380360803960805181527f60005560616000f3fe337f0000000000000000000000000000000000000000006020820152741415602e57600035600055005b337f00000000000060408201526514606057600060608201527f5460005260206000f35b0000000000000000000000000000000000000000000060808201526000825161040a81608a8501602087016102b9565b91909101608a019291505056fea2646970667358221220f08d056690f510ffd597f64119c06e7b09b89d41a4712b8748b57e162929d1da64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806317a68dd8146100465780634c96a38914610070578063d1524f7414610085575b600080fd5b61005961005436600461027c565b6100ca565b6040516100679291906102e9565b60405180910390f35b61008361007e36600461027c565b610198565b005b6000546100a59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610067565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091606091839101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260005490925073ffffffffffffffffffffffffffffffffffffffff169061014a908390610343565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909590945092505050565b6101a1816101e9565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6040805173ffffffffffffffffffffffffffffffffffffffff83166020820152600091829101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261024a9160200161035f565b60405160208183030381529060405290508051602082016000f09150813b610276573d6000803e3d6000fd5b50919050565b60006020828403121561028e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102b257600080fd5b9392505050565b60005b838110156102d45781810151838201526020016102bc565b838111156102e3576000848401525b50505050565b821515815260406020820152600082518060408401526103108160608501602087016102b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600082516103558184602087016102b9565b9190910192915050565b7f606161002960003933600081816002015260310152602080380360803960805181527f60005560616000f3fe337f0000000000000000000000000000000000000000006020820152741415602e57600035600055005b337f00000000000060408201526514606057600060608201527f5460005260206000f35b0000000000000000000000000000000000000000000060808201526000825161040a81608a8501602087016102b9565b91909101608a019291505056fea2646970667358221220f08d056690f510ffd597f64119c06e7b09b89d41a4712b8748b57e162929d1da64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/975c544113ee8af6534d3705d0ee3596.json"
"buildInfo": "../../../build-info/144f5dbe32b5243ab4519eeb36b32839.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "BytesSpell",
"sourceName": "contracts/library/spell/BytesSpell.sol",
"sourceName": "contracts/mocks/BytesSpell.sol",
"abi": [

@@ -65,6 +65,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b5061037e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063482853181461003b578063a7bb580314610064575b600080fd5b61004e610049366004610150565b610096565b60405161005b919061018b565b60405180910390f35b61007761007236600461022d565b6100d1565b6040805160ff909416845260208401929092529082015260600161005b565b604080516041808252608082019092526060916020820181803683370190505090508260208201528160408201528360608201539392505050565b60008060008351604114156100fc5750505060208101516040820151606083015160001a9190610149565b835160401415610149575050602082015160408301517f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169061014560ff82901c601b6102fc565b9350505b9193909250565b60008060006060848603121561016557600080fd5b833560ff8116811461017657600080fd5b95602085013595506040909401359392505050565b600060208083528351808285015260005b818110156101b85785810183015185820160400152820161019c565b818111156101ca576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561023f57600080fd5b813567ffffffffffffffff8082111561025757600080fd5b818401915084601f83011261026b57600080fd5b81358181111561027d5761027d6101fe565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102c3576102c36101fe565b816040528281528760208487010111156102dc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060ff821660ff84168060ff03821115610340577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea2646970667358221220c89bc5ef86786ee4b732906e58291c62cc567c00447bc863046aae0b1d6824f264736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063482853181461003b578063a7bb580314610064575b600080fd5b61004e610049366004610150565b610096565b60405161005b919061018b565b60405180910390f35b61007761007236600461022d565b6100d1565b6040805160ff909416845260208401929092529082015260600161005b565b604080516041808252608082019092526060916020820181803683370190505090508260208201528160408201528360608201539392505050565b60008060008351604114156100fc5750505060208101516040820151606083015160001a9190610149565b835160401415610149575050602082015160408301517f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169061014560ff82901c601b6102fc565b9350505b9193909250565b60008060006060848603121561016557600080fd5b833560ff8116811461017657600080fd5b95602085013595506040909401359392505050565b600060208083528351808285015260005b818110156101b85785810183015185820160400152820161019c565b818111156101ca576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561023f57600080fd5b813567ffffffffffffffff8082111561025757600080fd5b818401915084601f83011261026b57600080fd5b81358181111561027d5761027d6101fe565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102c3576102c36101fe565b816040528281528760208487010111156102dc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060ff821660ff84168060ff03821115610340577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea2646970667358221220c89bc5ef86786ee4b732906e58291c62cc567c00447bc863046aae0b1d6824f264736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b5061037c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063482853181461003b578063a7bb580314610064575b600080fd5b61004e61004936600461014e565b610096565b60405161005b9190610189565b60405180910390f35b61007761007236600461022b565b6100d1565b6040805160ff909416845260208401929092529082015260600161005b565b604080516041808252608082019092526060916020820181803683370190505090508260208201528160408201528360608201539392505050565b600080600083516041036100fb5750505060208101516040820151606083015160001a9190610147565b8351604003610147575050602082015160408301517f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169061014360ff82901c601b6102fa565b9350505b9193909250565b60008060006060848603121561016357600080fd5b833560ff8116811461017457600080fd5b95602085013595506040909401359392505050565b600060208083528351808285015260005b818110156101b65785810183015185820160400152820161019a565b818111156101c8576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561023d57600080fd5b813567ffffffffffffffff8082111561025557600080fd5b818401915084601f83011261026957600080fd5b81358181111561027b5761027b6101fc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102c1576102c16101fc565b816040528281528760208487010111156102da57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060ff821660ff84168060ff0382111561033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea26469706673582212200b35d328c395c4f4feb5a1e58e7e0f102bb1767f637ba0daf85a1d5614f3faad64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063482853181461003b578063a7bb580314610064575b600080fd5b61004e61004936600461014e565b610096565b60405161005b9190610189565b60405180910390f35b61007761007236600461022b565b6100d1565b6040805160ff909416845260208401929092529082015260600161005b565b604080516041808252608082019092526060916020820181803683370190505090508260208201528160408201528360608201539392505050565b600080600083516041036100fb5750505060208101516040820151606083015160001a9190610147565b8351604003610147575050602082015160408301517f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81169061014360ff82901c601b6102fa565b9350505b9193909250565b60008060006060848603121561016357600080fd5b833560ff8116811461017457600080fd5b95602085013595506040909401359392505050565b600060208083528351808285015260005b818110156101b65785810183015185820160400152820161019a565b818111156101c8576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561023d57600080fd5b813567ffffffffffffffff8082111561025557600080fd5b818401915084601f83011261026957600080fd5b81358181111561027b5761027b6101fc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102c1576102c16101fc565b816040528281528760208487010111156102da57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060ff821660ff84168060ff0382111561033e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea26469706673582212200b35d328c395c4f4feb5a1e58e7e0f102bb1767f637ba0daf85a1d5614f3faad64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/e67dfd6b99a85175e4ccc8bec56ea817.json"
"buildInfo": "../../../build-info/360bee1f65539e20e64ee8172239d8ed.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "CryptographySpell",
"sourceName": "contracts/library/spell/CryptographySpell.sol",
"sourceName": "contracts/mocks/CryptographySpell.sol",
"abi": [

@@ -98,6 +98,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b506103f4806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80638019f9b11461005157806396d107f61461007d5780639e641bf8146100b5578063bebc76dd146100f9575b600080fd5b61006a61005f366004610258565b805160209091012090565b6040519081526020015b60405180910390f35b61009061008b366004610327565b61010c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610074565b6100c86100c3366004610258565b610192565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091168152602001610074565b61006a610107366004610258565b6101d1565b6040805160008082526020820180845287905260ff861692820192909252606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610160573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519695505050505050565b60006003826040516101a4919061036a565b602060405180830381855afa1580156101c1573d6000803e3d6000fd5b50506040515160601b9392505050565b60006002826040516101e3919061036a565b602060405180830381855afa158015610200573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061022391906103a5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561026a57600080fd5b813567ffffffffffffffff8082111561028257600080fd5b818401915084601f83011261029657600080fd5b8135818111156102a8576102a8610229565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ee576102ee610229565b8160405282815287602084870101111561030757600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806000806080858703121561033d57600080fd5b84359350602085013560ff8116811461035557600080fd5b93969395505050506040820135916060013590565b6000825160005b8181101561038b5760208186018101518583015201610371565b8181111561039a576000828501525b509190910192915050565b6000602082840312156103b757600080fd5b505191905056fea26469706673582212208b9f83eb07f39f3066fcf7af64b4c7bb0255111f9e5eb20a213fadecc59f665364736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80638019f9b11461005157806396d107f61461007d5780639e641bf8146100b5578063bebc76dd146100f9575b600080fd5b61006a61005f366004610258565b805160209091012090565b6040519081526020015b60405180910390f35b61009061008b366004610327565b61010c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610074565b6100c86100c3366004610258565b610192565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091168152602001610074565b61006a610107366004610258565b6101d1565b6040805160008082526020820180845287905260ff861692820192909252606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610160573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519695505050505050565b60006003826040516101a4919061036a565b602060405180830381855afa1580156101c1573d6000803e3d6000fd5b50506040515160601b9392505050565b60006002826040516101e3919061036a565b602060405180830381855afa158015610200573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061022391906103a5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561026a57600080fd5b813567ffffffffffffffff8082111561028257600080fd5b818401915084601f83011261029657600080fd5b8135818111156102a8576102a8610229565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ee576102ee610229565b8160405282815287602084870101111561030757600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806000806080858703121561033d57600080fd5b84359350602085013560ff8116811461035557600080fd5b93969395505050506040820135916060013590565b6000825160005b8181101561038b5760208186018101518583015201610371565b8181111561039a576000828501525b509190910192915050565b6000602082840312156103b757600080fd5b505191905056fea26469706673582212208b9f83eb07f39f3066fcf7af64b4c7bb0255111f9e5eb20a213fadecc59f665364736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506103f4806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80638019f9b11461005157806396d107f61461007d5780639e641bf8146100b5578063bebc76dd146100f9575b600080fd5b61006a61005f366004610258565b805160209091012090565b6040519081526020015b60405180910390f35b61009061008b366004610327565b61010c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610074565b6100c86100c3366004610258565b610192565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091168152602001610074565b61006a610107366004610258565b6101d1565b6040805160008082526020820180845287905260ff861692820192909252606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610160573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519695505050505050565b60006003826040516101a4919061036a565b602060405180830381855afa1580156101c1573d6000803e3d6000fd5b50506040515160601b9392505050565b60006002826040516101e3919061036a565b602060405180830381855afa158015610200573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061022391906103a5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561026a57600080fd5b813567ffffffffffffffff8082111561028257600080fd5b818401915084601f83011261029657600080fd5b8135818111156102a8576102a8610229565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ee576102ee610229565b8160405282815287602084870101111561030757600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806000806080858703121561033d57600080fd5b84359350602085013560ff8116811461035557600080fd5b93969395505050506040820135916060013590565b6000825160005b8181101561038b5760208186018101518583015201610371565b8181111561039a576000828501525b509190910192915050565b6000602082840312156103b757600080fd5b505191905056fea2646970667358221220861681c16ab8b191a9e5d691b9309aa2dbea78b810b6716598168a253f6968c964736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80638019f9b11461005157806396d107f61461007d5780639e641bf8146100b5578063bebc76dd146100f9575b600080fd5b61006a61005f366004610258565b805160209091012090565b6040519081526020015b60405180910390f35b61009061008b366004610327565b61010c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610074565b6100c86100c3366004610258565b610192565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091168152602001610074565b61006a610107366004610258565b6101d1565b6040805160008082526020820180845287905260ff861692820192909252606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610160573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519695505050505050565b60006003826040516101a4919061036a565b602060405180830381855afa1580156101c1573d6000803e3d6000fd5b50506040515160601b9392505050565b60006002826040516101e3919061036a565b602060405180830381855afa158015610200573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061022391906103a5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561026a57600080fd5b813567ffffffffffffffff8082111561028257600080fd5b818401915084601f83011261029657600080fd5b8135818111156102a8576102a8610229565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ee576102ee610229565b8160405282815287602084870101111561030757600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806000806080858703121561033d57600080fd5b84359350602085013560ff8116811461035557600080fd5b93969395505050506040820135916060013590565b6000825160005b8181101561038b5760208186018101518583015201610371565b8181111561039a576000828501525b509190910192915050565b6000602082840312156103b757600080fd5b505191905056fea2646970667358221220861681c16ab8b191a9e5d691b9309aa2dbea78b810b6716598168a253f6968c964736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/0ba01fd9001219c0ae05920fee8d171a.json"
"buildInfo": "../../../build-info/98d58a0904853483e0fcbb3e20e7996c.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "DeploySpell",
"sourceName": "contracts/library/spell/DeploySpell.sol",
"sourceName": "contracts/mocks/DeploySpell.sol",
"abi": [

@@ -60,6 +60,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50610277806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636e077f541461003b578063c5f4ee3814610077575b600080fd5b61004e6100493660046101aa565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046101fa565b6100ae565b60008183516020850186f59050803b6100a7573d6000803e3d6000fd5b9392505050565b600081516020830184f09050803b6100ca573d6000803e3d6000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261011057600080fd5b813567ffffffffffffffff8082111561012b5761012b6100d0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610171576101716100d0565b8160405283815286602085880101111561018a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156101bf57600080fd5b83359250602084013567ffffffffffffffff8111156101dd57600080fd5b6101e9868287016100ff565b925050604084013590509250925092565b6000806040838503121561020d57600080fd5b82359150602083013567ffffffffffffffff81111561022b57600080fd5b610237858286016100ff565b915050925092905056fea264697066735822122084cc42f7f1a45af6ca846fc09f1103f89950d273123be88b7888d9900bbeff1f64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80636e077f541461003b578063c5f4ee3814610077575b600080fd5b61004e6100493660046101aa565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046101fa565b6100ae565b60008183516020850186f59050803b6100a7573d6000803e3d6000fd5b9392505050565b600081516020830184f09050803b6100ca573d6000803e3d6000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261011057600080fd5b813567ffffffffffffffff8082111561012b5761012b6100d0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610171576101716100d0565b8160405283815286602085880101111561018a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156101bf57600080fd5b83359250602084013567ffffffffffffffff8111156101dd57600080fd5b6101e9868287016100ff565b925050604084013590509250925092565b6000806040838503121561020d57600080fd5b82359150602083013567ffffffffffffffff81111561022b57600080fd5b610237858286016100ff565b915050925092905056fea264697066735822122084cc42f7f1a45af6ca846fc09f1103f89950d273123be88b7888d9900bbeff1f64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610277806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636e077f541461003b578063c5f4ee3814610077575b600080fd5b61004e6100493660046101aa565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046101fa565b6100ae565b60008183516020850186f59050803b6100a7573d6000803e3d6000fd5b9392505050565b600081516020830184f09050803b6100ca573d6000803e3d6000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261011057600080fd5b813567ffffffffffffffff8082111561012b5761012b6100d0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610171576101716100d0565b8160405283815286602085880101111561018a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156101bf57600080fd5b83359250602084013567ffffffffffffffff8111156101dd57600080fd5b6101e9868287016100ff565b925050604084013590509250925092565b6000806040838503121561020d57600080fd5b82359150602083013567ffffffffffffffff81111561022b57600080fd5b610237858286016100ff565b915050925092905056fea2646970667358221220365d4a5074e40a47dc2c7fff9e17ee1e363169d342933eb772b4422697ef386964736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80636e077f541461003b578063c5f4ee3814610077575b600080fd5b61004e6100493660046101aa565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046101fa565b6100ae565b60008183516020850186f59050803b6100a7573d6000803e3d6000fd5b9392505050565b600081516020830184f09050803b6100ca573d6000803e3d6000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261011057600080fd5b813567ffffffffffffffff8082111561012b5761012b6100d0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610171576101716100d0565b8160405283815286602085880101111561018a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156101bf57600080fd5b83359250602084013567ffffffffffffffff8111156101dd57600080fd5b6101e9868287016100ff565b925050604084013590509250925092565b6000806040838503121561020d57600080fd5b82359150602083013567ffffffffffffffff81111561022b57600080fd5b610237858286016100ff565b915050925092905056fea2646970667358221220365d4a5074e40a47dc2c7fff9e17ee1e363169d342933eb772b4422697ef386964736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/bd7a1e1ed25831438670a042dcb15018.json"
"buildInfo": "../../../build-info/9c4ec0c4361b2e71db7f2b77dc42603c.json"
}

@@ -39,6 +39,6 @@ {

],
"bytecode": "0x60c0604052601a60808190527f6265616e207468652044414f206f6e2074686520426c6f636b7300000000000060a090815261003e9160009190610051565b5034801561004b57600080fd5b50610125565b82805461005d906100ea565b90600052602060002090601f01602090048101928261007f57600085556100c5565b82601f1061009857805160ff19168380011785556100c5565b828001600101855582156100c5579182015b828111156100c55782518255916020019190600101906100aa565b506100d19291506100d5565b5090565b5b808211156100d157600081556001016100d6565b600181811c908216806100fe57607f821691505b6020821081141561011f57634e487b7160e01b600052602260045260246000fd5b50919050565b6103bc806101346000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b60405161005091906101c1565b60405180910390f35b61006c610067366004610263565b61010a565b6040519015158152602001610050565b6000805461008990610332565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610332565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610128565b50600192915050565b82805461013490610332565b90600052602060002090601f016020900481019282610156576000855561019c565b82601f1061016f57805160ff191683800117855561019c565b8280016001018555821561019c579182015b8281111561019c578251825591602001919060010190610181565b506101a89291506101ac565b5090565b5b808211156101a857600081556001016101ad565b600060208083528351808285015260005b818110156101ee578581018301518582016040015282016101d2565b81811115610200576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561027557600080fd5b813567ffffffffffffffff8082111561028d57600080fd5b818401915084601f8301126102a157600080fd5b8135818111156102b3576102b3610234565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102f9576102f9610234565b8160405282815287602084870101111561031257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c9082168061034657607f821691505b60208210811415610380577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122088b99b703c1ec422718030a568a7ddb66f200880106655d8f32f5e455827048564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b60405161005091906101c1565b60405180910390f35b61006c610067366004610263565b61010a565b6040519015158152602001610050565b6000805461008990610332565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610332565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610128565b50600192915050565b82805461013490610332565b90600052602060002090601f016020900481019282610156576000855561019c565b82601f1061016f57805160ff191683800117855561019c565b8280016001018555821561019c579182015b8281111561019c578251825591602001919060010190610181565b506101a89291506101ac565b5090565b5b808211156101a857600081556001016101ad565b600060208083528351808285015260005b818110156101ee578581018301518582016040015282016101d2565b81811115610200576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561027557600080fd5b813567ffffffffffffffff8082111561028d57600080fd5b818401915084601f8301126102a157600080fd5b8135818111156102b3576102b3610234565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102f9576102f9610234565b8160405282815287602084870101111561031257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c9082168061034657607f821691505b60208210811415610380577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122088b99b703c1ec422718030a568a7ddb66f200880106655d8f32f5e455827048564736f6c634300080c0033",
"bytecode": "0x60c0604052601a60808190527f6265616e207468652044414f206f6e2074686520426c6f636b7300000000000060a090815261003e9160009190610051565b5034801561004b57600080fd5b50610124565b82805461005d906100ea565b90600052602060002090601f01602090048101928261007f57600085556100c5565b82601f1061009857805160ff19168380011785556100c5565b828001600101855582156100c5579182015b828111156100c55782518255916020019190600101906100aa565b506100d19291506100d5565b5090565b5b808211156100d157600081556001016100d6565b600181811c908216806100fe57607f821691505b60208210810361011e57634e487b7160e01b600052602260045260246000fd5b50919050565b6103bb806101336000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b60405161005091906101c1565b60405180910390f35b61006c610067366004610263565b61010a565b6040519015158152602001610050565b6000805461008990610332565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610332565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610128565b50600192915050565b82805461013490610332565b90600052602060002090601f016020900481019282610156576000855561019c565b82601f1061016f57805160ff191683800117855561019c565b8280016001018555821561019c579182015b8281111561019c578251825591602001919060010190610181565b506101a89291506101ac565b5090565b5b808211156101a857600081556001016101ad565b600060208083528351808285015260005b818110156101ee578581018301518582016040015282016101d2565b81811115610200576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561027557600080fd5b813567ffffffffffffffff8082111561028d57600080fd5b818401915084601f8301126102a157600080fd5b8135818111156102b3576102b3610234565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102f9576102f9610234565b8160405282815287602084870101111561031257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c9082168061034657607f821691505b60208210810361037f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212203bd47a8a89f54c694ec2414de1eccfb34a35d4e2fd4d35a2db6bd79d425a927564736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b60405161005091906101c1565b60405180910390f35b61006c610067366004610263565b61010a565b6040519015158152602001610050565b6000805461008990610332565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610332565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610128565b50600192915050565b82805461013490610332565b90600052602060002090601f016020900481019282610156576000855561019c565b82601f1061016f57805160ff191683800117855561019c565b8280016001018555821561019c579182015b8281111561019c578251825591602001919060010190610181565b506101a89291506101ac565b5090565b5b808211156101a857600081556001016101ad565b600060208083528351808285015260005b818110156101ee578581018301518582016040015282016101d2565b81811115610200576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561027557600080fd5b813567ffffffffffffffff8082111561028d57600080fd5b818401915084601f8301126102a157600080fd5b8135818111156102b3576102b3610234565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102f9576102f9610234565b8160405282815287602084870101111561031257600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c9082168061034657607f821691505b60208210810361037f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212203bd47a8a89f54c694ec2414de1eccfb34a35d4e2fd4d35a2db6bd79d425a927564736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -6,6 +6,6 @@ {

"abi": [],
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122060071d7405600bb83e8f1630d823d158062d8372512e22e9d26f9713877547ef64736f6c634300080c0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122060071d7405600bb83e8f1630d823d158062d8372512e22e9d26f9713877547ef64736f6c634300080c0033",
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd0945bb49932b0bfae6384570e3b1e68b70c331b51c0ae7b6feda4bb76daa9a64736f6c634300080d0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd0945bb49932b0bfae6384570e3b1e68b70c331b51c0ae7b6feda4bb76daa9a64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -32,6 +32,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b506040516101fe3803806101fe83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61016b806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063c5fcbd4f1461003b578063e8927fbc14610045575b600080fd5b61004361004d565b005b6100436100ce565b60008054604080517fec381347000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ec3813479260048084019382900301818387803b1580156100b457600080fd5b505af11580156100c8573d6000803e3d6000fd5b50505050565b60008054604080517f97910720000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263979107209260048084019382900301818387803b1580156100b457600080fdfea2646970667358221220e954aed30de0b572f3b904e232c77b8c7fae97ef25fe68525ebd5d23463a84fa64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063c5fcbd4f1461003b578063e8927fbc14610045575b600080fd5b61004361004d565b005b6100436100ce565b60008054604080517fec381347000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ec3813479260048084019382900301818387803b1580156100b457600080fd5b505af11580156100c8573d6000803e3d6000fd5b50505050565b60008054604080517f97910720000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263979107209260048084019382900301818387803b1580156100b457600080fdfea2646970667358221220e954aed30de0b572f3b904e232c77b8c7fae97ef25fe68525ebd5d23463a84fa64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506040516101fe3803806101fe83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61016b806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063c5fcbd4f1461003b578063e8927fbc14610045575b600080fd5b61004361004d565b005b6100436100ce565b60008054604080517fec381347000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ec3813479260048084019382900301818387803b1580156100b457600080fd5b505af11580156100c8573d6000803e3d6000fd5b50505050565b60008054604080517f97910720000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263979107209260048084019382900301818387803b1580156100b457600080fdfea2646970667358221220be8c110360098abb2dad2a2ba0b8bef0cb186c27754c8d3145d2c2accf198c2664736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063c5fcbd4f1461003b578063e8927fbc14610045575b600080fd5b61004361004d565b005b6100436100ce565b60008054604080517fec381347000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ec3813479260048084019382900301818387803b1580156100b457600080fd5b505af11580156100c8573d6000803e3d6000fd5b50505050565b60008054604080517f97910720000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263979107209260048084019382900301818387803b1580156100b457600080fdfea2646970667358221220be8c110360098abb2dad2a2ba0b8bef0cb186c27754c8d3145d2c2accf198c2664736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,2 +7,7 @@ {

{
"inputs": [],
"name": "ERC20__ApproveToSelf",
"type": "error"
},
{
"anonymous": false,

@@ -9,0 +14,0 @@ "inputs": [

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC20Spell",
"sourceName": "contracts/library/spell/ERC20Spell.sol",
"sourceName": "contracts/mocks/ERC20Spell.sol",
"abi": [

@@ -152,6 +152,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50610546806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063d9fc4b6111610050578063d9fc4b61146100b5578063eb5625d9146100c8578063f7888aec146100db57600080fd5b8063927da1051461006c578063d1660f9914610092575b600080fd5b61007f61007a3660046103e1565b6100ee565b6040519081526020015b60405180910390f35b6100a56100a036600461042c565b610192565b6040519015158152602001610089565b6100a56100c336600461046d565b6101f3565b6100a56100d636600461042c565b610279565b61007f6100e93660046104be565b6102da565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a91906104f7565b949350505050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260008060648360008a5af191505061027081610375565b95945050505050565b60006040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a0823190602401602060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e91906104f7565b9392505050565b60003d8261038757806000803e806000fd5b806020811461039f5780156103b057600092506103b5565b816000803e600051151592506103b5565b600192505b5050919050565b73ffffffffffffffffffffffffffffffffffffffff811681146103de57600080fd5b50565b6000806000606084860312156103f657600080fd5b8335610401816103bc565b92506020840135610411816103bc565b91506040840135610421816103bc565b809150509250925092565b60008060006060848603121561044157600080fd5b833561044c816103bc565b9250602084013561045c816103bc565b929592945050506040919091013590565b6000806000806080858703121561048357600080fd5b843561048e816103bc565b9350602085013561049e816103bc565b925060408501356104ae816103bc565b9396929550929360600135925050565b600080604083850312156104d157600080fd5b82356104dc816103bc565b915060208301356104ec816103bc565b809150509250929050565b60006020828403121561050957600080fd5b505191905056fea264697066735822122073ccb75a8ef1c46adea74ae4ec5c870cd0c1113e5c94b4da493a764f4441942664736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063d9fc4b6111610050578063d9fc4b61146100b5578063eb5625d9146100c8578063f7888aec146100db57600080fd5b8063927da1051461006c578063d1660f9914610092575b600080fd5b61007f61007a3660046103e1565b6100ee565b6040519081526020015b60405180910390f35b6100a56100a036600461042c565b610192565b6040519015158152602001610089565b6100a56100c336600461046d565b6101f3565b6100a56100d636600461042c565b610279565b61007f6100e93660046104be565b6102da565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a91906104f7565b949350505050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260008060648360008a5af191505061027081610375565b95945050505050565b60006040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a0823190602401602060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e91906104f7565b9392505050565b60003d8261038757806000803e806000fd5b806020811461039f5780156103b057600092506103b5565b816000803e600051151592506103b5565b600192505b5050919050565b73ffffffffffffffffffffffffffffffffffffffff811681146103de57600080fd5b50565b6000806000606084860312156103f657600080fd5b8335610401816103bc565b92506020840135610411816103bc565b91506040840135610421816103bc565b809150509250925092565b60008060006060848603121561044157600080fd5b833561044c816103bc565b9250602084013561045c816103bc565b929592945050506040919091013590565b6000806000806080858703121561048357600080fd5b843561048e816103bc565b9350602085013561049e816103bc565b925060408501356104ae816103bc565b9396929550929360600135925050565b600080604083850312156104d157600080fd5b82356104dc816103bc565b915060208301356104ec816103bc565b809150509250929050565b60006020828403121561050957600080fd5b505191905056fea264697066735822122073ccb75a8ef1c46adea74ae4ec5c870cd0c1113e5c94b4da493a764f4441942664736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610546806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063d9fc4b6111610050578063d9fc4b61146100b5578063eb5625d9146100c8578063f7888aec146100db57600080fd5b8063927da1051461006c578063d1660f9914610092575b600080fd5b61007f61007a3660046103e1565b6100ee565b6040519081526020015b60405180910390f35b6100a56100a036600461042c565b610192565b6040519015158152602001610089565b6100a56100c336600461046d565b6101f3565b6100a56100d636600461042c565b610279565b61007f6100e93660046104be565b6102da565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a91906104f7565b949350505050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260008060648360008a5af191505061027081610375565b95945050505050565b60006040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a0823190602401602060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e91906104f7565b9392505050565b60003d8261038757806000803e806000fd5b806020811461039f5780156103b057600092506103b5565b816000803e600051151592506103b5565b600192505b5050919050565b73ffffffffffffffffffffffffffffffffffffffff811681146103de57600080fd5b50565b6000806000606084860312156103f657600080fd5b8335610401816103bc565b92506020840135610411816103bc565b91506040840135610421816103bc565b809150509250925092565b60008060006060848603121561044157600080fd5b833561044c816103bc565b9250602084013561045c816103bc565b929592945050506040919091013590565b6000806000806080858703121561048357600080fd5b843561048e816103bc565b9350602085013561049e816103bc565b925060408501356104ae816103bc565b9396929550929360600135925050565b600080604083850312156104d157600080fd5b82356104dc816103bc565b915060208301356104ec816103bc565b809150509250929050565b60006020828403121561050957600080fd5b505191905056fea26469706673582212200a809bba44939d7bf67a8b9739df4544dde473602efee37d69ec90e8bacaf77c64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063d9fc4b6111610050578063d9fc4b61146100b5578063eb5625d9146100c8578063f7888aec146100db57600080fd5b8063927da1051461006c578063d1660f9914610092575b600080fd5b61007f61007a3660046103e1565b6100ee565b6040519081526020015b60405180910390f35b6100a56100a036600461042c565b610192565b6040519015158152602001610089565b6100a56100c336600461046d565b6101f3565b6100a56100d636600461042c565b610279565b61007f6100e93660046104be565b6102da565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a91906104f7565b949350505050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260008060648360008a5af191505061027081610375565b95945050505050565b60006040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af191505061018a81610375565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091908416906370a0823190602401602060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036e91906104f7565b9392505050565b60003d8261038757806000803e806000fd5b806020811461039f5780156103b057600092506103b5565b816000803e600051151592506103b5565b600192505b5050919050565b73ffffffffffffffffffffffffffffffffffffffff811681146103de57600080fd5b50565b6000806000606084860312156103f657600080fd5b8335610401816103bc565b92506020840135610411816103bc565b91506040840135610421816103bc565b809150509250925092565b60008060006060848603121561044157600080fd5b833561044c816103bc565b9250602084013561045c816103bc565b929592945050506040919091013590565b6000806000806080858703121561048357600080fd5b843561048e816103bc565b9350602085013561049e816103bc565b925060408501356104ae816103bc565b9396929550929360600135925050565b600080604083850312156104d157600080fd5b82356104dc816103bc565b915060208301356104ec816103bc565b809150509250929050565b60006020828403121561050957600080fd5b505191905056fea26469706673582212200a809bba44939d7bf67a8b9739df4544dde473602efee37d69ec90e8bacaf77c64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,50 +7,16 @@ {

{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
"inputs": [],
"name": "ERC2612__ExpiredTime",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"name": "recovered",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
"name": "ERC2612__InvalidSignature",
"type": "error"
},

@@ -89,97 +55,4 @@ {

"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",

@@ -241,81 +114,2 @@ "outputs": [

"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",

@@ -322,0 +116,0 @@ "outputs": [

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,2 +7,83 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__NoneERC721Receiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotAllowed",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotApproved",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotOwnerOrApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__WrongERC721Receiver",
"type": "error"
},
{
"inputs": [],
"name": "RentrantSafe__Reentrant",
"type": "error"
},
{
"anonymous": false,

@@ -104,3 +185,3 @@ "inputs": [

"internalType": "address",
"name": "target",
"name": "",
"type": "address"

@@ -113,3 +194,3 @@ }

"internalType": "uint256",
"name": "count",
"name": "",
"type": "uint256"

@@ -181,3 +262,3 @@ }

"internalType": "uint256",
"name": "tokenId",
"name": "",
"type": "uint256"

@@ -190,3 +271,3 @@ }

"internalType": "address",
"name": "target",
"name": "",
"type": "address"

@@ -284,49 +365,6 @@ }

"internalType": "uint256",
"name": "index",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "tokenByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "tokenOfOwnerByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",

@@ -344,15 +382,2 @@ "outputs": [

{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -359,0 +384,0 @@ {

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -23,2 +23,116 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__AlreadyExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__NoneERC721Receiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotAllowed",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotApproved",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotOwnerOrApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__WrongERC721Receiver",
"type": "error"
},
{
"inputs": [],
"name": "RentrantSafe__Reentrant",
"type": "error"
},
{
"anonymous": false,

@@ -139,3 +253,3 @@ "inputs": [

"internalType": "address",
"name": "target",
"name": "",
"type": "address"

@@ -148,3 +262,3 @@ }

"internalType": "uint256",
"name": "count",
"name": "",
"type": "uint256"

@@ -273,3 +387,3 @@ }

"internalType": "uint256",
"name": "tokenId",
"name": "",
"type": "uint256"

@@ -282,3 +396,3 @@ }

"internalType": "address",
"name": "target",
"name": "",
"type": "address"

@@ -424,10 +538,2 @@ }

"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "tokenByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",

@@ -437,37 +543,2 @@ "type": "uint256"

],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "tokenOfOwnerByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",

@@ -481,19 +552,6 @@ "outputs": [

],
"stateMutability": "view",
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [

@@ -535,6 +593,6 @@ {

],
"bytecode": "0x608060405260016000553480156200001657600080fd5b506040516200230238038062002302833981016040819052620000399162000220565b600680546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a381516200008e906001906020850190620000ad565b508051620000a4906002906020840190620000ad565b505050620002c7565b828054620000bb906200028a565b90600052602060002090601f016020900481019282620000df57600085556200012a565b82601f10620000fa57805160ff19168380011785556200012a565b828001600101855582156200012a579182015b828111156200012a5782518255916020019190600101906200010d565b50620001389291506200013c565b5090565b5b808211156200013857600081556001016200013d565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017b57600080fd5b81516001600160401b038082111562000198576200019862000153565b604051601f8301601f19908116603f01168101908282118183101715620001c357620001c362000153565b81604052838152602092508683858801011115620001e057600080fd5b600091505b83821015620002045785820183015181830184015290820190620001e5565b83821115620002165760008385830101525b9695505050505050565b600080604083850312156200023457600080fd5b82516001600160401b03808211156200024c57600080fd5b6200025a8683870162000169565b935060208501519150808211156200027157600080fd5b50620002808582860162000169565b9150509250929050565b600181811c908216806200029f57607f821691505b60208210811415620002c157634e487b7160e01b600052602260045260246000fd5b50919050565b61202b80620002d76000396000f3fe6080604052600436106101805760003560e01c806370a08231116100d6578063a22cb4651161007f578063e985e9c511610059578063e985e9c51461042c578063ed0c709114610492578063f2fde38b146104a757600080fd5b8063a22cb465146103d8578063b88d4fde146103f8578063c87b56dd1461040b57600080fd5b806395d89b41116100b057806395d89b4114610383578063a0712d6814610398578063a1448194146103b857600080fd5b806370a08231146103165780638832e6e3146103365780638da5cb5b1461035657600080fd5b80632f745c5911610138578063449a52f811610112578063449a52f8146102b65780634f6ccce7146102d65780636352211e146102f657600080fd5b80632f745c591461026357806342842e0e1461028357806342966c681461029657600080fd5b8063095ea7b311610169578063095ea7b31461021857806318160ddd1461022d57806323b872dd1461025057600080fd5b806306fdde0314610185578063081812fc146101b0575b600080fd5b34801561019157600080fd5b5061019a6104c7565b6040516101a79190611bd3565b60405180910390f35b3480156101bc57600080fd5b506101f36101cb366004611bed565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61022b610226366004611c2f565b610555565b005b34801561023957600080fd5b50610242610761565b6040519081526020016101a7565b61022b61025e366004611c59565b610840565b34801561026f57600080fd5b5061024261027e366004611c2f565b6108e6565b61022b610291366004611c59565b610a75565b3480156102a257600080fd5b5061022b6102b1366004611bed565b610a90565b3480156102c257600080fd5b5061022b6102d1366004611c2f565b610a9c565b3480156102e257600080fd5b506102426102f1366004611bed565b610aaa565b34801561030257600080fd5b506101f3610311366004611bed565b610b42565b34801561032257600080fd5b50610242610331366004611c95565b610b7f565b34801561034257600080fd5b5061022b610351366004611d8a565b610d03565b34801561036257600080fd5b506006546101f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561038f57600080fd5b5061019a610d0e565b3480156103a457600080fd5b5061022b6103b3366004611bed565b610d1b565b3480156103c457600080fd5b5061022b6103d3366004611c2f565b610d25565b3480156103e457600080fd5b5061022b6103f3366004611de1565b610d3f565b61022b610406366004611e1d565b610e56565b34801561041757600080fd5b5061019a610426366004611bed565b50606090565b34801561043857600080fd5b50610482610447366004611e85565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60405190151581526020016101a7565b34801561049e57600080fd5b5061022b610efe565b3480156104b357600080fd5b5061022b6104c2366004611c95565b610fd6565b600180546104d490611eb8565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611eb8565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505081565b60006003828154811061056a5761056a611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508316811415610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061067a575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b6106e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732313a204e6f74204f776e6572000000000000000000000000000000604482015260640161061d565b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060038054806020026020016040519081016040528092919081815260200182805480156107c757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161079c575b50506003549394506000925050505b8181101561083a57600073ffffffffffffffffffffffffffffffffffffffff1683828151811061080857610808611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614610832576001909301925b6001016107d6565b50505090565b61084a33826110dd565b6108d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161061d565b6108e1838383611229565b505050565b60006108f183610b7f565b821061097f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e6473000000000000000000000000000000000000000000606482015260840161061d565b60008060038054806020026020016040519081016040528092919081815260200182805480156109e557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109ba575b505083519394506000925050505b81811015610a6a57828181518110610a0d57610a0d611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415610a625785841415610a5b579350610a6f92505050565b6001909301925b6001016109f3565b505050505b92915050565b6108e183838360405180602001604052806000815250610e56565b610a998161146e565b50565b610aa6828261156a565b5050565b6003546000908210610b3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606482015260840161061d565b5090565b600060038281548110610b5757610b57611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f206164647265737300000000000000000000000000000000000000000000606482015260840161061d565b60006003805480602002602001604051908101604052809291908181526020018280548015610c8957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c5e575b505083519394506000925050505b81811015610cfb57828181518110610cb157610cb1611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610cf3576001909301925b600101610c97565b505050919050565b6108e18383836116f8565b600280546104d490611eb8565b610a99338261156a565b610aa68282604051806020016040528060008152506116f8565b73ffffffffffffffffffffffffffffffffffffffff8216331415610dbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161061d565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e6033836110dd565b610eec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161061d565b610ef884848484611910565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610f7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161061d565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161061d565b73ffffffffffffffffffffffffffffffffffffffff81166110d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161061d565b610a9981611a8d565b60006110e882611b04565b611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606482015260840161061d565b60006003838154811061118957611189611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff908116915084168114806111e4575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80611221575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166003828154811061125357611253611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e0000000000000000000000000000000000000000000000606482015260840161061d565b73ffffffffffffffffffffffffffffffffffffffff82166113a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161061d565b600081815260046020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560038054839190839081106113ef576113ef611f0c565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b60006003828154811061148357611483611f0c565b60009182526020808320909101548483526004909152604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556003805473ffffffffffffffffffffffffffffffffffffffff909216925090839081106114f3576114f3611f0c565b6000918252602082200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405183919073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b73ffffffffffffffffffffffffffffffffffffffff82166115e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161061d565b6115f081611b04565b15611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161061d565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60005460011461170a5761170a611f3b565b6002600090815583838361171e838361156a565b73ffffffffffffffffffffffffffffffffffffffff83163b15611902576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290611793903390889087908790600401611f6a565b6020604051808303816000875af19250505080156117ec575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526117e991810190611fb3565b60015b6118b6573d80801561181a576040519150601f19603f3d011682016040523d82523d6000602084013e61181f565b606091505b5080516118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161061d565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561018057505b505060016000555050505050565b60005460011461192257611922611f3b565b600260005583838383611936848484611229565b73ffffffffffffffffffffffffffffffffffffffff83163b15611a7e576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906119ab903390889087908790600401611f6a565b6020604051808303816000875af1925050508015611a04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611a0191810190611fb3565b60015b611a32573d80801561181a576040519150601f19603f3d011682016040523d82523d6000602084013e61181f565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561018057505b50506001600055505050505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60035460009082108015610a6f5750600073ffffffffffffffffffffffffffffffffffffffff1660038381548110611b3e57611b3e611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b6000815180845260005b81811015611b8e57602081850181015186830182015201611b72565b81811115611ba0576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611be66020830184611b68565b9392505050565b600060208284031215611bff57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611c2a57600080fd5b919050565b60008060408385031215611c4257600080fd5b611c4b83611c06565b946020939093013593505050565b600080600060608486031215611c6e57600080fd5b611c7784611c06565b9250611c8560208501611c06565b9150604084013590509250925092565b600060208284031215611ca757600080fd5b611be682611c06565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611cf057600080fd5b813567ffffffffffffffff80821115611d0b57611d0b611cb0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611d5157611d51611cb0565b81604052838152866020858801011115611d6a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d9f57600080fd5b611da884611c06565b925060208401359150604084013567ffffffffffffffff811115611dcb57600080fd5b611dd786828701611cdf565b9150509250925092565b60008060408385031215611df457600080fd5b611dfd83611c06565b915060208301358015158114611e1257600080fd5b809150509250929050565b60008060008060808587031215611e3357600080fd5b611e3c85611c06565b9350611e4a60208601611c06565b925060408501359150606085013567ffffffffffffffff811115611e6d57600080fd5b611e7987828801611cdf565b91505092959194509250565b60008060408385031215611e9857600080fd5b611ea183611c06565b9150611eaf60208401611c06565b90509250929050565b600181811c90821680611ecc57607f821691505b60208210811415611f06577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611fa96080830184611b68565b9695505050505050565b600060208284031215611fc557600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611be657600080fdfea26469706673582212208f71701564564c4e30fc5605cf87bf91456b0bf01da923600f1751f8476ce79164736f6c634300080c0033",
"deployedBytecode": "0x6080604052600436106101805760003560e01c806370a08231116100d6578063a22cb4651161007f578063e985e9c511610059578063e985e9c51461042c578063ed0c709114610492578063f2fde38b146104a757600080fd5b8063a22cb465146103d8578063b88d4fde146103f8578063c87b56dd1461040b57600080fd5b806395d89b41116100b057806395d89b4114610383578063a0712d6814610398578063a1448194146103b857600080fd5b806370a08231146103165780638832e6e3146103365780638da5cb5b1461035657600080fd5b80632f745c5911610138578063449a52f811610112578063449a52f8146102b65780634f6ccce7146102d65780636352211e146102f657600080fd5b80632f745c591461026357806342842e0e1461028357806342966c681461029657600080fd5b8063095ea7b311610169578063095ea7b31461021857806318160ddd1461022d57806323b872dd1461025057600080fd5b806306fdde0314610185578063081812fc146101b0575b600080fd5b34801561019157600080fd5b5061019a6104c7565b6040516101a79190611bd3565b60405180910390f35b3480156101bc57600080fd5b506101f36101cb366004611bed565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61022b610226366004611c2f565b610555565b005b34801561023957600080fd5b50610242610761565b6040519081526020016101a7565b61022b61025e366004611c59565b610840565b34801561026f57600080fd5b5061024261027e366004611c2f565b6108e6565b61022b610291366004611c59565b610a75565b3480156102a257600080fd5b5061022b6102b1366004611bed565b610a90565b3480156102c257600080fd5b5061022b6102d1366004611c2f565b610a9c565b3480156102e257600080fd5b506102426102f1366004611bed565b610aaa565b34801561030257600080fd5b506101f3610311366004611bed565b610b42565b34801561032257600080fd5b50610242610331366004611c95565b610b7f565b34801561034257600080fd5b5061022b610351366004611d8a565b610d03565b34801561036257600080fd5b506006546101f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561038f57600080fd5b5061019a610d0e565b3480156103a457600080fd5b5061022b6103b3366004611bed565b610d1b565b3480156103c457600080fd5b5061022b6103d3366004611c2f565b610d25565b3480156103e457600080fd5b5061022b6103f3366004611de1565b610d3f565b61022b610406366004611e1d565b610e56565b34801561041757600080fd5b5061019a610426366004611bed565b50606090565b34801561043857600080fd5b50610482610447366004611e85565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60405190151581526020016101a7565b34801561049e57600080fd5b5061022b610efe565b3480156104b357600080fd5b5061022b6104c2366004611c95565b610fd6565b600180546104d490611eb8565b80601f016020809104026020016040519081016040528092919081815260200182805461050090611eb8565b801561054d5780601f106105225761010080835404028352916020019161054d565b820191906000526020600020905b81548152906001019060200180831161053057829003601f168201915b505050505081565b60006003828154811061056a5761056a611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508316811415610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061067a575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b6106e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732313a204e6f74204f776e6572000000000000000000000000000000604482015260640161061d565b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060038054806020026020016040519081016040528092919081815260200182805480156107c757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161079c575b50506003549394506000925050505b8181101561083a57600073ffffffffffffffffffffffffffffffffffffffff1683828151811061080857610808611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614610832576001909301925b6001016107d6565b50505090565b61084a33826110dd565b6108d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161061d565b6108e1838383611229565b505050565b60006108f183610b7f565b821061097f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e6473000000000000000000000000000000000000000000606482015260840161061d565b60008060038054806020026020016040519081016040528092919081815260200182805480156109e557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109ba575b505083519394506000925050505b81811015610a6a57828181518110610a0d57610a0d611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415610a625785841415610a5b579350610a6f92505050565b6001909301925b6001016109f3565b505050505b92915050565b6108e183838360405180602001604052806000815250610e56565b610a998161146e565b50565b610aa6828261156a565b5050565b6003546000908210610b3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606482015260840161061d565b5090565b600060038281548110610b5757610b57611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610c24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f206164647265737300000000000000000000000000000000000000000000606482015260840161061d565b60006003805480602002602001604051908101604052809291908181526020018280548015610c8957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c5e575b505083519394506000925050505b81811015610cfb57828181518110610cb157610cb1611f0c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610cf3576001909301925b600101610c97565b505050919050565b6108e18383836116f8565b600280546104d490611eb8565b610a99338261156a565b610aa68282604051806020016040528060008152506116f8565b73ffffffffffffffffffffffffffffffffffffffff8216331415610dbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161061d565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e6033836110dd565b610eec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606482015260840161061d565b610ef884848484611910565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610f7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161061d565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161061d565b73ffffffffffffffffffffffffffffffffffffffff81166110d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161061d565b610a9981611a8d565b60006110e882611b04565b611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606482015260840161061d565b60006003838154811061118957611189611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff908116915084168114806111e4575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80611221575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff166003828154811061125357611253611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e0000000000000000000000000000000000000000000000606482015260840161061d565b73ffffffffffffffffffffffffffffffffffffffff82166113a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161061d565b600081815260046020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560038054839190839081106113ef576113ef611f0c565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b60006003828154811061148357611483611f0c565b60009182526020808320909101548483526004909152604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556003805473ffffffffffffffffffffffffffffffffffffffff909216925090839081106114f3576114f3611f0c565b6000918252602082200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405183919073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b73ffffffffffffffffffffffffffffffffffffffff82166115e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161061d565b6115f081611b04565b15611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161061d565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60005460011461170a5761170a611f3b565b6002600090815583838361171e838361156a565b73ffffffffffffffffffffffffffffffffffffffff83163b15611902576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290611793903390889087908790600401611f6a565b6020604051808303816000875af19250505080156117ec575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526117e991810190611fb3565b60015b6118b6573d80801561181a576040519150601f19603f3d011682016040523d82523d6000602084013e61181f565b606091505b5080516118ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e7465720000000000000000000000000000606482015260840161061d565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561018057505b505060016000555050505050565b60005460011461192257611922611f3b565b600260005583838383611936848484611229565b73ffffffffffffffffffffffffffffffffffffffff83163b15611a7e576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906119ab903390889087908790600401611f6a565b6020604051808303816000875af1925050508015611a04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611a0191810190611fb3565b60015b611a32573d80801561181a576040519150601f19603f3d011682016040523d82523d6000602084013e61181f565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561018057505b50506001600055505050505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60035460009082108015610a6f5750600073ffffffffffffffffffffffffffffffffffffffff1660038381548110611b3e57611b3e611f0c565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b6000815180845260005b81811015611b8e57602081850181015186830182015201611b72565b81811115611ba0576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611be66020830184611b68565b9392505050565b600060208284031215611bff57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611c2a57600080fd5b919050565b60008060408385031215611c4257600080fd5b611c4b83611c06565b946020939093013593505050565b600080600060608486031215611c6e57600080fd5b611c7784611c06565b9250611c8560208501611c06565b9150604084013590509250925092565b600060208284031215611ca757600080fd5b611be682611c06565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611cf057600080fd5b813567ffffffffffffffff80821115611d0b57611d0b611cb0565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611d5157611d51611cb0565b81604052838152866020858801011115611d6a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d9f57600080fd5b611da884611c06565b925060208401359150604084013567ffffffffffffffff811115611dcb57600080fd5b611dd786828701611cdf565b9150509250925092565b60008060408385031215611df457600080fd5b611dfd83611c06565b915060208301358015158114611e1257600080fd5b809150509250929050565b60008060008060808587031215611e3357600080fd5b611e3c85611c06565b9350611e4a60208601611c06565b925060408501359150606085013567ffffffffffffffff811115611e6d57600080fd5b611e7987828801611cdf565b91505092959194509250565b60008060408385031215611e9857600080fd5b611ea183611c06565b9150611eaf60208401611c06565b90509250929050565b600181811c90821680611ecc57607f821691505b60208210811415611f06577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611fa96080830184611b68565b9695505050505050565b600060208284031215611fc557600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611be657600080fdfea26469706673582212208f71701564564c4e30fc5605cf87bf91456b0bf01da923600f1751f8476ce79164736f6c634300080c0033",
"bytecode": "0x60806040523480156200001157600080fd5b5060405162001b8238038062001b8283398101604081905262000034916200021b565b600780546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3815162000089906001906020850190620000a8565b5080516200009f906002906020840190620000a8565b505050620002c1565b828054620000b69062000285565b90600052602060002090601f016020900481019282620000da576000855562000125565b82601f10620000f557805160ff191683800117855562000125565b8280016001018555821562000125579182015b828111156200012557825182559160200191906001019062000108565b506200013392915062000137565b5090565b5b8082111562000133576000815560010162000138565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017657600080fd5b81516001600160401b03808211156200019357620001936200014e565b604051601f8301601f19908116603f01168101908282118183101715620001be57620001be6200014e565b81604052838152602092508683858801011115620001db57600080fd5b600091505b83821015620001ff5785820183015181830184015290820190620001e0565b83821115620002115760008385830101525b9695505050505050565b600080604083850312156200022f57600080fd5b82516001600160401b03808211156200024757600080fd5b620002558683870162000164565b935060208501519150808211156200026c57600080fd5b506200027b8582860162000164565b9150509250929050565b600181811c908216806200029a57607f821691505b602082108103620002bb57634e487b7160e01b600052602260045260246000fd5b50919050565b6118b180620002d16000396000f3fe60806040526004361061015f5760003560e01c80638da5cb5b116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c5146103f3578063ed0c709114610459578063f2fde38b1461046e57600080fd5b8063b88d4fde146103b2578063c87b56dd146103c557600080fd5b8063a0712d68116100a5578063a0712d6814610352578063a144819414610372578063a22cb4651461039257600080fd5b80638da5cb5b1461031057806395d89b411461033d57600080fd5b806342966c68116101175780636352211e116100fc5780636352211e1461027257806370a08231146102b55780638832e6e3146102f057600080fd5b806342966c6814610232578063449a52f81461025257600080fd5b8063095ea7b311610148578063095ea7b3146101f757806323b872dd1461020c57806342842e0e1461021f57600080fd5b806306fdde0314610164578063081812fc1461018f575b600080fd5b34801561017057600080fd5b5061017961048e565b60405161018691906114b8565b60405180910390f35b34801561019b57600080fd5b506101d26101aa3660046114d2565b60009081526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b61020a610205366004611514565b61051c565b005b61020a61021a36600461153e565b61064a565b61020a61022d36600461153e565b610697565b34801561023e57600080fd5b5061020a61024d3660046114d2565b6106f4565b34801561025e57600080fd5b5061020a61026d366004611514565b610700565b34801561027e57600080fd5b506101d261028d3660046114d2565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c157600080fd5b506102e26102d036600461157a565b60036020526000908152604090205481565b604051908152602001610186565b3480156102fc57600080fd5b5061020a61030b36600461166f565b61070e565b34801561031c57600080fd5b506007546101d29073ffffffffffffffffffffffffffffffffffffffff1681565b34801561034957600080fd5b50610179610719565b34801561035e57600080fd5b5061020a61036d3660046114d2565b610726565b34801561037e57600080fd5b5061020a61038d366004611514565b610730565b34801561039e57600080fd5b5061020a6103ad3660046116c6565b61074a565b61020a6103c0366004611702565b61084e565b3480156103d157600080fd5b506101796103e03660046114d2565b5060408051602081019091526000815290565b3480156103ff57600080fd5b5061044961040e36600461176a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260066020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610186565b34801561046557600080fd5b5061020a6108a2565b34801561047a57600080fd5b5061020a61048936600461157a565b61094c565b6001805461049b9061179d565b80601f01602080910402602001604051908101604052809291908181526020018280546104c79061179d565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169083168190036105a3576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148015906105fa575073ffffffffffffffffffffffffffffffffffffffff8116600090815260066020908152604080832033845290915290205460ff16155b1561063a576040517ff1a5cd590000000000000000000000000000000000000000000000000000000081523360048201526024810183905260440161059a565b610645818484610a0d565b505050565b6106543382610a8e565b61068c576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b610645838383610b8e565b6106a13382610a8e565b6106d9576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b61064583838360405180602001604052806000815250610d4d565b6106fd81610f9f565b50565b61070a82826110d8565b5050565b610645838383611234565b6002805461049b9061179d565b6106fd33826110d8565b61070a828260405180602001604052806000815250611234565b3373ffffffffffffffffffffffffffffffffffffffff8316036107b7576040517fbcdfd41500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015233602482015260440161059a565b33600081815260066020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6108583383610a8e565b610890576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b61089c84848484610d4d565b50505050565b60075473ffffffffffffffffffffffffffffffffffffffff1633146108f5576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b600780547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60075473ffffffffffffffffffffffffffffffffffffffff16331461099f576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b73ffffffffffffffffffffffffffffffffffffffff8116610a04576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161059a565b6106fd816113d6565b60008181526005602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526004602052604081205473ffffffffffffffffffffffffffffffffffffffff16610aec576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161059a565b60008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908416811480610b55575073ffffffffffffffffffffffffffffffffffffffff80821660009081526006602090815260408083209388168352929052205460ff165b80610b86575060008381526005602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b949350505050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610c0d576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260440161059a565b73ffffffffffffffffffffffffffffffffffffffff8216610c79576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161059a565b600081815260056020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915560048352818420805473ffffffffffffffffffffffffffffffffffffffff888116919093168117909155908716808552600390935281842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905580845281842080546001019055905184939192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60005415610d87576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160005583838383610d9b848484610b8e565b73ffffffffffffffffffffffffffffffffffffffff83163b15610f91576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290610e109033908890879087906004016117f0565b6020604051808303816000875af1925050508015610e69575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610e6691810190611839565b60015b610ef8573d808015610e97576040519150601f19603f3d011682016040523d82523d6000602084013e610e9c565b606091505b508051600003610ef0576040517f3be6b60400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161059a565b805181602001fd5b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821601610f475750610f91565b6040517f2d66698200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161059a565b505050506000805550505050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff168061101a576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810183905260440161059a565b600082815260056020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600483528184208054909116905573ffffffffffffffffffffffffffffffffffffffff8416808452600390925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905551849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b73ffffffffffffffffffffffffffffffffffffffff8216611144576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161059a565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16156111a3576040517f74a445f00000000000000000000000000000000000000000000000000000000081526004810182905260240161059a565b600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155808452600390925280832080546001019055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000541561126e576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600090815583838361128283836110d8565b73ffffffffffffffffffffffffffffffffffffffff83163b156113c9576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906112f79033908890879087906004016117f0565b6020604051808303816000875af1925050508015611350575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261134d91810190611839565b60015b61137e573d808015610e97576040519150601f19603f3d011682016040523d82523d6000602084013e610e9c565b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821601610f4757505b5050505060008055505050565b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000815180845260005b8181101561147357602081850181015186830182015201611457565b81811115611485576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114cb602083018461144d565b9392505050565b6000602082840312156114e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461150f57600080fd5b919050565b6000806040838503121561152757600080fd5b611530836114eb565b946020939093013593505050565b60008060006060848603121561155357600080fd5b61155c846114eb565b925061156a602085016114eb565b9150604084013590509250925092565b60006020828403121561158c57600080fd5b6114cb826114eb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126115d557600080fd5b813567ffffffffffffffff808211156115f0576115f0611595565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561163657611636611595565b8160405283815286602085880101111561164f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561168457600080fd5b61168d846114eb565b925060208401359150604084013567ffffffffffffffff8111156116b057600080fd5b6116bc868287016115c4565b9150509250925092565b600080604083850312156116d957600080fd5b6116e2836114eb565b9150602083013580151581146116f757600080fd5b809150509250929050565b6000806000806080858703121561171857600080fd5b611721856114eb565b935061172f602086016114eb565b925060408501359150606085013567ffffffffffffffff81111561175257600080fd5b61175e878288016115c4565b91505092959194509250565b6000806040838503121561177d57600080fd5b611786836114eb565b9150611794602084016114eb565b90509250929050565b600181811c908216806117b157607f821691505b6020821081036117ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261182f608083018461144d565b9695505050505050565b60006020828403121561184b57600080fd5b81517fffffffff00000000000000000000000000000000000000000000000000000000811681146114cb57600080fdfea2646970667358221220411097f7057cd3741b66d53eceb9b64bfe912ccc2c6683add4267b97a35ca76a64736f6c634300080d0033",
"deployedBytecode": "0x60806040526004361061015f5760003560e01c80638da5cb5b116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c5146103f3578063ed0c709114610459578063f2fde38b1461046e57600080fd5b8063b88d4fde146103b2578063c87b56dd146103c557600080fd5b8063a0712d68116100a5578063a0712d6814610352578063a144819414610372578063a22cb4651461039257600080fd5b80638da5cb5b1461031057806395d89b411461033d57600080fd5b806342966c68116101175780636352211e116100fc5780636352211e1461027257806370a08231146102b55780638832e6e3146102f057600080fd5b806342966c6814610232578063449a52f81461025257600080fd5b8063095ea7b311610148578063095ea7b3146101f757806323b872dd1461020c57806342842e0e1461021f57600080fd5b806306fdde0314610164578063081812fc1461018f575b600080fd5b34801561017057600080fd5b5061017961048e565b60405161018691906114b8565b60405180910390f35b34801561019b57600080fd5b506101d26101aa3660046114d2565b60009081526005602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b61020a610205366004611514565b61051c565b005b61020a61021a36600461153e565b61064a565b61020a61022d36600461153e565b610697565b34801561023e57600080fd5b5061020a61024d3660046114d2565b6106f4565b34801561025e57600080fd5b5061020a61026d366004611514565b610700565b34801561027e57600080fd5b506101d261028d3660046114d2565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102c157600080fd5b506102e26102d036600461157a565b60036020526000908152604090205481565b604051908152602001610186565b3480156102fc57600080fd5b5061020a61030b36600461166f565b61070e565b34801561031c57600080fd5b506007546101d29073ffffffffffffffffffffffffffffffffffffffff1681565b34801561034957600080fd5b50610179610719565b34801561035e57600080fd5b5061020a61036d3660046114d2565b610726565b34801561037e57600080fd5b5061020a61038d366004611514565b610730565b34801561039e57600080fd5b5061020a6103ad3660046116c6565b61074a565b61020a6103c0366004611702565b61084e565b3480156103d157600080fd5b506101796103e03660046114d2565b5060408051602081019091526000815290565b3480156103ff57600080fd5b5061044961040e36600461176a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260066020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610186565b34801561046557600080fd5b5061020a6108a2565b34801561047a57600080fd5b5061020a61048936600461157a565b61094c565b6001805461049b9061179d565b80601f01602080910402602001604051908101604052809291908181526020018280546104c79061179d565b80156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169083168190036105a3576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148015906105fa575073ffffffffffffffffffffffffffffffffffffffff8116600090815260066020908152604080832033845290915290205460ff16155b1561063a576040517ff1a5cd590000000000000000000000000000000000000000000000000000000081523360048201526024810183905260440161059a565b610645818484610a0d565b505050565b6106543382610a8e565b61068c576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b610645838383610b8e565b6106a13382610a8e565b6106d9576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b61064583838360405180602001604052806000815250610d4d565b6106fd81610f9f565b50565b61070a82826110d8565b5050565b610645838383611234565b6002805461049b9061179d565b6106fd33826110d8565b61070a828260405180602001604052806000815250611234565b3373ffffffffffffffffffffffffffffffffffffffff8316036107b7576040517fbcdfd41500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015233602482015260440161059a565b33600081815260066020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6108583383610a8e565b610890576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b61089c84848484610d4d565b50505050565b60075473ffffffffffffffffffffffffffffffffffffffff1633146108f5576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b600780547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60075473ffffffffffffffffffffffffffffffffffffffff16331461099f576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161059a565b73ffffffffffffffffffffffffffffffffffffffff8116610a04576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161059a565b6106fd816113d6565b60008181526005602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526004602052604081205473ffffffffffffffffffffffffffffffffffffffff16610aec576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161059a565b60008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908416811480610b55575073ffffffffffffffffffffffffffffffffffffffff80821660009081526006602090815260408083209388168352929052205460ff165b80610b86575060008381526005602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b949350505050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610c0d576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260440161059a565b73ffffffffffffffffffffffffffffffffffffffff8216610c79576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161059a565b600081815260056020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915560048352818420805473ffffffffffffffffffffffffffffffffffffffff888116919093168117909155908716808552600390935281842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905580845281842080546001019055905184939192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60005415610d87576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160005583838383610d9b848484610b8e565b73ffffffffffffffffffffffffffffffffffffffff83163b15610f91576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290610e109033908890879087906004016117f0565b6020604051808303816000875af1925050508015610e69575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610e6691810190611839565b60015b610ef8573d808015610e97576040519150601f19603f3d011682016040523d82523d6000602084013e610e9c565b606091505b508051600003610ef0576040517f3be6b60400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161059a565b805181602001fd5b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821601610f475750610f91565b6040517f2d66698200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161059a565b505050506000805550505050565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff168061101a576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810183905260440161059a565b600082815260056020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600483528184208054909116905573ffffffffffffffffffffffffffffffffffffffff8416808452600390925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905551849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b73ffffffffffffffffffffffffffffffffffffffff8216611144576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161059a565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16156111a3576040517f74a445f00000000000000000000000000000000000000000000000000000000081526004810182905260240161059a565b600081815260046020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155808452600390925280832080546001019055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000541561126e576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600090815583838361128283836110d8565b73ffffffffffffffffffffffffffffffffffffffff83163b156113c9576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906112f79033908890879087906004016117f0565b6020604051808303816000875af1925050508015611350575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261134d91810190611839565b60015b61137e573d808015610e97576040519150601f19603f3d011682016040523d82523d6000602084013e610e9c565b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821601610f4757505b5050505060008055505050565b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000815180845260005b8181101561147357602081850181015186830182015201611457565b81811115611485576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114cb602083018461144d565b9392505050565b6000602082840312156114e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461150f57600080fd5b919050565b6000806040838503121561152757600080fd5b611530836114eb565b946020939093013593505050565b60008060006060848603121561155357600080fd5b61155c846114eb565b925061156a602085016114eb565b9150604084013590509250925092565b60006020828403121561158c57600080fd5b6114cb826114eb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126115d557600080fd5b813567ffffffffffffffff808211156115f0576115f0611595565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561163657611636611595565b8160405283815286602085880101111561164f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561168457600080fd5b61168d846114eb565b925060208401359150604084013567ffffffffffffffff8111156116b057600080fd5b6116bc868287016115c4565b9150509250925092565b600080604083850312156116d957600080fd5b6116e2836114eb565b9150602083013580151581146116f757600080fd5b809150509250929050565b6000806000806080858703121561171857600080fd5b611721856114eb565b935061172f602086016114eb565b925060408501359150606085013567ffffffffffffffff81111561175257600080fd5b61175e878288016115c4565b91505092959194509250565b6000806040838503121561177d57600080fd5b611786836114eb565b9150611794602084016114eb565b90509250929050565b600181811c908216806117b157607f821691505b6020821081036117ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261182f608083018461144d565b9695505050505050565b60006020828403121561184b57600080fd5b81517fffffffff00000000000000000000000000000000000000000000000000000000811681146114cb57600080fdfea2646970667358221220411097f7057cd3741b66d53eceb9b64bfe912ccc2c6683add4267b97a35ca76a64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,6 +7,19 @@ {

{
"inputs": [],
"name": "counter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_operator",
"name": "",
"type": "address"

@@ -16,3 +29,3 @@ },

"internalType": "address",
"name": "_from",
"name": "",
"type": "address"

@@ -22,3 +35,3 @@ },

"internalType": "uint256",
"name": "_tokenId",
"name": "",
"type": "uint256"

@@ -28,3 +41,3 @@ },

"internalType": "bytes",
"name": "_data",
"name": "data",
"type": "bytes"

@@ -45,6 +58,6 @@ }

],
"bytecode": "0x608060405234801561001057600080fd5b50610224806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea26469706673582212201115b2b51006a29614cff1c24312b1582bce318c00322b62f87b711a6f7bcfdc64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea26469706673582212201115b2b51006a29614cff1c24312b1582bce318c00322b62f87b711a6f7bcfdc64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b5061024d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063150b7a021461003b57806361bc221a146100ae575b600080fd5b61007861004936600461011d565b60200151600055507f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f92915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6100b760005481565b6040519081526020016100a5565b803573ffffffffffffffffffffffffffffffffffffffff811681146100e957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561013357600080fd5b61013c856100c5565b935061014a602086016100c5565b925060408501359150606085013567ffffffffffffffff8082111561016e57600080fd5b818701915087601f83011261018257600080fd5b813581811115610194576101946100ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101da576101da6100ee565b816040528281528a60208487010111156101f357600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea264697066735822122075eeb8492ffbd90683eec8948ff9740edb00916a2282ca1241302702c438ab3364736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063150b7a021461003b57806361bc221a146100ae575b600080fd5b61007861004936600461011d565b60200151600055507f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f92915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6100b760005481565b6040519081526020016100a5565b803573ffffffffffffffffffffffffffffffffffffffff811681146100e957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561013357600080fd5b61013c856100c5565b935061014a602086016100c5565b925060408501359150606085013567ffffffffffffffff8082111561016e57600080fd5b818701915087601f83011261018257600080fd5b813581811115610194576101946100ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101da576101da6100ee565b816040528281528a60208487010111156101f357600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea264697066735822122075eeb8492ffbd90683eec8948ff9740edb00916a2282ca1241302702c438ab3364736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/dd010b3d7968e40771e5e696827392d7.json"
"buildInfo": "../../../build-info/6eff84265396c0492f352181cd6c8ac5.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "EtherSpell",
"sourceName": "contracts/library/spell/EtherSpell.sol",
"sourceName": "contracts/mocks/EtherSpell.sol",
"abi": [

@@ -87,6 +87,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b506101c0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a0823114610051578063a9059cbb1461008c578063b69ef8a8146100af578063d0679d34146100b5575b600080fd5b61007961005f36600461013a565b73ffffffffffffffffffffffffffffffffffffffff163190565b6040519081526020015b60405180910390f35b61009f61009a36600461015e565b6100c8565b6040519015158152602001610083565b47610079565b61009f6100c336600461015e565b6100db565b600080600080600085875af19392505050565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083156108fc0290849084818181858888f1979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461013757600080fd5b50565b60006020828403121561014c57600080fd5b813561015781610115565b9392505050565b6000806040838503121561017157600080fd5b823561017c81610115565b94602093909301359350505056fea2646970667358221220f6320e74804af7a3de4e057955bf34bc232ea773905a3549547d196a5e1803f564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a0823114610051578063a9059cbb1461008c578063b69ef8a8146100af578063d0679d34146100b5575b600080fd5b61007961005f36600461013a565b73ffffffffffffffffffffffffffffffffffffffff163190565b6040519081526020015b60405180910390f35b61009f61009a36600461015e565b6100c8565b6040519015158152602001610083565b47610079565b61009f6100c336600461015e565b6100db565b600080600080600085875af19392505050565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083156108fc0290849084818181858888f1979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461013757600080fd5b50565b60006020828403121561014c57600080fd5b813561015781610115565b9392505050565b6000806040838503121561017157600080fd5b823561017c81610115565b94602093909301359350505056fea2646970667358221220f6320e74804af7a3de4e057955bf34bc232ea773905a3549547d196a5e1803f564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506101c0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a0823114610051578063a9059cbb1461008c578063b69ef8a8146100af578063d0679d34146100b5575b600080fd5b61007961005f36600461013a565b73ffffffffffffffffffffffffffffffffffffffff163190565b6040519081526020015b60405180910390f35b61009f61009a36600461015e565b6100c8565b6040519015158152602001610083565b47610079565b61009f6100c336600461015e565b6100db565b600080600080600085875af19392505050565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083156108fc0290849084818181858888f1979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461013757600080fd5b50565b60006020828403121561014c57600080fd5b813561015781610115565b9392505050565b6000806040838503121561017157600080fd5b823561017c81610115565b94602093909301359350505056fea26469706673582212209c08d292791b064f4d00c45c69d5ae58d931c28f1132b59e299d494bd2b95c0d64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806370a0823114610051578063a9059cbb1461008c578063b69ef8a8146100af578063d0679d34146100b5575b600080fd5b61007961005f36600461013a565b73ffffffffffffffffffffffffffffffffffffffff163190565b6040519081526020015b60405180910390f35b61009f61009a36600461015e565b6100c8565b6040519015158152602001610083565b47610079565b61009f6100c336600461015e565b6100db565b600080600080600085875af19392505050565b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083156108fc0290849084818181858888f1979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461013757600080fd5b50565b60006020828403121561014c57600080fd5b813561015781610115565b9392505050565b6000806040838503121561017157600080fd5b823561017c81610115565b94602093909301359350505056fea26469706673582212209c08d292791b064f4d00c45c69d5ae58d931c28f1132b59e299d494bd2b95c0d64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/c75313545608e6c96bf7473b938453ca.json"
"buildInfo": "../../../build-info/5f76b2633b71c83df1f02ffae8e8da0d.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "EventSpell",
"sourceName": "contracts/library/spell/EventSpell.sol",
"sourceName": "contracts/mocks/EventSpell.sol",
"abi": [

@@ -111,6 +111,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b506103a0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632536f1271461005157806333311ef3146100665780637ccacd1814610079578063ec5c3ede1461008c575b600080fd5b61006461005f3660046101b0565b61009f565b005b61006461007436600461027f565b6100d9565b610064610087366004610298565b610109565b61006461009a3660046102c1565b61013b565b7f7da7432e8b4e6fbe627b8c104f3a309da79e16be117caf24c44cacf38e32bba2816040516100ce91906102f7565b60405180910390a150565b6040518181527f66b85c019c4dad66a386e7c532036e035f7d55298f30f67d2217c489c7811134906020016100ce565b60405181151581527fa82db31c5f92a894568bda921d943402cbfd72924cec2571511c401b801456b4906020016100ce565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f4cf55c4f0a882532a48cddfe3867996b6d22329209766b422b32f1ed4e2bd286906020016100ce565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101c257600080fd5b813567ffffffffffffffff808211156101da57600080fd5b818401915084601f8301126101ee57600080fd5b81358181111561020057610200610181565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024657610246610181565b8160405282815287602084870101111561025f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561029157600080fd5b5035919050565b6000602082840312156102aa57600080fd5b813580151581146102ba57600080fd5b9392505050565b6000602082840312156102d357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102ba57600080fd5b600060208083528351808285015260005b8181101561032457858101830151858201604001528201610308565b81811115610336576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea26469706673582212206edb962b9ca51b735b8551d82c7ee0552d56518462fc2eff4f6baccca1c53b9b64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632536f1271461005157806333311ef3146100665780637ccacd1814610079578063ec5c3ede1461008c575b600080fd5b61006461005f3660046101b0565b61009f565b005b61006461007436600461027f565b6100d9565b610064610087366004610298565b610109565b61006461009a3660046102c1565b61013b565b7f7da7432e8b4e6fbe627b8c104f3a309da79e16be117caf24c44cacf38e32bba2816040516100ce91906102f7565b60405180910390a150565b6040518181527f66b85c019c4dad66a386e7c532036e035f7d55298f30f67d2217c489c7811134906020016100ce565b60405181151581527fa82db31c5f92a894568bda921d943402cbfd72924cec2571511c401b801456b4906020016100ce565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f4cf55c4f0a882532a48cddfe3867996b6d22329209766b422b32f1ed4e2bd286906020016100ce565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101c257600080fd5b813567ffffffffffffffff808211156101da57600080fd5b818401915084601f8301126101ee57600080fd5b81358181111561020057610200610181565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024657610246610181565b8160405282815287602084870101111561025f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561029157600080fd5b5035919050565b6000602082840312156102aa57600080fd5b813580151581146102ba57600080fd5b9392505050565b6000602082840312156102d357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102ba57600080fd5b600060208083528351808285015260005b8181101561032457858101830151858201604001528201610308565b81811115610336576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea26469706673582212206edb962b9ca51b735b8551d82c7ee0552d56518462fc2eff4f6baccca1c53b9b64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506103a0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632536f1271461005157806333311ef3146100665780637ccacd1814610079578063ec5c3ede1461008c575b600080fd5b61006461005f3660046101b0565b61009f565b005b61006461007436600461027f565b6100d9565b610064610087366004610298565b610109565b61006461009a3660046102c1565b61013b565b7f7da7432e8b4e6fbe627b8c104f3a309da79e16be117caf24c44cacf38e32bba2816040516100ce91906102f7565b60405180910390a150565b6040518181527f66b85c019c4dad66a386e7c532036e035f7d55298f30f67d2217c489c7811134906020016100ce565b60405181151581527fa82db31c5f92a894568bda921d943402cbfd72924cec2571511c401b801456b4906020016100ce565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f4cf55c4f0a882532a48cddfe3867996b6d22329209766b422b32f1ed4e2bd286906020016100ce565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101c257600080fd5b813567ffffffffffffffff808211156101da57600080fd5b818401915084601f8301126101ee57600080fd5b81358181111561020057610200610181565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024657610246610181565b8160405282815287602084870101111561025f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561029157600080fd5b5035919050565b6000602082840312156102aa57600080fd5b813580151581146102ba57600080fd5b9392505050565b6000602082840312156102d357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102ba57600080fd5b600060208083528351808285015260005b8181101561032457858101830151858201604001528201610308565b81811115610336576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea264697066735822122055e6344c6ae5f1969f287fffb775b8e5691075a57b29bb7de505947afec2e57264736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632536f1271461005157806333311ef3146100665780637ccacd1814610079578063ec5c3ede1461008c575b600080fd5b61006461005f3660046101b0565b61009f565b005b61006461007436600461027f565b6100d9565b610064610087366004610298565b610109565b61006461009a3660046102c1565b61013b565b7f7da7432e8b4e6fbe627b8c104f3a309da79e16be117caf24c44cacf38e32bba2816040516100ce91906102f7565b60405180910390a150565b6040518181527f66b85c019c4dad66a386e7c532036e035f7d55298f30f67d2217c489c7811134906020016100ce565b60405181151581527fa82db31c5f92a894568bda921d943402cbfd72924cec2571511c401b801456b4906020016100ce565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f4cf55c4f0a882532a48cddfe3867996b6d22329209766b422b32f1ed4e2bd286906020016100ce565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101c257600080fd5b813567ffffffffffffffff808211156101da57600080fd5b818401915084601f8301126101ee57600080fd5b81358181111561020057610200610181565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024657610246610181565b8160405282815287602084870101111561025f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561029157600080fd5b5035919050565b6000602082840312156102aa57600080fd5b813580151581146102ba57600080fd5b9392505050565b6000602082840312156102d357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102ba57600080fd5b600060208083528351808285015260005b8181101561032457858101830151858201604001528201610308565b81811115610336576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea264697066735822122055e6344c6ae5f1969f287fffb775b8e5691075a57b29bb7de505947afec2e57264736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -12,2 +12,127 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "ERC721Enumerable__OutOfIndex",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__AlreadyExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__NoneERC721Receiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotAllowed",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotApproved",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721__NotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC721__NotOwnerOrApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721__WrongERC721Receiver",
"type": "error"
},
{
"inputs": [],
"name": "RentrantSafe__Reentrant",
"type": "error"
},
{
"anonymous": false,

@@ -380,3 +505,3 @@ "inputs": [

"internalType": "uint256",
"name": "tokenId",
"name": "",
"type": "uint256"

@@ -393,3 +518,3 @@ }

],
"stateMutability": "view",
"stateMutability": "pure",
"type": "function"

@@ -447,6 +572,6 @@ },

],
"bytecode": "0x608060405260016000553480156200001657600080fd5b50600680546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36040805180820190915260088082526715d15052c813919560c21b60209092019182526200008891600191620000bd565b50604080518082019091526004808252637765616b60e01b6020909201918252620000b691600291620000bd565b50620001a0565b828054620000cb9062000163565b90600052602060002090601f016020900481019282620000ef57600085556200013a565b82601f106200010a57805160ff19168380011785556200013a565b828001600101855582156200013a579182015b828111156200013a5782518255916020019190600101906200011d565b50620001489291506200014c565b5090565b5b808211156200014857600081556001016200014d565b600181811c908216806200017857607f821691505b602082108114156200019a57634e487b7160e01b600052602260045260246000fd5b50919050565b611eda80620001b06000396000f3fe6080604052600436106101445760003560e01c806370a08231116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c514610363578063ed0c7091146103c9578063f2fde38b146103de57600080fd5b8063b88d4fde1461032f578063c87b56dd1461034257600080fd5b806392642744116100a557806392642744146102e757806395d89b41146102fa578063a22cb4651461030f57600080fd5b806370a082311461029a5780638da5cb5b146102ba57600080fd5b806323b872dd1161011757806342842e0e116100fc57806342842e0e146102475780634f6ccce71461025a5780636352211e1461027a57600080fd5b806323b872dd146102145780632f745c591461022757600080fd5b806306fdde0314610149578063081812fc14610174578063095ea7b3146101dc57806318160ddd146101f1575b600080fd5b34801561015557600080fd5b5061015e6103fe565b60405161016b9190611a4d565b60405180910390f35b34801561018057600080fd5b506101b761018f366004611a67565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101ef6101ea366004611aa9565b61048c565b005b3480156101fd57600080fd5b50610206610698565b60405190815260200161016b565b6101ef610222366004611ad3565b610777565b34801561023357600080fd5b50610206610242366004611aa9565b61081d565b6101ef610255366004611ad3565b6109ac565b34801561026657600080fd5b50610206610275366004611a67565b6109c7565b34801561028657600080fd5b506101b7610295366004611a67565b610a5f565b3480156102a657600080fd5b506102066102b5366004611b0f565b610a9c565b3480156102c657600080fd5b506006546101b79073ffffffffffffffffffffffffffffffffffffffff1681565b6101ef6102f5366004611a67565b610c20565b34801561030657600080fd5b5061015e610ca5565b34801561031b57600080fd5b506101ef61032a366004611b2a565b610cb2565b6101ef61033d366004611b95565b610dc9565b34801561034e57600080fd5b5061015e61035d366004611a67565b50606090565b34801561036f57600080fd5b506103b961037e366004611c8f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b604051901515815260200161016b565b3480156103d557600080fd5b506101ef610e71565b3480156103ea57600080fd5b506101ef6103f9366004611b0f565b610f49565b6001805461040b90611cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461043790611cc2565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b505050505081565b6000600382815481106104a1576104a1611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff9081169150831681141561055d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806105b1575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732313a204e6f74204f776e65720000000000000000000000000000006044820152606401610554565b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060038054806020026020016040519081016040528092919081815260200182805480156106fe57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116106d3575b50506003549394506000925050505b8181101561077157600073ffffffffffffffffffffffffffffffffffffffff1683828151811061073f5761073f611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614610769576001909301925b60010161070d565b50505090565b6107813382611053565b61080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610554565b61081883838361119f565b505050565b600061082883610a9c565b82106108b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610554565b600080600380548060200260200160405190810160405280929190818152602001828054801561091c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116108f1575b505083519394506000925050505b818110156109a15782818151811061094457610944611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561099957858414156109925793506109a692505050565b6001909301925b60010161092a565b505050505b92915050565b61081883838360405180602001604052806000815250610dc9565b6003546000908210610a5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e00000000000000000000000000000000000000006064820152608401610554565b5090565b600060038281548110610a7457610a74611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610554565b60006003805480602002602001604051908101604052809291908181526020018280548015610ba657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b7b575b505083519394506000925050505b81811015610c1857828181518110610bce57610bce611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610c10576001909301925b600101610bb4565b505050919050565b600081118015610c31575060148111155b610c3d57610c3d611d45565b34610c4f8266038d7ea4c68000611da3565b14610c5c57610c5c611d45565b60005b81811015610ca1576000610c7260035490565b9050610c8e3382604051806020016040528060008152506113e4565b5080610c9981611de0565b915050610c5f565b5050565b6002805461040b90611cc2565b73ffffffffffffffffffffffffffffffffffffffff8216331415610d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610554565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610dd33383611053565b610e5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610554565b610e6b848484846115fc565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610ef2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610554565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610554565b73ffffffffffffffffffffffffffffffffffffffff8116611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f0000000000006044820152606401610554565b61105081611779565b50565b600061105e826117f0565b6110ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e00000000000000000000000000000000000000006064820152608401610554565b6000600383815481106110ff576110ff611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff9081169150841681148061115a575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80611197575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16600382815481106111c9576111c9611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e00000000000000000000000000000000000000000000006064820152608401610554565b73ffffffffffffffffffffffffffffffffffffffff821661131a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610554565b600081815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600380548391908390811061136557611365611d16565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b6000546001146113f6576113f6611d45565b6002600090815583838361140a8383611854565b73ffffffffffffffffffffffffffffffffffffffff83163b156115ee576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061147f903390889087908790600401611e19565b6020604051808303816000875af19250505080156114d8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114d591810190611e62565b60015b6115a2573d808015611506576040519150601f19603f3d011682016040523d82523d6000602084013e61150b565b606091505b50805161159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610554565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561014457505b505060016000555050505050565b60005460011461160e5761160e611d45565b60026000558383838361162284848461119f565b73ffffffffffffffffffffffffffffffffffffffff83163b1561176a576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290611697903390889087908790600401611e19565b6020604051808303816000875af19250505080156116f0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116ed91810190611e62565b60015b61171e573d808015611506576040519150601f19603f3d011682016040523d82523d6000602084013e61150b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561014457505b50506001600055505050505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600354600090821080156109a65750600073ffffffffffffffffffffffffffffffffffffffff166003838154811061182a5761182a611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b73ffffffffffffffffffffffffffffffffffffffff82166118d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610554565b6118da816117f0565b15611941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610554565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000815180845260005b81811015611a08576020818501810151868301820152016119ec565b81811115611a1a576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a6060208301846119e2565b9392505050565b600060208284031215611a7957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aa457600080fd5b919050565b60008060408385031215611abc57600080fd5b611ac583611a80565b946020939093013593505050565b600080600060608486031215611ae857600080fd5b611af184611a80565b9250611aff60208501611a80565b9150604084013590509250925092565b600060208284031215611b2157600080fd5b611a6082611a80565b60008060408385031215611b3d57600080fd5b611b4683611a80565b915060208301358015158114611b5b57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215611bab57600080fd5b611bb485611a80565b9350611bc260208601611a80565b925060408501359150606085013567ffffffffffffffff80821115611be657600080fd5b818701915087601f830112611bfa57600080fd5b813581811115611c0c57611c0c611b66565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611c5257611c52611b66565b816040528281528a6020848701011115611c6b57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215611ca257600080fd5b611cab83611a80565b9150611cb960208401611a80565b90509250929050565b600181811c90821680611cd657607f821691505b60208210811415611d10577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ddb57611ddb611d74565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611e1257611e12611d74565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611e5860808301846119e2565b9695505050505050565b600060208284031215611e7457600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611a6057600080fdfea2646970667358221220ebbeed5922052fe67daab5b8065865a65969baabe65c5c4dd91cc127280439f364736f6c634300080c0033",
"deployedBytecode": "0x6080604052600436106101445760003560e01c806370a08231116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c514610363578063ed0c7091146103c9578063f2fde38b146103de57600080fd5b8063b88d4fde1461032f578063c87b56dd1461034257600080fd5b806392642744116100a557806392642744146102e757806395d89b41146102fa578063a22cb4651461030f57600080fd5b806370a082311461029a5780638da5cb5b146102ba57600080fd5b806323b872dd1161011757806342842e0e116100fc57806342842e0e146102475780634f6ccce71461025a5780636352211e1461027a57600080fd5b806323b872dd146102145780632f745c591461022757600080fd5b806306fdde0314610149578063081812fc14610174578063095ea7b3146101dc57806318160ddd146101f1575b600080fd5b34801561015557600080fd5b5061015e6103fe565b60405161016b9190611a4d565b60405180910390f35b34801561018057600080fd5b506101b761018f366004611a67565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101ef6101ea366004611aa9565b61048c565b005b3480156101fd57600080fd5b50610206610698565b60405190815260200161016b565b6101ef610222366004611ad3565b610777565b34801561023357600080fd5b50610206610242366004611aa9565b61081d565b6101ef610255366004611ad3565b6109ac565b34801561026657600080fd5b50610206610275366004611a67565b6109c7565b34801561028657600080fd5b506101b7610295366004611a67565b610a5f565b3480156102a657600080fd5b506102066102b5366004611b0f565b610a9c565b3480156102c657600080fd5b506006546101b79073ffffffffffffffffffffffffffffffffffffffff1681565b6101ef6102f5366004611a67565b610c20565b34801561030657600080fd5b5061015e610ca5565b34801561031b57600080fd5b506101ef61032a366004611b2a565b610cb2565b6101ef61033d366004611b95565b610dc9565b34801561034e57600080fd5b5061015e61035d366004611a67565b50606090565b34801561036f57600080fd5b506103b961037e366004611c8f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b604051901515815260200161016b565b3480156103d557600080fd5b506101ef610e71565b3480156103ea57600080fd5b506101ef6103f9366004611b0f565b610f49565b6001805461040b90611cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461043790611cc2565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b505050505081565b6000600382815481106104a1576104a1611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff9081169150831681141561055d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff821614806105b1575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732313a204e6f74204f776e65720000000000000000000000000000006044820152606401610554565b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060038054806020026020016040519081016040528092919081815260200182805480156106fe57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116106d3575b50506003549394506000925050505b8181101561077157600073ffffffffffffffffffffffffffffffffffffffff1683828151811061073f5761073f611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614610769576001909301925b60010161070d565b50505090565b6107813382611053565b61080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610554565b61081883838361119f565b505050565b600061082883610a9c565b82106108b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610554565b600080600380548060200260200160405190810160405280929190818152602001828054801561091c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116108f1575b505083519394506000925050505b818110156109a15782818151811061094457610944611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561099957858414156109925793506109a692505050565b6001909301925b60010161092a565b505050505b92915050565b61081883838360405180602001604052806000815250610dc9565b6003546000908210610a5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e00000000000000000000000000000000000000006064820152608401610554565b5090565b600060038281548110610a7457610a74611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610554565b60006003805480602002602001604051908101604052809291908181526020018280548015610ba657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b7b575b505083519394506000925050505b81811015610c1857828181518110610bce57610bce611d16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610c10576001909301925b600101610bb4565b505050919050565b600081118015610c31575060148111155b610c3d57610c3d611d45565b34610c4f8266038d7ea4c68000611da3565b14610c5c57610c5c611d45565b60005b81811015610ca1576000610c7260035490565b9050610c8e3382604051806020016040528060008152506113e4565b5080610c9981611de0565b915050610c5f565b5050565b6002805461040b90611cc2565b73ffffffffffffffffffffffffffffffffffffffff8216331415610d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610554565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610dd33383611053565b610e5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610554565b610e6b848484846115fc565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610ef2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610554565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610554565b73ffffffffffffffffffffffffffffffffffffffff8116611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f0000000000006044820152606401610554565b61105081611779565b50565b600061105e826117f0565b6110ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e00000000000000000000000000000000000000006064820152608401610554565b6000600383815481106110ff576110ff611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff9081169150841681148061115a575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80611197575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16600382815481106111c9576111c9611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e00000000000000000000000000000000000000000000006064820152608401610554565b73ffffffffffffffffffffffffffffffffffffffff821661131a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610554565b600081815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600380548391908390811061136557611365611d16565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b6000546001146113f6576113f6611d45565b6002600090815583838361140a8383611854565b73ffffffffffffffffffffffffffffffffffffffff83163b156115ee576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061147f903390889087908790600401611e19565b6020604051808303816000875af19250505080156114d8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526114d591810190611e62565b60015b6115a2573d808015611506576040519150601f19603f3d011682016040523d82523d6000602084013e61150b565b606091505b50805161159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610554565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561014457505b505060016000555050505050565b60005460011461160e5761160e611d45565b60026000558383838361162284848461119f565b73ffffffffffffffffffffffffffffffffffffffff83163b1561176a576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290611697903390889087908790600401611e19565b6020604051808303816000875af19250505080156116f0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116ed91810190611e62565b60015b61171e573d808015611506576040519150601f19603f3d011682016040523d82523d6000602084013e61150b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a0200000000000000000000000000000000000000000000000000000000141561014457505b50506001600055505050505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600354600090821080156109a65750600073ffffffffffffffffffffffffffffffffffffffff166003838154811061182a5761182a611d16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b73ffffffffffffffffffffffffffffffffffffffff82166118d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610554565b6118da816117f0565b15611941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610554565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000815180845260005b81811015611a08576020818501810151868301820152016119ec565b81811115611a1a576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a6060208301846119e2565b9392505050565b600060208284031215611a7957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aa457600080fd5b919050565b60008060408385031215611abc57600080fd5b611ac583611a80565b946020939093013593505050565b600080600060608486031215611ae857600080fd5b611af184611a80565b9250611aff60208501611a80565b9150604084013590509250925092565b600060208284031215611b2157600080fd5b611a6082611a80565b60008060408385031215611b3d57600080fd5b611b4683611a80565b915060208301358015158114611b5b57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060808587031215611bab57600080fd5b611bb485611a80565b9350611bc260208601611a80565b925060408501359150606085013567ffffffffffffffff80821115611be657600080fd5b818701915087601f830112611bfa57600080fd5b813581811115611c0c57611c0c611b66565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611c5257611c52611b66565b816040528281528a6020848701011115611c6b57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215611ca257600080fd5b611cab83611a80565b9150611cb960208401611a80565b90509250929050565b600181811c90821680611cd657607f821691505b60208210811415611d10577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611ddb57611ddb611d74565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611e1257611e12611d74565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611e5860808301846119e2565b9695505050505050565b600060208284031215611e7457600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611a6057600080fdfea2646970667358221220ebbeed5922052fe67daab5b8065865a65969baabe65c5c4dd91cc127280439f364736f6c634300080c0033",
"bytecode": "0x60806040523480156200001157600080fd5b50600680546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36040805180820190915260088082526715d15052c813919560c21b60209092019182526200008391600191620000b8565b50604080518082019091526004808252637765616b60e01b6020909201918252620000b191600291620000b8565b506200019a565b828054620000c6906200015e565b90600052602060002090601f016020900481019282620000ea576000855562000135565b82601f106200010557805160ff191683800117855562000135565b8280016001018555821562000135579182015b828111156200013557825182559160200191906001019062000118565b506200014392915062000147565b5090565b5b8082111562000143576000815560010162000148565b600181811c908216806200017357607f821691505b6020821081036200019457634e487b7160e01b600052602260045260246000fd5b50919050565b611b9480620001aa6000396000f3fe6080604052600436106101445760003560e01c806370a08231116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c514610370578063ed0c7091146103d6578063f2fde38b146103eb57600080fd5b8063b88d4fde1461032f578063c87b56dd1461034257600080fd5b806392642744116100a557806392642744146102e757806395d89b41146102fa578063a22cb4651461030f57600080fd5b806370a082311461029a5780638da5cb5b146102ba57600080fd5b806323b872dd1161011757806342842e0e116100fc57806342842e0e146102475780634f6ccce71461025a5780636352211e1461027a57600080fd5b806323b872dd146102145780632f745c591461022757600080fd5b806306fdde0314610149578063081812fc14610174578063095ea7b3146101dc57806318160ddd146101f1575b600080fd5b34801561015557600080fd5b5061015e61040b565b60405161016b9190611753565b60405180910390f35b34801561018057600080fd5b506101b761018f36600461176d565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101ef6101ea3660046117aa565b610499565b005b3480156101fd57600080fd5b506102066105da565b60405190815260200161016b565b6101ef6102223660046117d4565b6106b8565b34801561023357600080fd5b506102066102423660046117aa565b610705565b6101ef6102553660046117d4565b61083e565b34801561026657600080fd5b5061020661027536600461176d565b61089b565b34801561028657600080fd5b506101b761029536600461176d565b6108e0565b3480156102a657600080fd5b506102066102b5366004611810565b610935565b3480156102c657600080fd5b506006546101b79073ffffffffffffffffffffffffffffffffffffffff1681565b6101ef6102f536600461176d565b610a3e565b34801561030657600080fd5b5061015e610aa4565b34801561031b57600080fd5b506101ef61032a36600461182b565b610ab1565b6101ef61033d366004611896565b610bb5565b34801561034e57600080fd5b5061015e61035d36600461176d565b5060408051602081019091526000815290565b34801561037c57600080fd5b506103c661038b366004611990565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b604051901515815260200161016b565b3480156103e257600080fd5b506101ef610c09565b3480156103f757600080fd5b506101ef610406366004611810565b610cb3565b60018054610418906119c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610444906119c3565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b505050505081565b6000600382815481106104ae576104ae611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508316819003610533576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480159061058a575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff16155b156105ca576040517ff1a5cd590000000000000000000000000000000000000000000000000000000081523360048201526024810183905260440161052a565b6105d5818484610d77565b505050565b600080600380548060200260200160405190810160405280929190818152602001828054801561064057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610615575b50506003549394506000925050505b8181146106b257600073ffffffffffffffffffffffffffffffffffffffff1683828151811061068057610680611a16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146106aa576001909301925b60010161064f565b50505090565b6106c23382610df8565b6106fa576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b6105d5838383610ef1565b600061071083610935565b821061074b576040517fbfdd2d070000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b60008060038054806020026020016040519081016040528092919081815260200182805480156107b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610786575b505083519394506000925050505b818114610833578281815181106107d8576107d8611a16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160361082b5785840361082457935061083892505050565b6001909301925b6001016107bf565b505050505b92915050565b6108483382610df8565b610880576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b6105d5838383604051806020016040528060008152506110c9565b60035460009082106108dc576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b5090565b600354600090821015610928576003828154811061090057610900611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b506000919050565b919050565b600073ffffffffffffffffffffffffffffffffffffffff821661095a57506000919050565b600060038054806020026020016040519081016040528092919081815260200182805480156109bf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610994575b505050505090506000815190506000805b828114610a35578381815181106109e9576109e9611a16565b602002602001015191508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610a2d576001909401935b6001016109d0565b50505050919050565b600081118015610a4f575060148111155b610a5b57610a5b611a45565b60005b81811015610aa0576000610a7160035490565b9050610a8d33826040518060200160405280600081525061131b565b5080610a9881611a74565b915050610a5e565b5050565b60028054610418906119c3565b3373ffffffffffffffffffffffffffffffffffffffff831603610b1e576040517fbcdfd41500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015233602482015260440161052a565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610bbf3383610df8565b610bf7576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b610c03848484846110c9565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610c5c576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314610d06576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b73ffffffffffffffffffffffffffffffffffffffff8116610d6b576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161052a565b610d74816114bd565b50565b60008181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610e0382611534565b610e3c576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b600060038381548110610e5157610e51611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508416811480610eac575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80610ee9575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1660038281548110610f1b57610f1b611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610f93576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260440161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610fff576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161052a565b600081815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600380548391908390811061104a5761104a611a16565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b60005415611103576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160005583838383611117848484610ef1565b73ffffffffffffffffffffffffffffffffffffffff83163b1561130d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061118c903390889087908790600401611ad3565b6020604051808303816000875af19250505080156111e5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526111e291810190611b1c565b60015b611274573d808015611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b50805160000361126c576040517f3be6b60400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161052a565b805181602001fd5b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016112c3575061130d565b6040517f2d66698200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161052a565b505050506000805550505050565b60005415611355576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009081558383836113698383611598565b73ffffffffffffffffffffffffffffffffffffffff83163b156114b0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906113de903390889087908790600401611ad3565b6020604051808303816000875af1925050508015611437575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261143491810190611b1c565b60015b611465573d808015611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016112c357505b5050505060008055505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600354600090821080156108385750600073ffffffffffffffffffffffffffffffffffffffff166003838154811061156e5761156e611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b73ffffffffffffffffffffffffffffffffffffffff8216611604576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161052a565b61160d81611534565b15611647576040517f74a445f00000000000000000000000000000000000000000000000000000000081526004810182905260240161052a565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000815180845260005b8181101561170e576020818501810151868301820152016116f2565b81811115611720576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061176660208301846116e8565b9392505050565b60006020828403121561177f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461093057600080fd5b600080604083850312156117bd57600080fd5b6117c683611786565b946020939093013593505050565b6000806000606084860312156117e957600080fd5b6117f284611786565b925061180060208501611786565b9150604084013590509250925092565b60006020828403121561182257600080fd5b61176682611786565b6000806040838503121561183e57600080fd5b61184783611786565b91506020830135801515811461185c57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080608085870312156118ac57600080fd5b6118b585611786565b93506118c360208601611786565b925060408501359150606085013567ffffffffffffffff808211156118e757600080fd5b818701915087601f8301126118fb57600080fd5b81358181111561190d5761190d611867565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561195357611953611867565b816040528281528a602084870101111561196c57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156119a357600080fd5b6119ac83611786565b91506119ba60208401611786565b90509250929050565b600181811c908216806119d757607f821691505b602082108103611a10577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611acc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611b1260808301846116e8565b9695505050505050565b600060208284031215611b2e57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461176657600080fdfea2646970667358221220b8e1a6d43379145bd20f94c42f3825c2d89a41eed91f1d659fb9359a58c355af64736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106101445760003560e01c806370a08231116100c0578063b88d4fde11610074578063e985e9c511610059578063e985e9c514610370578063ed0c7091146103d6578063f2fde38b146103eb57600080fd5b8063b88d4fde1461032f578063c87b56dd1461034257600080fd5b806392642744116100a557806392642744146102e757806395d89b41146102fa578063a22cb4651461030f57600080fd5b806370a082311461029a5780638da5cb5b146102ba57600080fd5b806323b872dd1161011757806342842e0e116100fc57806342842e0e146102475780634f6ccce71461025a5780636352211e1461027a57600080fd5b806323b872dd146102145780632f745c591461022757600080fd5b806306fdde0314610149578063081812fc14610174578063095ea7b3146101dc57806318160ddd146101f1575b600080fd5b34801561015557600080fd5b5061015e61040b565b60405161016b9190611753565b60405180910390f35b34801561018057600080fd5b506101b761018f36600461176d565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101ef6101ea3660046117aa565b610499565b005b3480156101fd57600080fd5b506102066105da565b60405190815260200161016b565b6101ef6102223660046117d4565b6106b8565b34801561023357600080fd5b506102066102423660046117aa565b610705565b6101ef6102553660046117d4565b61083e565b34801561026657600080fd5b5061020661027536600461176d565b61089b565b34801561028657600080fd5b506101b761029536600461176d565b6108e0565b3480156102a657600080fd5b506102066102b5366004611810565b610935565b3480156102c657600080fd5b506006546101b79073ffffffffffffffffffffffffffffffffffffffff1681565b6101ef6102f536600461176d565b610a3e565b34801561030657600080fd5b5061015e610aa4565b34801561031b57600080fd5b506101ef61032a36600461182b565b610ab1565b6101ef61033d366004611896565b610bb5565b34801561034e57600080fd5b5061015e61035d36600461176d565b5060408051602081019091526000815290565b34801561037c57600080fd5b506103c661038b366004611990565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b604051901515815260200161016b565b3480156103e257600080fd5b506101ef610c09565b3480156103f757600080fd5b506101ef610406366004611810565b610cb3565b60018054610418906119c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610444906119c3565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b505050505081565b6000600382815481106104ae576104ae611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508316819003610533576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480159061058a575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff16155b156105ca576040517ff1a5cd590000000000000000000000000000000000000000000000000000000081523360048201526024810183905260440161052a565b6105d5818484610d77565b505050565b600080600380548060200260200160405190810160405280929190818152602001828054801561064057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610615575b50506003549394506000925050505b8181146106b257600073ffffffffffffffffffffffffffffffffffffffff1683828151811061068057610680611a16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146106aa576001909301925b60010161064f565b50505090565b6106c23382610df8565b6106fa576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b6105d5838383610ef1565b600061071083610935565b821061074b576040517fbfdd2d070000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b60008060038054806020026020016040519081016040528092919081815260200182805480156107b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610786575b505083519394506000925050505b818114610833578281815181106107d8576107d8611a16565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160361082b5785840361082457935061083892505050565b6001909301925b6001016107bf565b505050505b92915050565b6108483382610df8565b610880576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b6105d5838383604051806020016040528060008152506110c9565b60035460009082106108dc576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b5090565b600354600090821015610928576003828154811061090057610900611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1692915050565b506000919050565b919050565b600073ffffffffffffffffffffffffffffffffffffffff821661095a57506000919050565b600060038054806020026020016040519081016040528092919081815260200182805480156109bf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610994575b505050505090506000815190506000805b828114610a35578381815181106109e9576109e9611a16565b602002602001015191508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610a2d576001909401935b6001016109d0565b50505050919050565b600081118015610a4f575060148111155b610a5b57610a5b611a45565b60005b81811015610aa0576000610a7160035490565b9050610a8d33826040518060200160405280600081525061131b565b5080610a9881611a74565b915050610a5e565b5050565b60028054610418906119c3565b3373ffffffffffffffffffffffffffffffffffffffff831603610b1e576040517fbcdfd41500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015233602482015260440161052a565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610bbf3383610df8565b610bf7576040517f8b5b5df500000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b610c03848484846110c9565b50505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610c5c576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b600680547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60065473ffffffffffffffffffffffffffffffffffffffff163314610d06576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161052a565b73ffffffffffffffffffffffffffffffffffffffff8116610d6b576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161052a565b610d74816114bd565b50565b60008181526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610e0382611534565b610e3c576040517ff68dfd320000000000000000000000000000000000000000000000000000000081526004810183905260240161052a565b600060038381548110610e5157610e51611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff90811691508416811480610eac575060008381526004602052604090205473ffffffffffffffffffffffffffffffffffffffff8581169116145b80610ee9575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1660038281548110610f1b57610f1b611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610f93576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260440161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610fff576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161052a565b600081815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600380548391908390811061104a5761104a611a16565b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b60005415611103576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160005583838383611117848484610ef1565b73ffffffffffffffffffffffffffffffffffffffff83163b1561130d576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a029061118c903390889087908790600401611ad3565b6020604051808303816000875af19250505080156111e5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526111e291810190611b1c565b60015b611274573d808015611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b50805160000361126c576040517f3be6b60400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161052a565b805181602001fd5b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016112c3575061130d565b6040517f2d66698200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161052a565b505050506000805550505050565b60005415611355576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009081558383836113698383611598565b73ffffffffffffffffffffffffffffffffffffffff83163b156114b0576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906113de903390889087908790600401611ad3565b6020604051808303816000875af1925050508015611437575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261143491810190611b1c565b60015b611465573d808015611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b7feaf485fe000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016112c357505b5050505060008055505050565b6006805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600354600090821080156108385750600073ffffffffffffffffffffffffffffffffffffffff166003838154811061156e5761156e611a16565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141592915050565b73ffffffffffffffffffffffffffffffffffffffff8216611604576040517ff1a5cd5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024810182905260440161052a565b61160d81611534565b15611647576040517f74a445f00000000000000000000000000000000000000000000000000000000081526004810182905260240161052a565b6003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000815180845260005b8181101561170e576020818501810151868301820152016116f2565b81811115611720576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061176660208301846116e8565b9392505050565b60006020828403121561177f57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461093057600080fd5b600080604083850312156117bd57600080fd5b6117c683611786565b946020939093013593505050565b6000806000606084860312156117e957600080fd5b6117f284611786565b925061180060208501611786565b9150604084013590509250925092565b60006020828403121561182257600080fd5b61176682611786565b6000806040838503121561183e57600080fd5b61184783611786565b91506020830135801515811461185c57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080608085870312156118ac57600080fd5b6118b585611786565b93506118c360208601611786565b925060408501359150606085013567ffffffffffffffff808211156118e757600080fd5b818701915087601f8301126118fb57600080fd5b81358181111561190d5761190d611867565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561195357611953611867565b816040528281528a602084870101111561196c57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156119a357600080fd5b6119ac83611786565b91506119ba60208401611786565b90509250929050565b600181811c908216806119d757607f821691505b602082108103611a10577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611acc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611b1260808301846116e8565b9695505050505050565b600060208284031215611b2e57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461176657600080fdfea2646970667358221220b8e1a6d43379145bd20f94c42f3825c2d89a41eed91f1d659fb9359a58c355af64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -21,3 +21,3 @@ {

"internalType": "address",
"name": "_operator",
"name": "",
"type": "address"

@@ -27,3 +27,3 @@ },

"internalType": "address",
"name": "_from",
"name": "",
"type": "address"

@@ -33,3 +33,3 @@ },

"internalType": "uint256",
"name": "_tokenId",
"name": "",
"type": "uint256"

@@ -39,3 +39,3 @@ },

"internalType": "bytes",
"name": "_data",
"name": "",
"type": "bytes"

@@ -67,6 +67,6 @@ }

],
"bytecode": "0x608060405266038d7ea4c6800060005534801561001b57600080fd5b5060405161048538038061048583398101604081905261003a9161005f565b600180546001600160a01b0319166001600160a01b039290921691909117905561008f565b60006020828403121561007157600080fd5b81516001600160a01b038116811461008857600080fd5b9392505050565b6103e78061009e6000396000f3fe60806040526004361061002d5760003560e01c8063150b7a02146100395780636aab35db1461008e57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610253565b6100a5565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b34801561009a57600080fd5b506100a3610161565b005b60018054600080546040517f92642744000000000000000000000000000000000000000000000000000000008152919373ffffffffffffffffffffffffffffffffffffffff90931692639264274492610105919060040190815260200190565b6000604051808303818588803b15801561011e57600080fd5b505af1158015610132573d6000803e3d6000fd5b507f150b7a02000000000000000000000000000000000000000000000000000000009998505050505050505050565b60015460005473ffffffffffffffffffffffffffffffffffffffff9091169063926427449061019190601461034d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152601460048201526024016000604051808303818588803b1580156101e057600080fd5b505af11580156101f4573d6000803e3d6000fd5b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461021f57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561026957600080fd5b610272856101fb565b9350610280602086016101fb565b925060408501359150606085013567ffffffffffffffff808211156102a457600080fd5b818701915087601f8301126102b857600080fd5b8135818111156102ca576102ca610224565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561031057610310610224565b816040528281528a602084870101111561032957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156103ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50029056fea26469706673582212205d53e75a4d1fd4a14227ebee0de2d765d92d9e42d7da0668d2fa43dd6820ca1664736f6c634300080c0033",
"deployedBytecode": "0x60806040526004361061002d5760003560e01c8063150b7a02146100395780636aab35db1461008e57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610253565b6100a5565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b34801561009a57600080fd5b506100a3610161565b005b60018054600080546040517f92642744000000000000000000000000000000000000000000000000000000008152919373ffffffffffffffffffffffffffffffffffffffff90931692639264274492610105919060040190815260200190565b6000604051808303818588803b15801561011e57600080fd5b505af1158015610132573d6000803e3d6000fd5b507f150b7a02000000000000000000000000000000000000000000000000000000009998505050505050505050565b60015460005473ffffffffffffffffffffffffffffffffffffffff9091169063926427449061019190601461034d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152601460048201526024016000604051808303818588803b1580156101e057600080fd5b505af11580156101f4573d6000803e3d6000fd5b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461021f57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561026957600080fd5b610272856101fb565b9350610280602086016101fb565b925060408501359150606085013567ffffffffffffffff808211156102a457600080fd5b818701915087601f8301126102b857600080fd5b8135818111156102ca576102ca610224565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561031057610310610224565b816040528281528a602084870101111561032957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156103ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50029056fea26469706673582212205d53e75a4d1fd4a14227ebee0de2d765d92d9e42d7da0668d2fa43dd6820ca1664736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506040516103f53803806103f583398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610362806100936000396000f3fe60806040526004361061002d5760003560e01c8063150b7a02146100395780636aab35db1461008e57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610232565b6100a5565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b34801561009a57600080fd5b506100a3610154565b005b600080546040517f926427440000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff90911690639264274490602401600060405180830381600087803b15801561011257600080fd5b505af1158015610126573d6000803e3d6000fd5b507f150b7a020000000000000000000000000000000000000000000000000000000098975050505050505050565b6000546040517f926427440000000000000000000000000000000000000000000000000000000081526014600482015273ffffffffffffffffffffffffffffffffffffffff90911690639264274490602401600060405180830381600087803b1580156101c057600080fd5b505af11580156101d4573d6000803e3d6000fd5b50505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101fe57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561024857600080fd5b610251856101da565b935061025f602086016101da565b925060408501359150606085013567ffffffffffffffff8082111561028357600080fd5b818701915087601f83011261029757600080fd5b8135818111156102a9576102a9610203565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ef576102ef610203565b816040528281528a602084870101111561030857600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220460607afdf34de99cc3dfc66a4dd75a43401dad38700ba3de98f8d0ebd8019fd64736f6c634300080d0033",
"deployedBytecode": "0x60806040526004361061002d5760003560e01c8063150b7a02146100395780636aab35db1461008e57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610232565b6100a5565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b34801561009a57600080fd5b506100a3610154565b005b600080546040517f926427440000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff90911690639264274490602401600060405180830381600087803b15801561011257600080fd5b505af1158015610126573d6000803e3d6000fd5b507f150b7a020000000000000000000000000000000000000000000000000000000098975050505050505050565b6000546040517f926427440000000000000000000000000000000000000000000000000000000081526014600482015273ffffffffffffffffffffffffffffffffffffffff90911690639264274490602401600060405180830381600087803b1580156101c057600080fd5b505af11580156101d4573d6000803e3d6000fd5b50505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101fe57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561024857600080fd5b610251856101da565b935061025f602086016101da565b925060408501359150606085013567ffffffffffffffff8082111561028357600080fd5b818701915087601f83011261029757600080fd5b8135818111156102a9576102a9610203565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156102ef576102ef610203565b816040528281528a602084870101111561030857600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220460607afdf34de99cc3dfc66a4dd75a43401dad38700ba3de98f8d0ebd8019fd64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/c45cb8cbe2c4b4bfb1acfc041e1a0f29.json"
"buildInfo": "../../../build-info/4086de7a3fee1ae3d58448b7526ddd23.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/ac5e6e9b0f32adeecaf947bc1371b399.json"
"buildInfo": "../../../build-info/6492d4af7c2e595912f74c3f8411652d.json"
}

@@ -55,6 +55,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50336000908152602081905260409020805460ff191660011790556103d48061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063022914a71461003b5780631626ba7e14610073575b600080fd5b61005e61004936600461020d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610086610081366004610279565b6100b7565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161006a565b602081015160408201516041830151600092919060ff16601b8110156100e5576100e2601b82610352565b90505b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610139573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615806101ad575073ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604090205460ff16155b156101df57507fffffffff00000000000000000000000000000000000000000000000000000000935061020792505050565b7f20c13b0bc670c284a9f19cdf7a533ca249404190f8dc132aac33e733b965269e9450505050505b92915050565b60006020828403121561021f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561028c57600080fd5b82359150602083013567ffffffffffffffff808211156102ab57600080fd5b818501915085601f8301126102bf57600080fd5b8135818111156102d1576102d161024a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103175761031761024a565b8160405282815288602084870101111561033057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060ff821660ff84168060ff03821115610396577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea2646970667358221220ac0f56d7f0678c5baac784eb082de8f2b268c1d8345cffc43fc258b24bbdf00964736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063022914a71461003b5780631626ba7e14610073575b600080fd5b61005e61004936600461020d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610086610081366004610279565b6100b7565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161006a565b602081015160408201516041830151600092919060ff16601b8110156100e5576100e2601b82610352565b90505b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610139573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615806101ad575073ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604090205460ff16155b156101df57507fffffffff00000000000000000000000000000000000000000000000000000000935061020792505050565b7f20c13b0bc670c284a9f19cdf7a533ca249404190f8dc132aac33e733b965269e9450505050505b92915050565b60006020828403121561021f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561028c57600080fd5b82359150602083013567ffffffffffffffff808211156102ab57600080fd5b818501915085601f8301126102bf57600080fd5b8135818111156102d1576102d161024a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103175761031761024a565b8160405282815288602084870101111561033057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060ff821660ff84168060ff03821115610396577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea2646970667358221220ac0f56d7f0678c5baac784eb082de8f2b268c1d8345cffc43fc258b24bbdf00964736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50336000908152602081905260409020805460ff191660011790556103d48061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063022914a71461003b5780631626ba7e14610073575b600080fd5b61005e61004936600461020d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610086610081366004610279565b6100b7565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161006a565b602081015160408201516041830151600092919060ff16601b8110156100e5576100e2601b82610352565b90505b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610139573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615806101ad575073ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604090205460ff16155b156101df57507fffffffff00000000000000000000000000000000000000000000000000000000935061020792505050565b7f1626ba7e356f5979dd355a3d2bfb43e80420a480c3b854edce286a82d74968699450505050505b92915050565b60006020828403121561021f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561028c57600080fd5b82359150602083013567ffffffffffffffff808211156102ab57600080fd5b818501915085601f8301126102bf57600080fd5b8135818111156102d1576102d161024a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103175761031761024a565b8160405282815288602084870101111561033057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060ff821660ff84168060ff03821115610396577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea264697066735822122085a360b58c3c4ef37edecd06f123330db21c7c99f0b0434007e20623ae0edb2d64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063022914a71461003b5780631626ba7e14610073575b600080fd5b61005e61004936600461020d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610086610081366004610279565b6100b7565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161006a565b602081015160408201516041830151600092919060ff16601b8110156100e5576100e2601b82610352565b90505b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610139573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615806101ad575073ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604090205460ff16155b156101df57507fffffffff00000000000000000000000000000000000000000000000000000000935061020792505050565b7f1626ba7e356f5979dd355a3d2bfb43e80420a480c3b854edce286a82d74968699450505050505b92915050565b60006020828403121561021f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461024357600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561028c57600080fd5b82359150602083013567ffffffffffffffff808211156102ab57600080fd5b818501915085601f8301126102bf57600080fd5b8135818111156102d1576102d161024a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103175761031761024a565b8160405282815288602084870101111561033057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060ff821660ff84168060ff03821115610396577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01939250505056fea264697066735822122085a360b58c3c4ef37edecd06f123330db21c7c99f0b0434007e20623ae0edb2d64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/ac5e6e9b0f32adeecaf947bc1371b399.json"
"buildInfo": "../../../build-info/6492d4af7c2e595912f74c3f8411652d.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/f941fee81b9bc37f3b86eafb83dca91e.json"
"buildInfo": "../../../build-info/c9066186d93098036520e51c595fdf57.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/348c90a25437fca1f8b99e381176816c.json"
"buildInfo": "../../../build-info/32e6880ff2604ca20f6487855c1f2735.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/2b49cccf33e6d5dd8de88979e47c4ba8.json"
}

@@ -20,21 +20,2 @@ {

{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceID",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],

@@ -41,0 +22,0 @@ "name": "token",

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -13,2 +13,7 @@ {

"inputs": [],
"name": "Initializer__AlreadyInitialized",
"type": "error"
},
{
"inputs": [],
"name": "initialize",

@@ -26,6 +31,6 @@ "outputs": [

],
"bytecode": "0x608060405234801561001057600080fd5b5060005460ff16158061003c575061003a306001600160a01b031661009e60201b6100f31760201c565b155b61008c5760405162461bcd60e51b815260206004820152601f60248201527f496e697469616c697a65722f416c726561647920496e697469616c697a656400604482015260640160405180910390fd5b6000805460ff191660011790556100a4565b3b151590565b61012f806100b36000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16158060585750303b155b60c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e697469616c697a65722f416c726561647920496e697469616c697a656400604482015260640160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915590565b3b15159056fea2646970667358221220eac56cbefdb1102c11fecb08f8cf417c13934717cbe65fafe949901a4ff39c4364736f6c634300080c0033",
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16158060585750303b155b60c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e697469616c697a65722f416c726561647920496e697469616c697a656400604482015260640160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915590565b3b15159056fea2646970667358221220eac56cbefdb1102c11fecb08f8cf417c13934717cbe65fafe949901a4ff39c4364736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506000805460ff1916600117905560f78061002c6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16801560595750303b15155b15608f576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea264697066735822122064bb5532c78f878c7a53e1960f53d17b3811131afb0cbb11779fb02945ed553f64736f6c634300080d0033",
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16801560595750303b15155b15608f576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea264697066735822122064bb5532c78f878c7a53e1960f53d17b3811131afb0cbb11779fb02945ed553f64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -8,2 +8,7 @@ {

"inputs": [],
"name": "Initializer__AlreadyInitialized",
"type": "error"
},
{
"inputs": [],
"name": "initialize",

@@ -21,6 +26,6 @@ "outputs": [

],
"bytecode": "0x608060405234801561001057600080fd5b50610129806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16158060585750303b155b60c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e697469616c697a65722f416c726561647920496e697469616c697a656400604482015260640160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea2646970667358221220fa27152bca531c1b18765367a739b26a99533dd2ec4046b83c6b384473a2c6dd64736f6c634300080c0033",
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16158060585750303b155b60c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e697469616c697a65722f416c726561647920496e697469616c697a656400604482015260640160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea2646970667358221220fa27152bca531c1b18765367a739b26a99533dd2ec4046b83c6b384473a2c6dd64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506000805460ff1916600117905560f78061002c6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16801560595750303b15155b15608f576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea2646970667358221220941f650a14fa2dcdd6ce46ad78f6d1cc5c0cf6070ccbb79e3068f177d37f933c64736f6c634300080d0033",
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638129fc1c14602d575b600080fd5b60336047565b604051901515815260200160405180910390f35b6000805460ff16801560595750303b15155b15608f576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559056fea2646970667358221220941f650a14fa2dcdd6ce46ad78f6d1cc5c0cf6070ccbb79e3068f177d37f933c64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -41,3 +41,3 @@ {

],
"stateMutability": "view",
"stateMutability": "pure",
"type": "function"

@@ -61,3 +61,3 @@ },

],
"stateMutability": "view",
"stateMutability": "pure",
"type": "function"

@@ -69,3 +69,3 @@ },

"internalType": "address",
"name": "newOwner",
"name": "",
"type": "address"

@@ -80,6 +80,6 @@ }

],
"bytecode": "0x608060405234801561001057600080fd5b5061020c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780638da5cb5b1461006e578063f2fde38b1461007d575b600080fd5b610059610054366004610157565b610092565b60405190151581526020015b60405180910390f35b60405160008152602001610065565b61009061008b3660046101a0565b61012b565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000148061012557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517f10e4ab9f2ce395bf5539d7c60c9bfeef0b416602954734c5bb8bfd9433c9ff6890600090a150565b60006020828403121561016957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461019957600080fd5b9392505050565b6000602082840312156101b257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019957600080fdfea264697066735822122071c2d7933af742ba10f0805cc9b0e78a805f5c3926d193e7dd1930ffd5c2301564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780638da5cb5b1461006e578063f2fde38b1461007d575b600080fd5b610059610054366004610157565b610092565b60405190151581526020015b60405180910390f35b60405160008152602001610065565b61009061008b3660046101a0565b61012b565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000148061012557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517f10e4ab9f2ce395bf5539d7c60c9bfeef0b416602954734c5bb8bfd9433c9ff6890600090a150565b60006020828403121561016957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461019957600080fd5b9392505050565b6000602082840312156101b257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019957600080fdfea264697066735822122071c2d7933af742ba10f0805cc9b0e78a805f5c3926d193e7dd1930ffd5c2301564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b5061020c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780638da5cb5b1461006e578063f2fde38b1461007d575b600080fd5b610059610054366004610157565b610092565b60405190151581526020015b60405180910390f35b60405160008152602001610065565b61009061008b3660046101a0565b61012b565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000148061012557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517f10e4ab9f2ce395bf5539d7c60c9bfeef0b416602954734c5bb8bfd9433c9ff6890600090a150565b60006020828403121561016957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461019957600080fd5b9392505050565b6000602082840312156101b257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019957600080fdfea2646970667358221220f00883f892a3b97c81384bad8ffb2ed4ffb2ec6c4a6e1032d337140583ad8ed764736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a7146100465780638da5cb5b1461006e578063f2fde38b1461007d575b600080fd5b610059610054366004610157565b610092565b60405190151581526020015b60405180910390f35b60405160008152602001610065565b61009061008b3660046101a0565b61012b565b005b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000148061012557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517f10e4ab9f2ce395bf5539d7c60c9bfeef0b416602954734c5bb8bfd9433c9ff6890600090a150565b60006020828403121561016957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461019957600080fd5b9392505050565b6000602082840312156101b257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019957600080fdfea2646970667358221220f00883f892a3b97c81384bad8ffb2ed4ffb2ec6c4a6e1032d337140583ad8ed764736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/d853a9c779ab21dbb8701ec1c7dd24e7.json"
"buildInfo": "../../../build-info/0df2013267ad31c58ac90b8236aff774.json"
}

@@ -10,8 +10,2 @@ {

{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": false,

@@ -23,3 +17,3 @@ "internalType": "uint32",

],
"name": "Approved",
"name": "Delayed",
"type": "event"

@@ -31,2 +25,8 @@ },

{
"indexed": true,
"internalType": "bytes32",
"name": "taskId",
"type": "bytes32"
},
{
"indexed": false,

@@ -38,3 +38,3 @@ "internalType": "uint32",

],
"name": "Delayed",
"name": "Queued",
"type": "event"

@@ -48,3 +48,3 @@ },

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -62,3 +62,3 @@ }

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -65,0 +65,0 @@ }

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/af4b96ed0d73847cd1b2149d557fd2e4.json"
"buildInfo": "../../../build-info/177df8e06945b762fc5f1dcbf29ca7d5.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/80fc5a0374403b3e7ea2e1930d065787.json"
"buildInfo": "../../../build-info/bb0bc36f68bdabf30a908ed242b632fe.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "MathSpell",
"sourceName": "contracts/library/spell/MathSpell.sol",
"sourceName": "contracts/mocks/MathSpell.sol",
"abi": [

@@ -98,6 +98,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50610273806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630194db8e14610051578063771602f714610076578063b67d77c514610089578063c8a4ac9c1461009c575b600080fd5b61006461005f36600461010b565b6100af565b60405190815260200160405180910390f35b610064610084366004610180565b6100e0565b610064610097366004610180565b6100f3565b6100646100aa366004610180565b6100ff565b60008151602084016020820281015b808210156100d7578151840193506020820191506100be565b50505092915050565b60006100ec82846101d1565b9392505050565b60006100ec82846101e9565b60006100ec8284610200565b6000806020838503121561011e57600080fd5b823567ffffffffffffffff8082111561013657600080fd5b818501915085601f83011261014a57600080fd5b81358181111561015957600080fd5b8660208260051b850101111561016e57600080fd5b60209290920196919550909350505050565b6000806040838503121561019357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156101e4576101e46101a2565b500190565b6000828210156101fb576101fb6101a2565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610238576102386101a2565b50029056fea2646970667358221220e5339f5a805afd652f4fbcf9806bec5607b711b3e6841210cac5053fd1a4de0a64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630194db8e14610051578063771602f714610076578063b67d77c514610089578063c8a4ac9c1461009c575b600080fd5b61006461005f36600461010b565b6100af565b60405190815260200160405180910390f35b610064610084366004610180565b6100e0565b610064610097366004610180565b6100f3565b6100646100aa366004610180565b6100ff565b60008151602084016020820281015b808210156100d7578151840193506020820191506100be565b50505092915050565b60006100ec82846101d1565b9392505050565b60006100ec82846101e9565b60006100ec8284610200565b6000806020838503121561011e57600080fd5b823567ffffffffffffffff8082111561013657600080fd5b818501915085601f83011261014a57600080fd5b81358181111561015957600080fd5b8660208260051b850101111561016e57600080fd5b60209290920196919550909350505050565b6000806040838503121561019357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156101e4576101e46101a2565b500190565b6000828210156101fb576101fb6101a2565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610238576102386101a2565b50029056fea2646970667358221220e5339f5a805afd652f4fbcf9806bec5607b711b3e6841210cac5053fd1a4de0a64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610273806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630194db8e14610051578063771602f714610076578063b67d77c514610089578063c8a4ac9c1461009c575b600080fd5b61006461005f36600461010b565b6100af565b60405190815260200160405180910390f35b610064610084366004610180565b6100e0565b610064610097366004610180565b6100f3565b6100646100aa366004610180565b6100ff565b60008151602084016020820281015b808210156100d7578151840193506020820191506100be565b50505092915050565b60006100ec82846101d1565b9392505050565b60006100ec82846101e9565b60006100ec8284610200565b6000806020838503121561011e57600080fd5b823567ffffffffffffffff8082111561013657600080fd5b818501915085601f83011261014a57600080fd5b81358181111561015957600080fd5b8660208260051b850101111561016e57600080fd5b60209290920196919550909350505050565b6000806040838503121561019357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156101e4576101e46101a2565b500190565b6000828210156101fb576101fb6101a2565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610238576102386101a2565b50029056fea264697066735822122015e4344d30fb70f742f6b43a7b9c3ea10f84393d6547584363cee292fcdbc7be64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630194db8e14610051578063771602f714610076578063b67d77c514610089578063c8a4ac9c1461009c575b600080fd5b61006461005f36600461010b565b6100af565b60405190815260200160405180910390f35b610064610084366004610180565b6100e0565b610064610097366004610180565b6100f3565b6100646100aa366004610180565b6100ff565b60008151602084016020820281015b808210156100d7578151840193506020820191506100be565b50505092915050565b60006100ec82846101d1565b9392505050565b60006100ec82846101e9565b60006100ec8284610200565b6000806020838503121561011e57600080fd5b823567ffffffffffffffff8082111561013657600080fd5b818501915085601f83011261014a57600080fd5b81358181111561015957600080fd5b8660208260051b850101111561016e57600080fd5b60209290920196919550909350505050565b6000806040838503121561019357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156101e4576101e46101a2565b500190565b6000828210156101fb576101fb6101a2565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610238576102386101a2565b50029056fea264697066735822122015e4344d30fb70f742f6b43a7b9c3ea10f84393d6547584363cee292fcdbc7be64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/46b3d80602238902e69f860b504d9443.json"
"buildInfo": "../../../build-info/a65742a90066ad6c6fa8ebc2d60134e3.json"
}

@@ -6,6 +6,6 @@ {

"abi": [],
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c9e619c78c284deb00099d990580f6da861f34fa1f55976587c70dd1eedeb4f364736f6c634300080c0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c9e619c78c284deb00099d990580f6da861f34fa1f55976587c70dd1eedeb4f364736f6c634300080c0033",
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122050622eb284247f5296b1825ad62712a47a20f392292d1544825806adad9adac264736f6c634300080d0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122050622eb284247f5296b1825ad62712a47a20f392292d1544825806adad9adac264736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/46b3d80602238902e69f860b504d9443.json"
"buildInfo": "../../../build-info/a65742a90066ad6c6fa8ebc2d60134e3.json"
}

@@ -138,2 +138,7 @@ {

"internalType": "address",
"name": "_template",
"type": "address"
},
{
"internalType": "address",
"name": "target",

@@ -153,8 +158,27 @@ "type": "address"

"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "isMinimal",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506040516109e73803806109e783398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610954806100936000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80634af63f021161005b5780634af63f0214610104578063d10f39a614610117578063e7a0a7ce1461013a578063fe0dcca51461014d57600080fd5b80630d56f7ec146100825780632b85ba38146100b95780632e124da7146100f1575b600080fd5b61008a610155565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152015b60405180910390f35b6100cc6100c736600461076c565b610183565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b0565b6100cc6100ff36600461076c565b6101ad565b6100cc6101123660046107ce565b6102a8565b61012a61012536600461081a565b610352565b60405190151581526020016100b0565b6100cc6101483660046107ce565b610376565b6100cc6104d5565b60008054819061017a9073ffffffffffffffffffffffffffffffffffffffff16610527565b90939092509050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff1683610670565b92915050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff1683604080517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606093841b60158201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060298201526038902081517fff000000000000000000000000000000000000000000000000000000000000006020828101919091523090951b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602182015260358101939093526055808401919091528151808403909101815260759092019052805191012090565b600080546102cc9073ffffffffffffffffffffffffffffffffffffffff1683610670565b905060008173ffffffffffffffffffffffffffffffffffffffff1685856040516102f7929190610857565b6000604051808303816000865af19150503d8060008114610334576040519150601f19603f3d011682016040523d82523d6000602084013e610339565b606091505b505090508061034a5761034a610867565b509392505050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff16836106ff565b6000807ff62d188800b594eda156757988de1a22139f89fbcb7bfc58e96e79b054b5cb4785856040516024016103ad929190610896565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526000549091506104509073ffffffffffffffffffffffffffffffffffffffff1684610670565b915060008273ffffffffffffffffffffffffffffffffffffffff168260405161047991906108e3565b6000604051808303816000865af19150503d80600081146104b6576040519150601f19603f3d011682016040523d82523d6000602084013e6104bb565b606091505b50509050806104cc576104cc610867565b50509392505050565b6000805481906104fa9073ffffffffffffffffffffffffffffffffffffffff16610527565b506000549091506105219073ffffffffffffffffffffffffffffffffffffffff1682610670565b91505090565b60008060008061058e856040517f600b5981380380925939f3363d3d373d3d3d363d730000000000000000000000815260609190911b60158201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000602982015290603890565b80822091935091506000805b336000908152602083815260409182902091517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526035810182905260558101859052909750607501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120955050843b15158061065b57610666565b60019091019061059a565b5050505050915091565b6040517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606083901b60158201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006029820152600090603883156106da578381836000f592505b836106e75780826000f092505b823b6106f7573d6000803e3d6000fd5b505092915050565b60006040517f363d3d373d3d3d363d730000000000000000000000000000000000000000000081528360601b600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e82015260408101602d600082863c519051149392505050565b60006020828403121561077e57600080fd5b5035919050565b60008083601f84011261079757600080fd5b50813567ffffffffffffffff8111156107af57600080fd5b6020830191508360208285010111156107c757600080fd5b9250929050565b6000806000604084860312156107e357600080fd5b833567ffffffffffffffff8111156107fa57600080fd5b61080686828701610785565b909790965060209590950135949350505050565b60006020828403121561082c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461085057600080fd5b9392505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b6000825160005b8181101561090457602081860181015185830152016108ea565b81811115610913576000828501525b50919091019291505056fea264697066735822122069228d126d393e105ca9786e084dd7be0c6b28f17ef36b1a4b2b77ac26d00fcc64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80634af63f021161005b5780634af63f0214610104578063d10f39a614610117578063e7a0a7ce1461013a578063fe0dcca51461014d57600080fd5b80630d56f7ec146100825780632b85ba38146100b95780632e124da7146100f1575b600080fd5b61008a610155565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152015b60405180910390f35b6100cc6100c736600461076c565b610183565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b0565b6100cc6100ff36600461076c565b6101ad565b6100cc6101123660046107ce565b6102a8565b61012a61012536600461081a565b610352565b60405190151581526020016100b0565b6100cc6101483660046107ce565b610376565b6100cc6104d5565b60008054819061017a9073ffffffffffffffffffffffffffffffffffffffff16610527565b90939092509050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff1683610670565b92915050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff1683604080517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606093841b60158201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060298201526038902081517fff000000000000000000000000000000000000000000000000000000000000006020828101919091523090951b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602182015260358101939093526055808401919091528151808403909101815260759092019052805191012090565b600080546102cc9073ffffffffffffffffffffffffffffffffffffffff1683610670565b905060008173ffffffffffffffffffffffffffffffffffffffff1685856040516102f7929190610857565b6000604051808303816000865af19150503d8060008114610334576040519150601f19603f3d011682016040523d82523d6000602084013e610339565b606091505b505090508061034a5761034a610867565b509392505050565b600080546101a79073ffffffffffffffffffffffffffffffffffffffff16836106ff565b6000807ff62d188800b594eda156757988de1a22139f89fbcb7bfc58e96e79b054b5cb4785856040516024016103ad929190610896565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526000549091506104509073ffffffffffffffffffffffffffffffffffffffff1684610670565b915060008273ffffffffffffffffffffffffffffffffffffffff168260405161047991906108e3565b6000604051808303816000865af19150503d80600081146104b6576040519150601f19603f3d011682016040523d82523d6000602084013e6104bb565b606091505b50509050806104cc576104cc610867565b50509392505050565b6000805481906104fa9073ffffffffffffffffffffffffffffffffffffffff16610527565b506000549091506105219073ffffffffffffffffffffffffffffffffffffffff1682610670565b91505090565b60008060008061058e856040517f600b5981380380925939f3363d3d373d3d3d363d730000000000000000000000815260609190911b60158201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000602982015290603890565b80822091935091506000805b336000908152602083815260409182902091517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526035810182905260558101859052909750607501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120955050843b15158061065b57610666565b60019091019061059a565b5050505050915091565b6040517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606083901b60158201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006029820152600090603883156106da578381836000f592505b836106e75780826000f092505b823b6106f7573d6000803e3d6000fd5b505092915050565b60006040517f363d3d373d3d3d363d730000000000000000000000000000000000000000000081528360601b600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e82015260408101602d600082863c519051149392505050565b60006020828403121561077e57600080fd5b5035919050565b60008083601f84011261079757600080fd5b50813567ffffffffffffffff8111156107af57600080fd5b6020830191508360208285010111156107c757600080fd5b9250929050565b6000806000604084860312156107e357600080fd5b833567ffffffffffffffff8111156107fa57600080fd5b61080686828701610785565b909790965060209590950135949350505050565b60006020828403121561082c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461085057600080fd5b9392505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b6000825160005b8181101561090457602081860181015185830152016108ea565b81811115610913576000828501525b50919091019291505056fea264697066735822122069228d126d393e105ca9786e084dd7be0c6b28f17ef36b1a4b2b77ac26d00fcc64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50604051610aa9380380610aa983398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610a16806100936000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b823db2b1161005b578063b823db2b14610122578063d10f39a614610145578063e7a0a7ce14610158578063fe0dcca51461016b57600080fd5b80630d56f7ec1461008d5780632b85ba38146100c45780632e124da7146100fc5780634af63f021461010f575b600080fd5b610095610173565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152015b60405180910390f35b6100d76100d23660046107f4565b6101a1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bb565b6100d761010a3660046107f4565b6101cb565b6100d761011d366004610856565b6102c6565b6101356101303660046108cb565b610370565b60405190151581526020016100bb565b6101356101533660046108fe565b610383565b6100d7610166366004610856565b61038e565b6100d76104ed565b6000805481906101989073ffffffffffffffffffffffffffffffffffffffff1661053f565b90939092509050565b600080546101c59073ffffffffffffffffffffffffffffffffffffffff1683610681565b92915050565b600080546101c59073ffffffffffffffffffffffffffffffffffffffff1683604080517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606093841b60158201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060298201526038902081517fff000000000000000000000000000000000000000000000000000000000000006020828101919091523090951b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602182015260358101939093526055808401919091528151808403909101815260759092019052805191012090565b600080546102ea9073ffffffffffffffffffffffffffffffffffffffff1683610681565b905060008173ffffffffffffffffffffffffffffffffffffffff168585604051610315929190610919565b6000604051808303816000865af19150503d8060008114610352576040519150601f19603f3d011682016040523d82523d6000602084013e610357565b606091505b505090508061036857610368610929565b509392505050565b600061037c8284610710565b9392505050565b60006101c58261077d565b6000807ff62d188800b594eda156757988de1a22139f89fbcb7bfc58e96e79b054b5cb4785856040516024016103c5929190610958565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526000549091506104689073ffffffffffffffffffffffffffffffffffffffff1684610681565b915060008273ffffffffffffffffffffffffffffffffffffffff168260405161049191906109a5565b6000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b50509050806104e4576104e4610929565b50509392505050565b6000805481906105129073ffffffffffffffffffffffffffffffffffffffff1661053f565b506000549091506105399073ffffffffffffffffffffffffffffffffffffffff1682610681565b91505090565b6000806000806105a6856040517f600b5981380380925939f3363d3d373d3d3d363d730000000000000000000000815260609190911b60158201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000602982015290603890565b80822091935091506000805b33608090815260a083905260c090206040517fff0000000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526035810182905260558101859052909750607501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120955050843b15801590610677578160010191506105b2565b5050505050915091565b6040517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606083901b60158201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006029820152600090603883156106eb578381836000f592505b836106f85780826000f092505b823b610708573d6000803e3d6000fd5b505092915050565b60006040517f363d3d373d3d3d363d730000000000000000000000000000000000000000000081528260601b600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e82015260408101602d600082873c519051149392505050565b6000604051604081016015600a83863c7f363d3d373d3d3d363d730000000000000000000000000000000000000000000081529051600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e8201526040810190602d600083863c905190511492915050565b60006020828403121561080657600080fd5b5035919050565b60008083601f84011261081f57600080fd5b50813567ffffffffffffffff81111561083757600080fd5b60208301915083602082850101111561084f57600080fd5b9250929050565b60008060006040848603121561086b57600080fd5b833567ffffffffffffffff81111561088257600080fd5b61088e8682870161080d565b909790965060209590950135949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108c657600080fd5b919050565b600080604083850312156108de57600080fd5b6108e7836108a2565b91506108f5602084016108a2565b90509250929050565b60006020828403121561091057600080fd5b61037c826108a2565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b6000825160005b818110156109c657602081860181015185830152016109ac565b818111156109d5576000828501525b50919091019291505056fea264697066735822122087a01c277001bd332917f8485046ebea193a710d890aba9eee573c2ecf445f3664736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b823db2b1161005b578063b823db2b14610122578063d10f39a614610145578063e7a0a7ce14610158578063fe0dcca51461016b57600080fd5b80630d56f7ec1461008d5780632b85ba38146100c45780632e124da7146100fc5780634af63f021461010f575b600080fd5b610095610173565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152015b60405180910390f35b6100d76100d23660046107f4565b6101a1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bb565b6100d761010a3660046107f4565b6101cb565b6100d761011d366004610856565b6102c6565b6101356101303660046108cb565b610370565b60405190151581526020016100bb565b6101356101533660046108fe565b610383565b6100d7610166366004610856565b61038e565b6100d76104ed565b6000805481906101989073ffffffffffffffffffffffffffffffffffffffff1661053f565b90939092509050565b600080546101c59073ffffffffffffffffffffffffffffffffffffffff1683610681565b92915050565b600080546101c59073ffffffffffffffffffffffffffffffffffffffff1683604080517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606093841b60158201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060298201526038902081517fff000000000000000000000000000000000000000000000000000000000000006020828101919091523090951b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602182015260358101939093526055808401919091528151808403909101815260759092019052805191012090565b600080546102ea9073ffffffffffffffffffffffffffffffffffffffff1683610681565b905060008173ffffffffffffffffffffffffffffffffffffffff168585604051610315929190610919565b6000604051808303816000865af19150503d8060008114610352576040519150601f19603f3d011682016040523d82523d6000602084013e610357565b606091505b505090508061036857610368610929565b509392505050565b600061037c8284610710565b9392505050565b60006101c58261077d565b6000807ff62d188800b594eda156757988de1a22139f89fbcb7bfc58e96e79b054b5cb4785856040516024016103c5929190610958565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526000549091506104689073ffffffffffffffffffffffffffffffffffffffff1684610681565b915060008273ffffffffffffffffffffffffffffffffffffffff168260405161049191906109a5565b6000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b50509050806104e4576104e4610929565b50509392505050565b6000805481906105129073ffffffffffffffffffffffffffffffffffffffff1661053f565b506000549091506105399073ffffffffffffffffffffffffffffffffffffffff1682610681565b91505090565b6000806000806105a6856040517f600b5981380380925939f3363d3d373d3d3d363d730000000000000000000000815260609190911b60158201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000602982015290603890565b80822091935091506000805b33608090815260a083905260c090206040517fff0000000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526035810182905260558101859052909750607501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120955050843b15801590610677578160010191506105b2565b5050505050915091565b6040517f600b5981380380925939f3363d3d373d3d3d363d7300000000000000000000008152606083901b60158201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006029820152600090603883156106eb578381836000f592505b836106f85780826000f092505b823b610708573d6000803e3d6000fd5b505092915050565b60006040517f363d3d373d3d3d363d730000000000000000000000000000000000000000000081528260601b600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e82015260408101602d600082873c519051149392505050565b6000604051604081016015600a83863c7f363d3d373d3d3d363d730000000000000000000000000000000000000000000081529051600a8201527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000601e8201526040810190602d600083863c905190511492915050565b60006020828403121561080657600080fd5b5035919050565b60008083601f84011261081f57600080fd5b50813567ffffffffffffffff81111561083757600080fd5b60208301915083602082850101111561084f57600080fd5b9250929050565b60008060006040848603121561086b57600080fd5b833567ffffffffffffffff81111561088257600080fd5b61088e8682870161080d565b909790965060209590950135949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108c657600080fd5b919050565b600080604083850312156108de57600080fd5b6108e7836108a2565b91506108f5602084016108a2565b90509250929050565b60006020828403121561091057600080fd5b61037c826108a2565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b6000825160005b818110156109c657602081860181015185830152016109ac565b818111156109d5576000828501525b50919091019291505056fea264697066735822122087a01c277001bd332917f8485046ebea193a710d890aba9eee573c2ecf445f3664736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -67,6 +67,6 @@ {

],
"bytecode": "0x60806040526000805534801561001457600080fd5b50610762806100246000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c040e6b811610050578063c040e6b8146100b2578063d732d955146100c9578063e8927fbc146100d157600080fd5b80633ab286d814610077578063ac9650d814610081578063af0882e3146100aa575b600080fd5b61007f6100d9565b005b61009461008f366004610361565b610154565b6040516100a19190610450565b60405180910390f35b61007f6102c6565b6100bb60005481565b6040519081526020016100a1565b61007f61033c565b61007f610352565b6000805490806100e8836104ff565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f646563726561736500000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60608167ffffffffffffffff81111561016f5761016f610538565b6040519080825280602002602001820160405280156101a257816020015b606081526020019060019003908161018d5790505b50905060005b828110156102bf57600080308686858181106101c6576101c6610567565b90506020028101906101d89190610596565b6040516101e6929190610602565b600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508161028c5760448151101561023f57600080fd5b600481019050808060200190518101906102599190610612565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014b91906106dd565b8084848151811061029f5761029f610567565b6020026020010181905250505080806102b7906104ff565b9150506101a8565b5092915050565b6000805490806102d5836104ff565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f696e637265617365000000000000000000000000000000000000000000000000604482015260640161014b565b60008054908061034b836106f7565b9190505550565b60008054908061034b836104ff565b6000806020838503121561037457600080fd5b823567ffffffffffffffff8082111561038c57600080fd5b818501915085601f8301126103a057600080fd5b8135818111156103af57600080fd5b8660208260051b85010111156103c457600080fd5b60209290920196919550909350505050565b60005b838110156103f15781810151838201526020016103d9565b83811115610400576000848401525b50505050565b6000815180845261041e8160208601602086016103d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156104c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526104b1858351610406565b94509285019290850190600101610477565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610531576105316104d0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126105cb57600080fd5b83018035915067ffffffffffffffff8211156105e657600080fd5b6020019150368190038213156105fb57600080fd5b9250929050565b8183823760009101908152919050565b60006020828403121561062457600080fd5b815167ffffffffffffffff8082111561063c57600080fd5b818401915084601f83011261065057600080fd5b81518181111561066257610662610538565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156106a8576106a8610538565b816040528281528760208487010111156106c157600080fd5b6106d28360208301602088016103d6565b979650505050505050565b6020815260006106f06020830184610406565b9392505050565b600081610706576107066104d0565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220270aa28fa3bd37dc7c0b827855700575ccc6b23f7d21a1fde451f9180230315564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063c040e6b811610050578063c040e6b8146100b2578063d732d955146100c9578063e8927fbc146100d157600080fd5b80633ab286d814610077578063ac9650d814610081578063af0882e3146100aa575b600080fd5b61007f6100d9565b005b61009461008f366004610361565b610154565b6040516100a19190610450565b60405180910390f35b61007f6102c6565b6100bb60005481565b6040519081526020016100a1565b61007f61033c565b61007f610352565b6000805490806100e8836104ff565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f646563726561736500000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60608167ffffffffffffffff81111561016f5761016f610538565b6040519080825280602002602001820160405280156101a257816020015b606081526020019060019003908161018d5790505b50905060005b828110156102bf57600080308686858181106101c6576101c6610567565b90506020028101906101d89190610596565b6040516101e6929190610602565b600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508161028c5760448151101561023f57600080fd5b600481019050808060200190518101906102599190610612565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014b91906106dd565b8084848151811061029f5761029f610567565b6020026020010181905250505080806102b7906104ff565b9150506101a8565b5092915050565b6000805490806102d5836104ff565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f696e637265617365000000000000000000000000000000000000000000000000604482015260640161014b565b60008054908061034b836106f7565b9190505550565b60008054908061034b836104ff565b6000806020838503121561037457600080fd5b823567ffffffffffffffff8082111561038c57600080fd5b818501915085601f8301126103a057600080fd5b8135818111156103af57600080fd5b8660208260051b85010111156103c457600080fd5b60209290920196919550909350505050565b60005b838110156103f15781810151838201526020016103d9565b83811115610400576000848401525b50505050565b6000815180845261041e8160208601602086016103d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156104c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526104b1858351610406565b94509285019290850190600101610477565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610531576105316104d0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126105cb57600080fd5b83018035915067ffffffffffffffff8211156105e657600080fd5b6020019150368190038213156105fb57600080fd5b9250929050565b8183823760009101908152919050565b60006020828403121561062457600080fd5b815167ffffffffffffffff8082111561063c57600080fd5b818401915084601f83011261065057600080fd5b81518181111561066257610662610538565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156106a8576106a8610538565b816040528281528760208487010111156106c157600080fd5b6106d28360208301602088016103d6565b979650505050505050565b6020815260006106f06020830184610406565b9392505050565b600081610706576107066104d0565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220270aa28fa3bd37dc7c0b827855700575ccc6b23f7d21a1fde451f9180230315564736f6c634300080c0033",
"bytecode": "0x60806040526000805534801561001457600080fd5b506105fb806100246000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c040e6b811610050578063c040e6b8146100b2578063d732d955146100c9578063e8927fbc146100d157600080fd5b80633ab286d814610077578063ac9650d814610081578063af0882e3146100aa575b600080fd5b61007f6100d9565b005b61009461008f366004610303565b610154565b6040516100a19190610378565b60405180910390f35b61007f610268565b6100bb60005481565b6040519081526020016100a1565b61007f6102de565b61007f6102f4565b6000805490806100e88361047e565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f646563726561736500000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6060818067ffffffffffffffff811115610170576101706104b6565b6040519080825280602002602001820160405280156101a357816020015b606081526020019060019003908161018e5790505b50915060005b81811461026057600080308787858181106101c6576101c66104e5565b90506020028101906101d89190610514565b6040516101e6929190610580565b600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508161023857805181602001fd5b8085848151811061024b5761024b6104e5565b602090810291909101015250506001016101a9565b505092915050565b6000805490806102778361047e565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f696e637265617365000000000000000000000000000000000000000000000000604482015260640161014b565b6000805490806102ed83610590565b9190505550565b6000805490806102ed8361047e565b6000806020838503121561031657600080fd5b823567ffffffffffffffff8082111561032e57600080fd5b818501915085601f83011261034257600080fd5b81358181111561035157600080fd5b8660208260051b850101111561036657600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b818110156103f3578281018a01518982018b015289016103d8565b8181111561040357848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016103a0565b509398975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036104af576104af61044f565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261054957600080fd5b83018035915067ffffffffffffffff82111561056457600080fd5b60200191503681900382131561057957600080fd5b9250929050565b8183823760009101908152919050565b60008161059f5761059f61044f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea264697066735822122070bf145b35543778a31ba2c376ed1663969068a1c2c7418cec9b45452551365864736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063c040e6b811610050578063c040e6b8146100b2578063d732d955146100c9578063e8927fbc146100d157600080fd5b80633ab286d814610077578063ac9650d814610081578063af0882e3146100aa575b600080fd5b61007f6100d9565b005b61009461008f366004610303565b610154565b6040516100a19190610378565b60405180910390f35b61007f610268565b6100bb60005481565b6040519081526020016100a1565b61007f6102de565b61007f6102f4565b6000805490806100e88361047e565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f646563726561736500000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6060818067ffffffffffffffff811115610170576101706104b6565b6040519080825280602002602001820160405280156101a357816020015b606081526020019060019003908161018e5790505b50915060005b81811461026057600080308787858181106101c6576101c66104e5565b90506020028101906101d89190610514565b6040516101e6929190610580565b600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508161023857805181602001fd5b8085848151811061024b5761024b6104e5565b602090810291909101015250506001016101a9565b505092915050565b6000805490806102778361047e565b90915550506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f696e637265617365000000000000000000000000000000000000000000000000604482015260640161014b565b6000805490806102ed83610590565b9190505550565b6000805490806102ed8361047e565b6000806020838503121561031657600080fd5b823567ffffffffffffffff8082111561032e57600080fd5b818501915085601f83011261034257600080fd5b81358181111561035157600080fd5b8660208260051b850101111561036657600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610441577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b818110156103f3578281018a01518982018b015289016103d8565b8181111561040357848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016103a0565b509398975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036104af576104af61044f565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261054957600080fd5b83018035915067ffffffffffffffff82111561056457600080fd5b60200191503681900382131561057957600080fd5b9250929050565b8183823760009101908152919050565b60008161059f5761059f61044f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea264697066735822122070bf145b35543778a31ba2c376ed1663969068a1c2c7418cec9b45452551365864736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -10,3 +10,3 @@ {

"internalType": "address",
"name": "_operator",
"name": "",
"type": "address"

@@ -16,3 +16,3 @@ },

"internalType": "address",
"name": "_from",
"name": "",
"type": "address"

@@ -22,3 +22,3 @@ },

"internalType": "uint256",
"name": "_tokenId",
"name": "",
"type": "uint256"

@@ -28,3 +28,3 @@ },

"internalType": "bytes",
"name": "_data",
"name": "",
"type": "bytes"

@@ -41,10 +41,10 @@ }

],
"stateMutability": "nonpayable",
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610224806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f5ff8375834febdf924f2521aee79f68b4412872dec54cd87ae2cb7060b7cf9d1949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220d20a79c93d17e2ef04c47315dc608e17491616386c49ad8d400cb2215a80f6f564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f5ff8375834febdf924f2521aee79f68b4412872dec54cd87ae2cb7060b7cf9d1949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220d20a79c93d17e2ef04c47315dc608e17491616386c49ad8d400cb2215a80f6f564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610224806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f5ff8375834febdf924f2521aee79f68b4412872dec54cd87ae2cb7060b7cf9d1949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220e46149e3bb8a29e4f0742eaf3f30c139a8131dfe392b933578647c0939bced8b64736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61006761003e3660046100f4565b7f5ff8375834febdf924f2521aee79f68b4412872dec54cd87ae2cb7060b7cf9d1949350505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b803573ffffffffffffffffffffffffffffffffffffffff811681146100c057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561010a57600080fd5b6101138561009c565b93506101216020860161009c565b925060408501359150606085013567ffffffffffffffff8082111561014557600080fd5b818701915087601f83011261015957600080fd5b81358181111561016b5761016b6100c5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101b1576101b16100c5565b816040528281528a60208487010111156101ca57600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220e46149e3bb8a29e4f0742eaf3f30c139a8131dfe392b933578647c0939bced8b64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,2 +7,24 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"anonymous": false,

@@ -9,0 +31,0 @@ "inputs": [

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -12,2 +12,24 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"anonymous": false,

@@ -78,6 +100,6 @@ "inputs": [

],
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36104378061005f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80637fec8d38146100515780638da5cb5b1461005b578063ed0c7091146100a4578063f2fde38b146100ac575b600080fd5b6100596100bf565b005b60005461007b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610059610170565b6100596100ba3660046103c4565b610245565b60005473ffffffffffffffffffffffffffffffffffffffff163314610145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161013c565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161013c565b73ffffffffffffffffffffffffffffffffffffffff8116610343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161013c565b61034c8161034f565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103d657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103fa57600080fd5b939250505056fea2646970667358221220c53ceb91ea92b0a056f0cbdcf6aa5c97094f3c540b2e1a2a7ada755386fdddb964736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80637fec8d38146100515780638da5cb5b1461005b578063ed0c7091146100a4578063f2fde38b146100ac575b600080fd5b6100596100bf565b005b60005461007b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610059610170565b6100596100ba3660046103c4565b610245565b60005473ffffffffffffffffffffffffffffffffffffffff163314610145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161013c565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161013c565b73ffffffffffffffffffffffffffffffffffffffff8116610343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161013c565b61034c8161034f565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103d657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103fa57600080fd5b939250505056fea2646970667358221220c53ceb91ea92b0a056f0cbdcf6aa5c97094f3c540b2e1a2a7ada755386fdddb964736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36103958061005f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80637fec8d38146100515780638da5cb5b1461005b578063ed0c7091146100a4578063f2fde38b146100ac575b600080fd5b6100596100bf565b005b60005461007b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610059610142565b6100596100ba366004610322565b6101e9565b60005473ffffffffffffffffffffffffffffffffffffffff163314610117576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b60005473ffffffffffffffffffffffffffffffffffffffff163314610195576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161010e565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161010e565b73ffffffffffffffffffffffffffffffffffffffff81166102a1576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161010e565b6102aa816102ad565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561033457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461035857600080fd5b939250505056fea2646970667358221220a25d33789ca5942344aa71e35897de3785d19726604f9089e0c112ffe36b403664736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80637fec8d38146100515780638da5cb5b1461005b578063ed0c7091146100a4578063f2fde38b146100ac575b600080fd5b6100596100bf565b005b60005461007b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610059610142565b6100596100ba366004610322565b6101e9565b60005473ffffffffffffffffffffffffffffffffffffffff163314610117576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b60005473ffffffffffffffffffffffffffffffffffffffff163314610195576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161010e565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161010e565b73ffffffffffffffffffffffffffffffffffffffff81166102a1576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161010e565b6102aa816102ad565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561033457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461035857600080fd5b939250505056fea2646970667358221220a25d33789ca5942344aa71e35897de3785d19726604f9089e0c112ffe36b403664736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -7,2 +7,24 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"anonymous": false,

@@ -80,6 +102,6 @@ "inputs": [

],
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36104658061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b1461007e578063ed0c7091146100c7578063f2fde38b146100cf57600080fd5b80637fec8d381461006c5780638129fc1c14610076575b600080fd5b6100746100e2565b005b610074610193565b60005461009e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007461019e565b6100746100dd3660046103f2565b610273565b60005473ffffffffffffffffffffffffffffffffffffffff163314610168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b61019c3361037d565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161015f565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161015f565b73ffffffffffffffffffffffffffffffffffffffff8116610371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161015f565b61037a8161037d565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561040457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461042857600080fd5b939250505056fea2646970667358221220eb9dc5bc67a8c6afca0e0948e82c573011e63ed33a7441729ee3b37b208729a564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b1461007e578063ed0c7091146100c7578063f2fde38b146100cf57600080fd5b80637fec8d381461006c5780638129fc1c14610076575b600080fd5b6100746100e2565b005b610074610193565b60005461009e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007461019e565b6100746100dd3660046103f2565b610273565b60005473ffffffffffffffffffffffffffffffffffffffff163314610168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b61019c3361037d565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461021f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161015f565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a65640000000000000000604482015260640161015f565b73ffffffffffffffffffffffffffffffffffffffff8116610371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f000000000000604482015260640161015f565b61037a8161037d565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561040457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461042857600080fd5b939250505056fea2646970667358221220eb9dc5bc67a8c6afca0e0948e82c573011e63ed33a7441729ee3b37b208729a564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36103c38061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b1461007e578063ed0c7091146100c7578063f2fde38b146100cf57600080fd5b80637fec8d381461006c5780638129fc1c14610076575b600080fd5b6100746100e2565b005b610074610165565b60005461009e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610074610170565b6100746100dd366004610350565b610217565b60005473ffffffffffffffffffffffffffffffffffffffff16331461013a576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b61016e336102db565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101c3576040517fd33ac083000000000000000000000000000000000000000000000000000000008152336004820152602401610131565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff16331461026a576040517fd33ac083000000000000000000000000000000000000000000000000000000008152336004820152602401610131565b73ffffffffffffffffffffffffffffffffffffffff81166102cf576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610131565b6102d8816102db565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561036257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461038657600080fd5b939250505056fea2646970667358221220ad7a5030f5940fd91a8662422fff0b06b50e7ff7f23f0f9912472a3e17fd243264736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b1461007e578063ed0c7091146100c7578063f2fde38b146100cf57600080fd5b80637fec8d381461006c5780638129fc1c14610076575b600080fd5b6100746100e2565b005b610074610165565b60005461009e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b610074610170565b6100746100dd366004610350565b610217565b60005473ffffffffffffffffffffffffffffffffffffffff16331461013a576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6040517feb5ce181405c0954face722624c425e2af9217ccc40636523de2f203af9be83d90600090a1565b61016e336102db565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101c3576040517fd33ac083000000000000000000000000000000000000000000000000000000008152336004820152602401610131565b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60005473ffffffffffffffffffffffffffffffffffffffff16331461026a576040517fd33ac083000000000000000000000000000000000000000000000000000000008152336004820152602401610131565b73ffffffffffffffffffffffffffffffffffffffff81166102cf576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610131565b6102d8816102db565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561036257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461038657600080fd5b939250505056fea2646970667358221220ad7a5030f5940fd91a8662422fff0b06b50e7ff7f23f0f9912472a3e17fd243264736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -19,2 +19,7 @@ {

"inputs": [],
"name": "RentrantSafe__Reentrant",
"type": "error"
},
{
"inputs": [],
"name": "decreaseFunc",

@@ -46,6 +51,6 @@ "outputs": [],

],
"bytecode": "0x6080604052600160005534801561001557600080fd5b5060405161029b38038061029b8339810160408190526100349161003c565b600155610055565b60006020828403121561004e57600080fd5b5051919050565b610237806100646000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec3813471461006b575b600080fd5b61004e610073565b005b61005960015481565b60405190815260200160405180910390f35b61004e61010e565b60005460011461008557610085610135565b60026000908155600180549161009a83610193565b9091555050333b15610107573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ee57600080fd5b505af1158015610102573d6000803e3d6000fd5b505050505b6001600055565b60005460011461012057610120610135565b60026000908155600180549161009a836101cc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101c5576101c5610164565b5060010190565b6000816101db576101db610164565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220dc375405d92585c00dcbd2c5bee174eb6f500d05638febc5f5e8a3f1a1dc00f864736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec3813471461006b575b600080fd5b61004e610073565b005b61005960015481565b60405190815260200160405180910390f35b61004e61010e565b60005460011461008557610085610135565b60026000908155600180549161009a83610193565b9091555050333b15610107573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ee57600080fd5b505af1158015610102573d6000803e3d6000fd5b505050505b6001600055565b60005460011461012057610120610135565b60026000908155600180549161009a836101cc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101c5576101c5610164565b5060010190565b6000816101db576101db610164565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220dc375405d92585c00dcbd2c5bee174eb6f500d05638febc5f5e8a3f1a1dc00f864736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b506040516102b33803806102b383398101604081905261002f91610037565b600155610050565b60006020828403121561004957600080fd5b5051919050565b6102548061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec3813471461006b575b600080fd5b61004e610073565b005b61005960015481565b60405190815260200160405180910390f35b61004e610134565b600054156100ad576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000818155815491906100c1836101b1565b9091555050333b1561012e573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561011557600080fd5b505af1158015610129573d6000803e3d6000fd5b505050505b60008055565b6000541561016e576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000818155815491906100c1836101e9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101e2576101e2610182565b5060010190565b6000816101f8576101f8610182565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212200a9716ad6537596b1e0bea03ea45bb9dcc15eb2f3d2eeab446e6f707d7bf870364736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec3813471461006b575b600080fd5b61004e610073565b005b61005960015481565b60405190815260200160405180910390f35b61004e610134565b600054156100ad576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000818155815491906100c1836101b1565b9091555050333b1561012e573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561011557600080fd5b505af1158015610129573d6000803e3d6000fd5b505050505b60008055565b6000541561016e576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000818155815491906100c1836101e9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036101e2576101e2610182565b5060010190565b6000816101f8576101f8610182565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212200a9716ad6537596b1e0bea03ea45bb9dcc15eb2f3d2eeab446e6f707d7bf870364736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -19,2 +19,7 @@ {

"inputs": [],
"name": "RentrantSafe__Reentrant",
"type": "error"
},
{
"inputs": [],
"name": "decreaseFunc",

@@ -46,6 +51,6 @@ "outputs": [],

],
"bytecode": "0x6080604052600160005534801561001557600080fd5b5060405161022f38038061022f8339810160408190526100349161003c565b600155610055565b60006020828403121561004e57600080fd5b5051919050565b6101cb806100646000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec38134714610046575b600080fd5b61004e61006b565b005b61005960015481565b60405190815260200160405180910390f35b6001805490600061007b83610106565b919050555060005460011461009257610092610166565b6002600055333b156100ff573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100e657600080fd5b505af11580156100fa573d6000803e3d6000fd5b505050505b6001600055565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561015f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122013b4aa836ef4efb6340f0f6b7875b2b4d57de3eb45df1e25db689ee71bf9b7ff64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec38134714610046575b600080fd5b61004e61006b565b005b61005960015481565b60405190815260200160405180910390f35b6001805490600061007b83610106565b919050555060005460011461009257610092610166565b6002600055333b156100ff573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100e657600080fd5b505af11580156100fa573d6000803e3d6000fd5b505050505b6001600055565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561015f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122013b4aa836ef4efb6340f0f6b7875b2b4d57de3eb45df1e25db689ee71bf9b7ff64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b5060405161022138038061022183398101604081905261002f91610037565b600155610050565b60006020828403121561004957600080fd5b5051919050565b6101c28061005f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec38134714610046575b600080fd5b61004e61006b565b005b61005960015481565b60405190815260200160405180910390f35b6001805490600061007b8361012d565b9091555050600054156100ba576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600055333b15610127573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561010e57600080fd5b505af1158015610122573d6000803e3d6000fd5b505050505b60008055565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610185577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea264697066735822122049f70eff64c65f6cd2ff744625772682618d689fc3953cf437966227b9f610c864736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80639791072014610046578063d9b5169e14610050578063ec38134714610046575b600080fd5b61004e61006b565b005b61005960015481565b60405190815260200160405180910390f35b6001805490600061007b8361012d565b9091555050600054156100ba576040517ffd1246b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600055333b15610127573373ffffffffffffffffffffffffffffffffffffffff1663c5fcbd4f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561010e57600080fd5b505af1158015610122573d6000803e3d6000fd5b505050505b60008055565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610185577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea264697066735822122049f70eff64c65f6cd2ff744625772682618d689fc3953cf437966227b9f610c864736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/52217f52acdc61e47a4d67a0eab6c29d.json"
"buildInfo": "../../../build-info/15db042f67ed5a06dca900e044e1f9a4.json"
}

@@ -39,6 +39,6 @@ {

],
"bytecode": "0x60c0604052601a60808190527f6265616e207468652044414f206f6e2074686520426c6f636b7300000000000060a090815261003e9160009190610051565b5034801561004b57600080fd5b50610125565b82805461005d906100ea565b90600052602060002090601f01602090048101928261007f57600085556100c5565b82601f1061009857805160ff19168380011785556100c5565b828001600101855582156100c5579182015b828111156100c55782518255916020019190600101906100aa565b506100d19291506100d5565b5090565b5b808211156100d157600081556001016100d6565b600181811c908216806100fe57607f821691505b6020821081141561011f57634e487b7160e01b600052602260045260246000fd5b50919050565b61041a806101346000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b604051610050919061021f565b60405180910390f35b61006c6100673660046102c1565b61010a565b6040519015158152602001610050565b6000805461008990610390565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610390565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610186565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e74656e74696f6e616c205245564552540000000000000000000000000000604482015260640160405180910390fd5b82805461019290610390565b90600052602060002090601f0160209004810192826101b457600085556101fa565b82601f106101cd57805160ff19168380011785556101fa565b828001600101855582156101fa579182015b828111156101fa5782518255916020019190600101906101df565b5061020692915061020a565b5090565b5b80821115610206576000815560010161020b565b600060208083528351808285015260005b8181101561024c57858101830151858201604001528201610230565b8181111561025e576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156102d357600080fd5b813567ffffffffffffffff808211156102eb57600080fd5b818401915084601f8301126102ff57600080fd5b81358181111561031157610311610292565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561035757610357610292565b8160405282815287602084870101111561037057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806103a457607f821691505b602082108114156103de577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122007f295158b7f968cbe39f96affe1d3863c5087ac77bf0c9399a23b35ed123d0364736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b604051610050919061021f565b60405180910390f35b61006c6100673660046102c1565b61010a565b6040519015158152602001610050565b6000805461008990610390565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610390565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610186565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e74656e74696f6e616c205245564552540000000000000000000000000000604482015260640160405180910390fd5b82805461019290610390565b90600052602060002090601f0160209004810192826101b457600085556101fa565b82601f106101cd57805160ff19168380011785556101fa565b828001600101855582156101fa579182015b828111156101fa5782518255916020019190600101906101df565b5061020692915061020a565b5090565b5b80821115610206576000815560010161020b565b600060208083528351808285015260005b8181101561024c57858101830151858201604001528201610230565b8181111561025e576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156102d357600080fd5b813567ffffffffffffffff808211156102eb57600080fd5b818401915084601f8301126102ff57600080fd5b81358181111561031157610311610292565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561035757610357610292565b8160405282815287602084870101111561037057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806103a457607f821691505b602082108114156103de577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122007f295158b7f968cbe39f96affe1d3863c5087ac77bf0c9399a23b35ed123d0364736f6c634300080c0033",
"bytecode": "0x60c0604052601a60808190527f6265616e207468652044414f206f6e2074686520426c6f636b7300000000000060a090815261003e9160009190610051565b5034801561004b57600080fd5b50610124565b82805461005d906100ea565b90600052602060002090601f01602090048101928261007f57600085556100c5565b82601f1061009857805160ff19168380011785556100c5565b828001600101855582156100c5579182015b828111156100c55782518255916020019190600101906100aa565b506100d19291506100d5565b5090565b5b808211156100d157600081556001016100d6565b600181811c908216806100fe57607f821691505b60208210810361011e57634e487b7160e01b600052602260045260246000fd5b50919050565b610419806101336000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b604051610050919061021f565b60405180910390f35b61006c6100673660046102c1565b61010a565b6040519015158152602001610050565b6000805461008990610390565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610390565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610186565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e74656e74696f6e616c205245564552540000000000000000000000000000604482015260640160405180910390fd5b82805461019290610390565b90600052602060002090601f0160209004810192826101b457600085556101fa565b82601f106101cd57805160ff19168380011785556101fa565b828001600101855582156101fa579182015b828111156101fa5782518255916020019190600101906101df565b5061020692915061020a565b5090565b5b80821115610206576000815560010161020b565b600060208083528351808285015260005b8181101561024c57858101830151858201604001528201610230565b8181111561025e576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156102d357600080fd5b813567ffffffffffffffff808211156102eb57600080fd5b818401915084601f8301126102ff57600080fd5b81358181111561031157610311610292565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561035757610357610292565b8160405282815287602084870101111561037057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806103a457607f821691505b6020821081036103dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220f7ef6e55f12c27ef343fcaec26b1c1def9f4af991603525478e37ed0cd1ea95464736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b578063f62d188814610059575b600080fd5b61004361007c565b604051610050919061021f565b60405180910390f35b61006c6100673660046102c1565b61010a565b6040519015158152602001610050565b6000805461008990610390565b80601f01602080910402602001604051908101604052809291908181526020018280546100b590610390565b80156101025780601f106100d757610100808354040283529160200191610102565b820191906000526020600020905b8154815290600101906020018083116100e557829003601f168201915b505050505081565b805160009061011f9082906020850190610186565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e74656e74696f6e616c205245564552540000000000000000000000000000604482015260640160405180910390fd5b82805461019290610390565b90600052602060002090601f0160209004810192826101b457600085556101fa565b82601f106101cd57805160ff19168380011785556101fa565b828001600101855582156101fa579182015b828111156101fa5782518255916020019190600101906101df565b5061020692915061020a565b5090565b5b80821115610206576000815560010161020b565b600060208083528351808285015260005b8181101561024c57858101830151858201604001528201610230565b8181111561025e576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156102d357600080fd5b813567ffffffffffffffff808211156102eb57600080fd5b818401915084601f8301126102ff57600080fd5b81358181111561031157610311610292565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561035757610357610292565b8160405282815287602084870101111561037057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806103a457607f821691505b6020821081036103dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220f7ef6e55f12c27ef343fcaec26b1c1def9f4af991603525478e37ed0cd1ea95464736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/d853a9c779ab21dbb8701ec1c7dd24e7.json"
"buildInfo": "../../../build-info/0df2013267ad31c58ac90b8236aff774.json"
}

@@ -10,8 +10,2 @@ {

{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": false,

@@ -23,3 +17,3 @@ "internalType": "uint32",

],
"name": "Approved",
"name": "Delayed",
"type": "event"

@@ -31,2 +25,8 @@ },

{
"indexed": true,
"internalType": "bytes32",
"name": "taskId",
"type": "bytes32"
},
{
"indexed": false,

@@ -38,3 +38,3 @@ "internalType": "uint32",

],
"name": "Delayed",
"name": "Queued",
"type": "event"

@@ -48,3 +48,3 @@ },

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -62,3 +62,3 @@ }

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -91,26 +91,12 @@ }

],
"name": "endOf",
"name": "taskOf",
"outputs": [
{
"internalType": "uint32",
"name": "",
"name": "endTime",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "stateOf",
"outputs": [
{
"internalType": "enum IScheduler.STATE",
"name": "",
"name": "state",
"type": "uint8"

@@ -117,0 +103,0 @@ }

{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/d853a9c779ab21dbb8701ec1c7dd24e7.json"
"buildInfo": "../../../build-info/0df2013267ad31c58ac90b8236aff774.json"
}

@@ -7,11 +7,43 @@ {

{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"
},
}
],
"name": "Scheduler__AlreadyQueued",
"type": "error"
},
{
"inputs": [],
"name": "Scheduler__DelayIsNotRange",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "taskId",
"type": "bytes32"
}
],
"name": "Scheduler__NotQueued",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "taskId",
"type": "bytes32"
}
],
"name": "Scheduler__RemainingTime",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,

@@ -23,3 +55,3 @@ "internalType": "uint32",

],
"name": "Approved",
"name": "Delayed",
"type": "event"

@@ -31,2 +63,8 @@ },

{
"indexed": true,
"internalType": "bytes32",
"name": "taskId",
"type": "bytes32"
},
{
"indexed": false,

@@ -38,3 +76,3 @@ "internalType": "uint32",

],
"name": "Delayed",
"name": "Queued",
"type": "event"

@@ -48,3 +86,3 @@ },

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -62,3 +100,3 @@ }

"internalType": "bytes32",
"name": "id",
"name": "taskId",
"type": "bytes32"

@@ -128,21 +166,2 @@ }

{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "endOf",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],

@@ -194,7 +213,12 @@ "name": "name",

],
"name": "stateOf",
"name": "taskOf",
"outputs": [
{
"internalType": "uint32",
"name": "endTime",
"type": "uint32"
},
{
"internalType": "enum IScheduler.STATE",
"name": "",
"name": "state",
"type": "uint8"

@@ -207,6 +231,6 @@ }

],
"bytecode": "0x60c0604052600960808190526829b1b432b23ab632b960b91b60a090815261002a916003919061003d565b5034801561003757600080fd5b50610111565b828054610049906100d6565b90600052602060002090601f01602090048101928261006b57600085556100b1565b82601f1061008457805160ff19168380011785556100b1565b828001600101855582156100b1579182015b828111156100b1578251825591602001919060010190610096565b506100bd9291506100c1565b5090565b5b808211156100bd57600081556001016100c2565b600181811c908216806100ea57607f821691505b6020821081141561010b57634e487b7160e01b600052602260045260246000fd5b50919050565b610a05806101206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c806358e3ca1c116100765780636a42b8f81161005b5780636a42b8f814610144578063a469bff214610169578063dbc2d5b71461017c57600080fd5b806358e3ca1c1461010157806364482ac41461011457600080fd5b806306fdde03146100a85780634785583d146100c65780634d2ef0b3146100db57806354cfc9e8146100ee575b600080fd5b6100b06101a2565b6040516100bd919061079a565b60405180910390f35b6100d96100d436600461080d565b610230565b005b6100d96100e936600461083f565b610240565b6100d96100fc36600461080d565b61024e565b6100d961010f36600461086b565b610257565b61013761012236600461080d565b60026020526000908152604090205460ff1681565b6040516100bd91906108bc565b6000546101549063ffffffff1681565b60405163ffffffff90911681526020016100bd565b6100d961017736600461086b565b610268565b61015461018a36600461080d565b60016020526000908152604090205463ffffffff1681565b600380546101af906108fd565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906108fd565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b505050505081565b61023d8162093a80610279565b50565b61024a82826104e5565b5050565b61023d8161065a565b61023d816201518062278d00610664565b61023d8162278d0062015180610664565b600160008381526002602052604090205460ff16600381111561029e5761029e61088d565b1461030a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5363686564756c65722f4e6f742d51756575656400000000000000000000000060448201526064015b60405180910390fd5b60008281526001602052604090205463ffffffff90811642909116101561038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5363686564756c65722f4e6f742d526561636865642d4c6f636b0000000000006044820152606401610301565b6000828152600160205260409020546103ad90829063ffffffff16610951565b63ffffffff164263ffffffff161061045157600082815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055600290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555183917fe002df96d7ca113bb763235cb265926c41e072608fd73c46163ee65237b6aa0c91a25050565b600082815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016905560029182905280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169092179091555183917fef627d0e66434f22f9f3c4ac2a0ef3ab44f42e720a9b663a1e38d990b943faee91a25050565b60008281526002602052604081205460ff1660038111156105085761050861088d565b1461056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5363686564756c65722f416c72656164792d5363686564756c656400000000006044820152606401610301565b4263ffffffff168163ffffffff16101561058b5761058b6109a0565b60005461059e9063ffffffff1682610951565b600083815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9687161790556002909152822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555483917f847d4c60c167876df3d657886467c392ed89d6e1b01eadc9ad070f7e9a6296789161063e911684610951565b60405163ffffffff909116815260200160405180910390a25050565b61023d81426104e5565b8163ffffffff168363ffffffff161015801561068c57508063ffffffff168363ffffffff1611155b80156106a357508063ffffffff168263ffffffff16105b61072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5363686564756c65722f44656c61792d69732d6e6f742d77697468696e2d526160448201527f6e676500000000000000000000000000000000000000000000000000000000006064820152608401610301565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff85169081179091556040519081527f4c63783129f00b5943cae929a3c72cb69d6dfff27b1ae6cbb408e0b27dbc86ff9060200160405180910390a1505050565b600060208083528351808285015260005b818110156107c7578581018301518582016040015282016107ab565b818111156107d9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60006020828403121561081f57600080fd5b5035919050565b803563ffffffff8116811461083a57600080fd5b919050565b6000806040838503121561085257600080fd5b8235915061086260208401610826565b90509250929050565b60006020828403121561087d57600080fd5b61088682610826565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600483106108f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600181811c9082168061091157607f821691505b6020821081141561094b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600063ffffffff808316818516808303821115610997577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212200350bc29d4e42668622b2c1cd87a0dc628ab120f1dc446de6c7a4fe2a05f36a064736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c806358e3ca1c116100765780636a42b8f81161005b5780636a42b8f814610144578063a469bff214610169578063dbc2d5b71461017c57600080fd5b806358e3ca1c1461010157806364482ac41461011457600080fd5b806306fdde03146100a85780634785583d146100c65780634d2ef0b3146100db57806354cfc9e8146100ee575b600080fd5b6100b06101a2565b6040516100bd919061079a565b60405180910390f35b6100d96100d436600461080d565b610230565b005b6100d96100e936600461083f565b610240565b6100d96100fc36600461080d565b61024e565b6100d961010f36600461086b565b610257565b61013761012236600461080d565b60026020526000908152604090205460ff1681565b6040516100bd91906108bc565b6000546101549063ffffffff1681565b60405163ffffffff90911681526020016100bd565b6100d961017736600461086b565b610268565b61015461018a36600461080d565b60016020526000908152604090205463ffffffff1681565b600380546101af906108fd565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906108fd565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b505050505081565b61023d8162093a80610279565b50565b61024a82826104e5565b5050565b61023d8161065a565b61023d816201518062278d00610664565b61023d8162278d0062015180610664565b600160008381526002602052604090205460ff16600381111561029e5761029e61088d565b1461030a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5363686564756c65722f4e6f742d51756575656400000000000000000000000060448201526064015b60405180910390fd5b60008281526001602052604090205463ffffffff90811642909116101561038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5363686564756c65722f4e6f742d526561636865642d4c6f636b0000000000006044820152606401610301565b6000828152600160205260409020546103ad90829063ffffffff16610951565b63ffffffff164263ffffffff161061045157600082815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055600290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790555183917fe002df96d7ca113bb763235cb265926c41e072608fd73c46163ee65237b6aa0c91a25050565b600082815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016905560029182905280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169092179091555183917fef627d0e66434f22f9f3c4ac2a0ef3ab44f42e720a9b663a1e38d990b943faee91a25050565b60008281526002602052604081205460ff1660038111156105085761050861088d565b1461056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5363686564756c65722f416c72656164792d5363686564756c656400000000006044820152606401610301565b4263ffffffff168163ffffffff16101561058b5761058b6109a0565b60005461059e9063ffffffff1682610951565b600083815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9687161790556002909152822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555483917f847d4c60c167876df3d657886467c392ed89d6e1b01eadc9ad070f7e9a6296789161063e911684610951565b60405163ffffffff909116815260200160405180910390a25050565b61023d81426104e5565b8163ffffffff168363ffffffff161015801561068c57508063ffffffff168363ffffffff1611155b80156106a357508063ffffffff168263ffffffff16105b61072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5363686564756c65722f44656c61792d69732d6e6f742d77697468696e2d526160448201527f6e676500000000000000000000000000000000000000000000000000000000006064820152608401610301565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff85169081179091556040519081527f4c63783129f00b5943cae929a3c72cb69d6dfff27b1ae6cbb408e0b27dbc86ff9060200160405180910390a1505050565b600060208083528351808285015260005b818110156107c7578581018301518582016040015282016107ab565b818111156107d9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60006020828403121561081f57600080fd5b5035919050565b803563ffffffff8116811461083a57600080fd5b919050565b6000806040838503121561085257600080fd5b8235915061086260208401610826565b90509250929050565b60006020828403121561087d57600080fd5b61088682610826565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600483106108f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600181811c9082168061091157607f821691505b6020821081141561094b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600063ffffffff808316818516808303821115610997577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212200350bc29d4e42668622b2c1cd87a0dc628ab120f1dc446de6c7a4fe2a05f36a064736f6c634300080c0033",
"bytecode": "0x6000805463ffffffff191663ffffffff17905560c0604052600960808190526829b1b432b23ab632b960b91b60a090815261003d9160029190610050565b5034801561004a57600080fd5b50610123565b82805461005c906100e9565b90600052602060002090601f01602090048101928261007e57600085556100c4565b82601f1061009757805160ff19168380011785556100c4565b828001600101855582156100c4579182015b828111156100c45782518255916020019190600101906100a9565b506100d09291506100d4565b5090565b5b808211156100d057600081556001016100d5565b600181811c908216806100fd57607f821691505b60208210810361011d57634e487b7160e01b600052602260045260246000fd5b50919050565b6108ad806101326000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806354cfc9e81161005b57806354cfc9e81461011457806358e3ca1c146101275780636a42b8f81461013a578063a469bff21461015f57600080fd5b806306fdde031461008d578063234bdfaa146100ab5780634785583d146100ec5780634d2ef0b314610101575b600080fd5b610095610172565b6040516100a29190610633565b60405180910390f35b6100de6100b93660046106a6565b60016020526000908152604090205463ffffffff811690640100000000900460ff1682565b6040516100a29291906106ee565b6100ff6100fa3660046106a6565b610200565b005b6100ff61010f366004610758565b610210565b6100ff6101223660046106a6565b61021e565b6100ff610135366004610784565b610227565b60005461014a9063ffffffff1681565b60405163ffffffff90911681526020016100a2565b6100ff61016d366004610784565b610238565b6002805461017f906107a6565b80601f01602080910402602001604051908101604052809291908181526020018280546101ab906107a6565b80156101f85780601f106101cd576101008083540402835291602001916101f8565b820191906000526020600020905b8154815290600101906020018083116101db57829003601f168201915b505050505081565b61020d8162093a80610249565b50565b61021a8282610432565b5050565b61020d8161054c565b61020d816201518062278d00610556565b61020d8162278d0062015180610556565b60008281526001602090815260408083208151808301909252805463ffffffff811683529192909190830190640100000000900460ff166003811115610291576102916106bf565b60038111156102a2576102a26106bf565b90525090506001816020015160038111156102bf576102bf6106bf565b146102fe576040517fedf85009000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b805163ffffffff42811691161115610345576040517fe409c21c000000000000000000000000000000000000000000000000000000008152600481018490526024016102f5565b80516103529083906107f9565b63ffffffff164263ffffffff16106103cb5760008381526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166403000000001790555184917fe002df96d7ca113bb763235cb265926c41e072608fd73c46163ee65237b6aa0c91a2505050565b60008381526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166402000000001790555184917fef627d0e66434f22f9f3c4ac2a0ef3ab44f42e720a9b663a1e38d990b943faee91a2505050565b60008083815260016020526040902054640100000000900460ff16600381111561045e5761045e6106bf565b14610498576040517fe2005268000000000000000000000000000000000000000000000000000000008152600481018390526024016102f5565b4263ffffffff168163ffffffff1610156104b4576104b4610848565b600080546104c89063ffffffff16836107f9565b60008481526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001663ffffffff851690811764010000000017909155915191825291925084917fa69beaf752bcceca0c9a038dad88300e5cdb91edd703888bdf5e7eae5842a510910160405180910390a2505050565b61020d8142610432565b8163ffffffff168363ffffffff16108061057b57508063ffffffff168363ffffffff16115b8061059157508063ffffffff168263ffffffff16115b156105c8576040517f035bcb5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff85169081179091556040519081527f4c63783129f00b5943cae929a3c72cb69d6dfff27b1ae6cbb408e0b27dbc86ff9060200160405180910390a1505050565b600060208083528351808285015260005b8181101561066057858101830151858201604001528201610644565b81811115610672576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000602082840312156106b857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b63ffffffff831681526040810160048310610732577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b803563ffffffff8116811461075357600080fd5b919050565b6000806040838503121561076b57600080fd5b8235915061077b6020840161073f565b90509250929050565b60006020828403121561079657600080fd5b61079f8261073f565b9392505050565b600181811c908216806107ba57607f821691505b6020821081036107f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600063ffffffff80831681851680830382111561083f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204ab029c9c1cd08818c769ef6f17e39ca166b2e2e576cb2a6b40d05985a0ac13364736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806354cfc9e81161005b57806354cfc9e81461011457806358e3ca1c146101275780636a42b8f81461013a578063a469bff21461015f57600080fd5b806306fdde031461008d578063234bdfaa146100ab5780634785583d146100ec5780634d2ef0b314610101575b600080fd5b610095610172565b6040516100a29190610633565b60405180910390f35b6100de6100b93660046106a6565b60016020526000908152604090205463ffffffff811690640100000000900460ff1682565b6040516100a29291906106ee565b6100ff6100fa3660046106a6565b610200565b005b6100ff61010f366004610758565b610210565b6100ff6101223660046106a6565b61021e565b6100ff610135366004610784565b610227565b60005461014a9063ffffffff1681565b60405163ffffffff90911681526020016100a2565b6100ff61016d366004610784565b610238565b6002805461017f906107a6565b80601f01602080910402602001604051908101604052809291908181526020018280546101ab906107a6565b80156101f85780601f106101cd576101008083540402835291602001916101f8565b820191906000526020600020905b8154815290600101906020018083116101db57829003601f168201915b505050505081565b61020d8162093a80610249565b50565b61021a8282610432565b5050565b61020d8161054c565b61020d816201518062278d00610556565b61020d8162278d0062015180610556565b60008281526001602090815260408083208151808301909252805463ffffffff811683529192909190830190640100000000900460ff166003811115610291576102916106bf565b60038111156102a2576102a26106bf565b90525090506001816020015160038111156102bf576102bf6106bf565b146102fe576040517fedf85009000000000000000000000000000000000000000000000000000000008152600481018490526024015b60405180910390fd5b805163ffffffff42811691161115610345576040517fe409c21c000000000000000000000000000000000000000000000000000000008152600481018490526024016102f5565b80516103529083906107f9565b63ffffffff164263ffffffff16106103cb5760008381526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166403000000001790555184917fe002df96d7ca113bb763235cb265926c41e072608fd73c46163ee65237b6aa0c91a2505050565b60008381526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000166402000000001790555184917fef627d0e66434f22f9f3c4ac2a0ef3ab44f42e720a9b663a1e38d990b943faee91a2505050565b60008083815260016020526040902054640100000000900460ff16600381111561045e5761045e6106bf565b14610498576040517fe2005268000000000000000000000000000000000000000000000000000000008152600481018390526024016102f5565b4263ffffffff168163ffffffff1610156104b4576104b4610848565b600080546104c89063ffffffff16836107f9565b60008481526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001663ffffffff851690811764010000000017909155915191825291925084917fa69beaf752bcceca0c9a038dad88300e5cdb91edd703888bdf5e7eae5842a510910160405180910390a2505050565b61020d8142610432565b8163ffffffff168363ffffffff16108061057b57508063ffffffff168363ffffffff16115b8061059157508063ffffffff168263ffffffff16115b156105c8576040517f035bcb5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff85169081179091556040519081527f4c63783129f00b5943cae929a3c72cb69d6dfff27b1ae6cbb408e0b27dbc86ff9060200160405180910390a1505050565b600060208083528351808285015260005b8181101561066057858101830151858201604001528201610644565b81811115610672576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000602082840312156106b857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b63ffffffff831681526040810160048310610732577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b803563ffffffff8116811461075357600080fd5b919050565b6000806040838503121561076b57600080fd5b8235915061077b6020840161073f565b90509250929050565b60006020828403121561079657600080fd5b61079f8261073f565b9392505050565b600181811c908216806107ba57607f821691505b6020821081036107f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600063ffffffff80831681851680830382111561083f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204ab029c9c1cd08818c769ef6f17e39ca166b2e2e576cb2a6b40d05985a0ac13364736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/0ef667e69397dfa74cf8b67e41245dd5.json"
"buildInfo": "../../../build-info/20d2aebb1f8ec60d4bba7327d70dda0f.json"
}
{
"_format": "hh-sol-artifact-1",
"contractName": "StringSpell",
"sourceName": "contracts/library/spell/StringSpell.sol",
"sourceName": "contracts/mocks/StringSpell.sol",
"abi": [

@@ -50,6 +50,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b50610275806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063367bbd781461003b578063d824ccf314610061575b600080fd5b61004e6100493660046100fc565b919050565b6040519081526020015b60405180910390f35b61007461006f36600461013e565b610081565b60405161005891906101aa565b60608484848460405160200161009a949392919061021d565b6040516020818303038152906040529050949350505050565b60008083601f8401126100c557600080fd5b50813567ffffffffffffffff8111156100dd57600080fd5b6020830191508360208285010111156100f557600080fd5b9250929050565b6000806020838503121561010f57600080fd5b823567ffffffffffffffff81111561012657600080fd5b610132858286016100b3565b90969095509350505050565b6000806000806040858703121561015457600080fd5b843567ffffffffffffffff8082111561016c57600080fd5b610178888389016100b3565b9096509450602087013591508082111561019157600080fd5b5061019e878288016100b3565b95989497509550505050565b600060208083528351808285015260005b818110156101d7578581018301518582016040015282016101bb565b818111156101e9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b838582376000848201600081528385823760009301928352509094935050505056fea2646970667358221220b5c01a81326bcc925d4dad9cbd40cdaf07abd570bad7f4acd8353c787141699564736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063367bbd781461003b578063d824ccf314610061575b600080fd5b61004e6100493660046100fc565b919050565b6040519081526020015b60405180910390f35b61007461006f36600461013e565b610081565b60405161005891906101aa565b60608484848460405160200161009a949392919061021d565b6040516020818303038152906040529050949350505050565b60008083601f8401126100c557600080fd5b50813567ffffffffffffffff8111156100dd57600080fd5b6020830191508360208285010111156100f557600080fd5b9250929050565b6000806020838503121561010f57600080fd5b823567ffffffffffffffff81111561012657600080fd5b610132858286016100b3565b90969095509350505050565b6000806000806040858703121561015457600080fd5b843567ffffffffffffffff8082111561016c57600080fd5b610178888389016100b3565b9096509450602087013591508082111561019157600080fd5b5061019e878288016100b3565b95989497509550505050565b600060208083528351808285015260005b818110156101d7578581018301518582016040015282016101bb565b818111156101e9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b838582376000848201600081528385823760009301928352509094935050505056fea2646970667358221220b5c01a81326bcc925d4dad9cbd40cdaf07abd570bad7f4acd8353c787141699564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610275806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063367bbd781461003b578063d824ccf314610061575b600080fd5b61004e6100493660046100fc565b919050565b6040519081526020015b60405180910390f35b61007461006f36600461013e565b610081565b60405161005891906101aa565b60608484848460405160200161009a949392919061021d565b6040516020818303038152906040529050949350505050565b60008083601f8401126100c557600080fd5b50813567ffffffffffffffff8111156100dd57600080fd5b6020830191508360208285010111156100f557600080fd5b9250929050565b6000806020838503121561010f57600080fd5b823567ffffffffffffffff81111561012657600080fd5b610132858286016100b3565b90969095509350505050565b6000806000806040858703121561015457600080fd5b843567ffffffffffffffff8082111561016c57600080fd5b610178888389016100b3565b9096509450602087013591508082111561019157600080fd5b5061019e878288016100b3565b95989497509550505050565b600060208083528351808285015260005b818110156101d7578581018301518582016040015282016101bb565b818111156101e9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b838582376000848201600081528385823760009301928352509094935050505056fea26469706673582212205d0c79771e28d33b9b2c70c3201f9763ba30b1399ba2146f9e11a83f85fa78b464736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063367bbd781461003b578063d824ccf314610061575b600080fd5b61004e6100493660046100fc565b919050565b6040519081526020015b60405180910390f35b61007461006f36600461013e565b610081565b60405161005891906101aa565b60608484848460405160200161009a949392919061021d565b6040516020818303038152906040529050949350505050565b60008083601f8401126100c557600080fd5b50813567ffffffffffffffff8111156100dd57600080fd5b6020830191508360208285010111156100f557600080fd5b9250929050565b6000806020838503121561010f57600080fd5b823567ffffffffffffffff81111561012657600080fd5b610132858286016100b3565b90969095509350505050565b6000806000806040858703121561015457600080fd5b843567ffffffffffffffff8082111561016c57600080fd5b610178888389016100b3565b9096509450602087013591508082111561019157600080fd5b5061019e878288016100b3565b95989497509550505050565b600060208083528351808285015260005b818110156101d7578581018301518582016040015282016101bb565b818111156101e9576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b838582376000848201600081528385823760009301928352509094935050505056fea26469706673582212205d0c79771e28d33b9b2c70c3201f9763ba30b1399ba2146f9e11a83f85fa78b464736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/0b3d72f3c64ddcb234748050f55b6df5.json"
"buildInfo": "../../../build-info/b8436dce753682aeb6b65acb5f9c3c84.json"
}

@@ -33,2 +33,50 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "ERC173__NotAllowedTo",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "ERC173__NotAuthorized",
"type": "error"
},
{
"inputs": [],
"name": "ERC20__ApproveToSelf",
"type": "error"
},
{
"inputs": [],
"name": "ERC2612__ExpiredTime",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "recovered",
"type": "address"
}
],
"name": "ERC2612__InvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "Initializer__AlreadyInitialized",
"type": "error"
},
{
"anonymous": false,

@@ -254,2 +302,30 @@ "inputs": [

{
"internalType": "string",
"name": "tokenName",
"type": "string"
},
{
"internalType": "string",
"name": "tokenSymbol",
"type": "string"
},
{
"internalType": "uint8",
"name": "tokenDecimals",
"type": "uint8"
},
{
"internalType": "string",
"name": "tokenVersion",
"type": "string"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",

@@ -534,6 +610,6 @@ "name": "value",

],
"bytecode": "0x60a06040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96080523480156200003557600080fd5b5060405162001e1d38038062001e1d833981016040819052620000589162000301565b600980546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620000a4848262000101565b8351620000b99060009060208701906200018e565b508251620000cf9060019060208601906200018e565b50506002805460ff191660ff9290921691909117905550503060009081526004602052604090206000199055620003ea565b8051620001169060079060208401906200018e565b506200012f8282306200013660201b620011c01760201c565b6006555050565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b8280546200019c90620003ad565b90600052602060002090601f016020900481019282620001c057600085556200020b565b82601f10620001db57805160ff19168380011785556200020b565b828001600101855582156200020b579182015b828111156200020b578251825591602001919060010190620001ee565b50620002199291506200021d565b5090565b5b808211156200021957600081556001016200021e565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200025c57600080fd5b81516001600160401b038082111562000279576200027962000234565b604051601f8301601f19908116603f01168101908282118183101715620002a457620002a462000234565b81604052838152602092508683858801011115620002c157600080fd5b600091505b83821015620002e55785820183015181830184015290820190620002c6565b83821115620002f75760008385830101525b9695505050505050565b600080600080608085870312156200031857600080fd5b84516001600160401b03808211156200033057600080fd5b6200033e888389016200024a565b955060208701519150808211156200035557600080fd5b62000363888389016200024a565b94506040870151915060ff821682146200037c57600080fd5b6060870151919350808211156200039257600080fd5b50620003a1878288016200024a565b91505092959194509250565b600181811c90821680620003c257607f821691505b60208210811415620003e457634e487b7160e01b600052602260045260246000fd5b50919050565b608051611a106200040d600039600081816102110152610df60152611a106000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063a9059cbb1161008c578063dd62ed3e11610066578063dd62ed3e14610384578063ed0c7091146103af578063f2fde38b146103b757600080fd5b8063a9059cbb1461033c578063ac9650d81461034f578063d505accf1461036f57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102dc57806395d89b4114610321578063a0712d681461032957600080fd5b806370a082311461028957806379cc6790146102a95780637ecebe00146102bc57600080fd5b806330adf81f1161014557806342966c681161011f57806342966c681461025b578063449a52f81461026e57806354fd4d501461028157600080fd5b806330adf81f1461020c578063313ce567146102335780633644e5151461025257600080fd5b8063095ea7b311610176578063095ea7b3146101cf57806318160ddd146101e257806323b872dd146101f957600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a036600461141b565b6103ca565b60405190151581526020015b60405180910390f35b6101c26105df565b6040516101b191906114de565b6101a56101dd366004611515565b61066d565b6101eb60035481565b6040519081526020016101b1565b6101a561020736600461153f565b610683565b6101eb7f000000000000000000000000000000000000000000000000000000000000000081565b6002546102409060ff1681565b60405160ff90911681526020016101b1565b6101eb60065481565b6101a561026936600461157b565b6106e0565b6101a561027c366004611515565b6107d8565b6101c2610907565b6101eb610297366004611594565b60046020526000908152604090205481565b6101a56102b7366004611515565b610914565b6101eb6102ca366004611594565b60086020526000908152604090205481565b6009546102fc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b6101c2610a6b565b6101a561033736600461157b565b610a78565b6101a561034a366004611515565b610b57565b61036261035d3660046115af565b610b64565b6040516101b19190611624565b61038261037d3660046116a4565b610cd6565b005b6101eb610392366004611717565b600560209081526000928352604080842090915290825290205481565b610382610fde565b6103826103c5366004611594565b6110b6565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f942e8b2200000000000000000000000000000000000000000000000000000000148061045d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fe4eb7f9000000000000000000000000000000000000000000000000000000000145b806104a957507fffffffff0000000000000000000000000000000000000000000000000000000082167f3b5a0bf800000000000000000000000000000000000000000000000000000000145b806104f557507fffffffff0000000000000000000000000000000000000000000000000000000082167fd505accf00000000000000000000000000000000000000000000000000000000145b8061054157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061058d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000145b806105d957507fffffffff0000000000000000000000000000000000000000000000000000000082167fac9650d800000000000000000000000000000000000000000000000000000000145b92915050565b600080546105ec9061174a565b80601f01602080910402602001604051908101604052809291908181526020018280546106189061174a565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b505050505081565b600061067a338484611218565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120805483919083906106c59084906117cd565b909155506106d69050848484611307565b5060019392505050565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b33600090815260046020526040812080548492906107889084906117cd565b909155505060038054839003905560405182815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35060015b919050565b60095460009073ffffffffffffffffffffffffffffffffffffffff16331461085c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040812080548492906108919084906117e4565b9250508190555081600360008282546108aa91906117e4565b909155505060405182815273ffffffffffffffffffffffffffffffffffffffff8416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350600192915050565b600780546105ec9061174a565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600560209081526040808320338452909152812080548492906109d89084906117cd565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604081208054849290610a129084906117cd565b909155505060038054839003905560405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016108f6565b600180546105ec9061174a565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b8160036000828254610b0e91906117e4565b9091555050336000818152600460209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107c7565b600061067a338484611307565b60608167ffffffffffffffff811115610b7f57610b7f6117fc565b604051908082528060200260200182016040528015610bb257816020015b6060815260200190600190039081610b9d5790505b50905060005b82811015610ccf5760008030868685818110610bd657610bd661182b565b9050602002810190610be8919061185a565b604051610bf69291906118c6565b600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b509150915081610c9c57604481511015610c4f57600080fd5b60048101905080806020019051810190610c6991906118d6565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076091906114de565b80848481518110610caf57610caf61182b565b602002602001018190525050508080610cc7906119a1565b915050610bb8565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8716610d53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f455243323631322f496e76616c69642d616464726573732d30000000000000006044820152606401610760565b42841015610dbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f455243323631322f457870697265642d74696d650000000000000000000000006044820152606401610760565b60065473ffffffffffffffffffffffffffffffffffffffff888116600081815260086020908152604080832080546001810190915581517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948c166060850152608084018b905260a084019490945260c08084018a90528451808503909101815260e084019485905280519101207f1901000000000000000000000000000000000000000000000000000000000000845260e283019490945261010290910192909252604290206040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610ee7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610f6257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610fc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f455243323631322f496e76616c69642d5369676e6174757265000000000000006044820152606401610760565b5050610fd5878787611218565b50505050505050565b60095473ffffffffffffffffffffffffffffffffffffffff16331461105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b600980547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60095473ffffffffffffffffffffffffffffffffffffffff163314611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff81166111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f0000000000006044820152606401610760565b6111bd816113a4565b50565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b73ffffffffffffffffffffffffffffffffffffffff8216301415611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f45524332302f496d706f737369626c652d417070726f76652d746f2d53656c666044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805483929061133c9084906117cd565b909155505073ffffffffffffffffffffffffffffffffffffffff808316600081815260046020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112fa9085815260200190565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561142d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461145d57600080fd5b9392505050565b60005b8381101561147f578181015183820152602001611467565b8381111561148e576000848401525b50505050565b600081518084526114ac816020860160208601611464565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061145d6020830184611494565b803573ffffffffffffffffffffffffffffffffffffffff811681146107d357600080fd5b6000806040838503121561152857600080fd5b611531836114f1565b946020939093013593505050565b60008060006060848603121561155457600080fd5b61155d846114f1565b925061156b602085016114f1565b9150604084013590509250925092565b60006020828403121561158d57600080fd5b5035919050565b6000602082840312156115a657600080fd5b61145d826114f1565b600080602083850312156115c257600080fd5b823567ffffffffffffffff808211156115da57600080fd5b818501915085601f8301126115ee57600080fd5b8135818111156115fd57600080fd5b8660208260051b850101111561161257600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611697577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611685858351611494565b9450928501929085019060010161164b565b5092979650505050505050565b600080600080600080600060e0888a0312156116bf57600080fd5b6116c8886114f1565b96506116d6602089016114f1565b95506040880135945060608801359350608088013560ff811681146116fa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561172a57600080fd5b611733836114f1565b9150611741602084016114f1565b90509250929050565b600181811c9082168061175e57607f821691505b60208210811415611798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156117df576117df61179e565b500390565b600082198211156117f7576117f761179e565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261188f57600080fd5b83018035915067ffffffffffffffff8211156118aa57600080fd5b6020019150368190038213156118bf57600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156118e857600080fd5b815167ffffffffffffffff8082111561190057600080fd5b818401915084601f83011261191457600080fd5b815181811115611926576119266117fc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196c5761196c6117fc565b8160405282815287602084870101111561198557600080fd5b611996836020830160208801611464565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156119d3576119d361179e565b506001019056fea26469706673582212200d32eae0e8bf8aa3e68ec2d66598086e3f52c63dd6c1dedbd0d76922106a034064736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063a9059cbb1161008c578063dd62ed3e11610066578063dd62ed3e14610384578063ed0c7091146103af578063f2fde38b146103b757600080fd5b8063a9059cbb1461033c578063ac9650d81461034f578063d505accf1461036f57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102dc57806395d89b4114610321578063a0712d681461032957600080fd5b806370a082311461028957806379cc6790146102a95780637ecebe00146102bc57600080fd5b806330adf81f1161014557806342966c681161011f57806342966c681461025b578063449a52f81461026e57806354fd4d501461028157600080fd5b806330adf81f1461020c578063313ce567146102335780633644e5151461025257600080fd5b8063095ea7b311610176578063095ea7b3146101cf57806318160ddd146101e257806323b872dd146101f957600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a036600461141b565b6103ca565b60405190151581526020015b60405180910390f35b6101c26105df565b6040516101b191906114de565b6101a56101dd366004611515565b61066d565b6101eb60035481565b6040519081526020016101b1565b6101a561020736600461153f565b610683565b6101eb7f000000000000000000000000000000000000000000000000000000000000000081565b6002546102409060ff1681565b60405160ff90911681526020016101b1565b6101eb60065481565b6101a561026936600461157b565b6106e0565b6101a561027c366004611515565b6107d8565b6101c2610907565b6101eb610297366004611594565b60046020526000908152604090205481565b6101a56102b7366004611515565b610914565b6101eb6102ca366004611594565b60086020526000908152604090205481565b6009546102fc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b6101c2610a6b565b6101a561033736600461157b565b610a78565b6101a561034a366004611515565b610b57565b61036261035d3660046115af565b610b64565b6040516101b19190611624565b61038261037d3660046116a4565b610cd6565b005b6101eb610392366004611717565b600560209081526000928352604080842090915290825290205481565b610382610fde565b6103826103c5366004611594565b6110b6565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f942e8b2200000000000000000000000000000000000000000000000000000000148061045d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fe4eb7f9000000000000000000000000000000000000000000000000000000000145b806104a957507fffffffff0000000000000000000000000000000000000000000000000000000082167f3b5a0bf800000000000000000000000000000000000000000000000000000000145b806104f557507fffffffff0000000000000000000000000000000000000000000000000000000082167fd505accf00000000000000000000000000000000000000000000000000000000145b8061054157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061058d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000145b806105d957507fffffffff0000000000000000000000000000000000000000000000000000000082167fac9650d800000000000000000000000000000000000000000000000000000000145b92915050565b600080546105ec9061174a565b80601f01602080910402602001604051908101604052809291908181526020018280546106189061174a565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b505050505081565b600061067a338484611218565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120805483919083906106c59084906117cd565b909155506106d69050848484611307565b5060019392505050565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a6564000000000000000060448201526064015b60405180910390fd5b33600090815260046020526040812080548492906107889084906117cd565b909155505060038054839003905560405182815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35060015b919050565b60095460009073ffffffffffffffffffffffffffffffffffffffff16331461085c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040812080548492906108919084906117e4565b9250508190555081600360008282546108aa91906117e4565b909155505060405182815273ffffffffffffffffffffffffffffffffffffffff8416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350600192915050565b600780546105ec9061174a565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600560209081526040808320338452909152812080548492906109d89084906117cd565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604081208054849290610a129084906117cd565b909155505060038054839003905560405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016108f6565b600180546105ec9061174a565b60095460009073ffffffffffffffffffffffffffffffffffffffff163314610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b8160036000828254610b0e91906117e4565b9091555050336000818152600460209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107c7565b600061067a338484611307565b60608167ffffffffffffffff811115610b7f57610b7f6117fc565b604051908082528060200260200182016040528015610bb257816020015b6060815260200190600190039081610b9d5790505b50905060005b82811015610ccf5760008030868685818110610bd657610bd661182b565b9050602002810190610be8919061185a565b604051610bf69291906118c6565b600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b509150915081610c9c57604481511015610c4f57600080fd5b60048101905080806020019051810190610c6991906118d6565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076091906114de565b80848481518110610caf57610caf61182b565b602002602001018190525050508080610cc7906119a1565b915050610bb8565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8716610d53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f455243323631322f496e76616c69642d616464726573732d30000000000000006044820152606401610760565b42841015610dbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f455243323631322f457870697265642d74696d650000000000000000000000006044820152606401610760565b60065473ffffffffffffffffffffffffffffffffffffffff888116600081815260086020908152604080832080546001810190915581517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948c166060850152608084018b905260a084019490945260c08084018a90528451808503909101815260e084019485905280519101207f1901000000000000000000000000000000000000000000000000000000000000845260e283019490945261010290910192909252604290206040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610ee7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610f6257508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610fc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f455243323631322f496e76616c69642d5369676e6174757265000000000000006044820152606401610760565b5050610fd5878787611218565b50505050505050565b60095473ffffffffffffffffffffffffffffffffffffffff16331461105f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b600980547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60095473ffffffffffffffffffffffffffffffffffffffff163314611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f776e6572736869702f4e6f742d417574686f72697a656400000000000000006044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff81166111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f776e6572736869702f4e6f742d416c6c6f7765642d5a65726f0000000000006044820152606401610760565b6111bd816113a4565b50565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b73ffffffffffffffffffffffffffffffffffffffff8216301415611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f45524332302f496d706f737369626c652d417070726f76652d746f2d53656c666044820152606401610760565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805483929061133c9084906117cd565b909155505073ffffffffffffffffffffffffffffffffffffffff808316600081815260046020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112fa9085815260200190565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561142d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461145d57600080fd5b9392505050565b60005b8381101561147f578181015183820152602001611467565b8381111561148e576000848401525b50505050565b600081518084526114ac816020860160208601611464565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061145d6020830184611494565b803573ffffffffffffffffffffffffffffffffffffffff811681146107d357600080fd5b6000806040838503121561152857600080fd5b611531836114f1565b946020939093013593505050565b60008060006060848603121561155457600080fd5b61155d846114f1565b925061156b602085016114f1565b9150604084013590509250925092565b60006020828403121561158d57600080fd5b5035919050565b6000602082840312156115a657600080fd5b61145d826114f1565b600080602083850312156115c257600080fd5b823567ffffffffffffffff808211156115da57600080fd5b818501915085601f8301126115ee57600080fd5b8135818111156115fd57600080fd5b8660208260051b850101111561161257600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611697577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611685858351611494565b9450928501929085019060010161164b565b5092979650505050505050565b600080600080600080600060e0888a0312156116bf57600080fd5b6116c8886114f1565b96506116d6602089016114f1565b95506040880135945060608801359350608088013560ff811681146116fa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561172a57600080fd5b611733836114f1565b9150611741602084016114f1565b90509250929050565b600181811c9082168061175e57607f821691505b60208210811415611798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156117df576117df61179e565b500390565b600082198211156117f7576117f761179e565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261188f57600080fd5b83018035915067ffffffffffffffff8211156118aa57600080fd5b6020019150368190038213156118bf57600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156118e857600080fd5b815167ffffffffffffffff8082111561190057600080fd5b818401915084601f83011261191457600080fd5b815181811115611926576119266117fc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561196c5761196c6117fc565b8160405282815287602084870101111561198557600080fd5b611996836020830160208801611464565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156119d3576119d361179e565b506001019056fea26469706673582212200d32eae0e8bf8aa3e68ec2d66598086e3f52c63dd6c1dedbd0d76922106a034064736f6c634300080c0033",
"bytecode": "0x60806040523480156200001157600080fd5b5060405162001e1338038062001e138339810160408190526200003491620002f7565b838185858582600090805190602001906200005192919062000184565b5081516200006790600190602085019062000184565b506002805460ff191660ff92909216919091179055506200008b90508282620000f7565b5050600980543361010081026001600160a81b0319909216919091176001179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050306000908152600460205260409020600019905550620003df9050565b80516200010c90600790602084019062000184565b50620001258282306200012c60201b620010c11760201c565b6006555050565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b8280546200019290620003a3565b90600052602060002090601f016020900481019282620001b6576000855562000201565b82601f10620001d157805160ff191683800117855562000201565b8280016001018555821562000201579182015b8281111562000201578251825591602001919060010190620001e4565b506200020f92915062000213565b5090565b5b808211156200020f576000815560010162000214565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200025257600080fd5b81516001600160401b03808211156200026f576200026f6200022a565b604051601f8301601f19908116603f011681019082821181831017156200029a576200029a6200022a565b81604052838152602092508683858801011115620002b757600080fd5b600091505b83821015620002db5785820183015181830184015290820190620002bc565b83821115620002ed5760008385830101525b9695505050505050565b600080600080608085870312156200030e57600080fd5b84516001600160401b03808211156200032657600080fd5b620003348883890162000240565b955060208701519150808211156200034b57600080fd5b620003598883890162000240565b94506040870151915060ff821682146200037257600080fd5b6060870151919350808211156200038857600080fd5b50620003978782880162000240565b91505092959194509250565b600181811c90821680620003b857607f821691505b602082108103620003d957634e487b7160e01b600052602260045260246000fd5b50919050565b611a2480620003ef6000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806379cc6790116100e3578063ac9650d81161008c578063dd62ed3e11610066578063dd62ed3e146103a7578063ed0c7091146103d2578063f2fde38b146103da57600080fd5b8063ac9650d81461035f578063cdbed7ad1461037f578063d505accf1461039457600080fd5b806395d89b41116100bd57806395d89b4114610331578063a0712d6814610339578063a9059cbb1461034c57600080fd5b806379cc6790146102b45780637ecebe00146102c75780638da5cb5b146102e757600080fd5b8063313ce56711610145578063449a52f81161011f578063449a52f81461027957806354fd4d501461028c57806370a082311461029457600080fd5b8063313ce5671461023e5780633644e5151461025d57806342966c681461026657600080fd5b806318160ddd1161017657806318160ddd146101ed57806323b872dd1461020457806330adf81f1461021757600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063095ea7b3146101da575b600080fd5b6101b06101ab3660046113f7565b6103ed565b60405190151581526020015b60405180910390f35b6101cd610602565b6040516101bc91906114ab565b6101b06101e83660046114e2565b610690565b6101f660035481565b6040519081526020016101bc565b6101b061021236600461150c565b6106a6565b6101f67f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025461024b9060ff1681565b60405160ff90911681526020016101bc565b6101f660065481565b6101b0610274366004611548565b610703565b6101b06102873660046114e2565b6107d2565b6101cd6108d8565b6101f66102a2366004611561565b60046020526000908152604090205481565b6101b06102c23660046114e2565b6108e5565b6101f66102d5366004611561565b60086020526000908152604090205481565b60095461030c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101cd610a13565b6101b0610347366004611548565b610a20565b6101b061035a3660046114e2565b610ad6565b61037261036d36600461157c565b610ae3565b6040516101bc91906115f1565b61039261038d36600461175c565b610bf7565b005b6103926103a23660046117f5565b610d02565b6101f66103b536600461185f565b600560209081526000928352604080842090915290825290205481565b610392610f49565b6103926103e8366004611561565b610ff8565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f942e8b2200000000000000000000000000000000000000000000000000000000148061048057507fffffffff0000000000000000000000000000000000000000000000000000000082167fe4eb7f9000000000000000000000000000000000000000000000000000000000145b806104cc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3b5a0bf800000000000000000000000000000000000000000000000000000000145b8061051857507fffffffff0000000000000000000000000000000000000000000000000000000082167fd505accf00000000000000000000000000000000000000000000000000000000145b8061056457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b806105b057507fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000145b806105fc57507fffffffff0000000000000000000000000000000000000000000000000000000082167fac9650d800000000000000000000000000000000000000000000000000000000145b92915050565b6000805461060f90611892565b80601f016020809104026020016040519081016040528092919081815260200182805461063b90611892565b80156106885780601f1061065d57610100808354040283529160200191610688565b820191906000526020600020905b81548152906001019060200180831161066b57829003601f168201915b505050505081565b600061069d338484611119565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120805483919083906106e8908490611914565b909155506106f990508484846111d7565b5060019392505050565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610763576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b3360009081526004602052604081208054849290610782908490611914565b909155505060038054839003905560405182815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35060015b919050565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff16331461082d576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805484929061086290849061192b565b92505081905550816003600082825461087b919061192b565b909155505060405182815273ffffffffffffffffffffffffffffffffffffffff8416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350600192915050565b6007805461060f90611892565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610940576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915281208054849290610980908490611914565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040812080548492906109ba908490611914565b909155505060038054839003905560405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016108c7565b6001805461060f90611892565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610a7b576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b8160036000828254610a8d919061192b565b9091555050336000818152600460209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107c1565b600061069d3384846111d7565b6060818067ffffffffffffffff811115610aff57610aff611671565b604051908082528060200260200182016040528015610b3257816020015b6060815260200190600190039081610b1d5790505b50915060005b818114610bef5760008030878785818110610b5557610b55611943565b9050602002810190610b679190611972565b604051610b759291906119de565b600060405180830381855af49150503d8060008114610bb0576040519150601f19603f3d011682016040523d82523d6000602084013e610bb5565b606091505b509150915081610bc757805181602001fd5b80858481518110610bda57610bda611943565b60209081029190910101525050600101610b38565b505092915050565b60095460ff168015610c095750303b15155b15610c40576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558351610c7e90600090602087019061135e565b508251610c9290600190602086019061135e565b50600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8416179055610cca8482611274565b50503060009081526004602052604090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90555050565b42841015610d3c576040517f715406b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff878116600081815260086020908152604080832080546001810190915560065482517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958c166060860152608085018b905260a0850181905260c08086018b90528251808703909101815260e086019283905280519301929092207f1901000000000000000000000000000000000000000000000000000000000000825260e28501959095526101029093019390935260429091206040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610e69573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580610ee357508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610f32576040517ff568e7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161075a565b505050610f40878787611119565b50505050505050565b600954610100900473ffffffffffffffffffffffffffffffffffffffff163314610fa1576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b600980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b600954610100900473ffffffffffffffffffffffffffffffffffffffff163314611050576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff81166110b5576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161075a565b6110be816112e0565b50565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b3073ffffffffffffffffffffffffffffffffffffffff831603611168576040517fd447c7d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805483929061120c908490611914565b909155505073ffffffffffffffffffffffffffffffffffffffff808316600081815260046020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ca9085815260200190565b805161128790600790602084019061135e565b508151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020600655565b6009805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805461136a90611892565b90600052602060002090601f01602090048101928261138c57600085556113d2565b82601f106113a557805160ff19168380011785556113d2565b828001600101855582156113d2579182015b828111156113d25782518255916020019190600101906113b7565b506113de9291506113e2565b5090565b5b808211156113de57600081556001016113e3565b60006020828403121561140957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461143957600080fd5b9392505050565b6000815180845260005b818110156114665760208185018101518683018201520161144a565b81811115611478576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114396020830184611440565b803573ffffffffffffffffffffffffffffffffffffffff811681146107cd57600080fd5b600080604083850312156114f557600080fd5b6114fe836114be565b946020939093013593505050565b60008060006060848603121561152157600080fd5b61152a846114be565b9250611538602085016114be565b9150604084013590509250925092565b60006020828403121561155a57600080fd5b5035919050565b60006020828403121561157357600080fd5b611439826114be565b6000806020838503121561158f57600080fd5b823567ffffffffffffffff808211156115a757600080fd5b818501915085601f8301126115bb57600080fd5b8135818111156115ca57600080fd5b8660208260051b85010111156115df57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611652858351611440565b94509285019290850190600101611618565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126116b157600080fd5b813567ffffffffffffffff808211156116cc576116cc611671565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561171257611712611671565b8160405283815286602085880101111561172b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146107cd57600080fd5b6000806000806080858703121561177257600080fd5b843567ffffffffffffffff8082111561178a57600080fd5b611796888389016116a0565b955060208701359150808211156117ac57600080fd5b6117b8888389016116a0565b94506117c66040880161174b565b935060608701359150808211156117dc57600080fd5b506117e9878288016116a0565b91505092959194509250565b600080600080600080600060e0888a03121561181057600080fd5b611819886114be565b9650611827602089016114be565b955060408801359450606088013593506118436080890161174b565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561187257600080fd5b61187b836114be565b9150611889602084016114be565b90509250929050565b600181811c908216806118a657607f821691505b6020821081036118df577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611926576119266118e5565b500390565b6000821982111561193e5761193e6118e5565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126119a757600080fd5b83018035915067ffffffffffffffff8211156119c257600080fd5b6020019150368190038213156119d757600080fd5b9250929050565b818382376000910190815291905056fea2646970667358221220469a3579c010bff20f07957247a2e44de9cb353e4787f9a5e8e34cf47edc580364736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c806379cc6790116100e3578063ac9650d81161008c578063dd62ed3e11610066578063dd62ed3e146103a7578063ed0c7091146103d2578063f2fde38b146103da57600080fd5b8063ac9650d81461035f578063cdbed7ad1461037f578063d505accf1461039457600080fd5b806395d89b41116100bd57806395d89b4114610331578063a0712d6814610339578063a9059cbb1461034c57600080fd5b806379cc6790146102b45780637ecebe00146102c75780638da5cb5b146102e757600080fd5b8063313ce56711610145578063449a52f81161011f578063449a52f81461027957806354fd4d501461028c57806370a082311461029457600080fd5b8063313ce5671461023e5780633644e5151461025d57806342966c681461026657600080fd5b806318160ddd1161017657806318160ddd146101ed57806323b872dd1461020457806330adf81f1461021757600080fd5b806301ffc9a71461019d57806306fdde03146101c5578063095ea7b3146101da575b600080fd5b6101b06101ab3660046113f7565b6103ed565b60405190151581526020015b60405180910390f35b6101cd610602565b6040516101bc91906114ab565b6101b06101e83660046114e2565b610690565b6101f660035481565b6040519081526020016101bc565b6101b061021236600461150c565b6106a6565b6101f67f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025461024b9060ff1681565b60405160ff90911681526020016101bc565b6101f660065481565b6101b0610274366004611548565b610703565b6101b06102873660046114e2565b6107d2565b6101cd6108d8565b6101f66102a2366004611561565b60046020526000908152604090205481565b6101b06102c23660046114e2565b6108e5565b6101f66102d5366004611561565b60086020526000908152604090205481565b60095461030c90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101cd610a13565b6101b0610347366004611548565b610a20565b6101b061035a3660046114e2565b610ad6565b61037261036d36600461157c565b610ae3565b6040516101bc91906115f1565b61039261038d36600461175c565b610bf7565b005b6103926103a23660046117f5565b610d02565b6101f66103b536600461185f565b600560209081526000928352604080842090915290825290205481565b610392610f49565b6103926103e8366004611561565b610ff8565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f942e8b2200000000000000000000000000000000000000000000000000000000148061048057507fffffffff0000000000000000000000000000000000000000000000000000000082167fe4eb7f9000000000000000000000000000000000000000000000000000000000145b806104cc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3b5a0bf800000000000000000000000000000000000000000000000000000000145b8061051857507fffffffff0000000000000000000000000000000000000000000000000000000082167fd505accf00000000000000000000000000000000000000000000000000000000145b8061056457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b806105b057507fffffffff0000000000000000000000000000000000000000000000000000000082167f7f5828d000000000000000000000000000000000000000000000000000000000145b806105fc57507fffffffff0000000000000000000000000000000000000000000000000000000082167fac9650d800000000000000000000000000000000000000000000000000000000145b92915050565b6000805461060f90611892565b80601f016020809104026020016040519081016040528092919081815260200182805461063b90611892565b80156106885780601f1061065d57610100808354040283529160200191610688565b820191906000526020600020905b81548152906001019060200180831161066b57829003601f168201915b505050505081565b600061069d338484611119565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120805483919083906106e8908490611914565b909155506106f990508484846111d7565b5060019392505050565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610763576040517fd33ac0830000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b3360009081526004602052604081208054849290610782908490611914565b909155505060038054839003905560405182815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35060015b919050565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff16331461082d576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805484929061086290849061192b565b92505081905550816003600082825461087b919061192b565b909155505060405182815273ffffffffffffffffffffffffffffffffffffffff8416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350600192915050565b6007805461060f90611892565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610940576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915281208054849290610980908490611914565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040812080548492906109ba908490611914565b909155505060038054839003905560405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016108c7565b6001805461060f90611892565b600954600090610100900473ffffffffffffffffffffffffffffffffffffffff163314610a7b576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b8160036000828254610a8d919061192b565b9091555050336000818152600460209081526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107c1565b600061069d3384846111d7565b6060818067ffffffffffffffff811115610aff57610aff611671565b604051908082528060200260200182016040528015610b3257816020015b6060815260200190600190039081610b1d5790505b50915060005b818114610bef5760008030878785818110610b5557610b55611943565b9050602002810190610b679190611972565b604051610b759291906119de565b600060405180830381855af49150503d8060008114610bb0576040519150601f19603f3d011682016040523d82523d6000602084013e610bb5565b606091505b509150915081610bc757805181602001fd5b80858481518110610bda57610bda611943565b60209081029190910101525050600101610b38565b505092915050565b60095460ff168015610c095750303b15155b15610c40576040517f60e821a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558351610c7e90600090602087019061135e565b508251610c9290600190602086019061135e565b50600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8416179055610cca8482611274565b50503060009081526004602052604090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90555050565b42841015610d3c576040517f715406b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff878116600081815260086020908152604080832080546001810190915560065482517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958c166060860152608085018b905260a0850181905260c08086018b90528251808703909101815260e086019283905280519301929092207f1901000000000000000000000000000000000000000000000000000000000000825260e28501959095526101029093019390935260429091206040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015610e69573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580610ee357508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610f32576040517ff568e7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161075a565b505050610f40878787611119565b50505050505050565b600954610100900473ffffffffffffffffffffffffffffffffffffffff163314610fa1576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b600980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16905560405160009033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b600954610100900473ffffffffffffffffffffffffffffffffffffffff163314611050576040517fd33ac08300000000000000000000000000000000000000000000000000000000815233600482015260240161075a565b73ffffffffffffffffffffffffffffffffffffffff81166110b5576040517ff417d7a200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161075a565b6110be816112e0565b50565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81529485019390935291830191909152466060830152608082015260a0902090565b3073ffffffffffffffffffffffffffffffffffffffff831603611168576040517fd447c7d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260408120805483929061120c908490611914565b909155505073ffffffffffffffffffffffffffffffffffffffff808316600081815260046020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ca9085815260200190565b805161128790600790602084019061135e565b508151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020600655565b6009805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805461136a90611892565b90600052602060002090601f01602090048101928261138c57600085556113d2565b82601f106113a557805160ff19168380011785556113d2565b828001600101855582156113d2579182015b828111156113d25782518255916020019190600101906113b7565b506113de9291506113e2565b5090565b5b808211156113de57600081556001016113e3565b60006020828403121561140957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461143957600080fd5b9392505050565b6000815180845260005b818110156114665760208185018101518683018201520161144a565b81811115611478576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006114396020830184611440565b803573ffffffffffffffffffffffffffffffffffffffff811681146107cd57600080fd5b600080604083850312156114f557600080fd5b6114fe836114be565b946020939093013593505050565b60008060006060848603121561152157600080fd5b61152a846114be565b9250611538602085016114be565b9150604084013590509250925092565b60006020828403121561155a57600080fd5b5035919050565b60006020828403121561157357600080fd5b611439826114be565b6000806020838503121561158f57600080fd5b823567ffffffffffffffff808211156115a757600080fd5b818501915085601f8301126115bb57600080fd5b8135818111156115ca57600080fd5b8660208260051b85010111156115df57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611652858351611440565b94509285019290850190600101611618565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126116b157600080fd5b813567ffffffffffffffff808211156116cc576116cc611671565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561171257611712611671565b8160405283815286602085880101111561172b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146107cd57600080fd5b6000806000806080858703121561177257600080fd5b843567ffffffffffffffff8082111561178a57600080fd5b611796888389016116a0565b955060208701359150808211156117ac57600080fd5b6117b8888389016116a0565b94506117c66040880161174b565b935060608701359150808211156117dc57600080fd5b506117e9878288016116a0565b91505092959194509250565b600080600080600080600060e0888a03121561181057600080fd5b611819886114be565b9650611827602089016114be565b955060408801359450606088013593506118436080890161174b565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561187257600080fd5b61187b836114be565b9150611889602084016114be565b90509250929050565b600181811c908216806118a657607f821691505b6020821081036118df577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611926576119266118e5565b500390565b6000821982111561193e5761193e6118e5565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126119a757600080fd5b83018035915067ffffffffffffffff8211156119c257600080fd5b6020019150368190038213156119d757600080fd5b9250929050565b818382376000910190815291905056fea2646970667358221220469a3579c010bff20f07957247a2e44de9cb353e4787f9a5e8e34cf47edc580364736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/ac83869fb9b19b351e498c4eb9eeb95e.json"
"buildInfo": "../../../build-info/7bb10fb8db7bfc2e90bd111619481651.json"
}

@@ -33,6 +33,6 @@ {

],
"bytecode": "0x6080604052348015600f57600080fd5b5060998061001e6000396000f3fe608060405260043610601c5760003560e01c806342dad49e146021575b600080fd5b60276029565b005b604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a156fea26469706673582212206a5c9883705b4ee832db1f786ce4cdbfaa0de410d4dde6209772fa932784632d64736f6c634300080c0033",
"deployedBytecode": "0x608060405260043610601c5760003560e01c806342dad49e146021575b600080fd5b60276029565b005b604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a156fea26469706673582212206a5c9883705b4ee832db1f786ce4cdbfaa0de410d4dde6209772fa932784632d64736f6c634300080c0033",
"bytecode": "0x6080604052348015600f57600080fd5b5060998061001e6000396000f3fe608060405260043610601c5760003560e01c806342dad49e146021575b600080fd5b60276029565b005b604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a156fea2646970667358221220220176f153276393ad93e728e7def40cc8a6fabafbae09c4a10fbf537f0a1a8364736f6c634300080d0033",
"deployedBytecode": "0x608060405260043610601c5760003560e01c806342dad49e146021575b600080fd5b60276029565b005b604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a156fea2646970667358221220220176f153276393ad93e728e7def40cc8a6fabafbae09c4a10fbf537f0a1a8364736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/58b2cb707dbb6462f44fffddd0d9c3fe.json"
"buildInfo": "../../../build-info/869df29c4bd0638bc1f741fcad86437e.json"
}

@@ -6,6 +6,6 @@ {

"abi": [],
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220749ddfb3f0fac7abf06dd87ad37dde90c141b1700afc487701cab718ef77c87664736f6c634300080c0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220749ddfb3f0fac7abf06dd87ad37dde90c141b1700afc487701cab718ef77c87664736f6c634300080c0033",
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032b515e77743b2f146f6e78e384f701b21164cde2a15c7b0f79fe76c5b1a105e64736f6c634300080d0033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032b515e77743b2f146f6e78e384f701b21164cde2a15c7b0f79fe76c5b1a105e64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/58b2cb707dbb6462f44fffddd0d9c3fe.json"
"buildInfo": "../../../build-info/869df29c4bd0638bc1f741fcad86437e.json"
}

@@ -58,8 +58,37 @@ {

"type": "function"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "elements",
"type": "bytes[]"
},
{
"internalType": "bytes1",
"name": "index",
"type": "bytes1"
},
{
"internalType": "bytes",
"name": "output",
"type": "bytes"
}
],
"name": "writeOutputs",
"outputs": [
{
"internalType": "bytes[]",
"name": "",
"type": "bytes[]"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610a94806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638d666a971461003b578063a70c4f4d14610061575b600080fd5b61004e61004936600461073a565b610081565b6040519081526020015b60405180910390f35b61007461006f36600461077f565b6100b6565b6040516100589190610878565b6000602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100ae84826100ed565b949350505050565b6060602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100e4858583610123565b95945050505050565b60008083603f8460f81c60ff16168151811061010b5761010b610892565b60200260200101519050602081015191505092915050565b60606000808281805b60208110156103275786816020811061014757610147610892565b1a915060ff82141561015857610327565b60fe8260ff1614156101ad57825161018d578860405160200161017b91906108c1565b60405160208183030381529060405292505b82516101999086610970565b94506101a6602085610970565b9350610315565b60c0828116141561022157600089603f8460ff1616815181106101d2576101d2610892565b60200260200101515190506020816101ea9190610988565b156101f7576101f76109c3565b610202816020610970565b61020c9087610970565b9550610219602086610970565b945050610315565b60c082166080141561025d5788603f8360ff16168151811061024557610245610892565b602002602001015160405160200161017b9190610878565b60c08216604014156102c25788603f8360ff16168151811061028157610281610892565b602002602001015160405160200161029991906109f2565b6040516020818303038152906040529250602083516102b89190610a0e565b6101999086610970565b60c082166103155788603f8360ff1616815181106102e2576102e2610892565b6020026020010151516020146102fa576102fa6109c3565b610305602086610970565b9450610312602085610970565b93505b8061031f81610a25565b91505061012c565b50610333846004610970565b67ffffffffffffffff81111561034b5761034b6105a9565b6040519080825280601f01601f191660200182016040528015610375576020820181803683370190505b5094508660208601526000935060005b6020811015610583578681602081106103a0576103a0610892565b1a915060ff8214156103b157610583565b60fe8260ff161415610417578585016024018490526103eb836020886103d8886004610970565b602088516103e69190610a0e565b61058f565b602083516103f99190610a0e565b6104039085610970565b9350610410602086610970565b9450610571565b60c082811614156104a757600089603f8460ff16168151811061043c5761043c610892565b602002602001015151905084866024890101526104888a603f8560ff16168151811061046a5761046a610892565b60200260200101516000898860046104829190610970565b8561058f565b6104928186610970565b945061049f602087610970565b955050610571565b60c08216608014156104d5578585016024018490526103eb836020886104ce886004610970565b875161058f565b60c0821660401415610528578585016024018590526104fc836020886104ce896004610970565b6020835161050a9190610a0e565b6105149086610970565b9450610521602085610970565b9350610571565b60c0821661057157600089603f8460ff16168151811061054a5761054a610892565b6020026020010151905060208101518660248901015260208661056d9190610970565b9550505b8061057b81610a25565b915050610385565b50505050509392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561061f5761061f6105a9565b604052919050565b6000601f838184011261063957600080fd5b8235602067ffffffffffffffff80831115610656576106566105a9565b8260051b6106658382016105d8565b938452868101830193838101908986111561067f57600080fd5b84890192505b8583101561072d5782358481111561069d5760008081fd5b8901603f81018b136106af5760008081fd5b858101356040868211156106c5576106c56105a9565b6106f4887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c850116016105d8565b8281528d828486010111156107095760008081fd5b828285018a8301376000928101890192909252508352509184019190840190610685565b9998505050505050505050565b6000806040838503121561074d57600080fd5b823567ffffffffffffffff81111561076457600080fd5b61077085828601610627565b95602094909401359450505050565b60008060006060848603121561079457600080fd5b833567ffffffffffffffff8111156107ab57600080fd5b6107b786828701610627565b93505060208401357fffffffff00000000000000000000000000000000000000000000000000000000811681146107ed57600080fd5b929592945050506040919091013590565b60005b83811015610819578181015183820152602001610801565b83811115610828576000848401525b50505050565b600081518084526108468160208601602086016107fe565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061088b602083018461082e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610934577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261092285835161082e565b945092850192908501906001016108e8565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561098357610983610941565b500190565b6000826109be577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008251610a048184602087016107fe565b9190910192915050565b600082821015610a2057610a20610941565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5757610a57610941565b506001019056fea264697066735822122028be93bb10c6d8dc5f1afbcc9968ca5b6bacb1004a0617b040d1a4b04e44f3fe64736f6c634300080c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80638d666a971461003b578063a70c4f4d14610061575b600080fd5b61004e61004936600461073a565b610081565b6040519081526020015b60405180910390f35b61007461006f36600461077f565b6100b6565b6040516100589190610878565b6000602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100ae84826100ed565b949350505050565b6060602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100e4858583610123565b95945050505050565b60008083603f8460f81c60ff16168151811061010b5761010b610892565b60200260200101519050602081015191505092915050565b60606000808281805b60208110156103275786816020811061014757610147610892565b1a915060ff82141561015857610327565b60fe8260ff1614156101ad57825161018d578860405160200161017b91906108c1565b60405160208183030381529060405292505b82516101999086610970565b94506101a6602085610970565b9350610315565b60c0828116141561022157600089603f8460ff1616815181106101d2576101d2610892565b60200260200101515190506020816101ea9190610988565b156101f7576101f76109c3565b610202816020610970565b61020c9087610970565b9550610219602086610970565b945050610315565b60c082166080141561025d5788603f8360ff16168151811061024557610245610892565b602002602001015160405160200161017b9190610878565b60c08216604014156102c25788603f8360ff16168151811061028157610281610892565b602002602001015160405160200161029991906109f2565b6040516020818303038152906040529250602083516102b89190610a0e565b6101999086610970565b60c082166103155788603f8360ff1616815181106102e2576102e2610892565b6020026020010151516020146102fa576102fa6109c3565b610305602086610970565b9450610312602085610970565b93505b8061031f81610a25565b91505061012c565b50610333846004610970565b67ffffffffffffffff81111561034b5761034b6105a9565b6040519080825280601f01601f191660200182016040528015610375576020820181803683370190505b5094508660208601526000935060005b6020811015610583578681602081106103a0576103a0610892565b1a915060ff8214156103b157610583565b60fe8260ff161415610417578585016024018490526103eb836020886103d8886004610970565b602088516103e69190610a0e565b61058f565b602083516103f99190610a0e565b6104039085610970565b9350610410602086610970565b9450610571565b60c082811614156104a757600089603f8460ff16168151811061043c5761043c610892565b602002602001015151905084866024890101526104888a603f8560ff16168151811061046a5761046a610892565b60200260200101516000898860046104829190610970565b8561058f565b6104928186610970565b945061049f602087610970565b955050610571565b60c08216608014156104d5578585016024018490526103eb836020886104ce886004610970565b875161058f565b60c0821660401415610528578585016024018590526104fc836020886104ce896004610970565b6020835161050a9190610a0e565b6105149086610970565b9450610521602085610970565b9350610571565b60c0821661057157600089603f8460ff16168151811061054a5761054a610892565b6020026020010151905060208101518660248901015260208661056d9190610970565b9550505b8061057b81610a25565b915050610385565b50505050509392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561061f5761061f6105a9565b604052919050565b6000601f838184011261063957600080fd5b8235602067ffffffffffffffff80831115610656576106566105a9565b8260051b6106658382016105d8565b938452868101830193838101908986111561067f57600080fd5b84890192505b8583101561072d5782358481111561069d5760008081fd5b8901603f81018b136106af5760008081fd5b858101356040868211156106c5576106c56105a9565b6106f4887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c850116016105d8565b8281528d828486010111156107095760008081fd5b828285018a8301376000928101890192909252508352509184019190840190610685565b9998505050505050505050565b6000806040838503121561074d57600080fd5b823567ffffffffffffffff81111561076457600080fd5b61077085828601610627565b95602094909401359450505050565b60008060006060848603121561079457600080fd5b833567ffffffffffffffff8111156107ab57600080fd5b6107b786828701610627565b93505060208401357fffffffff00000000000000000000000000000000000000000000000000000000811681146107ed57600080fd5b929592945050506040919091013590565b60005b83811015610819578181015183820152602001610801565b83811115610828576000848401525b50505050565b600081518084526108468160208601602086016107fe565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061088b602083018461082e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610934577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261092285835161082e565b945092850192908501906001016108e8565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561098357610983610941565b500190565b6000826109be577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008251610a048184602087016107fe565b9190910192915050565b600082821015610a2057610a20610941565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5757610a57610941565b506001019056fea264697066735822122028be93bb10c6d8dc5f1afbcc9968ca5b6bacb1004a0617b040d1a4b04e44f3fe64736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50610dbb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80638d666a9714610046578063a70c4f4d1461006c578063fd197ac01461008c575b600080fd5b610059610054366004610937565b6100ac565b6040519081526020015b60405180910390f35b61007f61007a36600461097c565b6100e1565b6040516100639190610a75565b61009f61009a366004610a88565b610118565b6040516100639190610b25565b6000602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100d98482610132565b949350505050565b6060602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1761010f858583610168565b95945050505050565b60606101258484846105fe565b93508390505b9392505050565b60008083603f8460f81c60ff16168151811061015057610150610ba5565b60200260200101519050602081015191505092915050565b60606000808281805b8060201461039e5786816020811061018b5761018b610ba5565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182011561039e5760fe8260ff16036101fe5782516000036101ed57886040516020016101db9190610b25565b60405160208183030381529060405292505b825185019450602084019350610396565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161027857600089603f8460ff16168151811061024257610242610ba5565b602002602001015151905060208161025a9190610bd4565b1561026757610267610c0f565b602095018501949390930192610396565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016102d25788603f8360ff1616815181106102ba576102ba610ba5565b60200260200101516040516020016101db9190610a75565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016103515788603f8360ff16168151811061031457610314610ba5565b602002602001015160405160200161032c9190610c3e565b6040516020818303038152906040529250602083510385019450602084019350610396565b60c082166103965788603f8360ff16168151811061037157610371610ba5565b60200260200101515160201461038957610389610c0f565b6020850194506020840193505b600101610171565b508360040167ffffffffffffffff8111156103bb576103bb61076e565b6040519080825280601f01601f1916602001820160405280156103e5576020820181803683370190505b5094508660208601526000935060005b806020146105f25786816020811061040f5761040f610ba5565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018201156105f25760fe8260ff160361047657838560248801015261046283602088876004016020885103610754565b6020835103840193506020850194506105ea565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161050e57600089603f8460ff1616815181106104ba576104ba610ba5565b602002602001015151905084866024890101526104fd8a603f8560ff1616815181106104e8576104e8610ba5565b60200260200101516000898860040185610754565b8085019450602086019550506105ea565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c083160161055257838560248801015261046283602088876004018751610754565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016105aa57848560248801015261059683602088886004018751610754565b6020835103850194506020840193506105ea565b60c082166105ea57600089603f8460ff1616815181106105cc576105cc610ba5565b60200260200101519050602081015186602489010152602086019550505b6001016103f5565b50505050509392505050565b606060f883901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101610635578491505061012b565b60fe810361065857828060200190518101906106519190610c9f565b945061074b565b60c0808216036106b35760208381015190811461067757610677610c0f565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f831681028701015261074b565b608060c08216036106f757828060200190518101906106d29190610d50565b85603f8316815181106106e7576106e7610ba5565b602002602001018190525061074b565b604060c082160361071857604083016020603f83160260208701015261074b565b825160201461072957610729610c0f565b8285603f83168151811061073f5761073f610ba5565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156107e4576107e461076e565b604052919050565b600067ffffffffffffffff8211156108065761080661076e565b5060051b60200190565b600067ffffffffffffffff82111561082a5761082a61076e565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261086757600080fd5b813561087a61087582610810565b61079d565b81815284602083860101111561088f57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126108bd57600080fd5b813560206108cd610875836107ec565b82815260059290921b840181019181810190868411156108ec57600080fd5b8286015b8481101561092c57803567ffffffffffffffff8111156109105760008081fd5b61091e8986838b0101610856565b8452509183019183016108f0565b509695505050505050565b6000806040838503121561094a57600080fd5b823567ffffffffffffffff81111561096157600080fd5b61096d858286016108ac565b95602094909401359450505050565b60008060006060848603121561099157600080fd5b833567ffffffffffffffff8111156109a857600080fd5b6109b4868287016108ac565b93505060208401357fffffffff00000000000000000000000000000000000000000000000000000000811681146109ea57600080fd5b929592945050506040919091013590565b60005b83811015610a165781810151838201526020016109fe565b83811115610a25576000848401525b50505050565b60008151808452610a438160208601602086016109fb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061012b6020830184610a2b565b600080600060608486031215610a9d57600080fd5b833567ffffffffffffffff80821115610ab557600080fd5b610ac1878388016108ac565b9450602086013591507fff0000000000000000000000000000000000000000000000000000000000000082168214610af857600080fd5b90925060408501359080821115610b0e57600080fd5b50610b1b86828701610856565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610b98577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610b86858351610a2b565b94509285019290850190600101610b4c565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610c0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008251610c508184602087016109fb565b9190910192915050565b600082601f830112610c6b57600080fd5b8151610c7961087582610810565b818152846020838601011115610c8e57600080fd5b6100d98260208301602087016109fb565b60006020808385031215610cb257600080fd5b825167ffffffffffffffff80821115610cca57600080fd5b818501915085601f830112610cde57600080fd5b8151610cec610875826107ec565b81815260059190911b83018401908481019088831115610d0b57600080fd5b8585015b83811015610d4357805185811115610d275760008081fd5b610d358b89838a0101610c5a565b845250918601918601610d0f565b5098975050505050505050565b600060208284031215610d6257600080fd5b815167ffffffffffffffff811115610d7957600080fd5b6100d984828501610c5a56fea2646970667358221220eabfe9e5e4229e4b5744c0c381dac5eba17620e03a1e79bd7a90dd12ac2e11a464736f6c634300080d0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80638d666a9714610046578063a70c4f4d1461006c578063fd197ac01461008c575b600080fd5b610059610054366004610937565b6100ac565b6040519081526020015b60405180910390f35b61007f61007a36600461097c565b6100e1565b6040516100639190610a75565b61009f61009a366004610a88565b610118565b6040516100639190610b25565b6000602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff176100d98482610132565b949350505050565b6060602882901b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1761010f858583610168565b95945050505050565b60606101258484846105fe565b93508390505b9392505050565b60008083603f8460f81c60ff16168151811061015057610150610ba5565b60200260200101519050602081015191505092915050565b60606000808281805b8060201461039e5786816020811061018b5761018b610ba5565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182011561039e5760fe8260ff16036101fe5782516000036101ed57886040516020016101db9190610b25565b60405160208183030381529060405292505b825185019450602084019350610396565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161027857600089603f8460ff16168151811061024257610242610ba5565b602002602001015151905060208161025a9190610bd4565b1561026757610267610c0f565b602095018501949390930192610396565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016102d25788603f8360ff1616815181106102ba576102ba610ba5565b60200260200101516040516020016101db9190610a75565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016103515788603f8360ff16168151811061031457610314610ba5565b602002602001015160405160200161032c9190610c3e565b6040516020818303038152906040529250602083510385019450602084019350610396565b60c082166103965788603f8360ff16168151811061037157610371610ba5565b60200260200101515160201461038957610389610c0f565b6020850194506020840193505b600101610171565b508360040167ffffffffffffffff8111156103bb576103bb61076e565b6040519080825280601f01601f1916602001820160405280156103e5576020820181803683370190505b5094508660208601526000935060005b806020146105f25786816020811061040f5761040f610ba5565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018201156105f25760fe8260ff160361047657838560248801015261046283602088876004016020885103610754565b6020835103840193506020850194506105ea565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161050e57600089603f8460ff1616815181106104ba576104ba610ba5565b602002602001015151905084866024890101526104fd8a603f8560ff1616815181106104e8576104e8610ba5565b60200260200101516000898860040185610754565b8085019450602086019550506105ea565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c083160161055257838560248801015261046283602088876004018751610754565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016105aa57848560248801015261059683602088886004018751610754565b6020835103850194506020840193506105ea565b60c082166105ea57600089603f8460ff1616815181106105cc576105cc610ba5565b60200260200101519050602081015186602489010152602086019550505b6001016103f5565b50505050509392505050565b606060f883901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101610635578491505061012b565b60fe810361065857828060200190518101906106519190610c9f565b945061074b565b60c0808216036106b35760208381015190811461067757610677610c0f565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f831681028701015261074b565b608060c08216036106f757828060200190518101906106d29190610d50565b85603f8316815181106106e7576106e7610ba5565b602002602001018190525061074b565b604060c082160361071857604083016020603f83160260208701015261074b565b825160201461072957610729610c0f565b8285603f83168151811061073f5761073f610ba5565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156107e4576107e461076e565b604052919050565b600067ffffffffffffffff8211156108065761080661076e565b5060051b60200190565b600067ffffffffffffffff82111561082a5761082a61076e565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261086757600080fd5b813561087a61087582610810565b61079d565b81815284602083860101111561088f57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126108bd57600080fd5b813560206108cd610875836107ec565b82815260059290921b840181019181810190868411156108ec57600080fd5b8286015b8481101561092c57803567ffffffffffffffff8111156109105760008081fd5b61091e8986838b0101610856565b8452509183019183016108f0565b509695505050505050565b6000806040838503121561094a57600080fd5b823567ffffffffffffffff81111561096157600080fd5b61096d858286016108ac565b95602094909401359450505050565b60008060006060848603121561099157600080fd5b833567ffffffffffffffff8111156109a857600080fd5b6109b4868287016108ac565b93505060208401357fffffffff00000000000000000000000000000000000000000000000000000000811681146109ea57600080fd5b929592945050506040919091013590565b60005b83811015610a165781810151838201526020016109fe565b83811115610a25576000848401525b50505050565b60008151808452610a438160208601602086016109fb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061012b6020830184610a2b565b600080600060608486031215610a9d57600080fd5b833567ffffffffffffffff80821115610ab557600080fd5b610ac1878388016108ac565b9450602086013591507fff0000000000000000000000000000000000000000000000000000000000000082168214610af857600080fd5b90925060408501359080821115610b0e57600080fd5b50610b1b86828701610856565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610b98577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610b86858351610a2b565b94509285019290850190600101610b4c565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610c0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008251610c508184602087016109fb565b9190910192915050565b600082601f830112610c6b57600080fd5b8151610c7961087582610810565b818152846020838601011115610c8e57600080fd5b6100d98260208301602087016109fb565b60006020808385031215610cb257600080fd5b825167ffffffffffffffff80821115610cca57600080fd5b818501915085601f830112610cde57600080fd5b8151610cec610875826107ec565b81815260059190911b83018401908481019088831115610d0b57600080fd5b8585015b83811015610d4357805185811115610d275760008081fd5b610d358b89838a0101610c5a565b845250918601918601610d0f565b5098975050505050505050565b600060208284031215610d6257600080fd5b815167ffffffffffffffff811115610d7957600080fd5b6100d984828501610c5a56fea2646970667358221220eabfe9e5e4229e4b5744c0c381dac5eba17620e03a1e79bd7a90dd12ac2e11a464736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/58b2cb707dbb6462f44fffddd0d9c3fe.json"
"buildInfo": "../../../build-info/869df29c4bd0638bc1f741fcad86437e.json"
}
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/58b2cb707dbb6462f44fffddd0d9c3fe.json"
"buildInfo": "../../../build-info/869df29c4bd0638bc1f741fcad86437e.json"
}

@@ -35,6 +35,6 @@ {

],
"bytecode": "0x60a060405234801561001057600080fd5b50306080526080516110fe61002f600039600060c801526110fe6000f3fe6080604052600436106100225760003560e01c8063de08c40f1461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610bec565b610064565b60405161005b9190610db6565b60405180910390f35b60606100a48484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692506100ae915050565b90505b9392505050565b60603073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146100f257600080fd5b6000806000806000606060005b89518110156104565789818151811061011a5761011a610e36565b60200260200101519650602087901b60f81c95506020861660ff1660001461016f578961014682610e94565b9150818151811061015957610159610e36565b6020026020010151945060f885901b9350610199565b602887901b78ffffffffffffffffffffffffffffffffffffffffffffffffff179450605887901b93505b60c0861661021b5773ffffffffffffffffffffffffffffffffffffffff87166101c38a8988610464565b6040516101d09190610ecd565b600060405180830381855af49150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b606091505b50909350915061040e565b60c08616604014156102935773ffffffffffffffffffffffffffffffffffffffff87166102498a8988610464565b6040516102569190610ecd565b6000604051808303816000865af19150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b60c08616608014156103335760006102ab8a876108d0565b905073ffffffffffffffffffffffffffffffffffffffff8816816102d78c8b60ff60088c901b17610464565b6040516102e49190610ecd565b60006040518083038185875af1925050503d8060008114610321576040519150601f19603f3d011682016040523d82523d6000602084013e610326565b606091505b50909450925061040e9050565b60c086811614156103a85773ffffffffffffffffffffffffffffffffffffffff87166103608a8988610464565b60405161036d9190610ecd565b600060405180830381855afa9150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c69642063616c6c7479706500000000000000000000000000000000604482015260640160405180910390fd5b8261041d573d6000803e3d6000fd5b601086161561043657610431898584610906565b610444565b6104418985846109ae565b98505b8061044e81610e94565b9150506100ff565b509698975050505050505050565b60606000808281805b60208110156106685786816020811061048857610488610e36565b1a915060ff82141561049957610668565b60fe8260ff1614156104ee5782516104ce57886040516020016104bc9190610db6565b60405160208183030381529060405292505b82516104da9086610ee9565b94506104e7602085610ee9565b9350610656565b60c0828116141561056257600089603f8460ff16168151811061051357610513610e36565b602002602001015151905060208161052b9190610f01565b1561053857610538610f3c565b610543816020610ee9565b61054d9087610ee9565b955061055a602086610ee9565b945050610656565b60c082166080141561059e5788603f8360ff16168151811061058657610586610e36565b60200260200101516040516020016104bc9190610f6b565b60c08216604014156106035788603f8360ff1616815181106105c2576105c2610e36565b60200260200101516040516020016105da9190610ecd565b6040516020818303038152906040529250602083516105f99190610f7e565b6104da9086610ee9565b60c082166106565788603f8360ff16168151811061062357610623610e36565b60200260200101515160201461063b5761063b610f3c565b610646602086610ee9565b9450610653602085610ee9565b93505b8061066081610e94565b91505061046d565b50610674846004610ee9565b67ffffffffffffffff81111561068c5761068c610b04565b6040519080825280601f01601f1916602001820160405280156106b6576020820181803683370190505b5094508660208601526000935060005b60208110156108c4578681602081106106e1576106e1610e36565b1a915060ff8214156106f2576108c4565b60fe8260ff1614156107585785850160240184905261072c83602088610719886004610ee9565b602088516107279190610f7e565b610aea565b6020835161073a9190610f7e565b6107449085610ee9565b9350610751602086610ee9565b94506108b2565b60c082811614156107e857600089603f8460ff16168151811061077d5761077d610e36565b602002602001015151905084866024890101526107c98a603f8560ff1616815181106107ab576107ab610e36565b60200260200101516000898860046107c39190610ee9565b85610aea565b6107d38186610ee9565b94506107e0602087610ee9565b9550506108b2565b60c08216608014156108165785850160240184905261072c8360208861080f886004610ee9565b8751610aea565b60c08216604014156108695785850160240185905261083d8360208861080f896004610ee9565b6020835161084b9190610f7e565b6108559086610ee9565b9450610862602085610ee9565b93506108b2565b60c082166108b257600089603f8460ff16168151811061088b5761088b610e36565b602002602001015190506020810151866024890101526020866108ae9190610ee9565b9550505b806108bc81610e94565b9150506106c6565b50505050509392505050565b60008083603f8460f81c60ff1616815181106108ee576108ee610e36565b60200260200101519050602081015191505092915050565b60f882901c60ff81141561091a5750505050565b60008251602061092a9190610ee9565b67ffffffffffffffff81111561094257610942610b04565b6040519080825280601f01601f19166020018201604052801561096c576020820181803683370190505b50858360ff168151811061098257610982610e36565b60200260200101819052905061099e8360008360208751610aea565b8251806020830152505050505050565b606060f883901c60ff8114156109c757849150506100a7565b60fe8114156109eb57828060200190518101906109e49190610fe2565b9450610ae1565b60c08082161415610a4757602083810151908114610a0b57610a0b610f3c565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f8316810287010152610ae1565b608060c082161415610a8c5782806020019051810190610a679190611093565b85603f831681518110610a7c57610a7c610e36565b6020026020010181905250610ae1565b604060c082161415610aae57604083016020603f831602602087010152610ae1565b8251602014610abf57610abf610f3c565b8285603f831681518110610ad557610ad5610e36565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b7a57610b7a610b04565b604052919050565b600067ffffffffffffffff821115610b9c57610b9c610b04565b5060051b60200190565b600067ffffffffffffffff821115610bc057610bc0610b04565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060006040808587031215610c0257600080fd5b843567ffffffffffffffff80821115610c1a57600080fd5b818701915087601f830112610c2e57600080fd5b813581811115610c3d57600080fd5b602089818360051b8601011115610c5357600080fd5b808401975081965080890135935082841115610c6e57600080fd5b838901935089601f850112610c8257600080fd5b83359150610c97610c9283610b82565b610b33565b82815260059290921b8401810191818101908b841115610cb657600080fd5b8286015b84811015610d2a57803586811115610cd25760008081fd5b8701603f81018e13610ce45760008081fd5b84810135610cf4610c9282610ba6565b8181528f8b838501011115610d095760008081fd5b818b8401888301376000918101870191909152845250918301918301610cba565b50809750505050505050509250925092565b60005b83811015610d57578181015183820152602001610d3f565b83811115610d66576000848401525b50505050565b60008151808452610d84816020860160208601610d3c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e29577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610e17858351610d6c565b94509285019290850190600101610ddd565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610ec657610ec6610e65565b5060010190565b60008251610edf818460208701610d3c565b9190910192915050565b60008219821115610efc57610efc610e65565b500190565b600082610f37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6020815260006100a76020830184610d6c565b600082821015610f9057610f90610e65565b500390565b600082601f830112610fa657600080fd5b8151610fb4610c9282610ba6565b818152846020838601011115610fc957600080fd5b610fda826020830160208701610d3c565b949350505050565b60006020808385031215610ff557600080fd5b825167ffffffffffffffff8082111561100d57600080fd5b818501915085601f83011261102157600080fd5b815161102f610c9282610b82565b81815260059190911b8301840190848101908883111561104e57600080fd5b8585015b838110156110865780518581111561106a5760008081fd5b6110788b89838a0101610f95565b845250918601918601611052565b5098975050505050505050565b6000602082840312156110a557600080fd5b815167ffffffffffffffff8111156110bc57600080fd5b610fda84828501610f9556fea2646970667358221220c9e38ee75bf90ec307d3d466fcc7fc57009e5e61dfec6f32fe5f59ceca1f4c7564736f6c634300080c0033",
"deployedBytecode": "0x6080604052600436106100225760003560e01c8063de08c40f1461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610bec565b610064565b60405161005b9190610db6565b60405180910390f35b60606100a48484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692506100ae915050565b90505b9392505050565b60603073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146100f257600080fd5b6000806000806000606060005b89518110156104565789818151811061011a5761011a610e36565b60200260200101519650602087901b60f81c95506020861660ff1660001461016f578961014682610e94565b9150818151811061015957610159610e36565b6020026020010151945060f885901b9350610199565b602887901b78ffffffffffffffffffffffffffffffffffffffffffffffffff179450605887901b93505b60c0861661021b5773ffffffffffffffffffffffffffffffffffffffff87166101c38a8988610464565b6040516101d09190610ecd565b600060405180830381855af49150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b606091505b50909350915061040e565b60c08616604014156102935773ffffffffffffffffffffffffffffffffffffffff87166102498a8988610464565b6040516102569190610ecd565b6000604051808303816000865af19150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b60c08616608014156103335760006102ab8a876108d0565b905073ffffffffffffffffffffffffffffffffffffffff8816816102d78c8b60ff60088c901b17610464565b6040516102e49190610ecd565b60006040518083038185875af1925050503d8060008114610321576040519150601f19603f3d011682016040523d82523d6000602084013e610326565b606091505b50909450925061040e9050565b60c086811614156103a85773ffffffffffffffffffffffffffffffffffffffff87166103608a8988610464565b60405161036d9190610ecd565b600060405180830381855afa9150503d806000811461020b576040519150601f19603f3d011682016040523d82523d6000602084013e610210565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c69642063616c6c7479706500000000000000000000000000000000604482015260640160405180910390fd5b8261041d573d6000803e3d6000fd5b601086161561043657610431898584610906565b610444565b6104418985846109ae565b98505b8061044e81610e94565b9150506100ff565b509698975050505050505050565b60606000808281805b60208110156106685786816020811061048857610488610e36565b1a915060ff82141561049957610668565b60fe8260ff1614156104ee5782516104ce57886040516020016104bc9190610db6565b60405160208183030381529060405292505b82516104da9086610ee9565b94506104e7602085610ee9565b9350610656565b60c0828116141561056257600089603f8460ff16168151811061051357610513610e36565b602002602001015151905060208161052b9190610f01565b1561053857610538610f3c565b610543816020610ee9565b61054d9087610ee9565b955061055a602086610ee9565b945050610656565b60c082166080141561059e5788603f8360ff16168151811061058657610586610e36565b60200260200101516040516020016104bc9190610f6b565b60c08216604014156106035788603f8360ff1616815181106105c2576105c2610e36565b60200260200101516040516020016105da9190610ecd565b6040516020818303038152906040529250602083516105f99190610f7e565b6104da9086610ee9565b60c082166106565788603f8360ff16168151811061062357610623610e36565b60200260200101515160201461063b5761063b610f3c565b610646602086610ee9565b9450610653602085610ee9565b93505b8061066081610e94565b91505061046d565b50610674846004610ee9565b67ffffffffffffffff81111561068c5761068c610b04565b6040519080825280601f01601f1916602001820160405280156106b6576020820181803683370190505b5094508660208601526000935060005b60208110156108c4578681602081106106e1576106e1610e36565b1a915060ff8214156106f2576108c4565b60fe8260ff1614156107585785850160240184905261072c83602088610719886004610ee9565b602088516107279190610f7e565b610aea565b6020835161073a9190610f7e565b6107449085610ee9565b9350610751602086610ee9565b94506108b2565b60c082811614156107e857600089603f8460ff16168151811061077d5761077d610e36565b602002602001015151905084866024890101526107c98a603f8560ff1616815181106107ab576107ab610e36565b60200260200101516000898860046107c39190610ee9565b85610aea565b6107d38186610ee9565b94506107e0602087610ee9565b9550506108b2565b60c08216608014156108165785850160240184905261072c8360208861080f886004610ee9565b8751610aea565b60c08216604014156108695785850160240185905261083d8360208861080f896004610ee9565b6020835161084b9190610f7e565b6108559086610ee9565b9450610862602085610ee9565b93506108b2565b60c082166108b257600089603f8460ff16168151811061088b5761088b610e36565b602002602001015190506020810151866024890101526020866108ae9190610ee9565b9550505b806108bc81610e94565b9150506106c6565b50505050509392505050565b60008083603f8460f81c60ff1616815181106108ee576108ee610e36565b60200260200101519050602081015191505092915050565b60f882901c60ff81141561091a5750505050565b60008251602061092a9190610ee9565b67ffffffffffffffff81111561094257610942610b04565b6040519080825280601f01601f19166020018201604052801561096c576020820181803683370190505b50858360ff168151811061098257610982610e36565b60200260200101819052905061099e8360008360208751610aea565b8251806020830152505050505050565b606060f883901c60ff8114156109c757849150506100a7565b60fe8114156109eb57828060200190518101906109e49190610fe2565b9450610ae1565b60c08082161415610a4757602083810151908114610a0b57610a0b610f3c565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f8316810287010152610ae1565b608060c082161415610a8c5782806020019051810190610a679190611093565b85603f831681518110610a7c57610a7c610e36565b6020026020010181905250610ae1565b604060c082161415610aae57604083016020603f831602602087010152610ae1565b8251602014610abf57610abf610f3c565b8285603f831681518110610ad557610ad5610e36565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b7a57610b7a610b04565b604052919050565b600067ffffffffffffffff821115610b9c57610b9c610b04565b5060051b60200190565b600067ffffffffffffffff821115610bc057610bc0610b04565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060006040808587031215610c0257600080fd5b843567ffffffffffffffff80821115610c1a57600080fd5b818701915087601f830112610c2e57600080fd5b813581811115610c3d57600080fd5b602089818360051b8601011115610c5357600080fd5b808401975081965080890135935082841115610c6e57600080fd5b838901935089601f850112610c8257600080fd5b83359150610c97610c9283610b82565b610b33565b82815260059290921b8401810191818101908b841115610cb657600080fd5b8286015b84811015610d2a57803586811115610cd25760008081fd5b8701603f81018e13610ce45760008081fd5b84810135610cf4610c9282610ba6565b8181528f8b838501011115610d095760008081fd5b818b8401888301376000918101870191909152845250918301918301610cba565b50809750505050505050509250925092565b60005b83811015610d57578181015183820152602001610d3f565b83811115610d66576000848401525b50505050565b60008151808452610d84816020860160208601610d3c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e29577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610e17858351610d6c565b94509285019290850190600101610ddd565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610ec657610ec6610e65565b5060010190565b60008251610edf818460208701610d3c565b9190910192915050565b60008219821115610efc57610efc610e65565b500190565b600082610f37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6020815260006100a76020830184610d6c565b600082821015610f9057610f90610e65565b500390565b600082601f830112610fa657600080fd5b8151610fb4610c9282610ba6565b818152846020838601011115610fc957600080fd5b610fda826020830160208701610d3c565b949350505050565b60006020808385031215610ff557600080fd5b825167ffffffffffffffff8082111561100d57600080fd5b818501915085601f83011261102157600080fd5b815161102f610c9282610b82565b81815260059190911b8301840190848101908883111561104e57600080fd5b8585015b838110156110865780518581111561106a5760008081fd5b6110788b89838a0101610f95565b845250918601918601611052565b5098975050505050505050565b6000602082840312156110a557600080fd5b815167ffffffffffffffff8111156110bc57600080fd5b610fda84828501610f9556fea2646970667358221220c9e38ee75bf90ec307d3d466fcc7fc57009e5e61dfec6f32fe5f59ceca1f4c7564736f6c634300080c0033",
"bytecode": "0x608060405234801561001057600080fd5b50611033806100206000396000f3fe6080604052600436106100225760003560e01c8063de08c40f1461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610bb8565b610064565b60405161005b9190610d82565b60405180910390f35b606061007184848461007b565b90505b9392505050565b60606000808481808086815b8581146103c7578b8b828181106100a0576100a0610e02565b905060200201359750602088901b60f81c94506020851660ff166000146100eb576001018b8b828181106100d6576100d6610e02565b90506020020135965060f887901b9350610115565b602888901b78ffffffffffffffffffffffffffffffffffffffffffffffffff179650605888901b93505b60c085166101975773ffffffffffffffffffffffffffffffffffffffff881661013f8b8a8a6103d7565b60405161014c9190610e31565b600060405180830381855af49150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909350915061038b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c086160161022d5773ffffffffffffffffffffffffffffffffffffffff88166101e38b8a8a6103d7565b6040516101f09190610e31565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08616016102eb5760006102638b8961086d565b905073ffffffffffffffffffffffffffffffffffffffff89168161028f8d8c60ff60088e901b176103d7565b60405161029c9190610e31565b60006040518083038185875af1925050503d80600081146102d9576040519150601f19603f3d011682016040523d82523d6000602084013e6102de565b606091505b50909450925061038b9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c086160161038b5773ffffffffffffffffffffffffffffffffffffffff88166103378b8a8a6103d7565b6040516103449190610e31565b600060405180830381855afa9150503d806000811461037f576040519150601f19603f3d011682016040523d82523d6000602084013e610384565b606091505b5090935091505b8261039857815182602001fd5b60108516156103b1576103ac8a85846108a3565b6103bf565b6103bc8a8584610960565b99505b600101610087565b50979a9950505050505050505050565b60606000808281805b8060201461060d578681602081106103fa576103fa610e02565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182011561060d5760fe8260ff160361046d57825160000361045c578860405160200161044a9190610d82565b60405160208183030381529060405292505b825185019450602084019350610605565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c08316016104e757600089603f8460ff1616815181106104b1576104b1610e02565b60200260200101515190506020816104c99190610e4d565b156104d6576104d6610e88565b602095018501949390930192610605565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016105415788603f8360ff16168151811061052957610529610e02565b602002602001015160405160200161044a9190610eb7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016105c05788603f8360ff16168151811061058357610583610e02565b602002602001015160405160200161059b9190610e31565b6040516020818303038152906040529250602083510385019450602084019350610605565b60c082166106055788603f8360ff1616815181106105e0576105e0610e02565b6020026020010151516020146105f8576105f8610e88565b6020850194506020840193505b6001016103e0565b508360040167ffffffffffffffff81111561062a5761062a610ad0565b6040519080825280601f01601f191660200182016040528015610654576020820181803683370190505b5094508660208601526000935060005b806020146108615786816020811061067e5761067e610e02565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018201156108615760fe8260ff16036106e55783856024880101526106d183602088876004016020885103610ab6565b602083510384019350602085019450610859565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161077d57600089603f8460ff16168151811061072957610729610e02565b6020026020010151519050848660248901015261076c8a603f8560ff16168151811061075757610757610e02565b60200260200101516000898860040185610ab6565b808501945060208601955050610859565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016107c15783856024880101526106d183602088876004018751610ab6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c083160161081957848560248801015261080583602088886004018751610ab6565b602083510385019450602084019350610859565b60c0821661085957600089603f8460ff16168151811061083b5761083b610e02565b60200260200101519050602081015186602489010152602086019550505b600101610664565b50505050509392505050565b60008083603f8460f81c60ff16168151811061088b5761088b610e02565b60200260200101519050602081015191505092915050565b60f882901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0181016108d55750505050565b6000825160200167ffffffffffffffff8111156108f4576108f4610ad0565b6040519080825280601f01601f19166020018201604052801561091e576020820181803683370190505b50858360ff168151811061093457610934610e02565b6020026020010181905290506109508360008360208751610ab6565b8251806020830152505050505050565b606060f883901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0181016109975784915050610074565b60fe81036109ba57828060200190518101906109b39190610f17565b9450610aad565b60c080821603610a15576020838101519081146109d9576109d9610e88565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f8316810287010152610aad565b608060c0821603610a595782806020019051810190610a349190610fc8565b85603f831681518110610a4957610a49610e02565b6020026020010181905250610aad565b604060c0821603610a7a57604083016020603f831602602087010152610aad565b8251602014610a8b57610a8b610e88565b8285603f831681518110610aa157610aa1610e02565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b4657610b46610ad0565b604052919050565b600067ffffffffffffffff821115610b6857610b68610ad0565b5060051b60200190565b600067ffffffffffffffff821115610b8c57610b8c610ad0565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060006040808587031215610bce57600080fd5b843567ffffffffffffffff80821115610be657600080fd5b818701915087601f830112610bfa57600080fd5b813581811115610c0957600080fd5b602089818360051b8601011115610c1f57600080fd5b808401975081965080890135935082841115610c3a57600080fd5b838901935089601f850112610c4e57600080fd5b83359150610c63610c5e83610b4e565b610aff565b82815260059290921b8401810191818101908b841115610c8257600080fd5b8286015b84811015610cf657803586811115610c9e5760008081fd5b8701603f81018e13610cb05760008081fd5b84810135610cc0610c5e82610b72565b8181528f8b838501011115610cd55760008081fd5b818b8401888301376000918101870191909152845250918301918301610c86565b50809750505050505050509250925092565b60005b83811015610d23578181015183820152602001610d0b565b83811115610d32576000848401525b50505050565b60008151808452610d50816020860160208601610d08565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610df5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610de3858351610d38565b94509285019290850190600101610da9565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610e43818460208701610d08565b9190910192915050565b600082610e83577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6020815260006100746020830184610d38565b600082601f830112610edb57600080fd5b8151610ee9610c5e82610b72565b818152846020838601011115610efe57600080fd5b610f0f826020830160208701610d08565b949350505050565b60006020808385031215610f2a57600080fd5b825167ffffffffffffffff80821115610f4257600080fd5b818501915085601f830112610f5657600080fd5b8151610f64610c5e82610b4e565b81815260059190911b83018401908481019088831115610f8357600080fd5b8585015b83811015610fbb57805185811115610f9f5760008081fd5b610fad8b89838a0101610eca565b845250918601918601610f87565b5098975050505050505050565b600060208284031215610fda57600080fd5b815167ffffffffffffffff811115610ff157600080fd5b610f0f84828501610eca56fea2646970667358221220f54a24721ade27b9caf2a7f5dc12bd7370e4d446c6cc2a1d99dcae85c3ff049f64736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106100225760003560e01c8063de08c40f1461002e57600080fd5b3661002957005b600080fd5b34801561003a57600080fd5b5061004e610049366004610bb8565b610064565b60405161005b9190610d82565b60405180910390f35b606061007184848461007b565b90505b9392505050565b60606000808481808086815b8581146103c7578b8b828181106100a0576100a0610e02565b905060200201359750602088901b60f81c94506020851660ff166000146100eb576001018b8b828181106100d6576100d6610e02565b90506020020135965060f887901b9350610115565b602888901b78ffffffffffffffffffffffffffffffffffffffffffffffffff179650605888901b93505b60c085166101975773ffffffffffffffffffffffffffffffffffffffff881661013f8b8a8a6103d7565b60405161014c9190610e31565b600060405180830381855af49150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b606091505b50909350915061038b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c086160161022d5773ffffffffffffffffffffffffffffffffffffffff88166101e38b8a8a6103d7565b6040516101f09190610e31565b6000604051808303816000865af19150503d8060008114610187576040519150601f19603f3d011682016040523d82523d6000602084013e61018c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08616016102eb5760006102638b8961086d565b905073ffffffffffffffffffffffffffffffffffffffff89168161028f8d8c60ff60088e901b176103d7565b60405161029c9190610e31565b60006040518083038185875af1925050503d80600081146102d9576040519150601f19603f3d011682016040523d82523d6000602084013e6102de565b606091505b50909450925061038b9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c086160161038b5773ffffffffffffffffffffffffffffffffffffffff88166103378b8a8a6103d7565b6040516103449190610e31565b600060405180830381855afa9150503d806000811461037f576040519150601f19603f3d011682016040523d82523d6000602084013e610384565b606091505b5090935091505b8261039857815182602001fd5b60108516156103b1576103ac8a85846108a3565b6103bf565b6103bc8a8584610960565b99505b600101610087565b50979a9950505050505050505050565b60606000808281805b8060201461060d578681602081106103fa576103fa610e02565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182011561060d5760fe8260ff160361046d57825160000361045c578860405160200161044a9190610d82565b60405160208183030381529060405292505b825185019450602084019350610605565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c08316016104e757600089603f8460ff1616815181106104b1576104b1610e02565b60200260200101515190506020816104c99190610e4d565b156104d6576104d6610e88565b602095018501949390930192610605565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016105415788603f8360ff16168151811061052957610529610e02565b602002602001015160405160200161044a9190610eb7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c08316016105c05788603f8360ff16168151811061058357610583610e02565b602002602001015160405160200161059b9190610e31565b6040516020818303038152906040529250602083510385019450602084019350610605565b60c082166106055788603f8360ff1616815181106105e0576105e0610e02565b6020026020010151516020146105f8576105f8610e88565b6020850194506020840193505b6001016103e0565b508360040167ffffffffffffffff81111561062a5761062a610ad0565b6040519080825280601f01601f191660200182016040528015610654576020820181803683370190505b5094508660208601526000935060005b806020146108615786816020811061067e5761067e610e02565b1a91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018201156108615760fe8260ff16036106e55783856024880101526106d183602088876004016020885103610ab6565b602083510384019350602085019450610859565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4060c083160161077d57600089603f8460ff16168151811061072957610729610e02565b6020026020010151519050848660248901015261076c8a603f8560ff16168151811061075757610757610e02565b60200260200101516000898860040185610ab6565b808501945060208601955050610859565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060c08316016107c15783856024880101526106d183602088876004018751610ab6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060c083160161081957848560248801015261080583602088886004018751610ab6565b602083510385019450602084019350610859565b60c0821661085957600089603f8460ff16168151811061083b5761083b610e02565b60200260200101519050602081015186602489010152602086019550505b600101610664565b50505050509392505050565b60008083603f8460f81c60ff16168151811061088b5761088b610e02565b60200260200101519050602081015191505092915050565b60f882901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0181016108d55750505050565b6000825160200167ffffffffffffffff8111156108f4576108f4610ad0565b6040519080825280601f01601f19166020018201604052801561091e576020820181803683370190505b50858360ff168151811061093457610934610e02565b6020026020010181905290506109508360008360208751610ab6565b8251806020830152505050505050565b606060f883901c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0181016109975784915050610074565b60fe81036109ba57828060200190518101906109b39190610f17565b9450610aad565b60c080821603610a15576020838101519081146109d9576109d9610e88565b5082517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016020848101918252603f8316810287010152610aad565b608060c0821603610a595782806020019051810190610a349190610fc8565b85603f831681518110610a4957610a49610e02565b6020026020010181905250610aad565b604060c0821603610a7a57604083016020603f831602602087010152610aad565b8251602014610a8b57610a8b610e88565b8285603f831681518110610aa157610aa1610e02565b60200260200101819052505b50929392505050565b808260208501018286602089010160045afa505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b4657610b46610ad0565b604052919050565b600067ffffffffffffffff821115610b6857610b68610ad0565b5060051b60200190565b600067ffffffffffffffff821115610b8c57610b8c610ad0565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060006040808587031215610bce57600080fd5b843567ffffffffffffffff80821115610be657600080fd5b818701915087601f830112610bfa57600080fd5b813581811115610c0957600080fd5b602089818360051b8601011115610c1f57600080fd5b808401975081965080890135935082841115610c3a57600080fd5b838901935089601f850112610c4e57600080fd5b83359150610c63610c5e83610b4e565b610aff565b82815260059290921b8401810191818101908b841115610c8257600080fd5b8286015b84811015610cf657803586811115610c9e5760008081fd5b8701603f81018e13610cb05760008081fd5b84810135610cc0610c5e82610b72565b8181528f8b838501011115610cd55760008081fd5b818b8401888301376000918101870191909152845250918301918301610c86565b50809750505050505050509250925092565b60005b83811015610d23578181015183820152602001610d0b565b83811115610d32576000848401525b50505050565b60008151808452610d50816020860160208601610d08565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610df5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452610de3858351610d38565b94509285019290850190600101610da9565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610e43818460208701610d08565b9190910192915050565b600082610e83577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6020815260006100746020830184610d38565b600082601f830112610edb57600080fd5b8151610ee9610c5e82610b72565b818152846020838601011115610efe57600080fd5b610f0f826020830160208701610d08565b949350505050565b60006020808385031215610f2a57600080fd5b825167ffffffffffffffff80821115610f4257600080fd5b818501915085601f830112610f5657600080fd5b8151610f64610c5e82610b4e565b81815260059190911b83018401908481019088831115610f8357600080fd5b8585015b83811015610fbb57805185811115610f9f5760008081fd5b610fad8b89838a0101610eca565b845250918601918601610f87565b5098975050505050505050565b600060208284031215610fda57600080fd5b815167ffffffffffffffff811115610ff157600080fd5b610f0f84828501610eca56fea2646970667358221220f54a24721ade27b9caf2a7f5dc12bd7370e4d446c6cc2a1d99dcae85c3ff049f64736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"name": "@beandao/contracts",
"description": "Smart Contract Library for beandao production",
"version": "0.7.4",
"version": "0.8.0",
"files": [

@@ -6,0 +6,0 @@ "**/*.sol",

@@ -1,10 +0,76 @@

# beanDAO Contracts
# bean the DAO Contract library
Helpful library for solidity.
Helpful library for solidity. Basically, it is assumed that most libraries are used in proxies. Therefore, support for some constructors may be insufficient, but most of them are supported.
```sh
## Installation
```shell
npm install -d @beandao/contracts
```
## Usage
Copy the code below, paste it into [Remix](https://remix.ethereum.org), deploy it, and test it. Remix automatically gets the @beandao library from npm.
```solidity
pragma solidity ^0.8.0;
import "@beandao/contracts/interfaces/IERC165.sol";
import {ERC20, IERC20} from "@beandao/contracts/library/ERC20.sol";
import {ERC2612, IERC2612} from "@beandao/contracts/library/ERC2612.sol";
import {Ownership, IERC173} from "@beandao/contracts/library/Ownership.sol";
import {Multicall, IMulticall} from "@beandao/contracts/library/Multicall.sol";
contract StandardToken is ERC20, ERC2612, Ownership, Multicall, IERC165 {
constructor(
string memory tokenName,
string memory tokenSymbol,
uint8 tokenDecimals,
string memory tokenVersion,
uint256 amount
) ERC20(tokenName, tokenSymbol, tokenDecimals) ERC2612(tokenName, tokenVersion) {
totalSupply = amount;
balanceOf[msg.sender] = amount;
}
function supportsInterface(bytes4 interfaceId) external pure returns (bool) {
return
// ERC20
interfaceId == type(IERC20).interfaceId ||
// ERC173
interfaceId == type(IERC173).interfaceId ||
// ERC2612
interfaceId == type(IERC2612).interfaceId;
}
}
```
## included
**Abstract Contract**
* Aggregatecall - The contract using this library is set the caller to this contract and calls are execute in order
* Multicall - This library allows to execute functions specified in the contract in order
* ERC20 - Standard ERC20 specification implementation
* ERC721 - Standard ERC721 and ERC721Metadata specification implementation
* ERC721Enumerable - Standard ERC721Enumerable and ERC721Metadata specification implementation
* ERC2612 - Provide EIP2612 details aka permit for ERC20 and smooth the approach process by signing
* ERC4494 - Provide EIP4494 details aka permit for ERC721 and smooth the approach process by signing
* Initializer - After the contract is deployed, you can configure a function that can only be called once
* Ownership - It is a single contract ownership and follows the ERC173 specification
* PermissionTable - Manage the contract address and its callable function signatures as an allow list. It can be managed with up to 256 Roles
* ReentrantSafe - Prevent the function from running again while it is running
* Scheduler - Manage task-level scheduling at the time specified by the developer
* Wizadry - Many Tx's can be compressed into one, and execution can be dynamically changed depending on the running state
**Library Contract**
* BeaconDeployer - This is a wrapper that deploy beacon contracts created in yul
* BeaconProxy - A library that helps deploy Beacon proxy the minimum contract size referring to the implementation through Beacon
* MinimalProxy - It helps to deploy the Minimal Proxy, which is the EIP 1167 specification.
* EIP712 - Easy set of functions to support EIP712, signTypedData specifications
* Witchcraft - A library for magical dynamic ABIs
**Support Contract**
* WETH - Wrapped Ether Contract
## Acknowledgements

@@ -11,0 +77,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc