0 txs
556 calls
constructor
No constructor.
functions
addresslistLength
viewfunction addresslistLength() view returns (uint256)
addresslistLengthAtBlock
viewfunction addresslistLengthAtBlock(uint256 _blockNumber) view returns (uint256)
canApprove
viewfunction canApprove(uint256 _proposalId, address _account) view returns (bool)
canExecute
viewfunction canExecute(uint256 _proposalId) view returns (bool)
dao
viewfunction dao() view returns (address)
getProposal
viewfunction getProposal(uint256 _proposalId) view returns (bool executed, uint16 approvals, tuple parameters, tuple[] actions, uint256 allowFailureMap)
hasApproved
viewfunction hasApproved(uint256 _proposalId, address _account) view returns (bool)
implementation
viewfunction implementation() view returns (address)
isListed
viewfunction isListed(address _account) view returns (bool)
isListedAtBlock
viewfunction isListedAtBlock(address _account, uint256 _blockNumber) view returns (bool)
isMember
viewfunction isMember(address _account) view returns (bool)
lastMultisigSettingsChange
viewfunction lastMultisigSettingsChange() view returns (uint64)
multisigSettings
viewfunction multisigSettings() view returns (bool onlyListed, uint16 minApprovals)
pluginType
purefunction pluginType() pure returns (uint8)
proposalCount
viewfunction proposalCount() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 _interfaceId) view returns (bool)
UPDATE_MULTISIG_SETTINGS_PERMISSION_ID
viewfunction UPDATE_MULTISIG_SETTINGS_PERMISSION_ID() view returns (bytes32)
UPGRADE_PLUGIN_PERMISSION_ID
viewfunction UPGRADE_PLUGIN_PERMISSION_ID() view returns (bytes32)
addAddresses
nonpayablefunction addAddresses(address[] _members)
approve
nonpayablefunction approve(uint256 _proposalId, bool _tryExecution)
createProposal
nonpayablefunction createProposal(bytes _metadata, tuple[] _actions, uint256 _allowFailureMap, bool _approveProposal, bool _tryExecution, uint64 _startDate, uint64 _endDate) returns (uint256 proposalId)
execute
nonpayablefunction execute(uint256 _proposalId)
initialize
nonpayablefunction initialize(address _dao, address[] _members, tuple _multisigSettings)
removeAddresses
nonpayablefunction removeAddresses(address[] _members)
updateMultisigSettings
nonpayablefunction updateMultisigSettings(tuple _multisigSettings)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
Approved
event Approved(uint256 indexed proposalId, address indexed approver)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
MembersAdded
event MembersAdded(address[] members)
MembershipContractAnnounced
event MembershipContractAnnounced(address indexed definingContract)
MembersRemoved
event MembersRemoved(address[] members)
MultisigSettingsUpdated
event MultisigSettingsUpdated(bool onlyListed, uint16 indexed minApprovals)
ProposalCreated
event ProposalCreated(uint256 indexed proposalId, address indexed creator, uint64 startDate, uint64 endDate, bytes metadata, (address to, uint256 value, bytes data)[] actions, uint256 allowFailureMap)
ProposalExecuted
event ProposalExecuted(uint256 indexed proposalId)
Upgraded
event Upgraded(address indexed implementation)
errors
AddresslistLengthOutOfBounds
error AddresslistLengthOutOfBounds(uint16 limit, uint256 actual)
ApprovalCastForbidden
error ApprovalCastForbidden(uint256 proposalId, address sender)
DaoUnauthorized
error DaoUnauthorized(address dao, address where, address who, bytes32 permissionId)
DateOutOfBounds
error DateOutOfBounds(uint64 limit, uint64 actual)
InvalidAddresslistUpdate
error InvalidAddresslistUpdate(address member)
MinApprovalsOutOfBounds
error MinApprovalsOutOfBounds(uint16 limit, uint16 actual)
ProposalCreationForbidden
error ProposalCreationForbidden(address sender)
ProposalExecutionForbidden
error ProposalExecutionForbidden(uint256 proposalId)
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e8565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613531620001206000396000818161081d015281816108b3015281816109ba01528181610a500152610b4701526135316000f3fe6080604052600436106101b75760003560e01c8063747442d3116100ec578063c9c4bfca1161008a578063e097b3ff11610064578063e097b3ff14610535578063f794062e14610575578063fbd56e4114610595578063fe0d94c1146105b557600080fd5b8063c9c4bfca146104cc578063cc63604a14610500578063da35c6641461052057600080fd5b8063a84eb999116100c6578063a84eb99914610420578063b1bb8d2614610440578063bc20830214610460578063c7f758a81461049b57600080fd5b8063747442d3146103c057806383985259146103e0578063a230c5241461040057600080fd5b80633659cfe6116101595780634f1ef286116101335780634f1ef2861461036357806352d1902d146103765780635c60da1b1461038b5780636a6b2d86146103a057600080fd5b80633659cfe6146102f55780634162169f1461031557806341de68301461034757600080fd5b806329245f561161019557806329245f561461025f5780632caf024b1461027f578063303f4336146102b35780633628731c146102d557600080fd5b806301ffc9a7146101bc5780632358d5a8146101f157806327f1608d1461023c575b600080fd5b3480156101c857600080fd5b506101dc6101d73660046128f8565b6105d5565b60405190151581526020015b60405180910390f35b3480156101fd57600080fd5b506101dc61020c366004612937565b6000828152610191602090815260408083206001600160a01b038516845260020190915290205460ff1692915050565b34801561024857600080fd5b506102516106b5565b6040519081526020016101e8565b34801561026b57600080fd5b506101dc61027a366004612937565b6106d0565b34801561028b57600080fd5b506102517fb1750e46d35a0069c8465b8643e7838d2149a842a2db8ee233d9835590040cad81565b3480156102bf57600080fd5b506102d36102ce36600461297f565b6106e3565b005b3480156102e157600080fd5b506102d36102f03660046129e0565b61072e565b34801561030157600080fd5b506102d3610310366004612a22565b610813565b34801561032157600080fd5b5060c9546001600160a01b03165b6040516001600160a01b0390911681526020016101e8565b34801561035357600080fd5b5060006040516101e89190612a3f565b6102d3610371366004612ad6565b6109b0565b34801561038257600080fd5b50610251610b3a565b34801561039757600080fd5b5061032f610c00565b3480156103ac57600080fd5b506102516103bb366004612b69565b610c38565b3480156103cc57600080fd5b506102d36103db366004612ba0565b610c46565b3480156103ec57600080fd5b506102d36103fb366004612bc5565b610d59565b34801561040c57600080fd5b506101dc61041b366004612a22565b610f11565b34801561042c57600080fd5b506102d361043b3660046129e0565b610f1c565b34801561044c57600080fd5b506101dc61045b366004612c2d565b61100b565b34801561046c57600080fd5b50610193546104829067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e8565b3480156104a757600080fd5b506104bb6104b6366004612b69565b611038565b6040516101e8959493929190612d27565b3480156104d857600080fd5b506102517f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f581565b34801561050c57600080fd5b506101dc61051b366004612b69565b6111ef565b34801561052c57600080fd5b506102516111fa565b34801561054157600080fd5b506101925461055b9060ff811690610100900461ffff1682565b60408051921515835261ffff9091166020830152016101e8565b34801561058157600080fd5b506101dc610590366004612a22565b611206565b3480156105a157600080fd5b506102516105b0366004612db3565b61123b565b3480156105c157600080fd5b506102d36105d0366004612b69565b611585565b60006001600160e01b031982167f8f85278600000000000000000000000000000000000000000000000000000000148061063857506001600160e01b031982167fd200f62300000000000000000000000000000000000000000000000000000000145b8061066c57506001600160e01b031982167f0bb5c60300000000000000000000000000000000000000000000000000000000145b806106a057506001600160e01b031982167fa230c52400000000000000000000000000000000000000000000000000000000145b806106af57506106af826115d0565b92915050565b60006106c261016061160e565b6001600160e01b0316905090565b60006106dc8383611656565b9392505050565b60c9547fb1750e46d35a0069c8465b8643e7838d2149a842a2db8ee233d9835590040cad90610721906001600160a01b031630335b846000366116e1565b61072a826117cf565b5050565b60c9547fb1750e46d35a0069c8465b8643e7838d2149a842a2db8ee233d9835590040cad90610767906001600160a01b03163033610718565b6000826107726106b5565b61077c9190612eae565b905061ffff8111156107ca576040517f125ae34000000000000000000000000000000000000000000000000000000000815261ffff6004820152602481018290526044015b60405180910390fd5b6107d48484611926565b7f11ba20e083ffba533caf1d501ce171aa2acdc05a5601e4e473e449460b0718d88484604051610805929190612ec1565b60405180910390a150505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108b15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107c1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661090c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146109885760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107c1565b61099181611a2f565b604080516000808252602082019092526109ad91839190611a68565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a4e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107c1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610b255760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107c1565b610b2e82611a2f565b61072a82826001611a68565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bda5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107c1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b6000610c337f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b60006106af61016083611c0d565b33610c518382611656565b610c99576040517f37eda872000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03821660248201526044016107c1565b60008381526101916020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff811660016101009283900461ffff9081168201169092021782556001600160a01b03861680865260028301909452828520805460ff191690911790559051909286917f7b39c92a7e1a86e846edaeff6eba715a046352c596794c2a374269c126a997689190a3828015610d455750610d4584611cc0565b15610d5357610d5384611d03565b50505050565b600054610100900460ff1615808015610d795750600054600160ff909116105b80610d935750303b158015610d93575060005460ff166001145b610e055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107c1565b6000805460ff191660011790558015610e28576000805461ff0019166101001790555b610e3185611e6b565b61ffff831115610e78576040517f125ae34000000000000000000000000000000000000000000000000000000000815261ffff6004820152602481018490526044016107c1565b610e828484611926565b7f11ba20e083ffba533caf1d501ce171aa2acdc05a5601e4e473e449460b0718d88484604051610eb3929190612ec1565b60405180910390a1610ec4826117cf565b8015610f0a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006106af82611206565b60c9547fb1750e46d35a0069c8465b8643e7838d2149a842a2db8ee233d9835590040cad90610f55906001600160a01b03163033610718565b600082610f606106b5565b610f6a9190612f0f565b6101925490915061ffff61010090910481169082161015610fd057610192546040517f2f621d5a00000000000000000000000000000000000000000000000000000000815261ffff808416600483015261010090920490911660248201526044016107c1565b610fda8484611ef1565b7f0ba413f7646035cae0a4ee999d676078fc8a763d1a36a8ef25e4c10f67d8615d8484604051610805929190612ec1565b6001600160a01b038216600090815261015f6020526040812061102e9083611c0d565b6001149392505050565b60408051608080820183526000808352602080840182905283850182905260609384018290528582526101918152848220805486519485018752600182015461ffff808216875267ffffffffffffffff6201000083048116888701526a010000000000000000000083048116888b0152720100000000000000000000000000000000000090920490911686880152600383018054895181870281018701909a52808a5260ff841699610100909404909216979594909190859084015b828210156111d8576000848152602090819020604080516060810182526003860290920180546001600160a01b031683526001810154938301939093526002830180549293929184019161114790612f22565b80601f016020809104026020016040519081016040528092919081815260200182805461117390612f22565b80156111c05780601f10611195576101008083540402835291602001916111c0565b820191906000526020600020905b8154815290600101906020018083116111a357829003601f168201915b505050505081525050815260200190600101906110f4565b505050509250806004015491505091939590929450565b60006106af82611cc0565b6000610c3361012d5490565b6001600160a01b038116600090815261015f602052604081206112289061160e565b6001600160e01b03166001149050919050565b6101925460009060ff168015611257575061125533611206565b155b1561129c57335b6040517feab993440000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201526024016107c1565b600060016112a943611f5d565b61019354919003915067ffffffffffffffff808316911611156112cc573361125e565b8367ffffffffffffffff166000036112ee576112e742611f5d565b9350611362565b6112f742611f5d565b67ffffffffffffffff168467ffffffffffffffff1610156113625761131b42611f5d565b6040517f4cc9c0f400000000000000000000000000000000000000000000000000000000815267ffffffffffffffff918216600482015290851660248201526044016107c1565b8367ffffffffffffffff168367ffffffffffffffff1610156113c4576040517f4cc9c0f400000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8086166004830152841660248201526044016107c1565b6113d4338c8c87878e8e8e611fe1565b6000818152610191602052604090206001810180547fffffffffffffffffffffffffffff00000000000000000000000000000000ffff166201000067ffffffffffffffff868116919091027fffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffff16919091176a010000000000000000000089831602177fffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffff8116720100000000000000000000000000000000000092891692909202918217835561019254610100900461ffff167fffffffffffff0000000000000000ffffffffffffffffffffffffffffffff00009091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090921691909117179055909250871561150657600481018890555b60005b8981101561156557816003018b8b8381811061152757611527612f56565b90506020028101906115399190612f6c565b81546001810183556000928352602090922090916003020161155b8282612fd2565b5050600101611509565b508615611576576115768387610c46565b50509998505050505050505050565b61158e81611cc0565b6115c7576040517f9fefd0f1000000000000000000000000000000000000000000000000000000008152600481018290526024016107c1565b6109ad81611d03565b60006001600160e01b031982167fda35c6640000000000000000000000000000000000000000000000000000000014806106af57506106af82612047565b8054600090801561164d5761163683611628600184612f0f565b600091825260209091200190565b5464010000000090046001600160e01b03166106dc565b60009392505050565b60008281526101916020526040812061166e816120e2565b61167c5760009150506106af565b600181015461169c90849062010000900467ffffffffffffffff1661100b565b6116aa5760009150506106af565b6001600160a01b038316600090815260028201602052604090205460ff16156116d75760009150506106af565b5060019392505050565b6040517ffdef91060000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063fdef91069061172e908890889088908890889060040161312e565b602060405180830381865afa15801561174b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176f919061316c565b6117c7576040517f32dbe3b40000000000000000000000000000000000000000000000000000000081526001600160a01b038088166004830152808716602483015285166044820152606481018490526084016107c1565b505050505050565b60006117d96106b5565b905061ffff81166117f06040840160208501613199565b61ffff16111561184b578061180b6040840160208501613199565b6040517f2f621d5a00000000000000000000000000000000000000000000000000000000815261ffff9283166004820152911660248201526044016107c1565b600161185d6040840160208501613199565b61ffff16101561187957600161180b6040840160208501613199565b8161019261188782826131b6565b90505061189343611f5d565b61019380547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556118dd6040830160208401613199565b61ffff167f7d8a9a57630acbcfb28eb55b1ce0ff7b3d0dc9edea594075a8a6af35278a4cf961190f6020850185613219565b604051901515815260200160405180910390a25050565b60005b81811015611a1f5761195b83838381811061194657611946612f56565b90506020020160208101906105909190612a22565b156119c55782828281811061197257611972612f56565b90506020020160208101906119879190612a22565b6040517fc0b7477d0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201526024016107c1565b611a15600161015f60008686868181106119e1576119e1612f56565b90506020020160208101906119f69190612a22565b6001600160a01b0316815260208101919091526040016000209061215b565b5050600101611929565b50610d5361016061219183612195565b60c9547f821b6e3a557148015a918c89e5d092e878a69854a2d1a410635f771bd5a8a3f59061072a906001600160a01b03163033610718565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611aa057611a9b836121cd565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611afa575060408051601f3d908101601f19168201909252611af791810190613236565b60015b611b6c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107c1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c015760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107c1565b50611a9b838383612298565b6000438210611c5e5760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e656460448201526064016107c1565b6000611c69836122bd565b84549091506000611c7c86848385612339565b90508015611caa57611c9386611628600184612f0f565b5464010000000090046001600160e01b0316611cad565b60005b6001600160e01b03169695505050505050565b600081815261019160205260408120611cd8816120e2565b611ce55750600092915050565b6001810154905461ffff918216610100909104909116101592915050565b600081815261019160205260409020805460ff19166001178155610d53611d3260c9546001600160a01b031690565b836101916000868152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015611e4e576000848152602090819020604080516060810182526003860290920180546001600160a01b0316835260018101549383019390935260028301805492939291840191611dbd90612f22565b80601f0160208091040260200160405190810160405280929190818152602001828054611de990612f22565b8015611e365780601f10611e0b57610100808354040283529160200191611e36565b820191906000526020600020905b815481529060010190602001808311611e1957829003601f168201915b50505050508152505081526020019060010190611d6a565b505050600087815261019160205260409020600401549050612397565b600054610100900460ff16611ee85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107c1565b6109ad81612466565b60005b81811015611f4d57611f1183838381811061194657611946612f56565b611f275782828281811061197257611972612f56565b611f43600061015f60008686868181106119e1576119e1612f56565b5050600101611ef4565b50610d5361016061251283612195565b600067ffffffffffffffff821115611fdd5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f342062697473000000000000000000000000000000000000000000000000000060648201526084016107c1565b5090565b6000611feb612517565b9050886001600160a01b0316817fa6c1f8f4276dc3f243459e13b557c84e8f4e90b2e09070bad5f6909cee687c9288888c8c8a8a8a604051612033979695949392919061324f565b60405180910390a398975050505050505050565b60006001600160e01b031982167f41de68300000000000000000000000000000000000000000000000000000000014806120aa57506001600160e01b031982167f52d1902d00000000000000000000000000000000000000000000000000000000145b806106af57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316146106af565b6000806120ee42611f5d565b835490915060ff161580156121225750600183015467ffffffffffffffff8083166a01000000000000000000009092041611155b80156106dc5750600183015467ffffffffffffffff80831672010000000000000000000000000000000000009092041610159392505050565b6000806121798461216b436122bd565b61217486612532565b6125b1565b6001600160e01b0391821693501690505b9250929050565b0190565b6000806121c0856121bb6121a88861160e565b6001600160e01b0316868863ffffffff16565b61215b565b915091505b935093915050565b6001600160a01b0381163b61224a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107c1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6122a183612754565b6000825111806122ae5750805b15611a9b57610d538383612794565b600063ffffffff821115611fdd5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016107c1565b60005b8183101561238f576000612350848461289f565b60008781526020902090915063ffffffff86169082015463ffffffff16111561237b57809250612389565b612386816001612eae565b93505b5061233c565b509392505050565b6040517fc71bf3240000000000000000000000000000000000000000000000000000000081526060906000906001600160a01b0387169063c71bf324906123e69088908890889060040161335e565b6000604051808303816000875af1158015612405573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261242d9190810190613387565b604051919350915085907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a294509492505050565b600054610100900460ff166124e35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107c1565b60c9805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b900390565b60006125216111fa565b9050610bfd61012d80546001019055565b60006001600160e01b03821115611fdd5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f323420626974730000000000000000000000000000000000000000000000000060648201526084016107c1565b8254600090819080156126fa5760006125cf87611628600185612f0f565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156126515760405162461bcd60e51b815260206004820152601760248201527f436865636b706f696e743a20696e76616c6964206b657900000000000000000060448201526064016107c1565b805163ffffffff80881691160361269a578461267288611628600186612f0f565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556126ea565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506121c59050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816121c5565b61275d816121cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6128135760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016107c1565b600080846001600160a01b03168460405161282e919061348d565b600060405180830381855af49150503d8060008114612869576040519150601f19603f3d011682016040523d82523d6000602084013e61286e565b606091505b509150915061289682826040518060600160405280602781526020016134d5602791396128ba565b95945050505050565b60006128ae600284841861349f565b6106dc90848416612eae565b606083156128c95750816106dc565b6106dc83838151156128de5781518083602001fd5b8060405162461bcd60e51b81526004016107c191906134c1565b60006020828403121561290a57600080fd5b81356001600160e01b0319811681146106dc57600080fd5b6001600160a01b03811681146109ad57600080fd5b6000806040838503121561294a57600080fd5b82359150602083013561295c81612922565b809150509250929050565b60006040828403121561297957600080fd5b50919050565b60006040828403121561299157600080fd5b6106dc8383612967565b60008083601f8401126129ad57600080fd5b50813567ffffffffffffffff8111156129c557600080fd5b6020830191508360208260051b850101111561218a57600080fd5b600080602083850312156129f357600080fd5b823567ffffffffffffffff811115612a0a57600080fd5b612a168582860161299b565b90969095509350505050565b600060208284031215612a3457600080fd5b81356106dc81612922565b6020810160038310612a6157634e487b7160e01b600052602160045260246000fd5b91905290565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612aa657612aa6612a67565b604052919050565b600067ffffffffffffffff821115612ac857612ac8612a67565b50601f01601f191660200190565b60008060408385031215612ae957600080fd5b8235612af481612922565b9150602083013567ffffffffffffffff811115612b1057600080fd5b8301601f81018513612b2157600080fd5b8035612b34612b2f82612aae565b612a7d565b818152866020838501011115612b4957600080fd5b816020840160208301376000602083830101528093505050509250929050565b600060208284031215612b7b57600080fd5b5035919050565b80151581146109ad57600080fd5b8035612b9b81612b82565b919050565b60008060408385031215612bb357600080fd5b82359150602083013561295c81612b82565b60008060008060808587031215612bdb57600080fd5b8435612be681612922565b9350602085013567ffffffffffffffff811115612c0257600080fd5b612c0e8782880161299b565b9094509250612c2290508660408701612967565b905092959194509250565b60008060408385031215612c4057600080fd5b8235612c4b81612922565b946020939093013593505050565b60005b83811015612c74578181015183820152602001612c5c565b50506000910152565b60008151808452612c95816020860160208601612c59565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015612d1a578284038952815180516001600160a01b031685528581015186860152604090810151606091860182905290612d0681870183612c7d565b9a87019a9550505090840190600101612cc7565b5091979650505050505050565b6000610100871515835261ffff808816602085015280875116604085015250602086015167ffffffffffffffff80821660608601528060408901511660808601528060608901511660a086015250508060c0840152612d8881840186612ca9565b9150508260e08301529695505050505050565b803567ffffffffffffffff81168114612b9b57600080fd5b600080600080600080600080600060e08a8c031215612dd157600080fd5b893567ffffffffffffffff80821115612de957600080fd5b818c0191508c601f830112612dfd57600080fd5b813581811115612e0c57600080fd5b8d6020828501011115612e1e57600080fd5b60209283019b509950908b01359080821115612e3957600080fd5b50612e468c828d0161299b565b90985096505060408a01359450612e5f60608b01612b90565b9350612e6d60808b01612b90565b9250612e7b60a08b01612d9b565b9150612e8960c08b01612d9b565b90509295985092959850929598565b634e487b7160e01b600052601160045260246000fd5b808201808211156106af576106af612e98565b60208082528181018390526000908460408401835b86811015612f04578235612ee981612922565b6001600160a01b031682529183019190830190600101612ed6565b509695505050505050565b818103818111156106af576106af612e98565b600181811c90821680612f3657607f821691505b60208210810361297957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008235605e19833603018112612f8257600080fd5b9190910192915050565b601f821115611a9b57600081815260208120601f850160051c81016020861015612fb35750805b601f850160051c820191505b818110156117c757828155600101612fbf565b8135612fdd81612922565b6001600160a01b03811673ffffffffffffffffffffffffffffffffffffffff1983541617825550600160208084013582840155600283016040850135601e1986360301811261302b57600080fd5b8501803567ffffffffffffffff81111561304457600080fd5b803603848301131561305557600080fd5b613069816130638554612f22565b85612f8c565b6000601f82116001811461309f576000831561308757508382018601355b600019600385901b1c1916600184901b1785556130f8565b600085815260209020601f19841690835b828110156130cf578685018901358255938801939089019088016130b0565b50848210156130ee5760001960f88660031b161c198885880101351681555b50508683881b0185555b505050505050505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808816835280871660208401525084604083015260806060830152613161608083018486613103565b979650505050505050565b60006020828403121561317e57600080fd5b81516106dc81612b82565b61ffff811681146109ad57600080fd5b6000602082840312156131ab57600080fd5b81356106dc81613189565b81356131c181612b82565b815460ff19811691151560ff16918217835560208401356131e181613189565b62ffff008160081b16837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416171784555050505050565b60006020828403121561322b57600080fd5b81356106dc81612b82565b60006020828403121561324857600080fd5b5051919050565b600067ffffffffffffffff808a1683526020818a1681850152604060a08186015261327e60a086018a8c613103565b606086820381880152818983528483019050848a60051b8401018b60005b8c81101561334057601f198684030184528135605e198f36030181126132c157600080fd5b8e0180356132ce81612922565b6001600160a01b0316845280890135898501528781013536829003601e190181126132f857600080fd5b0188810190358a81111561330b57600080fd5b80360382131561331a57600080fd5b868986015261332c8786018284613103565b958a0195945050509087019060010161329c565b50508097505050505050505082608083015298975050505050505050565b8381526060602082015260006133776060830185612ca9565b9050826040830152949350505050565b600080604080848603121561339b57600080fd5b835167ffffffffffffffff808211156133b357600080fd5b818601915086601f8301126133c757600080fd5b81516020828211156133db576133db612a67565b8160051b6133ea828201612a7d565b928352848101820192828101908b85111561340457600080fd5b83870192505b84831015613479578251868111156134225760008081fd5b8701603f81018d136134345760008081fd5b84810151613444612b2f82612aae565b8181528e8b8385010111156134595760008081fd5b613468828883018d8601612c59565b84525050918301919083019061340a565b9990920151989a9899505050505050505050565b60008251612f82818460208701612c59565b6000826134bc57634e487b7160e01b600052601260045260246000fd5b500490565b6020815260006106dc6020830184612c7d56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220693ee201596a74b33acaa6f6f3a77dddf80efcc496a1cbe5be33b6273801141a64736f6c63430008110033