0 txs
0 calls
constructor
constructor(address _token, address _timelock)
functions
BALLOT_TYPEHASH
viewfunction BALLOT_TYPEHASH() view returns (bytes32)
COUNTING_MODE
purefunction COUNTING_MODE() pure returns (string)
EXTENDED_BALLOT_TYPEHASH
viewfunction EXTENDED_BALLOT_TYPEHASH() view returns (bytes32)
getActions
viewfunction getActions(uint256 proposalId) view returns (address[] targets, uint256[] values, string[] signatures, bytes[] calldatas)
getReceipt
viewfunction getReceipt(uint256 proposalId, address voter) view returns (tuple)
getVotes
viewfunction getVotes(address account, uint256 blockNumber) view returns (uint256)
getVotesWithParams
viewfunction getVotesWithParams(address account, uint256 blockNumber, bytes params) view returns (uint256)
hashProposal
purefunction hashProposal(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) pure returns (uint256)
hasVoted
viewfunction hasVoted(uint256 proposalId, address account) view returns (bool)
lateQuorumVoteExtension
viewfunction lateQuorumVoteExtension() view returns (uint64)
name
viewfunction name() view returns (string)
proposalDeadline
viewfunction proposalDeadline(uint256 proposalId) view returns (uint256)
proposalEta
viewfunction proposalEta(uint256 proposalId) view returns (uint256)
proposals
viewfunction proposals(uint256 proposalId) view returns (uint256 id, address proposer, uint256 eta, uint256 startBlock, uint256 endBlock, uint256 forVotes, uint256 againstVotes, uint256 abstainVotes, bool canceled, bool executed)
proposalSnapshot
viewfunction proposalSnapshot(uint256 proposalId) view returns (uint256)
proposalThreshold
viewfunction proposalThreshold() view returns (uint256)
quorum
viewfunction quorum(uint256 blockNumber) view returns (uint256)
quorumDenominator
viewfunction quorumDenominator() view returns (uint256)
quorumNumerator
viewfunction quorumNumerator() view returns (uint256)
quorumVotes
viewfunction quorumVotes() view returns (uint256)
state
viewfunction state(uint256 proposalId) view returns (uint8)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
timelock
viewfunction timelock() view returns (address)
token
viewfunction token() view returns (address)
version
viewfunction version() view returns (string)
votingDelay
viewfunction votingDelay() view returns (uint256)
votingPeriod
viewfunction votingPeriod() view returns (uint256)
cancel
nonpayablefunction cancel(uint256 proposalId)
castVote
nonpayablefunction castVote(uint256 proposalId, uint8 support) returns (uint256)
castVoteBySig
nonpayablefunction castVoteBySig(uint256 proposalId, uint8 support, uint8 v, bytes32 r, bytes32 s) returns (uint256)
castVoteWithReason
nonpayablefunction castVoteWithReason(uint256 proposalId, uint8 support, string reason) returns (uint256)
castVoteWithReasonAndParams
nonpayablefunction castVoteWithReasonAndParams(uint256 proposalId, uint8 support, string reason, bytes params) returns (uint256)
castVoteWithReasonAndParamsBySig
nonpayablefunction castVoteWithReasonAndParamsBySig(uint256 proposalId, uint8 support, string reason, bytes params, uint8 v, bytes32 r, bytes32 s) returns (uint256)
execute
payablefunction execute(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) payable returns (uint256)
execute
payablefunction execute(uint256 proposalId) payable
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
propose
nonpayablefunction propose(address[] targets, uint256[] values, bytes[] calldatas, string description) returns (uint256)
propose
nonpayablefunction propose(address[] targets, uint256[] values, string[] signatures, bytes[] calldatas, string description) returns (uint256)
queue
nonpayablefunction queue(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash) returns (uint256)
queue
nonpayablefunction queue(uint256 proposalId)
relay
nonpayablefunction relay(address target, uint256 value, bytes data)
setLateQuorumVoteExtension
nonpayablefunction setLateQuorumVoteExtension(uint64 newVoteExtension)
setProposalThreshold
nonpayablefunction setProposalThreshold(uint256 newProposalThreshold)
setVotingDelay
nonpayablefunction setVotingDelay(uint256 newVotingDelay)
setVotingPeriod
nonpayablefunction setVotingPeriod(uint256 newVotingPeriod)
updateQuorumNumerator
nonpayablefunction updateQuorumNumerator(uint256 newQuorumNumerator)
updateTimelock
nonpayablefunction updateTimelock(address newTimelock)
events
LateQuorumVoteExtensionSet
event LateQuorumVoteExtensionSet(uint64 oldVoteExtension, uint64 newVoteExtension)
ProposalCanceled
event ProposalCanceled(uint256 proposalId)
ProposalCreated
event ProposalCreated(uint256 proposalId, address proposer, address[] targets, uint256[] values, string[] signatures, bytes[] calldatas, uint256 startBlock, uint256 endBlock, string description)
ProposalExecuted
event ProposalExecuted(uint256 proposalId)
ProposalExtended
event ProposalExtended(uint256 indexed proposalId, uint64 extendedDeadline)
ProposalQueued
event ProposalQueued(uint256 proposalId, uint256 eta)
ProposalThresholdSet
event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold)
QuorumNumeratorUpdated
event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator)
TimelockChange
event TimelockChange(address oldTimelock, address newTimelock)
VoteCast
event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason)
VoteCastWithParams
event VoteCastWithParams(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason, bytes params)
VotingDelaySet
event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay)
VotingPeriodSet
event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod)
errors
Empty
error Empty()
creation bytecode
0x6101606040523480156200001257600080fd5b50604051620054423803806200544283398101604081905262000035916200052b565b612d008160148460016143806a084595161401484a0000006040518060400160405280600f81526020016e4f55534420476f7665726e616e636560881b81525080620000866200018c60201b60201c565b815160208084019190912082518383012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c00190528051940193909320919290916080523060c05261012052505082516200012c92506000915060208401906200046c565b506200013a905083620001a7565b6200014582620001e8565b62000150816200028f565b5050506001600160a01b0316610140526200016b81620002d0565b5062000177816200039a565b50620001838162000403565b505050620005a6565b6040805180820190915260018152603160f81b602082015290565b60045460408051918252602082018390527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600455565b600081116200024e5760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420604482015266746f6f206c6f7760c81b60648201526084015b60405180910390fd5b60055460408051918252602082018390527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600555565b60065460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600655565b6064811115620003555760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a40162000245565b600880549082905560408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b600954604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b600b54604080516001600160401b03928316815291831660208301527f7ca4ac117ed3cdce75c1161d8207c440389b1a15d69d096831664657c07dafc2910160405180910390a1600b80546001600160401b0319166001600160401b0392909216919091179055565b8280546200047a906200056a565b90600052602060002090601f0160209004810192826200049e5760008555620004e9565b82601f10620004b957805160ff1916838001178555620004e9565b82800160010185558215620004e9579182015b82811115620004e9578251825591602001919060010190620004cc565b50620004f7929150620004fb565b5090565b5b80821115620004f75760008155600101620004fc565b6001600160a01b03811681146200052857600080fd5b50565b600080604083850312156200053f57600080fd5b82516200054c8162000512565b60208401519092506200055f8162000512565b809150509250929050565b600181811c908216806200057f57607f821691505b602082108103620005a057634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051614e336200060f60003960008181610a7e01528181611f1c015261285e01526000612c9401526000612ce301526000612cbe01526000612c1701526000612c4101526000612c6b0152614e336000f3fe6080604052600436106102b25760003560e01c80637d5e81e211610175578063d33219b4116100dc578063ea0217cf11610095578063f23a6e611161006f578063f23a6e6114610a20578063f8ce560a14610a4c578063fc0c546a14610a6c578063fe0d94c114610aa057600080fd5b8063ea0217cf146109c0578063eb9019d4146109e0578063ece40cc114610a0057600080fd5b8063d33219b41461081e578063da95691a14610850578063dd4e2ba514610870578063ddf0b009146108b6578063deaaa7cc146108d6578063e23a9a521461090a57600080fd5b8063b58131b01161012e578063b58131b01461075d578063bc197c8114610772578063c01f9e371461079e578063c28bc2fa146107be578063c59057e4146107de578063d07f91e9146107fe57600080fd5b80637d5e81e2146106b457806397c3d334146106d45780639a802a6d146106e8578063a7713a7014610708578063a890c9101461071d578063ab58fb8e1461073d57600080fd5b8063328dd9821161021957806343859632116101d257806343859632146105c057806354fd4d501461060a57806356781388146106345780635f398a141461065457806370b0f660146106745780637b3c71d31461069457600080fd5b8063328dd982146104e657806332b8113e146105165780633932abb11461053e5780633bccf4fd146105535780633e4f49e61461057357806340e58ee5146105a057600080fd5b8063150b7a021161026b578063150b7a0214610406578063160cbed71461044a57806324bc1a641461046a5780632656227d1461047f5780632d63f693146104925780632fe3e261146104b257600080fd5b8063013cf08b146102da57806301ffc9a71461035557806302a251a31461038557806303420181146103a457806306f3f9e6146103c457806306fdde03146103e457600080fd5b366102d557306102c0610ab3565b6001600160a01b0316146102d357600080fd5b005b600080fd5b3480156102e657600080fd5b506102fa6102f5366004613e64565b610acc565b604080519a8b526001600160a01b0390991660208b0152978901969096526060880194909452608087019290925260a086015260c085015260e084015215156101008301521515610120820152610140015b60405180910390f35b34801561036157600080fd5b50610375610370366004613e7d565b610b77565b604051901515815260200161034c565b34801561039157600080fd5b506005545b60405190815260200161034c565b3480156103b057600080fd5b506103966103bf366004613fba565b610b88565b3480156103d057600080fd5b506102d36103df366004613e64565b610c80565b3480156103f057600080fd5b506103f9610d13565b60405161034c91906140bc565b34801561041257600080fd5b506104316104213660046140e4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161034c565b34801561045657600080fd5b506103966104653660046142b5565b610da5565b34801561047657600080fd5b50610396610fa6565b61039661048d3660046142b5565b610fb6565b34801561049e57600080fd5b506103966104ad366004613e64565b6110a3565b3480156104be57600080fd5b506103967fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b3480156104f257600080fd5b50610506610501366004613e64565b6110da565b60405161034c949392919061440d565b34801561052257600080fd5b50600b546040516001600160401b03909116815260200161034c565b34801561054a57600080fd5b50600454610396565b34801561055f57600080fd5b5061039661056e36600461445a565b61136b565b34801561057f57600080fd5b5061059361058e366004613e64565b6113e1565b60405161034c91906144be565b3480156105ac57600080fd5b506102d36105bb366004613e64565b6113ec565b3480156105cc57600080fd5b506103756105db3660046144e6565b60008281526007602090815260408083206001600160a01b038516845260080190915290205460ff1692915050565b34801561061657600080fd5b506040805180820190915260018152603160f81b60208201526103f9565b34801561064057600080fd5b5061039661064f366004614516565b611704565b34801561066057600080fd5b5061039661066f366004614542565b61172d565b34801561068057600080fd5b506102d361068f366004613e64565b611777565b3480156106a057600080fd5b506103966106af3660046145c5565b6117fe565b3480156106c057600080fd5b506103966106cf36600461461e565b611850565b3480156106e057600080fd5b506064610396565b3480156106f457600080fd5b506103966107033660046146be565b611867565b34801561071457600080fd5b50600854610396565b34801561072957600080fd5b506102d3610738366004614716565b61187e565b34801561074957600080fd5b50610396610758366004613e64565b611905565b34801561076957600080fd5b5061039661199f565b34801561077e57600080fd5b5061043161078d366004614733565b63bc197c8160e01b95945050505050565b3480156107aa57600080fd5b506103966107b9366004613e64565b6119aa565b3480156107ca57600080fd5b506102d36107d93660046147c6565b6119b5565b3480156107ea57600080fd5b506103966107f93660046142b5565b611a7c565b34801561080a57600080fd5b506102d3610819366004614809565b611ab6565b34801561082a57600080fd5b506009546001600160a01b03165b6040516001600160a01b03909116815260200161034c565b34801561085c57600080fd5b5061039661086b366004614832565b611b3d565b34801561087c57600080fd5b5060408051808201909152601a81527f737570706f72743d627261766f2671756f72756d3d627261766f00000000000060208201526103f9565b3480156108c257600080fd5b506102d36108d1366004613e64565b611b62565b3480156108e257600080fd5b506103967f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b34801561091657600080fd5b506109996109253660046144e6565b60408051606081018252600080825260208201819052918101919091525060009182526007602090815260408084206001600160a01b0393909316845260089092018152918190208151606081018352815460ff808216151583526101009091041693810193909352600101549082015290565b6040805182511515815260208084015160ff1690820152918101519082015260600161034c565b3480156109cc57600080fd5b506102d36109db366004613e64565b611dd0565b3480156109ec57600080fd5b506103966109fb3660046148d3565b611e57565b348015610a0c57600080fd5b506102d3610a1b366004613e64565b611e78565b348015610a2c57600080fd5b50610431610a3b3660046148ff565b63f23a6e6160e01b95945050505050565b348015610a5857600080fd5b50610396610a67366004613e64565b611eff565b348015610a7857600080fd5b506108387f000000000000000000000000000000000000000000000000000000000000000081565b6102d3610aae366004613e64565b611fa3565b6000610ac76009546001600160a01b031690565b905090565b8060008080808080808080610ae08a611905565b9750610aeb8b6110a3565b9650610af68b6119aa565b60008c81526007602081905260408220805460058201546006830154938301546001600160a01b039092169e50949a50939850909650919450610b388d6113e1565b90506002816007811115610b4e57610b4e6144a8565b1493506007816007811115610b6557610b656144a8565b14925050509193959799509193959799565b6000610b8282612211565b92915050565b600080610c2c610c247fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c604051610bc4929190614967565b60405180910390208b80519060200120604051602001610c09959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120612236565b868686612284565b9050610c728a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506122a2915050565b9a9950505050505050505050565b610c88610ab3565b6001600160a01b0316336001600160a01b031614610cc15760405162461bcd60e51b8152600401610cb890614977565b60405180910390fd5b30610cca610ab3565b6001600160a01b031614610d075760008036604051610cea929190614967565b604051809103902090505b80610d0060026122b1565b03610cf557505b610d1081612330565b50565b606060008054610d22906149ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4e906149ae565b8015610d9b5780601f10610d7057610100808354040283529160200191610d9b565b820191906000526020600020905b815481529060010190602001808311610d7e57829003601f168201915b5050505050905090565b600080610db486868686611a7c565b90506004610dc1826113e1565b6007811115610dd257610dd26144a8565b14610def5760405162461bcd60e51b8152600401610cb8906149e8565b6009546040805163793d064960e11b815290516000926001600160a01b03169163f27a0c929160048083019260209291908290030181865afa158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d9190614a29565b60095460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790610e97908a908a908a906000908b90600401614a42565b602060405180830381865afa158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed89190614a29565b6000838152600a60205260408082209290925560095491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb091610f23918b918b918b91908b908990600401614a90565b600060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050507f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892828242610f839190614afe565b604080519283526020830191909152015b60405180910390a15095945050505050565b6000610ac7610a67600143614b16565b600080610fc586868686611a7c565b90506000610fd2826113e1565b90506004816007811115610fe857610fe86144a8565b148061100557506005816007811115611003576110036144a8565b145b6110215760405162461bcd60e51b8152600401610cb8906149e8565b600082815260016020818152604092839020600201805460ff191690921790915590518381527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f910160405180910390a161107f82888888886123f8565b61108c8288888888612499565b61109982888888886124a6565b5095945050505050565b60008181526001602090815260408083208151928301909152546001600160401b0316908190525b6001600160401b031692915050565b6060806060806000600760008781526020019081526020016000209050806001018160020182600301836004018380548060200260200160405190810160405280929190818152602001828054801561115c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161113e575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156111ae57602002820191906000526020600020905b81548152602001906001019080831161119a575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156112825783829060005260206000200180546111f5906149ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611221906149ae565b801561126e5780601f106112435761010080835404028352916020019161126e565b820191906000526020600020905b81548152906001019060200180831161125157829003601f168201915b5050505050815260200190600101906111d6565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156113555783829060005260206000200180546112c8906149ae565b80601f01602080910402602001604051908101604052809291908181526020018280546112f4906149ae565b80156113415780601f1061131657610100808354040283529160200191611341565b820191906000526020600020905b81548152906001019060200180831161132457829003601f168201915b5050505050815260200190600101906112a9565b5050505090509450945094509450509193509193565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff8516606082015260009081906113b990610c2490608001610c09565b90506113d6878288604051806020016040528060008152506124df565b979650505050505050565b6000610b8282612502565b600081815260076020526040902080546001600160a01b0316336001600160a01b0316148061143a575061141e61199f565b8154611438906001600160a01b03166109fb600143614b16565b105b6114965760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72427261766f3a2070726f706f7365722061626f76652074686044820152661c995cda1bdb1960ca1b6064820152608401610cb8565b6116ff816001018054806020026020016040519081016040528092919081815260200182805480156114f157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116114d3575b50505050508260020180548060200260200160405190810160405280929190818152602001828054801561154457602002820191906000526020600020905b815481526020019060010190808311611530575b50505050506116f584600301805480602002602001604051908101604052809291908181526020016000905b8282101561161c57838290600052602060002001805461158f906149ae565b80601f01602080910402602001604051908101604052809291908181526020018280546115bb906149ae565b80156116085780601f106115dd57610100808354040283529160200191611608565b820191906000526020600020905b8154815290600101906020018083116115eb57829003601f168201915b505050505081526020019060010190611570565b50505060048701805460408051602080840282018101909252828152935060009084015b828210156116ec57838290600052602060002001805461165f906149ae565b80601f016020809104026020016040519081016040528092919081815260200182805461168b906149ae565b80156116d85780601f106116ad576101008083540402835291602001916116d8565b820191906000526020600020905b8154815290600101906020018083116116bb57829003601f168201915b505050505081526020019060010190611640565b5050505061264c565b846009015461277e565b505050565b600080339050611725848285604051806020016040528060008152506124df565b949350505050565b6000803390506113d687828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506122a2915050565b61177f610ab3565b6001600160a01b0316336001600160a01b0316146117af5760405162461bcd60e51b8152600401610cb890614977565b306117b8610ab3565b6001600160a01b0316146117f557600080366040516117d8929190614967565b604051809103902090505b806117ee60026122b1565b036117e357505b610d108161278c565b60008033905061184686828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124df92505050565b9695505050505050565b600061185e858585856127cd565b95945050505050565b6000611874848484612835565b90505b9392505050565b611886610ab3565b6001600160a01b0316336001600160a01b0316146118b65760405162461bcd60e51b8152600401610cb890614977565b306118bf610ab3565b6001600160a01b0316146118fc57600080366040516118df929190614967565b604051809103902090505b806118f560026122b1565b036118ea57505b610d10816128cb565b6009546000828152600a602052604080822054905163d45c443560e01b81526004810191909152909182916001600160a01b039091169063d45c443590602401602060405180830381865afa158015611962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119869190614a29565b9050806001146119965780611877565b60009392505050565b6000610ac760065490565b6000610b8282612934565b6119bd610ab3565b6001600160a01b0316336001600160a01b0316146119ed5760405162461bcd60e51b8152600401610cb890614977565b306119f6610ab3565b6001600160a01b031614611a335760008036604051611a16929190614967565b604051809103902090505b80611a2c60026122b1565b03611a2157505b611a758483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250612970915050565b5050505050565b600084848484604051602001611a959493929190614b2d565b60408051601f19818403018152919052805160209091012095945050505050565b611abe610ab3565b6001600160a01b0316336001600160a01b031614611aee5760405162461bcd60e51b8152600401610cb890614977565b30611af7610ab3565b6001600160a01b031614611b345760008036604051611b17929190614967565b604051809103902090505b80611b2d60026122b1565b03611b2257505b610d1081612996565b6000611b4d338787878787612a00565b6118468686611b5c878761264c565b85611850565b60008181526007602090815260409182902060018101805484518185028101850190955280855291936116ff93909290830182828015611bcb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bad575b505050505082600201805480602002602001604051908101604052809291908181526020018280548015611c1e57602002820191906000526020600020905b815481526020019060010190808311611c0a575b5050505050611dc684600301805480602002602001604051908101604052809291908181526020016000905b82821015611cf6578382906000526020600020018054611c69906149ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611c95906149ae565b8015611ce25780601f10611cb757610100808354040283529160200191611ce2565b820191906000526020600020905b815481529060010190602001808311611cc557829003601f168201915b505050505081526020019060010190611c4a565b50505060048701805460408051602080840282018101909252828152935060009084015b828210156116ec578382906000526020600020018054611d39906149ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611d65906149ae565b8015611db25780601f10611d8757610100808354040283529160200191611db2565b820191906000526020600020905b815481529060010190602001808311611d9557829003601f168201915b505050505081526020019060010190611d1a565b8460090154610da5565b611dd8610ab3565b6001600160a01b0316336001600160a01b031614611e085760405162461bcd60e51b8152600401610cb890614977565b30611e11610ab3565b6001600160a01b031614611e4e5760008036604051611e31929190614967565b604051809103902090505b80611e4760026122b1565b03611e3c57505b610d1081612abd565b60006118778383611e7360408051602081019091526000815290565b612835565b611e80610ab3565b6001600160a01b0316336001600160a01b031614611eb05760405162461bcd60e51b8152600401610cb890614977565b30611eb9610ab3565b6001600160a01b031614611ef65760008036604051611ed9929190614967565b604051809103902090505b80611eef60026122b1565b03611ee457505b610d1081612b5e565b60006064600854604051632394e7a360e21b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e539e8c90602401602060405180830381865afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f9190614a29565b611f999190614b78565b610b829190614b97565b60008181526007602090815260409182902060018101805484518185028101850190955280855291936116ff9390929083018282801561200c57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611fee575b50505050508260020180548060200260200160405190810160405280929190818152602001828054801561205f57602002820191906000526020600020905b81548152602001906001019080831161204b575b505050505061220784600301805480602002602001604051908101604052809291908181526020016000905b828210156121375783829060005260206000200180546120aa906149ae565b80601f01602080910402602001604051908101604052809291908181526020018280546120d6906149ae565b80156121235780601f106120f857610100808354040283529160200191612123565b820191906000526020600020905b81548152906001019060200180831161210657829003601f168201915b50505050508152602001906001019061208b565b50505060048701805460408051602080840282018101909252828152935060009084015b828210156116ec57838290600052602060002001805461217a906149ae565b80601f01602080910402602001604051908101604052809291908181526020018280546121a6906149ae565b80156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b50505050508152602001906001019061215b565b8460090154610fb6565b60006001600160e01b03198216636e665ced60e01b1480610b825750610b8282612b9f565b6000610b82612243612c0a565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061229587878787612d31565b9150915061109981612e1e565b60006118468686868686612fd4565b60006122cc8254600f81810b600160801b909204900b131590565b156122ea57604051631ed9509560e11b815260040160405180910390fd5b508054600f0b6000818152600180840160205260408220805492905583546fffffffffffffffffffffffffffffffff191692016001600160801b03169190911790915590565b60648111156123b35760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a401610cb8565b600880549082905560408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b30612401610ab3565b6001600160a01b031614611a755760005b845181101561249157306001600160a01b031685828151811061243757612437614bb9565b60200260200101516001600160a01b0316036124815761248183828151811061246257612462614bb9565b60200260200101518051906020012060026130bf90919063ffffffff16565b61248a81614bcf565b9050612412565b505050505050565b611a7585858585856130fb565b306124af610ab3565b6001600160a01b031614611a7557600254600f81810b600160801b909204900b1315611a75576000600255611a75565b600061185e858585856124fd60408051602081019091526000815290565b6122a2565b60008061250e8361316f565b90506004816007811115612524576125246144a8565b1461252f5792915050565b6000838152600a60205260409020548061254a575092915050565b600954604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015612593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b79190614be8565b156125c6575060079392505050565b600954604051632c258a9f60e11b8152600481018390526001600160a01b039091169063584b153e90602401602060405180830381865afa15801561260f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126339190614be8565b15612642575060059392505050565b5060029392505050565b6060600082516001600160401b0381111561266957612669613f05565b60405190808252806020026020018201604052801561269c57816020015b60608152602001906001900390816126875790505b50905060005b8451811015612776578481815181106126bd576126bd614bb9565b60200260200101515160001461272d578481815181106126df576126df614bb9565b60200260200101518051906020012084828151811061270057612700614bb9565b6020026020010151604051602001612719929190614c0a565b604051602081830303815290604052612748565b83818151811061273f5761273f614bb9565b60200260200101515b82828151811061275a5761275a614bb9565b60200260200101819052508061276f90614bcf565b90506126a2565b509392505050565b600061185e85858585613281565b60045460408051918252602082018390527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600455565b600061282933868686516001600160401b038111156127ee576127ee613f05565b60405190808252806020026020018201604052801561282157816020015b606081526020019060019003908161280c5790505b508787612a00565b61185e85858585613333565b604051630748d63560e31b81526001600160a01b038481166004830152602482018490526000917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa1580156128a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118749190614a29565b600954604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b82612942836135d7565b6000848152600c6020908152604091829020825191820190925290546001600160401b031690819052613606565b6060611874848484604051806060016040528060298152602001614dd56029913961361d565b600b54604080516001600160401b03928316815291831660208301527f7ca4ac117ed3cdce75c1161d8207c440389b1a15d69d096831664657c07dafc2910160405180910390a1600b805467ffffffffffffffff19166001600160401b0392909216919091179055565b805160208201206000612a1e8787612a18888861264c565b85611a7c565b6000818152600760205260409020600981015491925090612ab25780546001600160a01b0319166001600160a01b038a161781558751612a6790600183019060208b0190613c1a565b508651612a7d90600283019060208a0190613c7b565b508551612a939060038301906020890190613cb6565b508451612aa99060048301906020880190613d0f565b50600981018390555b505050505050505050565b60008111612b1d5760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420604482015266746f6f206c6f7760c81b6064820152608401610cb8565b60055460408051918252602082018390527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600555565b60065460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600655565b60006001600160e01b0319821663bf26d89760e01b1480612bd057506001600160e01b031982166379dd796f60e01b145b80612beb57506001600160e01b03198216630271189760e51b145b80610b8257506301ffc9a760e01b6001600160e01b0319831614610b82565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612c6357507f000000000000000000000000000000000000000000000000000000000000000046145b15612c8d57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612d685750600090506003612e15565b8460ff16601b14158015612d8057508460ff16601c14155b15612d915750600090506004612e15565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612de5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612e0e57600060019250925050612e15565b9150600090505b94509492505050565b6000816004811115612e3257612e326144a8565b03612e3a5750565b6001816004811115612e4e57612e4e6144a8565b03612e9b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610cb8565b6002816004811115612eaf57612eaf6144a8565b03612efc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610cb8565b6003816004811115612f1057612f106144a8565b03612f685760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610cb8565b6004816004811115612f7c57612f7c6144a8565b03610d105760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610cb8565b600080612fe48787878787613743565b6000888152600c6020908152604091829020825191820190925281546001600160401b031690819052919250901580156130225750613022886138a8565b156130b457600061303b600b546001600160401b031690565b613044436138d0565b61304e9190614c3b565b9050613059896119aa565b816001600160401b031611156130a8576040516001600160401b038216815289907f541f725fb9f7c98a30cc9c0ff32fbb14358cd7159c847a3aa20a2bdc442ba5119060200160405180910390a25b6130b2828261393c565b505b509695505050505050565b8154600160801b90819004600f0b6000818152600180860160205260409091209390935583546001600160801b03908116939091011602179055565b60095460405163e38335e560e01b81526001600160a01b039091169063e38335e5903490613136908890889088906000908990600401614a42565b6000604051808303818588803b15801561314f57600080fd5b505af1158015613163573d6000803e3d6000fd5b50505050505050505050565b6000818152600160205260408120600281015460ff16156131935750600792915050565b6002810154610100900460ff16156131ae5750600292915050565b60006131b9846110a3565b90508060000361320b5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606401610cb8565b43811061321c575060009392505050565b6000613227856119aa565b905043811061323b57506001949350505050565b613244856138a8565b8015613266575060008581526007602052604090206006810154600590910154115b1561327657506004949350505050565b506003949350505050565b6000806132908686868661395a565b6000818152600a60205260409020549091501561185e576009546000828152600a60205260409081902054905163c4d252f560e01b81526001600160a01b039092169163c4d252f5916132e99160040190815260200190565b600060405180830381600087803b15801561330357600080fd5b505af1158015613317573d6000803e3d6000fd5b5050506000828152600a60205260408120555095945050505050565b600061333d61199f565b61334c336109fb600143614b16565b10156133b45760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b6064820152608401610cb8565b60006133c98686868680519060200120611a7c565b905084518651146133ec5760405162461bcd60e51b8152600401610cb890614c66565b835186511461340d5760405162461bcd60e51b8152600401610cb890614c66565b600086511161345e5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606401610cb8565b600081815260016020908152604091829020825191820190925281546001600160401b031690819052156134de5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b6064820152608401610cb8565b60006134f16134ec60045490565b6138d0565b6134fa436138d0565b6135049190614c3b565b905060006135146134ec60055490565b61351e9083614c3b565b905061352a838361393c565b613537600184018261393c565b7f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e084338b8b8d516001600160401b0381111561357557613575613f05565b6040519080825280602002602001820160405280156135a857816020015b60608152602001906001900390816135935790505b508c88888e6040516135c299989796959493929190614ca7565b60405180910390a15091979650505050505050565b60008181526001602081815260408084208151928301909152909101546001600160401b0316908190526110cb565b6000818310156136165781611877565b5090919050565b60608247101561367e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610cb8565b6001600160a01b0385163b6136d55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610cb8565b600080866001600160a01b031685876040516136f19190614d4a565b60006040518083038185875af1925050503d806000811461372e576040519150601f19603f3d011682016040523d82523d6000602084013e613733565b606091505b50915091506113d6828286613a66565b600085815260016020819052604082209061375d886113e1565b600781111561376e5761376e6144a8565b146137c75760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b6064820152608401610cb8565b604080516020810190915281546001600160401b0316908190526000906137f090889086612835565b90506137ff8888888488613a9f565b835160000361385457866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4898884896040516138479493929190614d66565b60405180910390a26113d6565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051613895959493929190614d8e565b60405180910390a2979650505050505050565b600081815260076020526040812060058101546138c7610a67856110a3565b11159392505050565b60006001600160401b038211156139385760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610cb8565b5090565b815467ffffffffffffffff19166001600160401b0391909116179055565b60008061396986868686611a7c565b90506000613976826113e1565b9050600281600781111561398c5761398c6144a8565b141580156139ac575060068160078111156139a9576139a96144a8565b14155b80156139ca575060078160078111156139c7576139c76144a8565b14155b613a165760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f74206163746976650000006044820152606401610cb8565b60008281526001602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610f949084815260200190565b60608315613a75575081611877565b825115613a855782518084602001fd5b8160405162461bcd60e51b8152600401610cb891906140bc565b60008581526007602090815260408083206001600160a01b038816845260088101909252909120805460ff1615613b2e5760405162461bcd60e51b815260206004820152602d60248201527f476f7665726e6f72436f6d7061746962696c697479427261766f3a20766f746560448201526c08185b1c9958591e4818d85cdd609a1b6064820152608401610cb8565b805460ff8616610100810261ffff1990921691909117600190811783558201859055613b735783826006016000828254613b689190614afe565b90915550613c119050565b60001960ff861601613b935783826005016000828254613b689190614afe565b60011960ff861601613bb35783826007016000828254613b689190614afe565b60405162461bcd60e51b815260206004820152602d60248201527f476f7665726e6f72436f6d7061746962696c697479427261766f3a20696e766160448201526c6c696420766f7465207479706560981b6064820152608401610cb8565b50505050505050565b828054828255906000526020600020908101928215613c6f579160200282015b82811115613c6f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613c3a565b50613938929150613d68565b828054828255906000526020600020908101928215613c6f579160200282015b82811115613c6f578251825591602001919060010190613c9b565b828054828255906000526020600020908101928215613d03579160200282015b82811115613d035782518051613cf3918491602090910190613d7d565b5091602001919060010190613cd6565b50613938929150613df0565b828054828255906000526020600020908101928215613d5c579160200282015b82811115613d5c5782518051613d4c918491602090910190613d7d565b5091602001919060010190613d2f565b50613938929150613e0d565b5b808211156139385760008155600101613d69565b828054613d89906149ae565b90600052602060002090601f016020900481019282613dab5760008555613c6f565b82601f10613dc457805160ff1916838001178555613c6f565b82800160010185558215613c6f5791820182811115613c6f578251825591602001919060010190613c9b565b80821115613938576000613e048282613e2a565b50600101613df0565b80821115613938576000613e218282613e2a565b50600101613e0d565b508054613e36906149ae565b6000825580601f10613e46575050565b601f016020900490600052602060002090810190610d109190613d68565b600060208284031215613e7657600080fd5b5035919050565b600060208284031215613e8f57600080fd5b81356001600160e01b03198116811461187757600080fd5b803560ff81168114613eb857600080fd5b919050565b60008083601f840112613ecf57600080fd5b5081356001600160401b03811115613ee657600080fd5b602083019150836020828501011115613efe57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613f4357613f43613f05565b604052919050565b600082601f830112613f5c57600080fd5b81356001600160401b03811115613f7557613f75613f05565b613f88601f8201601f1916602001613f1b565b818152846020838601011115613f9d57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060e0898b031215613fd657600080fd5b88359750613fe660208a01613ea7565b965060408901356001600160401b038082111561400257600080fd5b61400e8c838d01613ebd565b909850965060608b013591508082111561402757600080fd5b506140348b828c01613f4b565b94505061404360808a01613ea7565b925060a0890135915060c089013590509295985092959890939650565b60005b8381101561407b578181015183820152602001614063565b8381111561408a576000848401525b50505050565b600081518084526140a8816020860160208601614060565b601f01601f19169290920160200192915050565b6020815260006118776020830184614090565b6001600160a01b0381168114610d1057600080fd5b600080600080608085870312156140fa57600080fd5b8435614105816140cf565b93506020850135614115816140cf565b92506040850135915060608501356001600160401b0381111561413757600080fd5b61414387828801613f4b565b91505092959194509250565b60006001600160401b0382111561416857614168613f05565b5060051b60200190565b600082601f83011261418357600080fd5b813560206141986141938361414f565b613f1b565b82815260059290921b840181019181810190868411156141b757600080fd5b8286015b848110156130b45780356141ce816140cf565b83529183019183016141bb565b600082601f8301126141ec57600080fd5b813560206141fc6141938361414f565b82815260059290921b8401810191818101908684111561421b57600080fd5b8286015b848110156130b4578035835291830191830161421f565b600082601f83011261424757600080fd5b813560206142576141938361414f565b82815260059290921b8401810191818101908684111561427657600080fd5b8286015b848110156130b45780356001600160401b038111156142995760008081fd5b6142a78986838b0101613f4b565b84525091830191830161427a565b600080600080608085870312156142cb57600080fd5b84356001600160401b03808211156142e257600080fd5b6142ee88838901614172565b9550602087013591508082111561430457600080fd5b614310888389016141db565b9450604087013591508082111561432657600080fd5b5061433387828801614236565b949793965093946060013593505050565b600081518084526020808501945080840160005b8381101561437d5781516001600160a01b031687529582019590820190600101614358565b509495945050505050565b600081518084526020808501945080840160005b8381101561437d5781518752958201959082019060010161439c565b600081518084526020808501808196508360051b8101915082860160005b858110156144005782840389526143ee848351614090565b988501989350908401906001016143d6565b5091979650505050505050565b6080815260006144206080830187614344565b82810360208401526144328187614388565b9050828103604084015261444681866143b8565b905082810360608401526113d681856143b8565b600080600080600060a0868803121561447257600080fd5b8535945061448260208701613ea7565b935061449060408701613ea7565b94979396509394606081013594506080013592915050565b634e487b7160e01b600052602160045260246000fd5b60208101600883106144e057634e487b7160e01b600052602160045260246000fd5b91905290565b600080604083850312156144f957600080fd5b82359150602083013561450b816140cf565b809150509250929050565b6000806040838503121561452957600080fd5b8235915061453960208401613ea7565b90509250929050565b60008060008060006080868803121561455a57600080fd5b8535945061456a60208701613ea7565b935060408601356001600160401b038082111561458657600080fd5b61459289838a01613ebd565b909550935060608801359150808211156145ab57600080fd5b506145b888828901613f4b565b9150509295509295909350565b600080600080606085870312156145db57600080fd5b843593506145eb60208601613ea7565b925060408501356001600160401b0381111561460657600080fd5b61461287828801613ebd565b95989497509550505050565b6000806000806080858703121561463457600080fd5b84356001600160401b038082111561464b57600080fd5b61465788838901614172565b9550602087013591508082111561466d57600080fd5b614679888389016141db565b9450604087013591508082111561468f57600080fd5b61469b88838901614236565b935060608701359150808211156146b157600080fd5b5061414387828801613f4b565b6000806000606084860312156146d357600080fd5b83356146de816140cf565b92506020840135915060408401356001600160401b0381111561470057600080fd5b61470c86828701613f4b565b9150509250925092565b60006020828403121561472857600080fd5b8135611877816140cf565b600080600080600060a0868803121561474b57600080fd5b8535614756816140cf565b94506020860135614766816140cf565b935060408601356001600160401b038082111561478257600080fd5b61478e89838a016141db565b945060608801359150808211156147a457600080fd5b6147b089838a016141db565b935060808801359150808211156145ab57600080fd5b600080600080606085870312156147dc57600080fd5b84356147e7816140cf565b93506020850135925060408501356001600160401b0381111561460657600080fd5b60006020828403121561481b57600080fd5b81356001600160401b038116811461187757600080fd5b600080600080600060a0868803121561484a57600080fd5b85356001600160401b038082111561486157600080fd5b61486d89838a01614172565b9650602088013591508082111561488357600080fd5b61488f89838a016141db565b955060408801359150808211156148a557600080fd5b6148b189838a01614236565b945060608801359150808211156148c757600080fd5b6147b089838a01614236565b600080604083850312156148e657600080fd5b82356148f1816140cf565b946020939093013593505050565b600080600080600060a0868803121561491757600080fd5b8535614922816140cf565b94506020860135614932816140cf565b9350604086013592506060860135915060808601356001600160401b0381111561495b57600080fd5b6145b888828901613f4b565b8183823760009101908152919050565b60208082526018908201527f476f7665726e6f723a206f6e6c79476f7665726e616e63650000000000000000604082015260600190565b600181811c908216806149c257607f821691505b6020821081036149e257634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526021908201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756040820152601b60fa1b606082015260800190565b600060208284031215614a3b57600080fd5b5051919050565b60a081526000614a5560a0830188614344565b8281036020840152614a678188614388565b90508281036040840152614a7b81876143b8565b60608401959095525050608001529392505050565b60c081526000614aa360c0830189614344565b8281036020840152614ab58189614388565b90508281036040840152614ac981886143b8565b60608401969096525050608081019290925260a0909101529392505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115614b1157614b11614ae8565b500190565b600082821015614b2857614b28614ae8565b500390565b608081526000614b406080830187614344565b8281036020840152614b528187614388565b90508281036040840152614b6681866143b8565b91505082606083015295945050505050565b6000816000190483118215151615614b9257614b92614ae8565b500290565b600082614bb457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201614be157614be1614ae8565b5060010190565b600060208284031215614bfa57600080fd5b8151801515811461187757600080fd5b6001600160e01b0319831681528151600090614c2d816004850160208701614060565b919091016004019392505050565b60006001600160401b03808316818516808303821115614c5d57614c5d614ae8565b01949350505050565b60208082526021908201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746040820152600d60fb1b606082015260800190565b8981526001600160a01b038916602082015261012060408201819052600090614cd28382018b614344565b90508281036060840152614ce6818a614388565b90508281036080840152614cfa81896143b8565b905082810360a0840152614d0e81886143b8565b6001600160401b0387811660c0860152861660e08501528381036101008501529050614d3a8185614090565b9c9b505050505050505050505050565b60008251614d5c818460208701614060565b9190910192915050565b84815260ff841660208201528260408201526080606082015260006118466080830184614090565b85815260ff8516602082015283604082015260a060608201526000614db660a0830185614090565b8281036080840152614dc88185614090565b9897505050505050505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220c8b5da0065247a739d841193a580309f398aa5fcfaac0615db49a6cb51a875c364736f6c634300080d00330000000000000000000000000c4576ca1c365868e162554af8e385dc3e7c66d900000000000000000000000035918cde7233f2dd33fa41ae3cb6ae0e42e0e69f