Socket
Socket
Sign inDemoInstall

@openzeppelin/contracts-upgradeable

Package Overview
Dependencies
Maintainers
4
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openzeppelin/contracts-upgradeable - npm Package Compare versions

Comparing version 5.0.2 to 5.1.0-rc.0

build/contracts/ERC1363Upgradeable.json

19

build/contracts/AccessControlEnumerableUpgradeable.json

@@ -206,2 +206,21 @@ {

"type": "bytes32"
}
],
"name": "getRoleMembers",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},

@@ -208,0 +227,0 @@ {

27

build/contracts/ERC20WrapperUpgradeable.json

@@ -10,24 +10,2 @@ {

"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",

@@ -128,7 +106,2 @@ "type": "address"

"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",

@@ -135,0 +108,0 @@ "type": "error"

46

build/contracts/ERC2771ForwarderUpgradeable.json

@@ -9,13 +9,2 @@ {

{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint48",

@@ -79,3 +68,3 @@ "name": "deadline",

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -86,2 +75,18 @@ },

{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",

@@ -305,2 +310,15 @@ "name": "account",

{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",

@@ -379,6 +397,6 @@ "name": "owner",

],
"bytecode": "0x608060405234801561001057600080fd5b50610ff4806100206000396000f3fe60806040526004361061004a5760003560e01c806319d8d38c1461004f5780637ecebe001461008457806384b0196e146100e7578063ccf96b4a1461010f578063df905caf14610124575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610c32565b610137565b60405190151581526020015b60405180910390f35b34801561009057600080fd5b506100d961009f366004610c89565b6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090205490565b60405190815260200161007b565b3480156100f357600080fd5b506100fc610169565b60405161007b9796959493929190610cec565b61012261011d366004610d82565b61021a565b005b610122610132366004610c32565b610324565b6000806000806101468561037f565b509250925092508280156101575750815b80156101605750805b95945050505050565b60006060808280808381600080516020610f9f833981519152805490915015801561019657506001810154155b6101df5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b6101e7610404565b6101ef6104c7565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6001600160a01b03811615600080805b858110156102e25786868281811061024457610244610e08565b90506020028101906102569190610e1e565b610264906040013584610e54565b9250600061029588888481811061027d5761027d610e08565b905060200281019061028f9190610e1e565b86610506565b9050806102d1578787838181106102ae576102ae610e08565b90506020028101906102c09190610e1e565b6102ce906040013584610e54565b92505b506102db81610e67565b905061022a565b5034821461030c576040516370647f7960e01b8152600481018390523460248201526044016101d6565b801561031c5761031c8482610708565b505050505050565b8060400135341461035457604080516370647f7960e01b81529082013560048201523460248201526044016101d6565b61035f816001610506565b61037c57604051630a12f52160e11b815260040160405180910390fd5b50565b600080600080600080610391876107a4565b90925090506103ae6103a96040890160208a01610c89565b610919565b426103bf60a08a0160808b01610e80565b65ffffffffffff1610158380156103f357506103de60208a018a610c89565b6001600160a01b0316836001600160a01b0316145b919750955093509150509193509193565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020610f9f8339815191529161044390610ea8565b80601f016020809104026020016040519081016040528092919081815260200182805461046f90610ea8565b80156104bc5780601f10610491576101008083540402835291602001916104bc565b820191906000526020600020905b81548152906001019060200180831161049f57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1038054606091600080516020610f9f8339815191529161044390610ea8565b60008060008060006105178761037f565b935093509350935085156105dd57836105655761053a6040880160208901610c89565b60405163d2650cd160e01b81526001600160a01b0390911660048201523060248201526044016101d6565b8261059e5761057a60a0880160808901610e80565b604051634a777ac560e11b815265ffffffffffff90911660048201526024016101d6565b816105dd57806105b16020890189610c89565b604051636422d02b60e11b81526001600160a01b039283166004820152911660248201526044016101d6565b8380156105e75750815b80156105f05750825b156106fe576001600160a01b03811660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040812080546001810190915590506060880135600061064e60408b0160208c01610c89565b905060408a0135600061066460a08d018d610ee2565b61067160208f018f610c89565b60405160200161068393929190610f30565b6040516020818303038152906040529050600080600083516020850186888af19a505a90506106b2818e610996565b604080518781528c151560208201526001600160a01b038916917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c910160405180910390a25050505050505b5050505092915050565b8047101561072b5760405163cd78605960e01b81523060048201526024016101d6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610778576040519150601f19603f3d011682016040523d82523d6000602084013e61077d565b606091505b505090508061079f57604051630a12f52160e11b815260040160405180910390fd5b505050565b60008080806108f36107b960c0870187610ee2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ed92507f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac9150610821905060208a018a610c89565b61083160408b0160208c01610c89565b60408b013560608c013561084b61009f60208f018f610c89565b8d608001602081019061085e9190610e80565b8e8060a0019061086e9190610ee2565b60405161087c929190610f56565b6040805191829003822060208301999099526001600160a01b0397881690820152959094166060860152608085019290925260a084015260c083015265ffffffffffff1660e082015261010081019190915261012001604051602081830303815290604052805190602001206109b2565b906109e5565b509092509050600081600381111561090d5761090d610f66565b14959194509092505050565b604051306024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b031663572b6c0560e01b17815282519293506000928392839290918391895afa92503d91506000519050828015610980575060208210155b801561098c5750600081115b9695505050505050565b6109a5603f6060830135610f7c565b8210156109ae57fe5b5050565b60006109df6109bf610a32565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b60008060008351604103610a1f5760208401516040850151606086015160001a610a1188828585610a41565b955095509550505050610a2b565b50508151600091506002905b9250925092565b6000610a3c610b10565b905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610a7c5750600091506003905082610b06565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610ad0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610afc57506000925060019150829050610b06565b9250600091508190505b9450945094915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610b3b610b84565b610b43610bee565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000600080516020610f9f83398151915281610b9e610404565b805190915015610bb657805160209091012092915050565b81548015610bc5579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020610f9f83398151915281610c086104c7565b805190915015610c2057805160209091012092915050565b60018201548015610bc5579392505050565b600060208284031215610c4457600080fd5b813567ffffffffffffffff811115610c5b57600080fd5b820160e08185031215610c6d57600080fd5b9392505050565b6001600160a01b038116811461037c57600080fd5b600060208284031215610c9b57600080fd5b8135610c6d81610c74565b6000815180845260005b81811015610ccc57602081850181015186830182015201610cb0565b506000602082860101526020601f19601f83011685010191505092915050565b60ff60f81b881681526000602060e081840152610d0c60e084018a610ca6565b8381036040850152610d1e818a610ca6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015610d7057835183529284019291840191600101610d54565b50909c9b505050505050505050505050565b600080600060408486031215610d9757600080fd5b833567ffffffffffffffff80821115610daf57600080fd5b818601915086601f830112610dc357600080fd5b813581811115610dd257600080fd5b8760208260051b8501011115610de757600080fd5b60209283019550935050840135610dfd81610c74565b809150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000823560de19833603018112610e3457600080fd5b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109df576109df610e3e565b600060018201610e7957610e79610e3e565b5060010190565b600060208284031215610e9257600080fd5b813565ffffffffffff81168114610c6d57600080fd5b600181811c90821680610ebc57607f821691505b602082108103610edc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112610ef957600080fd5b83018035915067ffffffffffffffff821115610f1457600080fd5b602001915036819003821315610f2957600080fd5b9250929050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fd5b600082610f9957634e487b7160e01b600052601260045260246000fd5b50049056fea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100a26469706673582212207f9a767a24007ac07fd55d1f88113077e6aa45b5819d7e06a4642d57d67528e064736f6c63430008140033",
"deployedBytecode": "0x60806040526004361061004a5760003560e01c806319d8d38c1461004f5780637ecebe001461008457806384b0196e146100e7578063ccf96b4a1461010f578063df905caf14610124575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610c32565b610137565b60405190151581526020015b60405180910390f35b34801561009057600080fd5b506100d961009f366004610c89565b6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090205490565b60405190815260200161007b565b3480156100f357600080fd5b506100fc610169565b60405161007b9796959493929190610cec565b61012261011d366004610d82565b61021a565b005b610122610132366004610c32565b610324565b6000806000806101468561037f565b509250925092508280156101575750815b80156101605750805b95945050505050565b60006060808280808381600080516020610f9f833981519152805490915015801561019657506001810154155b6101df5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b6101e7610404565b6101ef6104c7565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6001600160a01b03811615600080805b858110156102e25786868281811061024457610244610e08565b90506020028101906102569190610e1e565b610264906040013584610e54565b9250600061029588888481811061027d5761027d610e08565b905060200281019061028f9190610e1e565b86610506565b9050806102d1578787838181106102ae576102ae610e08565b90506020028101906102c09190610e1e565b6102ce906040013584610e54565b92505b506102db81610e67565b905061022a565b5034821461030c576040516370647f7960e01b8152600481018390523460248201526044016101d6565b801561031c5761031c8482610708565b505050505050565b8060400135341461035457604080516370647f7960e01b81529082013560048201523460248201526044016101d6565b61035f816001610506565b61037c57604051630a12f52160e11b815260040160405180910390fd5b50565b600080600080600080610391876107a4565b90925090506103ae6103a96040890160208a01610c89565b610919565b426103bf60a08a0160808b01610e80565b65ffffffffffff1610158380156103f357506103de60208a018a610c89565b6001600160a01b0316836001600160a01b0316145b919750955093509150509193509193565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020610f9f8339815191529161044390610ea8565b80601f016020809104026020016040519081016040528092919081815260200182805461046f90610ea8565b80156104bc5780601f10610491576101008083540402835291602001916104bc565b820191906000526020600020905b81548152906001019060200180831161049f57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1038054606091600080516020610f9f8339815191529161044390610ea8565b60008060008060006105178761037f565b935093509350935085156105dd57836105655761053a6040880160208901610c89565b60405163d2650cd160e01b81526001600160a01b0390911660048201523060248201526044016101d6565b8261059e5761057a60a0880160808901610e80565b604051634a777ac560e11b815265ffffffffffff90911660048201526024016101d6565b816105dd57806105b16020890189610c89565b604051636422d02b60e11b81526001600160a01b039283166004820152911660248201526044016101d6565b8380156105e75750815b80156105f05750825b156106fe576001600160a01b03811660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040812080546001810190915590506060880135600061064e60408b0160208c01610c89565b905060408a0135600061066460a08d018d610ee2565b61067160208f018f610c89565b60405160200161068393929190610f30565b6040516020818303038152906040529050600080600083516020850186888af19a505a90506106b2818e610996565b604080518781528c151560208201526001600160a01b038916917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c910160405180910390a25050505050505b5050505092915050565b8047101561072b5760405163cd78605960e01b81523060048201526024016101d6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610778576040519150601f19603f3d011682016040523d82523d6000602084013e61077d565b606091505b505090508061079f57604051630a12f52160e11b815260040160405180910390fd5b505050565b60008080806108f36107b960c0870187610ee2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ed92507f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac9150610821905060208a018a610c89565b61083160408b0160208c01610c89565b60408b013560608c013561084b61009f60208f018f610c89565b8d608001602081019061085e9190610e80565b8e8060a0019061086e9190610ee2565b60405161087c929190610f56565b6040805191829003822060208301999099526001600160a01b0397881690820152959094166060860152608085019290925260a084015260c083015265ffffffffffff1660e082015261010081019190915261012001604051602081830303815290604052805190602001206109b2565b906109e5565b509092509050600081600381111561090d5761090d610f66565b14959194509092505050565b604051306024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b031663572b6c0560e01b17815282519293506000928392839290918391895afa92503d91506000519050828015610980575060208210155b801561098c5750600081115b9695505050505050565b6109a5603f6060830135610f7c565b8210156109ae57fe5b5050565b60006109df6109bf610a32565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b60008060008351604103610a1f5760208401516040850151606086015160001a610a1188828585610a41565b955095509550505050610a2b565b50508151600091506002905b9250925092565b6000610a3c610b10565b905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610a7c5750600091506003905082610b06565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610ad0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610afc57506000925060019150829050610b06565b9250600091508190505b9450945094915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610b3b610b84565b610b43610bee565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000600080516020610f9f83398151915281610b9e610404565b805190915015610bb657805160209091012092915050565b81548015610bc5579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020610f9f83398151915281610c086104c7565b805190915015610c2057805160209091012092915050565b60018201548015610bc5579392505050565b600060208284031215610c4457600080fd5b813567ffffffffffffffff811115610c5b57600080fd5b820160e08185031215610c6d57600080fd5b9392505050565b6001600160a01b038116811461037c57600080fd5b600060208284031215610c9b57600080fd5b8135610c6d81610c74565b6000815180845260005b81811015610ccc57602081850181015186830182015201610cb0565b506000602082860101526020601f19601f83011685010191505092915050565b60ff60f81b881681526000602060e081840152610d0c60e084018a610ca6565b8381036040850152610d1e818a610ca6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015610d7057835183529284019291840191600101610d54565b50909c9b505050505050505050505050565b600080600060408486031215610d9757600080fd5b833567ffffffffffffffff80821115610daf57600080fd5b818601915086601f830112610dc357600080fd5b813581811115610dd257600080fd5b8760208260051b8501011115610de757600080fd5b60209283019550935050840135610dfd81610c74565b809150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000823560de19833603018112610e3457600080fd5b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109df576109df610e3e565b600060018201610e7957610e79610e3e565b5060010190565b600060208284031215610e9257600080fd5b813565ffffffffffff81168114610c6d57600080fd5b600181811c90821680610ebc57607f821691505b602082108103610edc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e19843603018112610ef957600080fd5b83018035915067ffffffffffffffff821115610f1457600080fd5b602001915036819003821315610f2957600080fd5b9250929050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fd5b600082610f9957634e487b7160e01b600052601260045260246000fd5b50049056fea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100a26469706673582212207f9a767a24007ac07fd55d1f88113077e6aa45b5819d7e06a4642d57d67528e064736f6c63430008140033",
"bytecode": "0x608060405234801561000f575f80fd5b506113468061001d5f395ff3fe608060405260043610610054575f3560e01c806319d8d38c146100585780637ecebe001461008c57806384b0196e146100ed578063ccf96b4a14610114578063df905caf14610129578063f62d18881461013c575b5f80fd5b348015610063575f80fd5b50610077610072366004610e04565b61015b565b60405190151581526020015b60405180910390f35b348015610097575f80fd5b506100df6100a6366004610e56565b6001600160a01b03165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090205490565b604051908152602001610083565b3480156100f8575f80fd5b5061010161018b565b6040516100839796959493929190610eb4565b610127610122366004610f4b565b610239565b005b610127610137366004610e04565b610339565b348015610147575f80fd5b50610127610156366004610fde565b610394565b5f805f80610168856104a1565b509250925092508280156101795750815b80156101825750805b95945050505050565b5f60608082808083815f805160206112f183398151915280549091501580156101b657506001810154155b6101ff5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b610207610523565b61020f6105e3565b604080515f80825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6001600160a01b038116155f80805b858110156102f75786868281811061026257610262611089565b9050602002810190610274919061109d565b6102829060400135846110bb565b92505f6102b288888481811061029a5761029a611089565b90506020028101906102ac919061109d565b86610621565b9050806102ee578787838181106102cb576102cb611089565b90506020028101906102dd919061109d565b6102eb9060400135846110bb565b92505b50600101610248565b50348214610321576040516370647f7960e01b8152600481018390523460248201526044016101f6565b801561033157610331848261081b565b505050505050565b8060400135341461036957604080516370647f7960e01b81529082013560048201523460248201526044016101f6565b610374816001610621565b6103915760405163d6bda27560e01b815260040160405180910390fd5b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156103d95750825b90505f8267ffffffffffffffff1660011480156103f55750303b155b905081158015610403575080155b156104215760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561044b57845460ff60401b1916600160401b1785555b610454866108ba565b831561033157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b5f805f805f806104b0876108e5565b90925090506104cd6104c86040890160208a01610e56565b610a57565b426104de60a08a0160808b016110da565b65ffffffffffff16101583801561051257506104fd60208a018a610e56565b6001600160a01b0316836001600160a01b0316145b919750955093509150509193509193565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060915f805160206112f183398151915291610561906110ff565b80601f016020809104026020016040519081016040528092919081815260200182805461058d906110ff565b80156105d85780601f106105af576101008083540402835291602001916105d8565b820191905f5260205f20905b8154815290600101906020018083116105bb57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060915f805160206112f183398151915291610561906110ff565b5f805f805f61062f876104a1565b935093509350935085156106f5578361067d576106526040880160208901610e56565b60405163d2650cd160e01b81526001600160a01b0390911660048201523060248201526044016101f6565b826106b65761069260a08801608089016110da565b604051634a777ac560e11b815265ffffffffffff90911660048201526024016101f6565b816106f557806106c96020890189610e56565b604051636422d02b60e11b81526001600160a01b039283166004820152911660248201526044016101f6565b8380156106ff5750815b80156107085750825b15610811576001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260408120805460018101909155905060608801355f61076460408b0160208c01610e56565b905060408a01355f61077960a08d018d611137565b61078660208f018f610e56565b60405160200161079893929190611181565b60405160208183030381529060405290505f805f83516020850186888af19a505a90506107c5818e610ad0565b604080518781528c151560208201526001600160a01b038916917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c910160405180910390a25050505050505b5050505092915050565b804710156108455760405163cf47918160e01b8152476004820152602481018290526044016101f6565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461088e576040519150601f19603f3d011682016040523d82523d5f602084013e610893565b606091505b50509050806108b55760405163d6bda27560e01b815260040160405180910390fd5b505050565b6108c2610aec565b61039181604051806040016040528060018152602001603160f81b815250610b37565b5f808080610a326108f960c0870187611137565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610a2c92507f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac9150610960905060208a018a610e56565b61097060408b0160208c01610e56565b60408b013560608c013561098a6100a660208f018f610e56565b8d608001602081019061099d91906110da565b8e8060a001906109ad9190611137565b6040516109bb9291906111a7565b6040805191829003822060208301999099526001600160a01b0397881690820152959094166060860152608085019290925260a084015260c083015265ffffffffffff1660e08201526101008101919091526101200160405160208183030381529060405280519060200120610b96565b90610bc8565b5090925090505f816003811115610a4b57610a4b6111b6565b14959194509092505050565b6040513060248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b031663572b6c0560e01b17815282519293505f928392839290918391895afa92503d91505f519050828015610abb575060208210155b8015610ac657505f81115b9695505050505050565b610adf603f60608301356111ca565b821015610ae857fe5b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3557604051631afcd79f60e31b815260040160405180910390fd5b565b610b3f610aec565b5f805160206112f18339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102610b788482611234565b5060038101610b878382611234565b505f8082556001909101555050565b5f610bc2610ba2610c11565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b5f805f8351604103610bff576020840151604085015160608601515f1a610bf188828585610c1f565b955095509550505050610c0a565b505081515f91506002905b9250925092565b5f610c1a610ce7565b905090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c5857505f91506003905082610cdd565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610ca9573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610cd457505f925060019150829050610cdd565b92505f91508190505b9450945094915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610d11610d5a565b610d19610dc2565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f5f805160206112f183398151915281610d72610523565b805190915015610d8a57805160209091012092915050565b81548015610d99579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b5f5f805160206112f183398151915281610dda6105e3565b805190915015610df257805160209091012092915050565b60018201548015610d99579392505050565b5f60208284031215610e14575f80fd5b813567ffffffffffffffff811115610e2a575f80fd5b820160e08185031215610e3b575f80fd5b9392505050565b6001600160a01b0381168114610391575f80fd5b5f60208284031215610e66575f80fd5b8135610e3b81610e42565b5f81518084525f5b81811015610e9557602081850181015186830182015201610e79565b505f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b881681525f602060e06020840152610ed460e084018a610e71565b8381036040850152610ee6818a610e71565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015610f3957835183529284019291840191600101610f1d565b50909c9b505050505050505050505050565b5f805f60408486031215610f5d575f80fd5b833567ffffffffffffffff80821115610f74575f80fd5b818601915086601f830112610f87575f80fd5b813581811115610f95575f80fd5b8760208260051b8501011115610fa9575f80fd5b60209283019550935050840135610fbf81610e42565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610fee575f80fd5b813567ffffffffffffffff80821115611005575f80fd5b818401915084601f830112611018575f80fd5b81358181111561102a5761102a610fca565b604051601f8201601f19908116603f0116810190838211818310171561105257611052610fca565b8160405282815287602084870101111561106a575f80fd5b826020860160208301375f928101602001929092525095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f823560de198336030181126110b1575f80fd5b9190910192915050565b80820180821115610bc257634e487b7160e01b5f52601160045260245ffd5b5f602082840312156110ea575f80fd5b813565ffffffffffff81168114610e3b575f80fd5b600181811c9082168061111357607f821691505b60208210810361113157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808335601e1984360301811261114c575f80fd5b83018035915067ffffffffffffffff821115611166575f80fd5b60200191503681900382131561117a575f80fd5b9250929050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f826111e457634e487b7160e01b5f52601260045260245ffd5b500490565b601f8211156108b557805f5260205f20601f840160051c8101602085101561120e5750805b601f840160051c820191505b8181101561122d575f815560010161121a565b5050505050565b815167ffffffffffffffff81111561124e5761124e610fca565b6112628161125c84546110ff565b846111e9565b602080601f831160018114611295575f841561127e5750858301515b5f19600386901b1c1916600185901b178555610331565b5f85815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e057878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100a2646970667358221220a93190a0773fa320f1d773bf80cbfd8d2720df4ef22990f45021c40df01f903464736f6c63430008180033",
"deployedBytecode": "0x608060405260043610610054575f3560e01c806319d8d38c146100585780637ecebe001461008c57806384b0196e146100ed578063ccf96b4a14610114578063df905caf14610129578063f62d18881461013c575b5f80fd5b348015610063575f80fd5b50610077610072366004610e04565b61015b565b60405190151581526020015b60405180910390f35b348015610097575f80fd5b506100df6100a6366004610e56565b6001600160a01b03165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090205490565b604051908152602001610083565b3480156100f8575f80fd5b5061010161018b565b6040516100839796959493929190610eb4565b610127610122366004610f4b565b610239565b005b610127610137366004610e04565b610339565b348015610147575f80fd5b50610127610156366004610fde565b610394565b5f805f80610168856104a1565b509250925092508280156101795750815b80156101825750805b95945050505050565b5f60608082808083815f805160206112f183398151915280549091501580156101b657506001810154155b6101ff5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b610207610523565b61020f6105e3565b604080515f80825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6001600160a01b038116155f80805b858110156102f75786868281811061026257610262611089565b9050602002810190610274919061109d565b6102829060400135846110bb565b92505f6102b288888481811061029a5761029a611089565b90506020028101906102ac919061109d565b86610621565b9050806102ee578787838181106102cb576102cb611089565b90506020028101906102dd919061109d565b6102eb9060400135846110bb565b92505b50600101610248565b50348214610321576040516370647f7960e01b8152600481018390523460248201526044016101f6565b801561033157610331848261081b565b505050505050565b8060400135341461036957604080516370647f7960e01b81529082013560048201523460248201526044016101f6565b610374816001610621565b6103915760405163d6bda27560e01b815260040160405180910390fd5b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156103d95750825b90505f8267ffffffffffffffff1660011480156103f55750303b155b905081158015610403575080155b156104215760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561044b57845460ff60401b1916600160401b1785555b610454866108ba565b831561033157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b5f805f805f806104b0876108e5565b90925090506104cd6104c86040890160208a01610e56565b610a57565b426104de60a08a0160808b016110da565b65ffffffffffff16101583801561051257506104fd60208a018a610e56565b6001600160a01b0316836001600160a01b0316145b919750955093509150509193509193565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060915f805160206112f183398151915291610561906110ff565b80601f016020809104026020016040519081016040528092919081815260200182805461058d906110ff565b80156105d85780601f106105af576101008083540402835291602001916105d8565b820191905f5260205f20905b8154815290600101906020018083116105bb57829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10380546060915f805160206112f183398151915291610561906110ff565b5f805f805f61062f876104a1565b935093509350935085156106f5578361067d576106526040880160208901610e56565b60405163d2650cd160e01b81526001600160a01b0390911660048201523060248201526044016101f6565b826106b65761069260a08801608089016110da565b604051634a777ac560e11b815265ffffffffffff90911660048201526024016101f6565b816106f557806106c96020890189610e56565b604051636422d02b60e11b81526001600160a01b039283166004820152911660248201526044016101f6565b8380156106ff5750815b80156107085750825b15610811576001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260408120805460018101909155905060608801355f61076460408b0160208c01610e56565b905060408a01355f61077960a08d018d611137565b61078660208f018f610e56565b60405160200161079893929190611181565b60405160208183030381529060405290505f805f83516020850186888af19a505a90506107c5818e610ad0565b604080518781528c151560208201526001600160a01b038916917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c910160405180910390a25050505050505b5050505092915050565b804710156108455760405163cf47918160e01b8152476004820152602481018290526044016101f6565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461088e576040519150601f19603f3d011682016040523d82523d5f602084013e610893565b606091505b50509050806108b55760405163d6bda27560e01b815260040160405180910390fd5b505050565b6108c2610aec565b61039181604051806040016040528060018152602001603160f81b815250610b37565b5f808080610a326108f960c0870187611137565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610a2c92507f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac9150610960905060208a018a610e56565b61097060408b0160208c01610e56565b60408b013560608c013561098a6100a660208f018f610e56565b8d608001602081019061099d91906110da565b8e8060a001906109ad9190611137565b6040516109bb9291906111a7565b6040805191829003822060208301999099526001600160a01b0397881690820152959094166060860152608085019290925260a084015260c083015265ffffffffffff1660e08201526101008101919091526101200160405160208183030381529060405280519060200120610b96565b90610bc8565b5090925090505f816003811115610a4b57610a4b6111b6565b14959194509092505050565b6040513060248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b031663572b6c0560e01b17815282519293505f928392839290918391895afa92503d91505f519050828015610abb575060208210155b8015610ac657505f81115b9695505050505050565b610adf603f60608301356111ca565b821015610ae857fe5b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610b3557604051631afcd79f60e31b815260040160405180910390fd5b565b610b3f610aec565b5f805160206112f18339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102610b788482611234565b5060038101610b878382611234565b505f8082556001909101555050565b5f610bc2610ba2610c11565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b5f805f8351604103610bff576020840151604085015160608601515f1a610bf188828585610c1f565b955095509550505050610c0a565b505081515f91506002905b9250925092565b5f610c1a610ce7565b905090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610c5857505f91506003905082610cdd565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610ca9573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610cd457505f925060019150829050610cdd565b92505f91508190505b9450945094915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610d11610d5a565b610d19610dc2565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f5f805160206112f183398151915281610d72610523565b805190915015610d8a57805160209091012092915050565b81548015610d99579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b5f5f805160206112f183398151915281610dda6105e3565b805190915015610df257805160209091012092915050565b60018201548015610d99579392505050565b5f60208284031215610e14575f80fd5b813567ffffffffffffffff811115610e2a575f80fd5b820160e08185031215610e3b575f80fd5b9392505050565b6001600160a01b0381168114610391575f80fd5b5f60208284031215610e66575f80fd5b8135610e3b81610e42565b5f81518084525f5b81811015610e9557602081850181015186830182015201610e79565b505f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b881681525f602060e06020840152610ed460e084018a610e71565b8381036040850152610ee6818a610e71565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015610f3957835183529284019291840191600101610f1d565b50909c9b505050505050505050505050565b5f805f60408486031215610f5d575f80fd5b833567ffffffffffffffff80821115610f74575f80fd5b818601915086601f830112610f87575f80fd5b813581811115610f95575f80fd5b8760208260051b8501011115610fa9575f80fd5b60209283019550935050840135610fbf81610e42565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610fee575f80fd5b813567ffffffffffffffff80821115611005575f80fd5b818401915084601f830112611018575f80fd5b81358181111561102a5761102a610fca565b604051601f8201601f19908116603f0116810190838211818310171561105257611052610fca565b8160405282815287602084870101111561106a575f80fd5b826020860160208301375f928101602001929092525095945050505050565b634e487b7160e01b5f52603260045260245ffd5b5f823560de198336030181126110b1575f80fd5b9190910192915050565b80820180821115610bc257634e487b7160e01b5f52601160045260245ffd5b5f602082840312156110ea575f80fd5b813565ffffffffffff81168114610e3b575f80fd5b600181811c9082168061111357607f821691505b60208210810361113157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808335601e1984360301811261114c575f80fd5b83018035915067ffffffffffffffff821115611166575f80fd5b60200191503681900382131561117a575f80fd5b9250929050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f826111e457634e487b7160e01b5f52601260045260245ffd5b500490565b601f8211156108b557805f5260205f20601f840160051c8101602085101561120e5750805b601f840160051c820191505b8181101561122d575f815560010161121a565b5050505050565b815167ffffffffffffffff81111561124e5761124e610fca565b6112628161125c84546110ff565b846111e9565b602080601f831160018114611295575f841561127e5750858301515b5f19600386901b1c1916600185901b178555610331565b5f85815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e057878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100a2646970667358221220a93190a0773fa320f1d773bf80cbfd8d2720df4ef22990f45021c40df01f903464736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -110,3 +110,3 @@ {

"internalType": "address",
"name": "",
"name": "receiver",
"type": "address"

@@ -116,3 +116,3 @@ },

"internalType": "uint256",
"name": "",
"name": "amount",
"type": "uint256"

@@ -119,0 +119,0 @@ }

@@ -10,24 +10,2 @@ {

"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",

@@ -201,7 +179,2 @@ "type": "address"

"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",

@@ -212,7 +185,2 @@ "type": "error"

"inputs": [],
"name": "MathOverflowedMulDiv",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",

@@ -219,0 +187,0 @@ "type": "error"

@@ -400,3 +400,3 @@ {

"internalType": "address",
"name": "",
"name": "receiver",
"type": "address"

@@ -406,3 +406,3 @@ },

"internalType": "uint256",
"name": "",
"name": "amount",
"type": "uint256"

@@ -409,0 +409,0 @@ }

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -1114,3 +1109,3 @@ {

"internalType": "address[]",
"name": "",
"name": "targets",
"type": "address[]"

@@ -1120,3 +1115,3 @@ },

"internalType": "uint256[]",
"name": "",
"name": "values",
"type": "uint256[]"

@@ -1126,3 +1121,3 @@ },

"internalType": "bytes[]",
"name": "",
"name": "calldatas",
"type": "bytes[]"

@@ -1132,3 +1127,3 @@ },

"internalType": "bytes32",
"name": "",
"name": "descriptionHash",
"type": "bytes32"

@@ -1152,3 +1147,3 @@ }

"internalType": "uint256",
"name": "",
"name": "proposalId",
"type": "uint256"

@@ -1158,3 +1153,3 @@ },

"internalType": "address[]",
"name": "",
"name": "targets",
"type": "address[]"

@@ -1164,3 +1159,3 @@ },

"internalType": "uint256[]",
"name": "",
"name": "values",
"type": "uint256[]"

@@ -1170,3 +1165,3 @@ },

"internalType": "bytes[]",
"name": "",
"name": "calldatas",
"type": "bytes[]"

@@ -1176,3 +1171,3 @@ },

"internalType": "bytes32",
"name": "",
"name": "descriptionHash",
"type": "bytes32"

@@ -1179,0 +1174,0 @@ }

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -259,12 +264,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -271,0 +266,0 @@ {

@@ -7,15 +7,4 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -105,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -204,2 +198,18 @@ "type": "error"

{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",

@@ -229,12 +239,2 @@ "name": "account",

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -241,0 +241,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -13,3 +13,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -115,2 +115,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -238,12 +243,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -250,0 +245,0 @@ {

@@ -8,3 +8,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -94,2 +94,7 @@ },

"inputs": [],
"name": "GovernorInvalidVoteParams",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidVoteType",

@@ -217,12 +222,2 @@ "type": "error"

{
"inputs": [],
"name": "QueueEmpty",
"type": "error"
},
{
"inputs": [],
"name": "QueueFull",
"type": "error"
},
{
"inputs": [

@@ -229,0 +224,0 @@ {

@@ -19,3 +19,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -22,0 +22,0 @@ },

@@ -29,3 +29,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -667,2 +667,30 @@ },

{
"internalType": "uint256",
"name": "minDelay",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "proposers",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "executors",
"type": "address[]"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",

@@ -1002,6 +1030,6 @@ "name": "id",

],
"bytecode": "0x608060405234801561001057600080fd5b50611b6c806100206000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610567578063e38335e514610587578063f23a6e611461059a578063f27a0c92146105c657600080fd5b8063bc197c81146104e1578063c4d252f51461050d578063d45c44351461052d57600080fd5b806391d14854116100c657806391d1485414610458578063a217fddf14610478578063b08e51c01461048d578063b1c5f427146104c157600080fd5b80638065657f146103e45780638f2a0bb0146104045780638f61f4f51461042457600080fd5b80632ab0f5291161015957806336568abe1161013357806336568abe14610357578063584b153e1461037757806364d62353146103975780637958004c146103b757600080fd5b80632ab0f529146102f75780632f2ff15d1461031757806331d507501461033757600080fd5b8063134008d311610195578063134008d31461026057806313bc9f2014610273578063150b7a0214610293578063248a9ca3146102d757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611292565b6105fa565b005b3480156101f557600080fd5b50610209610204366004611306565b6106d0565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b6101e761026e366004611330565b6106e1565b34801561027f57600080fd5b5061020961028e36600461139b565b610796565b34801561029f57600080fd5b506102be6102ae366004611469565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b3480156102e357600080fd5b506102526102f236600461139b565b6107bc565b34801561030357600080fd5b5061020961031236600461139b565b6107de565b34801561032357600080fd5b506101e76103323660046114d0565b6107e7565b34801561034357600080fd5b5061020961035236600461139b565b610809565b34801561036357600080fd5b506101e76103723660046114d0565b61082e565b34801561038357600080fd5b5061020961039236600461139b565b610866565b3480156103a357600080fd5b506101e76103b236600461139b565b6108ac565b3480156103c357600080fd5b506103d76103d236600461139b565b610931565b6040516102159190611512565b3480156103f057600080fd5b506102526103ff366004611330565b610989565b34801561041057600080fd5b506101e761041f36600461157e565b6109c8565b34801561043057600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046457600080fd5b506102096104733660046114d0565b610b5e565b34801561048457600080fd5b50610252600081565b34801561049957600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104cd57600080fd5b506102526104dc36600461162f565b610b96565b3480156104ed57600080fd5b506102be6104fc366004611756565b63bc197c8160e01b95945050505050565b34801561051957600080fd5b506101e761052836600461139b565b610bdb565b34801561053957600080fd5b5061025261054836600461139b565b6000908152600080516020611af7833981519152602052604090205490565b34801561057357600080fd5b506101e76105823660046114d0565b610c96565b6101e761059536600461162f565b610cb2565b3480156105a657600080fd5b506102be6105b53660046117ff565b63f23a6e6160e01b95945050505050565b3480156105d257600080fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360154610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062481610e3f565b6000610634898989898989610989565b90506106408184610e4c565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067c9695949392919061188c565b60405180910390a383156106c557807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106bc91815260200190565b60405180910390a25b505050505050505050565b60006106db82610f0f565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6361070d816000610b5e565b61071b5761071b8133610f34565b600061072b888888888888610989565b90506107378185610f71565b61074388888888610fbf565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161077b94939291906118c9565b60405180910390a361078c81611037565b5050505050505050565b600060025b6107a483610931565b60038111156107b5576107b56114fc565b1492915050565b6000908152600080516020611b17833981519152602052604090206001015490565b6000600361079b565b6107f0826107bc565b6107f981610e3f565b6108038383611070565b50505050565b60008061081583610931565b6003811115610826576108266114fc565b141592915050565b6001600160a01b03811633146108575760405163334bd91960e11b815260040160405180910390fd5b6108618282611115565b505050565b60008061087283610931565b90506001816003811115610888576108886114fc565b14806108a5575060028160038111156108a3576108a36114fc565b145b9392505050565b600080516020611af7833981519152333081146108ec5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b6000818152600080516020611af783398151915260205260408120548060000361095e5750600092915050565b6001810361096f5750600392915050565b428111156109805750600192915050565b50600292915050565b60008686868686866040516020016109a69695949392919061188c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109f281610e3f565b8887141580610a015750888514155b15610a33576040516001624fcdef60e01b03198152600481018a905260248101869052604481018890526064016108e3565b6000610a458b8b8b8b8b8b8b8b610b96565b9050610a518184610e4c565b60005b8a811015610b0f5780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a9157610a916118fb565b9050602002016020810190610aa69190611911565b8d8d86818110610ab857610ab86118fb565b905060200201358c8c87818110610ad157610ad16118fb565b9050602002810190610ae3919061192c565b8c8b604051610af79695949392919061188c565b60405180910390a3610b0881611988565b9050610a54565b508315610b5157807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b4891815260200190565b60405180910390a25b5050505050505050505050565b6000918252600080516020611b17833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610bb7989796959493929190611a32565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c0581610e3f565b600080516020611af7833981519152610c1d83610866565b610c595782610c2c6002611191565b610c366001611191565b604051635ead8eb560e01b815260048101939093521760248201526044016108e3565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610c9f826107bc565b610ca881610e3f565b6108038383611115565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cde816000610b5e565b610cec57610cec8133610f34565b8786141580610cfb5750878414155b15610d2d576040516001624fcdef60e01b031981526004810189905260248101859052604481018790526064016108e3565b6000610d3f8a8a8a8a8a8a8a8a610b96565b9050610d4b8185610f71565b60005b89811015610e295760008b8b83818110610d6a57610d6a6118fb565b9050602002016020810190610d7f9190611911565b905060008a8a84818110610d9557610d956118fb565b9050602002013590503660008a8a86818110610db357610db36118fb565b9050602002810190610dc5919061192c565b91509150610dd584848484610fbf565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e0c94939291906118c9565b60405180910390a35050505080610e2290611988565b9050610d4e565b50610e3381611037565b50505050505050505050565b610e498133610f34565b50565b600080516020611af7833981519152610e6483610809565b15610e965782610e746000611191565b604051635ead8eb560e01b8152600481019290925260248201526044016108e3565b6000610ec07f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610eed57604051635433660960e01b815260048101849052602481018290526044016108e3565b610ef78342611ad3565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806106db57506106db826111b4565b610f3e8282610b5e565b610f6d5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108e3565b5050565b610f7a82610796565b610f895781610e746002611191565b8015801590610f9e5750610f9c816107de565b155b15610f6d5760405163121534c360e31b8152600481018290526024016108e3565b600080856001600160a01b0316858585604051610fdd929190611ae6565b60006040518083038185875af1925050503d806000811461101a576040519150601f19603f3d011682016040523d82523d6000602084013e61101f565b606091505b509150915061102e82826111e9565b50505050505050565b600080516020611af783398151915261104f82610796565b61105e5781610e746002611191565b60009182526020526040902060019055565b6000600080516020611b1783398151915261108b8484610b5e565b61110b576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556110c13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106db565b60009150506106db565b6000600080516020611b178339815191526111308484610b5e565b1561110b576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106db565b60008160038111156111a5576111a56114fc565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806106db57506301ffc9a760e01b6001600160e01b03198316146106db565b6060826111fe576111f982611205565b6106db565b50806106db565b8051156112155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461124557600080fd5b919050565b60008083601f84011261125c57600080fd5b5081356001600160401b0381111561127357600080fd5b60208301915083602082850101111561128b57600080fd5b9250929050565b600080600080600080600060c0888a0312156112ad57600080fd5b6112b68861122e565b96506020880135955060408801356001600160401b038111156112d857600080fd5b6112e48a828b0161124a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561131857600080fd5b81356001600160e01b0319811681146108a557600080fd5b60008060008060008060a0878903121561134957600080fd5b6113528761122e565b95506020870135945060408701356001600160401b0381111561137457600080fd5b61138089828a0161124a565b979a9699509760608101359660809091013595509350505050565b6000602082840312156113ad57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113f2576113f26113b4565b604052919050565b600082601f83011261140b57600080fd5b81356001600160401b03811115611424576114246113b4565b611437601f8201601f19166020016113ca565b81815284602083860101111561144c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561147f57600080fd5b6114888561122e565b93506114966020860161122e565b92506040850135915060608501356001600160401b038111156114b857600080fd5b6114c4878288016113fa565b91505092959194509250565b600080604083850312156114e357600080fd5b823591506114f36020840161122e565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061153457634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f84011261154c57600080fd5b5081356001600160401b0381111561156357600080fd5b6020830191508360208260051b850101111561128b57600080fd5b600080600080600080600080600060c08a8c03121561159c57600080fd5b89356001600160401b03808211156115b357600080fd5b6115bf8d838e0161153a565b909b50995060208c01359150808211156115d857600080fd5b6115e48d838e0161153a565b909950975060408c01359150808211156115fd57600080fd5b5061160a8c828d0161153a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561164b57600080fd5b88356001600160401b038082111561166257600080fd5b61166e8c838d0161153a565b909a50985060208b013591508082111561168757600080fd5b6116938c838d0161153a565b909850965060408b01359150808211156116ac57600080fd5b506116b98b828c0161153a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126116e857600080fd5b813560206001600160401b03821115611703576117036113b4565b8160051b6117128282016113ca565b928352848101820192828101908785111561172c57600080fd5b83870192505b8483101561174b57823582529183019190830190611732565b979650505050505050565b600080600080600060a0868803121561176e57600080fd5b6117778661122e565b94506117856020870161122e565b935060408601356001600160401b03808211156117a157600080fd5b6117ad89838a016116d7565b945060608801359150808211156117c357600080fd5b6117cf89838a016116d7565b935060808801359150808211156117e557600080fd5b506117f2888289016113fa565b9150509295509295909350565b600080600080600060a0868803121561181757600080fd5b6118208661122e565b945061182e6020870161122e565b9350604086013592506060860135915060808601356001600160401b0381111561185757600080fd5b6117f2888289016113fa565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006118b460a083018688611863565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006118f1606083018486611863565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192357600080fd5b6108a58261122e565b6000808335601e1984360301811261194357600080fd5b8301803591506001600160401b0382111561195d57600080fd5b60200191503681900382131561128b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161199a5761199a611972565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611a255782840389528135601e198836030181126119dc57600080fd5b870185810190356001600160401b038111156119f757600080fd5b803603821315611a0657600080fd5b611a11868284611863565b9a87019a95505050908401906001016119bb565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611a73576001600160a01b03611a5e8461122e565b16825260209283019290910190600101611a45565b5083810360208501528881526001600160fb1b03891115611a9357600080fd5b8860051b9150818a60208301370182810360209081016040850152611abb90820187896119a1565b60608401959095525050608001529695505050505050565b808201808211156106db576106db611972565b818382376000910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220781a12c681aeb4eb266150916b3e1897219d9611e2b6367c5530d2e8337ed28064736f6c63430008140033",
"deployedBytecode": "0x6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610567578063e38335e514610587578063f23a6e611461059a578063f27a0c92146105c657600080fd5b8063bc197c81146104e1578063c4d252f51461050d578063d45c44351461052d57600080fd5b806391d14854116100c657806391d1485414610458578063a217fddf14610478578063b08e51c01461048d578063b1c5f427146104c157600080fd5b80638065657f146103e45780638f2a0bb0146104045780638f61f4f51461042457600080fd5b80632ab0f5291161015957806336568abe1161013357806336568abe14610357578063584b153e1461037757806364d62353146103975780637958004c146103b757600080fd5b80632ab0f529146102f75780632f2ff15d1461031757806331d507501461033757600080fd5b8063134008d311610195578063134008d31461026057806313bc9f2014610273578063150b7a0214610293578063248a9ca3146102d757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e2366004611292565b6105fa565b005b3480156101f557600080fd5b50610209610204366004611306565b6106d0565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b6101e761026e366004611330565b6106e1565b34801561027f57600080fd5b5061020961028e36600461139b565b610796565b34801561029f57600080fd5b506102be6102ae366004611469565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b3480156102e357600080fd5b506102526102f236600461139b565b6107bc565b34801561030357600080fd5b5061020961031236600461139b565b6107de565b34801561032357600080fd5b506101e76103323660046114d0565b6107e7565b34801561034357600080fd5b5061020961035236600461139b565b610809565b34801561036357600080fd5b506101e76103723660046114d0565b61082e565b34801561038357600080fd5b5061020961039236600461139b565b610866565b3480156103a357600080fd5b506101e76103b236600461139b565b6108ac565b3480156103c357600080fd5b506103d76103d236600461139b565b610931565b6040516102159190611512565b3480156103f057600080fd5b506102526103ff366004611330565b610989565b34801561041057600080fd5b506101e761041f36600461157e565b6109c8565b34801561043057600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046457600080fd5b506102096104733660046114d0565b610b5e565b34801561048457600080fd5b50610252600081565b34801561049957600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104cd57600080fd5b506102526104dc36600461162f565b610b96565b3480156104ed57600080fd5b506102be6104fc366004611756565b63bc197c8160e01b95945050505050565b34801561051957600080fd5b506101e761052836600461139b565b610bdb565b34801561053957600080fd5b5061025261054836600461139b565b6000908152600080516020611af7833981519152602052604090205490565b34801561057357600080fd5b506101e76105823660046114d0565b610c96565b6101e761059536600461162f565b610cb2565b3480156105a657600080fd5b506102be6105b53660046117ff565b63f23a6e6160e01b95945050505050565b3480156105d257600080fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360154610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062481610e3f565b6000610634898989898989610989565b90506106408184610e4c565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161067c9695949392919061188c565b60405180910390a383156106c557807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387856040516106bc91815260200190565b60405180910390a25b505050505050505050565b60006106db82610f0f565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6361070d816000610b5e565b61071b5761071b8133610f34565b600061072b888888888888610989565b90506107378185610f71565b61074388888888610fbf565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161077b94939291906118c9565b60405180910390a361078c81611037565b5050505050505050565b600060025b6107a483610931565b60038111156107b5576107b56114fc565b1492915050565b6000908152600080516020611b17833981519152602052604090206001015490565b6000600361079b565b6107f0826107bc565b6107f981610e3f565b6108038383611070565b50505050565b60008061081583610931565b6003811115610826576108266114fc565b141592915050565b6001600160a01b03811633146108575760405163334bd91960e11b815260040160405180910390fd5b6108618282611115565b505050565b60008061087283610931565b90506001816003811115610888576108886114fc565b14806108a5575060028160038111156108a3576108a36114fc565b145b9392505050565b600080516020611af7833981519152333081146108ec5760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b6000818152600080516020611af783398151915260205260408120548060000361095e5750600092915050565b6001810361096f5750600392915050565b428111156109805750600192915050565b50600292915050565b60008686868686866040516020016109a69695949392919061188c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16109f281610e3f565b8887141580610a015750888514155b15610a33576040516001624fcdef60e01b03198152600481018a905260248101869052604481018890526064016108e3565b6000610a458b8b8b8b8b8b8b8b610b96565b9050610a518184610e4c565b60005b8a811015610b0f5780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a9157610a916118fb565b9050602002016020810190610aa69190611911565b8d8d86818110610ab857610ab86118fb565b905060200201358c8c87818110610ad157610ad16118fb565b9050602002810190610ae3919061192c565b8c8b604051610af79695949392919061188c565b60405180910390a3610b0881611988565b9050610a54565b508315610b5157807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610b4891815260200190565b60405180910390a25b5050505050505050505050565b6000918252600080516020611b17833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610bb7989796959493929190611a32565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c0581610e3f565b600080516020611af7833981519152610c1d83610866565b610c595782610c2c6002611191565b610c366001611191565b604051635ead8eb560e01b815260048101939093521760248201526044016108e3565b6000838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610c9f826107bc565b610ca881610e3f565b6108038383611115565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610cde816000610b5e565b610cec57610cec8133610f34565b8786141580610cfb5750878414155b15610d2d576040516001624fcdef60e01b031981526004810189905260248101859052604481018790526064016108e3565b6000610d3f8a8a8a8a8a8a8a8a610b96565b9050610d4b8185610f71565b60005b89811015610e295760008b8b83818110610d6a57610d6a6118fb565b9050602002016020810190610d7f9190611911565b905060008a8a84818110610d9557610d956118fb565b9050602002013590503660008a8a86818110610db357610db36118fb565b9050602002810190610dc5919061192c565b91509150610dd584848484610fbf565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e0c94939291906118c9565b60405180910390a35050505080610e2290611988565b9050610d4e565b50610e3381611037565b50505050505050505050565b610e498133610f34565b50565b600080516020611af7833981519152610e6483610809565b15610e965782610e746000611191565b604051635ead8eb560e01b8152600481019290925260248201526044016108e3565b6000610ec07f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610eed57604051635433660960e01b815260048101849052602481018290526044016108e3565b610ef78342611ad3565b60009485526020929092525060409092209190915550565b60006001600160e01b03198216630271189760e51b14806106db57506106db826111b4565b610f3e8282610b5e565b610f6d5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108e3565b5050565b610f7a82610796565b610f895781610e746002611191565b8015801590610f9e5750610f9c816107de565b155b15610f6d5760405163121534c360e31b8152600481018290526024016108e3565b600080856001600160a01b0316858585604051610fdd929190611ae6565b60006040518083038185875af1925050503d806000811461101a576040519150601f19603f3d011682016040523d82523d6000602084013e61101f565b606091505b509150915061102e82826111e9565b50505050505050565b600080516020611af783398151915261104f82610796565b61105e5781610e746002611191565b60009182526020526040902060019055565b6000600080516020611b1783398151915261108b8484610b5e565b61110b576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556110c13390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106db565b60009150506106db565b6000600080516020611b178339815191526111308484610b5e565b1561110b576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106db565b60008160038111156111a5576111a56114fc565b600160ff919091161b92915050565b60006001600160e01b03198216637965db0b60e01b14806106db57506301ffc9a760e01b6001600160e01b03198316146106db565b6060826111fe576111f982611205565b6106db565b50806106db565b8051156112155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461124557600080fd5b919050565b60008083601f84011261125c57600080fd5b5081356001600160401b0381111561127357600080fd5b60208301915083602082850101111561128b57600080fd5b9250929050565b600080600080600080600060c0888a0312156112ad57600080fd5b6112b68861122e565b96506020880135955060408801356001600160401b038111156112d857600080fd5b6112e48a828b0161124a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561131857600080fd5b81356001600160e01b0319811681146108a557600080fd5b60008060008060008060a0878903121561134957600080fd5b6113528761122e565b95506020870135945060408701356001600160401b0381111561137457600080fd5b61138089828a0161124a565b979a9699509760608101359660809091013595509350505050565b6000602082840312156113ad57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113f2576113f26113b4565b604052919050565b600082601f83011261140b57600080fd5b81356001600160401b03811115611424576114246113b4565b611437601f8201601f19166020016113ca565b81815284602083860101111561144c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561147f57600080fd5b6114888561122e565b93506114966020860161122e565b92506040850135915060608501356001600160401b038111156114b857600080fd5b6114c4878288016113fa565b91505092959194509250565b600080604083850312156114e357600080fd5b823591506114f36020840161122e565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b602081016004831061153457634e487b7160e01b600052602160045260246000fd5b91905290565b60008083601f84011261154c57600080fd5b5081356001600160401b0381111561156357600080fd5b6020830191508360208260051b850101111561128b57600080fd5b600080600080600080600080600060c08a8c03121561159c57600080fd5b89356001600160401b03808211156115b357600080fd5b6115bf8d838e0161153a565b909b50995060208c01359150808211156115d857600080fd5b6115e48d838e0161153a565b909950975060408c01359150808211156115fd57600080fd5b5061160a8c828d0161153a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561164b57600080fd5b88356001600160401b038082111561166257600080fd5b61166e8c838d0161153a565b909a50985060208b013591508082111561168757600080fd5b6116938c838d0161153a565b909850965060408b01359150808211156116ac57600080fd5b506116b98b828c0161153a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126116e857600080fd5b813560206001600160401b03821115611703576117036113b4565b8160051b6117128282016113ca565b928352848101820192828101908785111561172c57600080fd5b83870192505b8483101561174b57823582529183019190830190611732565b979650505050505050565b600080600080600060a0868803121561176e57600080fd5b6117778661122e565b94506117856020870161122e565b935060408601356001600160401b03808211156117a157600080fd5b6117ad89838a016116d7565b945060608801359150808211156117c357600080fd5b6117cf89838a016116d7565b935060808801359150808211156117e557600080fd5b506117f2888289016113fa565b9150509295509295909350565b600080600080600060a0868803121561181757600080fd5b6118208661122e565b945061182e6020870161122e565b9350604086013592506060860135915060808601356001600160401b0381111561185757600080fd5b6117f2888289016113fa565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006118b460a083018688611863565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006118f1606083018486611863565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192357600080fd5b6108a58261122e565b6000808335601e1984360301811261194357600080fd5b8301803591506001600160401b0382111561195d57600080fd5b60200191503681900382131561128b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161199a5761199a611972565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611a255782840389528135601e198836030181126119dc57600080fd5b870185810190356001600160401b038111156119f757600080fd5b803603821315611a0657600080fd5b611a11868284611863565b9a87019a95505050908401906001016119bb565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611a73576001600160a01b03611a5e8461122e565b16825260209283019290910190600101611a45565b5083810360208501528881526001600160fb1b03891115611a9357600080fd5b8860051b9150818a60208301370182810360209081016040850152611abb90820187896119a1565b60608401959095525050608001529695505050505050565b808201808211156106db576106db611972565b818382376000910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220781a12c681aeb4eb266150916b3e1897219d9611e2b6367c5530d2e8337ed28064736f6c63430008140033",
"bytecode": "0x608060405234801561000f575f80fd5b50611e168061001d5f395ff3fe6080604052600436106101bd575f3560e01c80638065657f116100f2578063bc197c8111610092578063d547741f11610062578063d547741f14610547578063e38335e514610566578063f23a6e6114610579578063f27a0c92146105a4575f80fd5b8063bc197c81146104a7578063c4c4c7b3146104d2578063c4d252f5146104f1578063d45c443514610510575f80fd5b806391d14854116100cd57806391d1485414610423578063a217fddf14610442578063b08e51c014610455578063b1c5f42714610488575f80fd5b80638065657f146103c55780638f2a0bb0146103e45780638f61f4f514610403575f80fd5b80632ab0f5291161015d57806336568abe1161013857806336568abe1461033c578063584b153e1461035b57806364d623531461037a5780637958004c14610399575f80fd5b80632ab0f529146102df5780632f2ff15d146102fe57806331d507501461031d575f80fd5b8063134008d311610198578063134008d31461024b57806313bc9f201461025e578063150b7a021461027d578063248a9ca3146102c0575f80fd5b806301d5062a146101c857806301ffc9a7146101e957806307bd02651461021d575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611484565b6105d7565b005b3480156101f4575f80fd5b506102086102033660046114f2565b610698565b60405190151581526020015b60405180910390f35b348015610228575f80fd5b5061023d5f80516020611dc183398151915281565b604051908152602001610214565b6101e7610259366004611519565b6106a8565b348015610269575f80fd5b5061020861027836600461157f565b610747565b348015610288575f80fd5b506102a7610297366004611645565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610214565b3480156102cb575f80fd5b5061023d6102da36600461157f565b61076c565b3480156102ea575f80fd5b506102086102f936600461157f565b61078c565b348015610309575f80fd5b506101e76103183660046116a8565b610794565b348015610328575f80fd5b5061020861033736600461157f565b6107b6565b348015610347575f80fd5b506101e76103563660046116a8565b6107da565b348015610366575f80fd5b5061020861037536600461157f565b610812565b348015610385575f80fd5b506101e761039436600461157f565b610857565b3480156103a4575f80fd5b506103b86103b336600461157f565b6108db565b60405161021491906116e6565b3480156103d0575f80fd5b5061023d6103df366004611519565b61092f565b3480156103ef575f80fd5b506101e76103fe36600461174c565b61096d565b34801561040e575f80fd5b5061023d5f80516020611da183398151915281565b34801561042e575f80fd5b5061020861043d3660046116a8565b610ae6565b34801561044d575f80fd5b5061023d5f81565b348015610460575f80fd5b5061023d7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b348015610493575f80fd5b5061023d6104a23660046117f4565b610b1c565b3480156104b2575f80fd5b506102a76104c1366004611922565b63bc197c8160e01b95945050505050565b3480156104dd575f80fd5b506101e76104ec366004611a27565b610b60565b3480156104fc575f80fd5b506101e761050b36600461157f565b610c71565b34801561051b575f80fd5b5061023d61052a36600461157f565b5f9081525f80516020611d61833981519152602052604090205490565b348015610552575f80fd5b506101e76105613660046116a8565b610d2a565b6101e76105743660046117f4565b610d46565b348015610584575f80fd5b506102a7610593366004611a9f565b63f23a6e6160e01b95945050505050565b3480156105af575f80fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015461023d565b5f80516020611da18339815191526105ee81610eb4565b5f6105fd89898989898961092f565b90506106098184610ec1565b5f817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161064496959493929190611b26565b60405180910390a3831561068d57807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d03878560405161068491815260200190565b60405180910390a25b505050505050505050565b5f6106a282610f80565b92915050565b5f80516020611dc18339815191526106c0815f610ae6565b6106ce576106ce8133610fa4565b5f6106dd88888888888861092f565b90506106e98185610fe1565b6106f58888888861102f565b5f817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161072c9493929190611b62565b60405180910390a361073d816110a3565b5050505050505050565b5f60025b610754836108db565b6003811115610765576107656116d2565b1492915050565b5f9081525f80516020611d81833981519152602052604090206001015490565b5f600361074b565b61079d8261076c565b6107a681610eb4565b6107b083836110da565b50505050565b5f806107c1836108db565b60038111156107d2576107d26116d2565b141592915050565b6001600160a01b03811633146108035760405163334bd91960e11b815260040160405180910390fd5b61080d828261117b565b505050565b5f8061081d836108db565b90506001816003811115610833576108336116d2565b14806108505750600281600381111561084e5761084e6116d2565b145b9392505050565b5f80516020611d61833981519152333081146108965760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b5f8181525f80516020611d618339815191526020526040812054805f0361090457505f92915050565b600181036109155750600392915050565b428111156109265750600192915050565b50600292915050565b5f86868686868660405160200161094b96959493929190611b26565b6040516020818303038152906040528051906020012090509695505050505050565b5f80516020611da183398151915261098481610eb4565b88871415806109935750888514155b156109c5576040516001624fcdef60e01b03198152600481018a9052602481018690526044810188905260640161088d565b5f6109d68b8b8b8b8b8b8b8b610b1c565b90506109e28184610ec1565b5f5b8a811015610a975780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a2157610a21611b93565b9050602002016020810190610a369190611ba7565b8d8d86818110610a4857610a48611b93565b905060200201358c8c87818110610a6157610a61611b93565b9050602002810190610a739190611bc0565b8c8b604051610a8796959493929190611b26565b60405180910390a36001016109e4565b508315610ad957807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610ad091815260200190565b60405180910390a25b5050505050505050505050565b5f9182525f80516020611d81833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8888888888888888604051602001610b3c989796959493929190611c93565b60405160208183030381529060405280519060200120905098975050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f81158015610ba45750825b90505f826001600160401b03166001148015610bbf5750303b155b905081158015610bcd575080155b15610beb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c1557845460ff60401b1916600160401b1785555b610c21898989896111f4565b831561068d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c9b81610eb4565b5f80516020611d61833981519152610cb283610812565b610cee5782610cc16002611208565b610ccb6001611208565b604051635ead8eb560e01b8152600481019390935217602482015260440161088d565b5f838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610d338261076c565b610d3c81610eb4565b6107b0838361117b565b5f80516020611dc1833981519152610d5e815f610ae6565b610d6c57610d6c8133610fa4565b8786141580610d7b5750878414155b15610dad576040516001624fcdef60e01b0319815260048101899052602481018590526044810187905260640161088d565b5f610dbe8a8a8a8a8a8a8a8a610b1c565b9050610dca8185610fe1565b5f5b89811015610e9e575f8b8b83818110610de757610de7611b93565b9050602002016020810190610dfc9190611ba7565b90505f8a8a84818110610e1157610e11611b93565b905060200201359050365f8a8a86818110610e2e57610e2e611b93565b9050602002810190610e409190611bc0565b91509150610e508484848461102f565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e879493929190611b62565b60405180910390a350505050806001019050610dcc565b50610ea8816110a3565b50505050505050505050565b610ebe8133610fa4565b50565b5f80516020611d61833981519152610ed8836107b6565b15610f095782610ee75f611208565b604051635ead8eb560e01b81526004810192909252602482015260440161088d565b5f610f327f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610f5f57604051635433660960e01b8152600481018490526024810182905260440161088d565b610f698342611d32565b5f9485526020929092525060409092209190915550565b5f6001600160e01b03198216630271189760e51b14806106a257506106a28261122a565b610fae8282610ae6565b610fdd5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161088d565b5050565b610fea82610747565b610ff95781610ee76002611208565b801580159061100e575061100c8161078c565b155b15610fdd5760405163121534c360e31b81526004810182905260240161088d565b5f80856001600160a01b031685858560405161104c929190611d51565b5f6040518083038185875af1925050503d805f8114611086576040519150601f19603f3d011682016040523d82523d5f602084013e61108b565b606091505b509150915061109a828261125e565b50505050505050565b5f80516020611d618339815191526110ba82610747565b6110c95781610ee76002611208565b5f9182526020526040902060019055565b5f5f80516020611d818339815191526110f38484610ae6565b611172575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556111283390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106a2565b5f9150506106a2565b5f5f80516020611d818339815191526111948484610ae6565b15611172575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106a2565b6111fc61127a565b6107b0848484846112c5565b5f81600381111561121b5761121b6116d2565b600160ff919091161b92915050565b5f6001600160e01b03198216637965db0b60e01b14806106a257506301ffc9a760e01b6001600160e01b03198316146106a2565b6060826112735761126e826113fc565b6106a2565b50806106a2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166112c357604051631afcd79f60e31b815260040160405180910390fd5b565b6112cd61127a565b5f80516020611d618339815191526112e55f306110da565b506001600160a01b03821615611301576112ff5f836110da565b505b5f5b845181101561137c5761133c5f80516020611da183398151915286838151811061132f5761132f611b93565b60200260200101516110da565b506113737ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78386838151811061132f5761132f611b93565b50600101611303565b505f5b83518110156113b4576113ab5f80516020611dc183398151915285838151811061132f5761132f611b93565b5060010161137f565b5060018101859055604080515f8152602081018790527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15050505050565b80511561140c5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b038116811461143b575f80fd5b919050565b5f8083601f840112611450575f80fd5b5081356001600160401b03811115611466575f80fd5b60208301915083602082850101111561147d575f80fd5b9250929050565b5f805f805f805f60c0888a03121561149a575f80fd5b6114a388611425565b96506020880135955060408801356001600160401b038111156114c4575f80fd5b6114d08a828b01611440565b989b979a50986060810135976080820135975060a09091013595509350505050565b5f60208284031215611502575f80fd5b81356001600160e01b031981168114610850575f80fd5b5f805f805f8060a0878903121561152e575f80fd5b61153787611425565b95506020870135945060408701356001600160401b03811115611558575f80fd5b61156489828a01611440565b979a9699509760608101359660809091013595509350505050565b5f6020828403121561158f575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115d2576115d2611596565b604052919050565b5f82601f8301126115e9575f80fd5b81356001600160401b0381111561160257611602611596565b611615601f8201601f19166020016115aa565b818152846020838601011115611629575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611658575f80fd5b61166185611425565b935061166f60208601611425565b92506040850135915060608501356001600160401b03811115611690575f80fd5b61169c878288016115da565b91505092959194509250565b5f80604083850312156116b9575f80fd5b823591506116c960208401611425565b90509250929050565b634e487b7160e01b5f52602160045260245ffd5b602081016004831061170657634e487b7160e01b5f52602160045260245ffd5b91905290565b5f8083601f84011261171c575f80fd5b5081356001600160401b03811115611732575f80fd5b6020830191508360208260051b850101111561147d575f80fd5b5f805f805f805f805f60c08a8c031215611764575f80fd5b89356001600160401b038082111561177a575f80fd5b6117868d838e0161170c565b909b50995060208c013591508082111561179e575f80fd5b6117aa8d838e0161170c565b909950975060408c01359150808211156117c2575f80fd5b506117cf8c828d0161170c565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b5f805f805f805f8060a0898b03121561180b575f80fd5b88356001600160401b0380821115611821575f80fd5b61182d8c838d0161170c565b909a50985060208b0135915080821115611845575f80fd5b6118518c838d0161170c565b909850965060408b0135915080821115611869575f80fd5b506118768b828c0161170c565b999c989b509699959896976060870135966080013595509350505050565b5f6001600160401b038211156118ac576118ac611596565b5060051b60200190565b5f82601f8301126118c5575f80fd5b813560206118da6118d583611894565b6115aa565b8083825260208201915060208460051b8701019350868411156118fb575f80fd5b602086015b848110156119175780358352918301918301611900565b509695505050505050565b5f805f805f60a08688031215611936575f80fd5b61193f86611425565b945061194d60208701611425565b935060408601356001600160401b0380821115611968575f80fd5b61197489838a016118b6565b94506060880135915080821115611989575f80fd5b61199589838a016118b6565b935060808801359150808211156119aa575f80fd5b506119b7888289016115da565b9150509295509295909350565b5f82601f8301126119d3575f80fd5b813560206119e36118d583611894565b8083825260208201915060208460051b870101935086841115611a04575f80fd5b602086015b8481101561191757611a1a81611425565b8352918301918301611a09565b5f805f8060808587031215611a3a575f80fd5b8435935060208501356001600160401b0380821115611a57575f80fd5b611a63888389016119c4565b94506040870135915080821115611a78575f80fd5b50611a85878288016119c4565b925050611a9460608601611425565b905092959194509250565b5f805f805f60a08688031215611ab3575f80fd5b611abc86611425565b9450611aca60208701611425565b9350604086013592506060860135915060808601356001600160401b03811115611af2575f80fd5b6119b7888289016115da565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201525f611b4d60a083018688611afe565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201525f611b89606083018486611afe565b9695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bb7575f80fd5b61085082611425565b5f808335601e19843603018112611bd5575f80fd5b8301803591506001600160401b03821115611bee575f80fd5b60200191503681900382131561147d575f80fd5b5f838385526020808601955060208560051b830101845f5b87811015611c8657848303601f19018952813536889003601e19018112611c3f575f80fd5b870184810190356001600160401b03811115611c59575f80fd5b803603821315611c67575f80fd5b611c72858284611afe565b9a86019a9450505090830190600101611c1a565b5090979650505050505050565b60a080825281018890525f8960c08301825b8b811015611cd3576001600160a01b03611cbe84611425565b16825260209283019290910190600101611ca5565b5083810360208501528881526001600160fb1b03891115611cf2575f80fd5b8860051b9150818a60208301370182810360209081016040850152611d1a9082018789611c02565b60608401959095525050608001529695505050505050565b808201808211156106a257634e487b7160e01b5f52601160045260245ffd5b818382375f910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63a264697066735822122031d8840ed3d25d595d9b3ae6404ea439a6ffbc69c83bafff073330d91721ccc864736f6c63430008180033",
"deployedBytecode": "0x6080604052600436106101bd575f3560e01c80638065657f116100f2578063bc197c8111610092578063d547741f11610062578063d547741f14610547578063e38335e514610566578063f23a6e6114610579578063f27a0c92146105a4575f80fd5b8063bc197c81146104a7578063c4c4c7b3146104d2578063c4d252f5146104f1578063d45c443514610510575f80fd5b806391d14854116100cd57806391d1485414610423578063a217fddf14610442578063b08e51c014610455578063b1c5f42714610488575f80fd5b80638065657f146103c55780638f2a0bb0146103e45780638f61f4f514610403575f80fd5b80632ab0f5291161015d57806336568abe1161013857806336568abe1461033c578063584b153e1461035b57806364d623531461037a5780637958004c14610399575f80fd5b80632ab0f529146102df5780632f2ff15d146102fe57806331d507501461031d575f80fd5b8063134008d311610198578063134008d31461024b57806313bc9f201461025e578063150b7a021461027d578063248a9ca3146102c0575f80fd5b806301d5062a146101c857806301ffc9a7146101e957806307bd02651461021d575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611484565b6105d7565b005b3480156101f4575f80fd5b506102086102033660046114f2565b610698565b60405190151581526020015b60405180910390f35b348015610228575f80fd5b5061023d5f80516020611dc183398151915281565b604051908152602001610214565b6101e7610259366004611519565b6106a8565b348015610269575f80fd5b5061020861027836600461157f565b610747565b348015610288575f80fd5b506102a7610297366004611645565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610214565b3480156102cb575f80fd5b5061023d6102da36600461157f565b61076c565b3480156102ea575f80fd5b506102086102f936600461157f565b61078c565b348015610309575f80fd5b506101e76103183660046116a8565b610794565b348015610328575f80fd5b5061020861033736600461157f565b6107b6565b348015610347575f80fd5b506101e76103563660046116a8565b6107da565b348015610366575f80fd5b5061020861037536600461157f565b610812565b348015610385575f80fd5b506101e761039436600461157f565b610857565b3480156103a4575f80fd5b506103b86103b336600461157f565b6108db565b60405161021491906116e6565b3480156103d0575f80fd5b5061023d6103df366004611519565b61092f565b3480156103ef575f80fd5b506101e76103fe36600461174c565b61096d565b34801561040e575f80fd5b5061023d5f80516020611da183398151915281565b34801561042e575f80fd5b5061020861043d3660046116a8565b610ae6565b34801561044d575f80fd5b5061023d5f81565b348015610460575f80fd5b5061023d7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b348015610493575f80fd5b5061023d6104a23660046117f4565b610b1c565b3480156104b2575f80fd5b506102a76104c1366004611922565b63bc197c8160e01b95945050505050565b3480156104dd575f80fd5b506101e76104ec366004611a27565b610b60565b3480156104fc575f80fd5b506101e761050b36600461157f565b610c71565b34801561051b575f80fd5b5061023d61052a36600461157f565b5f9081525f80516020611d61833981519152602052604090205490565b348015610552575f80fd5b506101e76105613660046116a8565b610d2a565b6101e76105743660046117f4565b610d46565b348015610584575f80fd5b506102a7610593366004611a9f565b63f23a6e6160e01b95945050505050565b3480156105af575f80fd5b507f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015461023d565b5f80516020611da18339815191526105ee81610eb4565b5f6105fd89898989898961092f565b90506106098184610ec1565b5f817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161064496959493929190611b26565b60405180910390a3831561068d57807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d03878560405161068491815260200190565b60405180910390a25b505050505050505050565b5f6106a282610f80565b92915050565b5f80516020611dc18339815191526106c0815f610ae6565b6106ce576106ce8133610fa4565b5f6106dd88888888888861092f565b90506106e98185610fe1565b6106f58888888861102f565b5f817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161072c9493929190611b62565b60405180910390a361073d816110a3565b5050505050505050565b5f60025b610754836108db565b6003811115610765576107656116d2565b1492915050565b5f9081525f80516020611d81833981519152602052604090206001015490565b5f600361074b565b61079d8261076c565b6107a681610eb4565b6107b083836110da565b50505050565b5f806107c1836108db565b60038111156107d2576107d26116d2565b141592915050565b6001600160a01b03811633146108035760405163334bd91960e11b815260040160405180910390fd5b61080d828261117b565b505050565b5f8061081d836108db565b90506001816003811115610833576108336116d2565b14806108505750600281600381111561084e5761084e6116d2565b145b9392505050565b5f80516020611d61833981519152333081146108965760405163e2850c5960e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600182015460408051918252602082018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15060010155565b5f8181525f80516020611d618339815191526020526040812054805f0361090457505f92915050565b600181036109155750600392915050565b428111156109265750600192915050565b50600292915050565b5f86868686868660405160200161094b96959493929190611b26565b6040516020818303038152906040528051906020012090509695505050505050565b5f80516020611da183398151915261098481610eb4565b88871415806109935750888514155b156109c5576040516001624fcdef60e01b03198152600481018a9052602481018690526044810188905260640161088d565b5f6109d68b8b8b8b8b8b8b8b610b1c565b90506109e28184610ec1565b5f5b8a811015610a975780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a2157610a21611b93565b9050602002016020810190610a369190611ba7565b8d8d86818110610a4857610a48611b93565b905060200201358c8c87818110610a6157610a61611b93565b9050602002810190610a739190611bc0565b8c8b604051610a8796959493929190611b26565b60405180910390a36001016109e4565b508315610ad957807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610ad091815260200190565b60405180910390a25b5050505050505050505050565b5f9182525f80516020611d81833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8888888888888888604051602001610b3c989796959493929190611c93565b60405160208183030381529060405280519060200120905098975050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f81158015610ba45750825b90505f826001600160401b03166001148015610bbf5750303b155b905081158015610bcd575080155b15610beb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c1557845460ff60401b1916600160401b1785555b610c21898989896111f4565b831561068d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c9b81610eb4565b5f80516020611d61833981519152610cb283610812565b610cee5782610cc16002611208565b610ccb6001611208565b604051635ead8eb560e01b8152600481019390935217602482015260440161088d565b5f838152602082905260408082208290555184917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a2505050565b610d338261076c565b610d3c81610eb4565b6107b0838361117b565b5f80516020611dc1833981519152610d5e815f610ae6565b610d6c57610d6c8133610fa4565b8786141580610d7b5750878414155b15610dad576040516001624fcdef60e01b0319815260048101899052602481018590526044810187905260640161088d565b5f610dbe8a8a8a8a8a8a8a8a610b1c565b9050610dca8185610fe1565b5f5b89811015610e9e575f8b8b83818110610de757610de7611b93565b9050602002016020810190610dfc9190611ba7565b90505f8a8a84818110610e1157610e11611b93565b905060200201359050365f8a8a86818110610e2e57610e2e611b93565b9050602002810190610e409190611bc0565b91509150610e508484848461102f565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610e879493929190611b62565b60405180910390a350505050806001019050610dcc565b50610ea8816110a3565b50505050505050505050565b610ebe8133610fa4565b50565b5f80516020611d61833981519152610ed8836107b6565b15610f095782610ee75f611208565b604051635ead8eb560e01b81526004810192909252602482015260440161088d565b5f610f327f9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb36015490565b905080831015610f5f57604051635433660960e01b8152600481018490526024810182905260440161088d565b610f698342611d32565b5f9485526020929092525060409092209190915550565b5f6001600160e01b03198216630271189760e51b14806106a257506106a28261122a565b610fae8282610ae6565b610fdd5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161088d565b5050565b610fea82610747565b610ff95781610ee76002611208565b801580159061100e575061100c8161078c565b155b15610fdd5760405163121534c360e31b81526004810182905260240161088d565b5f80856001600160a01b031685858560405161104c929190611d51565b5f6040518083038185875af1925050503d805f8114611086576040519150601f19603f3d011682016040523d82523d5f602084013e61108b565b606091505b509150915061109a828261125e565b50505050505050565b5f80516020611d618339815191526110ba82610747565b6110c95781610ee76002611208565b5f9182526020526040902060019055565b5f5f80516020611d818339815191526110f38484610ae6565b611172575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556111283390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106a2565b5f9150506106a2565b5f5f80516020611d818339815191526111948484610ae6565b15611172575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106a2565b6111fc61127a565b6107b0848484846112c5565b5f81600381111561121b5761121b6116d2565b600160ff919091161b92915050565b5f6001600160e01b03198216637965db0b60e01b14806106a257506301ffc9a760e01b6001600160e01b03198316146106a2565b6060826112735761126e826113fc565b6106a2565b50806106a2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166112c357604051631afcd79f60e31b815260040160405180910390fd5b565b6112cd61127a565b5f80516020611d618339815191526112e55f306110da565b506001600160a01b03821615611301576112ff5f836110da565b505b5f5b845181101561137c5761133c5f80516020611da183398151915286838151811061132f5761132f611b93565b60200260200101516110da565b506113737ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78386838151811061132f5761132f611b93565b50600101611303565b505f5b83518110156113b4576113ab5f80516020611dc183398151915285838151811061132f5761132f611b93565b5060010161137f565b5060018101859055604080515f8152602081018790527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a15050505050565b80511561140c5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b038116811461143b575f80fd5b919050565b5f8083601f840112611450575f80fd5b5081356001600160401b03811115611466575f80fd5b60208301915083602082850101111561147d575f80fd5b9250929050565b5f805f805f805f60c0888a03121561149a575f80fd5b6114a388611425565b96506020880135955060408801356001600160401b038111156114c4575f80fd5b6114d08a828b01611440565b989b979a50986060810135976080820135975060a09091013595509350505050565b5f60208284031215611502575f80fd5b81356001600160e01b031981168114610850575f80fd5b5f805f805f8060a0878903121561152e575f80fd5b61153787611425565b95506020870135945060408701356001600160401b03811115611558575f80fd5b61156489828a01611440565b979a9699509760608101359660809091013595509350505050565b5f6020828403121561158f575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115d2576115d2611596565b604052919050565b5f82601f8301126115e9575f80fd5b81356001600160401b0381111561160257611602611596565b611615601f8201601f19166020016115aa565b818152846020838601011115611629575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611658575f80fd5b61166185611425565b935061166f60208601611425565b92506040850135915060608501356001600160401b03811115611690575f80fd5b61169c878288016115da565b91505092959194509250565b5f80604083850312156116b9575f80fd5b823591506116c960208401611425565b90509250929050565b634e487b7160e01b5f52602160045260245ffd5b602081016004831061170657634e487b7160e01b5f52602160045260245ffd5b91905290565b5f8083601f84011261171c575f80fd5b5081356001600160401b03811115611732575f80fd5b6020830191508360208260051b850101111561147d575f80fd5b5f805f805f805f805f60c08a8c031215611764575f80fd5b89356001600160401b038082111561177a575f80fd5b6117868d838e0161170c565b909b50995060208c013591508082111561179e575f80fd5b6117aa8d838e0161170c565b909950975060408c01359150808211156117c2575f80fd5b506117cf8c828d0161170c565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b5f805f805f805f8060a0898b03121561180b575f80fd5b88356001600160401b0380821115611821575f80fd5b61182d8c838d0161170c565b909a50985060208b0135915080821115611845575f80fd5b6118518c838d0161170c565b909850965060408b0135915080821115611869575f80fd5b506118768b828c0161170c565b999c989b509699959896976060870135966080013595509350505050565b5f6001600160401b038211156118ac576118ac611596565b5060051b60200190565b5f82601f8301126118c5575f80fd5b813560206118da6118d583611894565b6115aa565b8083825260208201915060208460051b8701019350868411156118fb575f80fd5b602086015b848110156119175780358352918301918301611900565b509695505050505050565b5f805f805f60a08688031215611936575f80fd5b61193f86611425565b945061194d60208701611425565b935060408601356001600160401b0380821115611968575f80fd5b61197489838a016118b6565b94506060880135915080821115611989575f80fd5b61199589838a016118b6565b935060808801359150808211156119aa575f80fd5b506119b7888289016115da565b9150509295509295909350565b5f82601f8301126119d3575f80fd5b813560206119e36118d583611894565b8083825260208201915060208460051b870101935086841115611a04575f80fd5b602086015b8481101561191757611a1a81611425565b8352918301918301611a09565b5f805f8060808587031215611a3a575f80fd5b8435935060208501356001600160401b0380821115611a57575f80fd5b611a63888389016119c4565b94506040870135915080821115611a78575f80fd5b50611a85878288016119c4565b925050611a9460608601611425565b905092959194509250565b5f805f805f60a08688031215611ab3575f80fd5b611abc86611425565b9450611aca60208701611425565b9350604086013592506060860135915060808601356001600160401b03811115611af2575f80fd5b6119b7888289016115da565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201525f611b4d60a083018688611afe565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201525f611b89606083018486611afe565b9695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bb7575f80fd5b61085082611425565b5f808335601e19843603018112611bd5575f80fd5b8301803591506001600160401b03821115611bee575f80fd5b60200191503681900382131561147d575f80fd5b5f838385526020808601955060208560051b830101845f5b87811015611c8657848303601f19018952813536889003601e19018112611c3f575f80fd5b870184810190356001600160401b03811115611c59575f80fd5b803603821315611c67575f80fd5b611c72858284611afe565b9a86019a9450505090830190600101611c1a565b5090979650505050505050565b60a080825281018890525f8960c08301825b8b811015611cd3576001600160a01b03611cbe84611425565b16825260209283019290910190600101611ca5565b5083810360208501528881526001600160fb1b03891115611cf2575f80fd5b8860051b9150818a60208301370182810360209081016040850152611d1a9082018789611c02565b60608401959095525050608001529695505050505050565b808201808211156106a257634e487b7160e01b5f52601160045260245ffd5b818382375f910190815291905056fe9a37c2aa9d186a0969ff8a8267bf4e07e864c2f2768f5040949e28a624fb360002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63a264697066735822122031d8840ed3d25d595d9b3ae6404ea439a6ffbc69c83bafff073330d91721ccc864736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -35,3 +35,3 @@ {

"inputs": [],
"name": "FailedInnerCall",
"name": "FailedCall",
"type": "error"

@@ -38,0 +38,0 @@ },

@@ -7,10 +7,4 @@ {

{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"inputs": [],
"name": "FailedCall",
"type": "error"

@@ -21,8 +15,13 @@ },

{
"internalType": "address",
"name": "account",
"type": "address"
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "AddressInsufficientBalance",
"name": "InsufficientBalance",
"type": "error"

@@ -32,7 +31,2 @@ },

"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",

@@ -170,2 +164,25 @@ "type": "error"

{
"inputs": [
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"internalType": "uint64",
"name": "startTimestamp",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "durationSeconds",
"type": "uint64"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -348,6 +365,6 @@ "name": "owner",

],
"bytecode": "0x608060405234801561001057600080fd5b50610b43806100206000396000f3fe6080604052600436106100e15760003560e01c8063961325211161007f578063be9a655511610059578063be9a655514610230578063efbe1c1c14610245578063f2fde38b1461025a578063fbccedae1461027a57600080fd5b806396132521146101ce5780639852595c146101f0578063a3f8eace1461021057600080fd5b8063715018a6116100bb578063715018a614610157578063810ec23b1461016c57806386d1a69f1461018c5780638da5cb5b146101a157600080fd5b80630a17b06b146100ed5780630fb5a6b414610120578063191655871461013557600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d61010836600461098e565b61028f565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061010d6102c0565b34801561014157600080fd5b506101556101503660046109c0565b6102fb565b005b34801561016357600080fd5b5061015561039e565b34801561017857600080fd5b5061010d6101873660046109db565b6103b2565b34801561019857600080fd5b50610155610439565b3480156101ad57600080fd5b506101b66104b5565b6040516001600160a01b039091168152602001610117565b3480156101da57600080fd5b50600080516020610aee8339815191525461010d565b3480156101fc57600080fd5b5061010d61020b3660046109c0565b6104e3565b34801561021c57600080fd5b5061010d61022b3660046109c0565b61051d565b34801561023c57600080fd5b5061010d61053c565b34801561025157600080fd5b5061010d61056b565b34801561026657600080fd5b506101556102753660046109c0565b61058c565b34801561028657600080fd5b5061010d6105cf565b60006102ba6102aa600080516020610aee8339815191525490565b6102b49047610a24565b836105fa565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025468010000000000000000900467ffffffffffffffff1690565b600080516020610aee83398151915260006103158361051d565b6001600160a01b0384166000908152600184016020526040812080549293508392909190610344908490610a24565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610399836103936104b5565b8361067b565b505050565b6103a66106cd565b6103b060006106ff565b565b60006104326103c0846104e3565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190610a37565b6102b49190610a24565b9392505050565b600080516020610aee83398151915260006104526105cf565b9050808260000160008282546104689190610a24565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b16104ab6104b5565b82610770565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031660009081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b6000610528826104e3565b61053283426103b2565b6102ba9190610a50565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b60006105756102c0565b61057d61053c565b6105879190610a24565b905090565b6105946106cd565b6001600160a01b0381166105c357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105cc816106ff565b50565b60006105e7600080516020610aee8339815191525490565b6105f04261028f565b6105879190610a50565b600061060461053c565b8267ffffffffffffffff16101561061d575060006102ba565b61062561056b565b8267ffffffffffffffff161061063c5750816102ba565b6106446102c0565b61064c61053c565b6106609067ffffffffffffffff8516610a50565b61066a9085610a63565b6106749190610a7a565b90506102ba565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610399908490610807565b336106d66104b5565b6001600160a01b0316146103b05760405163118cdaa760e01b81523360048201526024016105ba565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b804710156107935760405163cd78605960e01b81523060048201526024016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107e0576040519150601f19603f3d011682016040523d82523d6000602084013e6107e5565b606091505b505090508061039957604051630a12f52160e11b815260040160405180910390fd5b600061081c6001600160a01b0384168361086a565b9050805160001415801561084157508080602001905181019061083f9190610a9c565b155b1561039957604051635274afe760e01b81526001600160a01b03841660048201526024016105ba565b60606104328383600084600080856001600160a01b031684866040516108909190610abe565b60006040518083038185875af1925050503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b50915091506108e28683836108ec565b9695505050505050565b606082610901576108fc82610948565b610432565b815115801561091857506001600160a01b0384163b155b1561094157604051639996b31560e01b81526001600160a01b03851660048201526024016105ba565b5080610432565b8051156109585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b803567ffffffffffffffff8116811461098957600080fd5b919050565b6000602082840312156109a057600080fd5b61043282610971565b80356001600160a01b038116811461098957600080fd5b6000602082840312156109d257600080fd5b610432826109a9565b600080604083850312156109ee57600080fd5b6109f7836109a9565b9150610a0560208401610971565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ba576102ba610a0e565b600060208284031215610a4957600080fd5b5051919050565b818103818111156102ba576102ba610a0e565b80820281158282048414176102ba576102ba610a0e565b600082610a9757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610aae57600080fd5b8151801515811461043257600080fd5b6000825160005b81811015610adf5760208186018101518583015201610ac5565b50600092019182525091905056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212206ffbf66d76b47cf378c77f086b7f66790fe26ae097f54c7d03c5d3dedaa37f4e64736f6c63430008140033",
"deployedBytecode": "0x6080604052600436106100e15760003560e01c8063961325211161007f578063be9a655511610059578063be9a655514610230578063efbe1c1c14610245578063f2fde38b1461025a578063fbccedae1461027a57600080fd5b806396132521146101ce5780639852595c146101f0578063a3f8eace1461021057600080fd5b8063715018a6116100bb578063715018a614610157578063810ec23b1461016c57806386d1a69f1461018c5780638da5cb5b146101a157600080fd5b80630a17b06b146100ed5780630fb5a6b414610120578063191655871461013557600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d61010836600461098e565b61028f565b6040519081526020015b60405180910390f35b34801561012c57600080fd5b5061010d6102c0565b34801561014157600080fd5b506101556101503660046109c0565b6102fb565b005b34801561016357600080fd5b5061015561039e565b34801561017857600080fd5b5061010d6101873660046109db565b6103b2565b34801561019857600080fd5b50610155610439565b3480156101ad57600080fd5b506101b66104b5565b6040516001600160a01b039091168152602001610117565b3480156101da57600080fd5b50600080516020610aee8339815191525461010d565b3480156101fc57600080fd5b5061010d61020b3660046109c0565b6104e3565b34801561021c57600080fd5b5061010d61022b3660046109c0565b61051d565b34801561023c57600080fd5b5061010d61053c565b34801561025157600080fd5b5061010d61056b565b34801561026657600080fd5b506101556102753660046109c0565b61058c565b34801561028657600080fd5b5061010d6105cf565b60006102ba6102aa600080516020610aee8339815191525490565b6102b49047610a24565b836105fa565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025468010000000000000000900467ffffffffffffffff1690565b600080516020610aee83398151915260006103158361051d565b6001600160a01b0384166000908152600184016020526040812080549293508392909190610344908490610a24565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a2610399836103936104b5565b8361067b565b505050565b6103a66106cd565b6103b060006106ff565b565b60006104326103c0846104e3565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190610a37565b6102b49190610a24565b9392505050565b600080516020610aee83398151915260006104526105cf565b9050808260000160008282546104689190610a24565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b16104ab6104b5565b82610770565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031660009081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b6000610528826104e3565b61053283426103b2565b6102ba9190610a50565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b60006105756102c0565b61057d61053c565b6105879190610a24565b905090565b6105946106cd565b6001600160a01b0381166105c357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105cc816106ff565b50565b60006105e7600080516020610aee8339815191525490565b6105f04261028f565b6105879190610a50565b600061060461053c565b8267ffffffffffffffff16101561061d575060006102ba565b61062561056b565b8267ffffffffffffffff161061063c5750816102ba565b6106446102c0565b61064c61053c565b6106609067ffffffffffffffff8516610a50565b61066a9085610a63565b6106749190610a7a565b90506102ba565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610399908490610807565b336106d66104b5565b6001600160a01b0316146103b05760405163118cdaa760e01b81523360048201526024016105ba565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b804710156107935760405163cd78605960e01b81523060048201526024016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107e0576040519150601f19603f3d011682016040523d82523d6000602084013e6107e5565b606091505b505090508061039957604051630a12f52160e11b815260040160405180910390fd5b600061081c6001600160a01b0384168361086a565b9050805160001415801561084157508080602001905181019061083f9190610a9c565b155b1561039957604051635274afe760e01b81526001600160a01b03841660048201526024016105ba565b60606104328383600084600080856001600160a01b031684866040516108909190610abe565b60006040518083038185875af1925050503d80600081146108cd576040519150601f19603f3d011682016040523d82523d6000602084013e6108d2565b606091505b50915091506108e28683836108ec565b9695505050505050565b606082610901576108fc82610948565b610432565b815115801561091857506001600160a01b0384163b155b1561094157604051639996b31560e01b81526001600160a01b03851660048201526024016105ba565b5080610432565b8051156109585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b803567ffffffffffffffff8116811461098957600080fd5b919050565b6000602082840312156109a057600080fd5b61043282610971565b80356001600160a01b038116811461098957600080fd5b6000602082840312156109d257600080fd5b610432826109a9565b600080604083850312156109ee57600080fd5b6109f7836109a9565b9150610a0560208401610971565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ba576102ba610a0e565b600060208284031215610a4957600080fd5b5051919050565b818103818111156102ba576102ba610a0e565b80820281158282048414176102ba576102ba610a0e565b600082610a9757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610aae57600080fd5b8151801515811461043257600080fd5b6000825160005b81811015610adf5760208186018101518583015201610ac5565b50600092019182525091905056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212206ffbf66d76b47cf378c77f086b7f66790fe26ae097f54c7d03c5d3dedaa37f4e64736f6c63430008140033",
"bytecode": "0x608060405234801561000f575f80fd5b50610c078061001d5f395ff3fe6080604052600436106100e7575f3560e01c80639613252111610087578063be9a655511610057578063be9a655514610249578063efbe1c1c1461025d578063f2fde38b14610271578063fbccedae14610290575f80fd5b806396132521146101cc5780639852595c146101ec578063989a83661461020b578063a3f8eace1461022a575f80fd5b8063715018a6116100c2578063715018a614610159578063810ec23b1461016d57806386d1a69f1461018c5780638da5cb5b146101a0575f80fd5b80630a17b06b146100f25780630fb5a6b4146101245780631916558714610138575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b5061011161010c366004610a71565b6102a4565b6040519081526020015b60405180910390f35b34801561012f575f80fd5b506101116102d3565b348015610143575f80fd5b50610157610152366004610aa0565b610309565b005b348015610164575f80fd5b506101576103a9565b348015610178575f80fd5b50610111610187366004610ab9565b6103bc565b348015610197575f80fd5b50610157610440565b3480156101ab575f80fd5b506101b46104b8565b6040516001600160a01b03909116815260200161011b565b3480156101d7575f80fd5b505f80516020610bb283398151915254610111565b3480156101f7575f80fd5b50610111610206366004610aa0565b6104e6565b348015610216575f80fd5b50610157610225366004610aea565b61051f565b348015610235575f80fd5b50610111610244366004610aa0565b610631565b348015610254575f80fd5b5061011161064f565b348015610268575f80fd5b5061011161067e565b34801561027c575f80fd5b5061015761028b366004610aa0565b61069e565b34801561029b575f80fd5b506101116106e0565b5f6102cd6102bd5f80516020610bb28339815191525490565b6102c79047610b3e565b83610709565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa390254600160401b900467ffffffffffffffff1690565b5f80516020610bb28339815191525f61032183610631565b6001600160a01b0384165f90815260018401602052604081208054929350839290919061034f908490610b3e565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a26103a48361039e6104b8565b83610788565b505050565b6103b16107da565b6103ba5f61080c565b565b5f6104396103c9846104e6565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa15801561040b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042f9190610b51565b6102c79190610b3e565b9392505050565b5f80516020610bb28339815191525f6104576106e0565b905080825f015f82825461046b9190610b3e565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b46104ae6104b8565b8261087c565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03165f9081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156105645750825b90505f8267ffffffffffffffff1660011480156105805750303b155b90508115801561058e575080155b156105ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156105d657845460ff60401b1916600160401b1785555b6105e1888888610916565b831561062757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f61063b826104e6565b61064583426103bc565b6102cd9190610b68565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b5f6106876102d3565b61068f61064f565b6106999190610b3e565b905090565b6106a66107da565b6001600160a01b0381166106d457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6106dd8161080c565b50565b5f6106f65f80516020610bb28339815191525490565b6106ff426102a4565b6106999190610b68565b5f61071261064f565b8267ffffffffffffffff16101561072a57505f6102cd565b61073261067e565b8267ffffffffffffffff16106107495750816102cd565b6107516102d3565b61075961064f565b61076d9067ffffffffffffffff8516610b68565b6107779085610b7b565b6107819190610b92565b90506102cd565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103a4908490610932565b336107e36104b8565b6001600160a01b0316146103ba5760405163118cdaa760e01b81523360048201526024016106cb565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b804710156108a65760405163cf47918160e01b8152476004820152602481018290526044016106cb565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146108ef576040519150601f19603f3d011682016040523d82523d5f602084013e6108f4565b606091505b50509050806103a45760405163d6bda27560e01b815260040160405180910390fd5b61091e6109a4565b610927836109ed565b6103a48383836109f5565b5f8060205f8451602086015f885af180610951576040513d5f823e3d81fd5b50505f513d91508115610968578060011415610975565b6001600160a01b0384163b155b1561099e57604051635274afe760e01b81526001600160a01b03851660048201526024016106cb565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166103ba57604051631afcd79f60e31b815260040160405180910390fd5b6106a66109a4565b6109fd6109a4565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3902805467ffffffffffffffff928316600160401b026fffffffffffffffffffffffffffffffff19909116939092169290921717905550565b803567ffffffffffffffff81168114610a6c575f80fd5b919050565b5f60208284031215610a81575f80fd5b61043982610a55565b80356001600160a01b0381168114610a6c575f80fd5b5f60208284031215610ab0575f80fd5b61043982610a8a565b5f8060408385031215610aca575f80fd5b610ad383610a8a565b9150610ae160208401610a55565b90509250929050565b5f805f60608486031215610afc575f80fd5b610b0584610a8a565b9250610b1360208501610a55565b9150610b2160408501610a55565b90509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102cd576102cd610b2a565b5f60208284031215610b61575f80fd5b5051919050565b818103818111156102cd576102cd610b2a565b80820281158282048414176102cd576102cd610b2a565b5f82610bac57634e487b7160e01b5f52601260045260245ffd5b50049056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212201fdb401a552486ebdb93b3e12af3f25cc86078f5bfd2956663a3e358fec2bb7e64736f6c63430008180033",
"deployedBytecode": "0x6080604052600436106100e7575f3560e01c80639613252111610087578063be9a655511610057578063be9a655514610249578063efbe1c1c1461025d578063f2fde38b14610271578063fbccedae14610290575f80fd5b806396132521146101cc5780639852595c146101ec578063989a83661461020b578063a3f8eace1461022a575f80fd5b8063715018a6116100c2578063715018a614610159578063810ec23b1461016d57806386d1a69f1461018c5780638da5cb5b146101a0575f80fd5b80630a17b06b146100f25780630fb5a6b4146101245780631916558714610138575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b5061011161010c366004610a71565b6102a4565b6040519081526020015b60405180910390f35b34801561012f575f80fd5b506101116102d3565b348015610143575f80fd5b50610157610152366004610aa0565b610309565b005b348015610164575f80fd5b506101576103a9565b348015610178575f80fd5b50610111610187366004610ab9565b6103bc565b348015610197575f80fd5b50610157610440565b3480156101ab575f80fd5b506101b46104b8565b6040516001600160a01b03909116815260200161011b565b3480156101d7575f80fd5b505f80516020610bb283398151915254610111565b3480156101f7575f80fd5b50610111610206366004610aa0565b6104e6565b348015610216575f80fd5b50610157610225366004610aea565b61051f565b348015610235575f80fd5b50610111610244366004610aa0565b610631565b348015610254575f80fd5b5061011161064f565b348015610268575f80fd5b5061011161067e565b34801561027c575f80fd5b5061015761028b366004610aa0565b61069e565b34801561029b575f80fd5b506101116106e0565b5f6102cd6102bd5f80516020610bb28339815191525490565b6102c79047610b3e565b83610709565b92915050565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa390254600160401b900467ffffffffffffffff1690565b5f80516020610bb28339815191525f61032183610631565b6001600160a01b0384165f90815260018401602052604081208054929350839290919061034f908490610b3e565b90915550506040518181526001600160a01b038416907fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b9060200160405180910390a26103a48361039e6104b8565b83610788565b505050565b6103b16107da565b6103ba5f61080c565b565b5f6104396103c9846104e6565b6040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa15801561040b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042f9190610b51565b6102c79190610b3e565b9392505050565b5f80516020610bb28339815191525f6104576106e0565b905080825f015f82825461046b9190610b3e565b90915550506040518181527fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b9060200160405180910390a16104b46104ae6104b8565b8261087c565b5050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03165f9081527fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3901602052604090205490565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156105645750825b90505f8267ffffffffffffffff1660011480156105805750303b155b90508115801561058e575080155b156105ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156105d657845460ff60401b1916600160401b1785555b6105e1888888610916565b831561062757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f61063b826104e6565b61064583426103bc565b6102cd9190610b68565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa39025467ffffffffffffffff1690565b5f6106876102d3565b61068f61064f565b6106999190610b3e565b905090565b6106a66107da565b6001600160a01b0381166106d457604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6106dd8161080c565b50565b5f6106f65f80516020610bb28339815191525490565b6106ff426102a4565b6106999190610b68565b5f61071261064f565b8267ffffffffffffffff16101561072a57505f6102cd565b61073261067e565b8267ffffffffffffffff16106107495750816102cd565b6107516102d3565b61075961064f565b61076d9067ffffffffffffffff8516610b68565b6107779085610b7b565b6107819190610b92565b90506102cd565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103a4908490610932565b336107e36104b8565b6001600160a01b0316146103ba5760405163118cdaa760e01b81523360048201526024016106cb565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b804710156108a65760405163cf47918160e01b8152476004820152602481018290526044016106cb565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146108ef576040519150601f19603f3d011682016040523d82523d5f602084013e6108f4565b606091505b50509050806103a45760405163d6bda27560e01b815260040160405180910390fd5b61091e6109a4565b610927836109ed565b6103a48383836109f5565b5f8060205f8451602086015f885af180610951576040513d5f823e3d81fd5b50505f513d91508115610968578060011415610975565b6001600160a01b0384163b155b1561099e57604051635274afe760e01b81526001600160a01b03851660048201526024016106cb565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166103ba57604051631afcd79f60e31b815260040160405180910390fd5b6106a66109a4565b6109fd6109a4565b7fa1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3902805467ffffffffffffffff928316600160401b026fffffffffffffffffffffffffffffffff19909116939092169290921717905550565b803567ffffffffffffffff81168114610a6c575f80fd5b919050565b5f60208284031215610a81575f80fd5b61043982610a55565b80356001600160a01b0381168114610a6c575f80fd5b5f60208284031215610ab0575f80fd5b61043982610a8a565b5f8060408385031215610aca575f80fd5b610ad383610a8a565b9150610ae160208401610a55565b90509250929050565b5f805f60608486031215610afc575f80fd5b610b0584610a8a565b9250610b1360208501610a55565b9150610b2160408501610a55565b90509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102cd576102cd610b2a565b5f60208284031215610b61575f80fd5b5051919050565b818103818111156102cd576102cd610b2a565b80820281158282048414176102cd576102cd610b2a565b5f82610bac57634e487b7160e01b5f52601260045260245ffd5b50049056fea1eac494560f7591e4da38ed031587f09556afdfc4399dd2e205b935fdfa3900a26469706673582212201fdb401a552486ebdb93b3e12af3f25cc86078f5bfd2956663a3e358fec2bb7e64736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"name": "@openzeppelin/contracts-upgradeable",
"description": "Secure Smart Contract library for Solidity",
"version": "5.0.2",
"version": "5.1.0-rc.0",
"files": [

@@ -33,4 +33,4 @@ "**/*.sol",

"peerDependencies": {
"@openzeppelin/contracts": "5.0.2"
"@openzeppelin/contracts": "5.1.0-rc.0"
}
}

@@ -29,3 +29,3 @@ # <img src="logo.svg" alt="OpenZeppelin" height="40px">

#### Hardhat, Truffle (npm)
#### Hardhat (npm)

@@ -48,3 +48,3 @@ ```

Add `@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/` in `remappings.txt.`
Add `@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/` in `remappings.txt.`

@@ -51,0 +51,0 @@ ### Usage

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 too big to display

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

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

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