ghost-dao-interface/src/abi/GhostGovernor.json
Uncle Fatso ad55c04525
governance rev.5
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2026-02-18 11:17:08 +03:00

1 line
283 KiB
JSON

{"abi":[{"type":"constructor","inputs":[{"name":"_ghst","type":"address","internalType":"contract IVotes"},{"name":"_initialVoteExtension","type":"uint48","internalType":"uint48"},{"name":"_initialVotingDelay","type":"uint48","internalType":"uint48"},{"name":"_initialVotingPeriod","type":"uint32","internalType":"uint32"},{"name":"_initialProposalThreshold","type":"uint256","internalType":"uint256"},{"name":"_quorumFraction","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"COUNTING_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"EXTENDED_BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"activeProposedLock","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cancel","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancel","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVote","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"voter","type":"address","internalType":"address"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReason","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParams","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParamsBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"voter","type":"address","internalType":"address"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"execute","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotesWithParams","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hasVoted","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hashProposal","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"lateQuorumVoteExtension","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"lockedAmounts","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposalCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalDeadline","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalDetails","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"},{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proposalDetailsAt","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"},{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proposalEta","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalNeedsQueuing","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proposalProposer","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proposalSnapshot","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalVotes","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"againstVotes","type":"uint256","internalType":"uint256"},{"name":"forVotes","type":"uint256","internalType":"uint256"},{"name":"abstainVotes","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"propose","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"description","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"queue","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"queue","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"quorum","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumNumerator","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumNumerator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"relay","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"releaseLocked","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setLateQuorumVoteExtension","inputs":[{"name":"newVoteExtension","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProposalThreshold","inputs":[{"name":"newProposalThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setVotingDelay","inputs":[{"name":"newVotingDelay","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setVotingPeriod","inputs":[{"name":"newVotingPeriod","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"state","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IGovernor.ProposalState"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC5805"}],"stateMutability":"view"},{"type":"function","name":"updateQuorumNumerator","inputs":[{"name":"newQuorumNumerator","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"voteOf","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"votingDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"votingPeriod","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"LateQuorumVoteExtensionSet","inputs":[{"name":"oldVoteExtension","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"newVoteExtension","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"ProposalCanceled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposer","type":"address","indexed":false,"internalType":"address"},{"name":"targets","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"values","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"signatures","type":"string[]","indexed":false,"internalType":"string[]"},{"name":"calldatas","type":"bytes[]","indexed":false,"internalType":"bytes[]"},{"name":"voteStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"voteEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"description","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ProposalExecuted","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalExtended","inputs":[{"name":"proposalId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"extendedDeadline","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"ProposalQueued","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"etaSeconds","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalThresholdSet","inputs":[{"name":"oldProposalThreshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newProposalThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"QuorumNumeratorUpdated","inputs":[{"name":"oldQuorumNumerator","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newQuorumNumerator","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"VoteCast","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"VoteCastWithParams","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"},{"name":"params","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"VotingDelaySet","inputs":[{"name":"oldVotingDelay","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotingDelay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"VotingPeriodSet","inputs":[{"name":"oldVotingPeriod","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotingPeriod","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AddressInsufficientBalance","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"FailedInnerCall","inputs":[]},{"type":"error","name":"GovernorAlreadyCastVote","inputs":[{"name":"voter","type":"address","internalType":"address"}]},{"type":"error","name":"GovernorAlreadyQueuedProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorDisabledDeposit","inputs":[]},{"type":"error","name":"GovernorInsufficientProposerVotes","inputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"votes","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorInvalidProposalLength","inputs":[{"name":"targets","type":"uint256","internalType":"uint256"},{"name":"calldatas","type":"uint256","internalType":"uint256"},{"name":"values","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorInvalidQuorumFraction","inputs":[{"name":"quorumNumerator","type":"uint256","internalType":"uint256"},{"name":"quorumDenominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorInvalidSignature","inputs":[{"name":"voter","type":"address","internalType":"address"}]},{"type":"error","name":"GovernorInvalidVoteType","inputs":[]},{"type":"error","name":"GovernorInvalidVotingPeriod","inputs":[{"name":"votingPeriod","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorNonexistentProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorNotQueuedProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"GovernorOnlyExecutor","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"GovernorOnlyProposer","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"GovernorQueueNotImplemented","inputs":[]},{"type":"error","name":"GovernorRestrictedProposer","inputs":[{"name":"proposer","type":"address","internalType":"address"}]},{"type":"error","name":"GovernorUnexpectedProposalState","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"current","type":"uint8","internalType":"enum IGovernor.ProposalState"},{"name":"expectedStates","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InsufficientFundsToExtend","inputs":[{"name":"votes","type":"uint256","internalType":"uint256"},{"name":"neededVotes","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"ProposerNotEnoughVotes","inputs":[{"name":"proposalVotes","type":"uint256","internalType":"uint256"},{"name":"accumulatedVotes","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"QueueEmpty","inputs":[]},{"type":"error","name":"QueueFull","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x61018060405234801562000011575f80fd5b50604051620066773803806200667783398101604081905262000034916200079a565b8086858585896040518060400160405280600f81526020016e47686f7374476f7665726e6f72563160881b81525080620000736200019260201b60201c565b6200007f825f620001ad565b6101205262000090816001620001ad565b61014052815160208084019190912060e052815190820120610100524660a0526200011d60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526003620001348282620008bc565b5062000142905081620001e5565b506200014e836200024b565b6200015982620002b1565b620001648162000356565b5050506001600160a01b0316610160526200017f8162000397565b50506001600f555062000a319350505050565b6040805180820190915260018152603160f81b602082015290565b5f602083511015620001cc57620001c48362000436565b9050620001df565b81620001d98482620008bc565b5060ff90505b92915050565b6008546040805165ffffffffffff928316815291831660208301527f7ca4ac117ed3cdce75c1161d8207c440389b1a15d69d096831664657c07dafc2910160405180910390a16008805465ffffffffffff191665ffffffffffff92909216919091179055565b600b546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600b805465ffffffffffff191665ffffffffffff92909216919091179055565b8063ffffffff165f03620002df5760405163f1cfbf0560e01b81525f60048201526024015b60405180910390fd5b600b546040805163ffffffff66010000000000009093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600b805463ffffffff90921666010000000000000263ffffffff60301b19909216919091179055565b600a5460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600a55565b606480821115620003c65760405163243e544560e01b81526004810183905260248101829052604401620002d6565b5f620003d162000478565b9050620003f6620003e162000493565b620003ec8562000514565b600e91906200054d565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b5f80829050601f8151111562000463578260405163305a27a960e01b8152600401620002d6919062000984565b80516200047082620009d1565b179392505050565b5f62000485600e62000569565b6001600160d01b0316905090565b5f6200049f6101605190565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620004fb575060408051601f3d908101601f19168201909252620004f891810190620009f5565b60015b6200050f576200050a620005b6565b905090565b919050565b5f6001600160d01b0382111562000549576040516306dfcc6560e41b815260d0600482015260248101839052604401620002d6565b5090565b5f806200055c858585620005c2565b915091505b935093915050565b80545f908015620005ad5762000593836200058660018462000a11565b5f91825260209091200190565b54660100000000000090046001600160d01b0316620005af565b5f5b9392505050565b5f6200050a4362000750565b82545f9081908015620006f2575f620005e2876200058660018562000a11565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b0316602084015291925090871610156200063a57604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036200068e578462000661886200058660018662000a11565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055620006e1565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d555f8d815291909120945191519092166601000000000000029216919091179101555b602001519250839150620005619050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a555f8a815291822095519251909316660100000000000002919093161792019190915590508162000561565b5f65ffffffffffff82111562000549576040516306dfcc6560e41b81526030600482015260248101839052604401620002d6565b805165ffffffffffff811681146200050f575f80fd5b5f805f805f8060c08789031215620007b0575f80fd5b86516001600160a01b0381168114620007c7575f80fd5b9550620007d76020880162000784565b9450620007e76040880162000784565b9350606087015163ffffffff8116811462000800575f80fd5b809350506080870151915060a087015190509295509295509295565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200084557607f821691505b6020821081036200086457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620008b7575f81815260208120601f850160051c81016020861015620008925750805b601f850160051c820191505b81811015620008b3578281556001016200089e565b5050505b505050565b81516001600160401b03811115620008d857620008d86200081c565b620008f081620008e9845462000830565b846200086a565b602080601f83116001811462000926575f84156200090e5750858301515b5f19600386901b1c1916600185901b178555620008b3565b5f85815260208120601f198616915b82811015620009565788860151825594840194600190910190840162000935565b50858210156200097457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f6020808352835180828501525f5b81811015620009b15785810183015185820160400152820162000993565b505f604082860101526040601f19601f8301168501019250505092915050565b8051602080830151919081101562000864575f1960209190910360031b1b16919050565b5f6020828403121562000a06575f80fd5b620005af8262000784565b81810381811115620001df57634e487b7160e01b5f52601160045260245ffd5b60805160a05160c05160e05161010051610120516101405161016051615bb262000ac55f395f8181610c99015281816112c9015281816115e601528181611b8a01528181611d0701528181611e42015281816121dc01528181612ea101526132ea01525f612e6e01525f612e4201525f61350c01525f6134e401525f61343f01525f61346901525f6134930152615bb25ff3fe608060405260043610610374575f3560e01c80637d5e81e2116101c8578063c28bc2fa116100fd578063e039751e1161009d578063f23a6e611161006d578063f23a6e6114610c28578063f8ce560a14610c6c578063fc0c546a14610c8b578063fe0d94c114610cbd575f80fd5b8063e039751e14610ba0578063e540d01d14610bcb578063eb9019d414610bea578063ece40cc114610c09575f80fd5b8063da35c664116100d8578063da35c66414610af5578063dd4e2ba514610b09578063ddf0b00914610b4e578063deaaa7cc14610b6d575f80fd5b8063c28bc2fa14610aae578063c59057e414610ac1578063d2c09e0b14610ae0575f80fd5b8063a7713a7011610168578063b58131b011610143578063b58131b014610a18578063b866d19314610a2c578063bc197c8114610a4b578063c01f9e3714610a8f575f80fd5b8063a7713a70146109af578063a9a95294146109c3578063ab58fb8e146109e2575f80fd5b80638ff262e3116101a35780638ff262e31461094a57806391ddadf41461096957806397c3d3341461097d5780639a802a6d14610990575f80fd5b80637d5e81e2146108d05780637ecebe00146108ef57806384b0196e14610923575f80fd5b80633932abb1116102a9578063544ffc9c116102495780635f398a14116102195780635f398a141461085457806360c4247f1461087357806379051887146108925780637b3c71d3146108b1575f80fd5b8063544ffc9c1461077e57806354fd4d50146107d157806356781388146108165780635b8d0e0d14610835575f80fd5b8063438596321161028457806343859632146106a7578063452115d6146106f157806345ddc85d146107105780634bf5d7e91461076a575f80fd5b80633932abb1146106405780633e4f49e61461065c57806340e58ee514610688575f80fd5b806316e9eaec116103145780632e82db94116102ef5780632e82db941461058f5780632fe3e261146105bf57806332b8113e146105f2578063330df7ff14610621575f80fd5b806316e9eaec146105025780632656227d146105315780632d63f69314610544575f80fd5b806306fdde031161034f57806306fdde0314610402578063143489d014610423578063150b7a021461046f578063160cbed7146104e3575f80fd5b806301ffc9a71461038157806302a251a3146103b557806306f3f9e6146103e3575f80fd5b3661037d57005b005b5f80fd5b34801561038c575f80fd5b506103a061039b3660046149f9565b610cd0565b60405190151581526020015b60405180910390f35b3480156103c0575f80fd5b50600b546601000000000000900463ffffffff165b6040519081526020016103ac565b3480156103ee575f80fd5b5061037b6103fd366004614a38565b610db4565b34801561040d575f80fd5b50610416610dc8565b6040516103ac9190614a9c565b34801561042e575f80fd5b5061045761043d366004614a38565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016103ac565b34801561047a575f80fd5b506104b2610489366004614ba2565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016103ac565b3480156104ee575f80fd5b506103d56104fd366004614d67565b610e58565b34801561050d575f80fd5b5061052161051c366004614a38565b610eaf565b6040516103ac9493929190614eb4565b6103d561053f366004614d67565b6110c7565b34801561054f575f80fd5b506103d561055e366004614a38565b5f9081526004602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b34801561059a575f80fd5b506105ae6105a9366004614a38565b61122d565b6040516103ac959493929190614efe565b3480156105ca575f80fd5b506103d57f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a81181565b3480156105fd575f80fd5b5060085465ffffffffffff165b60405165ffffffffffff90911681526020016103ac565b34801561062c575f80fd5b5061037b61063b366004614f62565b611277565b34801561064b575f80fd5b50600b5465ffffffffffff166103d5565b348015610667575f80fd5b5061067b610676366004614a38565b611288565b6040516103ac9190614fe3565b348015610693575f80fd5b5061037b6106a2366004614a38565b6113c6565b3480156106b2575f80fd5b506103a06106c1366004614ff1565b5f8281526007602090815260408083206001600160a01b038516845260030190915290205460ff16151592915050565b3480156106fc575f80fd5b506103d561070b366004614d67565b61155d565b34801561071b575f80fd5b5061075861072a366004614ff1565b5f8281526007602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b60405160ff90911681526020016103ac565b348015610775575f80fd5b506104166115e2565b348015610789575f80fd5b506107b6610798366004614a38565b5f908152600760205260409020805460018201546002909201549092565b604080519384526020840192909252908201526060016103ac565b3480156107dc575f80fd5b5060408051808201909152600181527f31000000000000000000000000000000000000000000000000000000000000006020820152610416565b348015610821575f80fd5b506103d561083036600461502b565b6116a2565b348015610840575f80fd5b506103d561084f366004615091565b6116c9565b34801561085f575f80fd5b506103d561086e366004615142565b61183e565b34801561087e575f80fd5b506103d561088d366004614a38565b611891565b34801561089d575f80fd5b5061037b6108ac366004614f62565b611959565b3480156108bc575f80fd5b506103d56108cb3660046151c0565b61196a565b3480156108db575f80fd5b506103d56108ea366004615216565b6119b0565b3480156108fa575f80fd5b506103d56109093660046152c3565b6001600160a01b03165f9081526002602052604090205490565b34801561092e575f80fd5b50610937611bbe565b6040516103ac97969594939291906152dc565b348015610955575f80fd5b506103d5610964366004615365565b611c1c565b348015610974575f80fd5b5061060a611d04565b348015610988575f80fd5b5060646103d5565b34801561099b575f80fd5b506103d56109aa3660046153b1565b611d90565b3480156109ba575f80fd5b506103d5611da6565b3480156109ce575f80fd5b506103a06109dd366004614a38565b505f90565b3480156109ed575f80fd5b506103d56109fc366004614a38565b5f9081526004602052604090206001015465ffffffffffff1690565b348015610a23575f80fd5b506103d5611dd2565b348015610a37575f80fd5b506103d5610a46366004614a38565b611ddc565b348015610a56575f80fd5b506104b2610a65366004615404565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b348015610a9a575f80fd5b506103d5610aa9366004614a38565b611f07565b61037b610abc36600461548d565b611f11565b348015610acc575f80fd5b506103d5610adb366004614d67565b611f8d565b348015610aeb575f80fd5b506103d560105481565b348015610b00575f80fd5b50600c546103d5565b348015610b14575f80fd5b5060408051808201909152601881527f737570706f72743d627261766f2671756f72756d3d666f7200000000000000006020820152610416565b348015610b59575f80fd5b5061037b610b68366004614a38565b611fc6565b348015610b78575f80fd5b506103d57ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d781565b348015610bab575f80fd5b506103d5610bba366004614a38565b60126020525f908152604090205481565b348015610bd6575f80fd5b5061037b610be53660046154cb565b612158565b348015610bf5575f80fd5b506103d5610c043660046154ee565b612169565b348015610c14575f80fd5b5061037b610c23366004614a38565b612188565b348015610c33575f80fd5b506104b2610c42366004615516565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b348015610c77575f80fd5b506103d5610c86366004614a38565b612199565b348015610c96575f80fd5b507f0000000000000000000000000000000000000000000000000000000000000000610457565b61037b610ccb366004614a38565b612259565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f65455a86000000000000000000000000000000000000000000000000000000001480610d6257507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80610dae57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b610dbc6123eb565b610dc58161243b565b50565b606060038054610dd790615576565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0390615576565b8015610e4e5780601f10610e2557610100808354040283529160200191610e4e565b820191905f5260205f20905b815481529060010190602001808311610e3157829003601f168201915b5050505050905090565b5f80610e6686868686611f8d565b9050610e7b81610e7660046124e9565b61250b565b505f6040517f90884a4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600d602090815260408083208151815460a0948102820185019093526080810183815260609586958695919485949390928492849190840182828015610f2057602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610f02575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f7657602002820191905f5260205f20905b815481526020019060010190808311610f62575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020015f905b8282101561104b578382905f5260205f20018054610fc090615576565b80601f0160208091040260200160405190810160405280929190818152602001828054610fec90615576565b80156110375780601f1061100e57610100808354040283529160200191611037565b820191905f5260205f20905b81548152906001019060200180831161101a57829003601f168201915b505050505081526020019060010190610fa3565b505050508152602001600382015481525050905080606001515f801b036110a6576040517f6ad06075000000000000000000000000000000000000000000000000000000008152600481018790526024015b60405180910390fd5b80516020820151604083015160609093015191989097509195509350915050565b5f806110d586868686611f8d565b90506110f5816110e560056124e9565b6110ef60046124e9565b1761250b565b505f81815260046020526040902080547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179055306111523090565b6001600160a01b0316146111e3575f5b86518110156111e157306001600160a01b0316878281518110611187576111876155c7565b60200260200101516001600160a01b0316036111d1576111d18582815181106111b2576111b26155c7565b602002602001015180519060200120600561256190919063ffffffff16565b6111da81615621565b9050611162565b505b6111f08187878787612616565b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906020015b60405180910390a195945050505050565b5f60608060605f80600c8781548110611248576112486155c7565b905f5260205f20015490505f805f8061126085610eaf565b979e929d50909b5099509497509395505050505050565b61127f6123eb565b610dc5816126f1565b5f8061129383612770565b905060018160078111156112a9576112a9614f7d565b03610dae575f8381526007602052604081208054600190910154909160027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638e539e8c61132c895f9081526004602052604090205465ffffffffffff740100000000000000000000000000000000000000009091041690565b6040518263ffffffff1660e01b815260040161134a91815260200190565b602060405180830381865afa158015611365573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113899190615639565b611393919061567d565b9050808211156113a95750600495945050505050565b808311156113bd5750600395945050505050565b50505092915050565b5f818152600d602090815260409182902080548351818402810184019094528084529092611558929091849183018282801561142957602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161140b575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561147a57602002820191905f5260205f20905b815481526020019060010190808311611466575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b8282101561154a578382905f5260205f200180546114bf90615576565b80601f01602080910402602001604051908101604052809291908181526020018280546114eb90615576565b80156115365780601f1061150d57610100808354040283529160200191611536565b820191905f5260205f20905b81548152906001019060200180831161151957829003601f168201915b5050505050815260200190600101906114a2565b50505050846003015461155d565b505050565b5f8061156b86868686611f8d565b905061157a81610e765f6124e9565b505f818152600460205260409020546001600160a01b031633146115cc576040517f233d98e300000000000000000000000000000000000000000000000000000000815233600482015260240161109d565b6115d886868686612908565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561166157506040513d5f823e601f3d908101601f1916820160405261165e91908101906156b5565b60015b61169d575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b5f803390506116c184828560405180602001604052805f8152506129eb565b949350505050565b5f806117aa876117a47f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118c8c8c61171c8e6001600160a01b03165f90815260026020526040902080546001810190915590565b8d8d60405161172c92919061571e565b60405180910390208c805190602001206040516020016117899796959493929190968752602087019590955260ff9390931660408601526001600160a01b03919091166060850152608084015260a083015260c082015260e00190565b60405160208183030381529060405280519060200120612a15565b85612a5c565b9050806117ee576040517f94ab6c070000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260240161109d565b61183189888a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508b9250612ab1915050565b9998505050505050505050565b5f8033905061188687828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250612ab1915050565b979650505050505050565b600e80545f9182906118a460018461572d565b815481106118b4576118b46155c7565b5f918252602090912001805490915065ffffffffffff8116906601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1685821161191f5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b61193361192b87612abf565b600e90612b0e565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b6119616123eb565b610dc581612bd3565b5f803390506115d886828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506129eb92505050565b5f336119bc8184612c52565b6119fd576040517fd9b395570000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260240161109d565b5f611a23826001611a0c611d04565b611a169190615740565b65ffffffffffff16612169565b90505f611a2e611dd2565b905080821015611a83576040517fc242ee160000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602481018390526044810182905260640161109d565b6010548211611acc576010546040517fa3dcdae100000000000000000000000000000000000000000000000000000000815261109d918491600401918252602082015260400190565b6011548015611b3f575f611ae7611ae283611288565b6124e9565b90505f611af460076124e9565b611afe60066124e9565b611b0860026124e9565b171790508181165f03611b3c575f805f80611b2287610eaf565b9350935093509350611b3684848484612908565b50505050505b50505b611b4c8989898988612d9f565b90508260125f8381526020019081526020015f205f828254611b6e9190615766565b909155505060108390556011819055611bb26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016853086612dad565b98975050505050505050565b5f6060805f805f6060611bcf612e3b565b611bd7612e67565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b5f80611ca6846117a47ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d7898989611c6f8b6001600160a01b03165f90815260026020526040902080546001810190915590565b60408051602081019690965285019390935260ff90911660608401526001600160a01b0316608083015260a082015260c001611789565b905080611cea576040517f94ab6c070000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161109d565b6115d886858760405180602001604052805f8152506129eb565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d7f575060408051601f3d908101601f19168201909252611d7c91810190615779565b60015b61169d57611d8b612e94565b905090565b5f611d9c848484612e9e565b90505b9392505050565b5f611db1600e612f4a565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16905090565b5f611d8b600a5490565b5f611de5612f97565b5f828152601260209081526040808320546004909252909120546001600160a01b03168115801590611e2d5750611e1b84611f07565b611e23611d04565b65ffffffffffff16115b15611ef7575f848152601260205260408120557f00000000000000000000000000000000000000000000000000000000000000006040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260248201859052919091169063a9059cbb906044016020604051808303815f875af1158015611ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eec9190615794565b508192505050611efd565b5f925050505b61169d6001600f55565b5f610dae82612fda565b611f196123eb565b5f80856001600160a01b0316858585604051611f3692919061571e565b5f6040518083038185875af1925050503d805f8114611f70576040519150601f19603f3d011682016040523d82523d5f602084013e611f75565b606091505b5091509150611f848282613002565b50505050505050565b5f84848484604051602001611fa59493929190614eb4565b60408051601f19818403018152919052805160209091012095945050505050565b5f818152600d602090815260409182902080548351818402810184019094528084529092611558929091849183018282801561202957602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161200b575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561207a57602002820191905f5260205f20905b815481526020019060010190808311612066575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b8282101561214a578382905f5260205f200180546120bf90615576565b80601f01602080910402602001604051908101604052809291908181526020018280546120eb90615576565b80156121365780601f1061210d57610100808354040283529160200191612136565b820191905f5260205f20905b81548152906001019060200180831161211957829003601f168201915b5050505050815260200190600101906120a2565b505050508460030154610e58565b6121606123eb565b610dc58161301e565b5f611d9f838361218360408051602081019091525f815290565b612e9e565b6121906123eb565b610dc5816130ee565b5f60646121a583611891565b6040517f8e539e8c000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c90602401602060405180830381865afa158015612221573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122459190615639565b61224f91906157b3565b610dae919061567d565b5f818152600d60209081526040918290208054835181840281018401909452808452909261155892909184918301828280156122bc57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161229e575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561230d57602002820191905f5260205f20905b8154815260200190600101908083116122f9575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b828210156123dd578382905f5260205f2001805461235290615576565b80601f016020809104026020016040519081016040528092919081815260200182805461237e90615576565b80156123c95780601f106123a0576101008083540402835291602001916123c9565b820191905f5260205f20905b8154815290600101906020018083116123ac57829003601f168201915b505050505081526020019060010190612335565b5050505084600301546110c7565b303314612426576040517f47096e4700000000000000000000000000000000000000000000000000000000815233600482015260240161109d565b565b80612433600561312f565b036124285750565b606480821115612481576040517f243e5445000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161109d565b5f61248a611da6565b90506124a9612497611d04565b6124a0856131f2565b600e9190613251565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b5f8160078111156124fc576124fc614f7d565b600160ff919091161b92915050565b5f8061251684611288565b90505f83612523836124e9565b1603611d9f578381846040517f31b75e4d00000000000000000000000000000000000000000000000000000000815260040161109d939291906157ca565b81546fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691811660018301909116036125cb576040517f8acb5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8082165f90815260018086016020526040909120939093558354919092018216700100000000000000000000000000000000029116179055565b5f5b84518110156126e9575f80868381518110612635576126356155c7565b60200260200101516001600160a01b0316868481518110612658576126586155c7565b6020026020010151868581518110612672576126726155c7565b602002602001015160405161268791906157ec565b5f6040518083038185875af1925050503d805f81146126c1576040519150601f19603f3d011682016040523d82523d5f602084013e6126c6565b606091505b50915091506126d58282613002565b505050806126e290615621565b9050612618565b505050505050565b6008546040805165ffffffffffff928316815291831660208301527f7ca4ac117ed3cdce75c1161d8207c440389b1a15d69d096831664657c07dafc2910160405180910390a1600880547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b5f818152600460205260408120805460ff7e0100000000000000000000000000000000000000000000000000000000000082048116917f010000000000000000000000000000000000000000000000000000000000000090041681156127db57506007949350505050565b80156127ec57506002949350505050565b5f8581526004602052604081205474010000000000000000000000000000000000000000900465ffffffffffff169050805f03612858576040517f6ad060750000000000000000000000000000000000000000000000000000000081526004810187905260240161109d565b5f612861611d04565b65ffffffffffff16905080821061287e57505f9695505050505050565b5f61288888611f07565b905081811061289f57506001979650505050505050565b6128a88861326b565b15806128ba57506128b8886132d0565b155b156128cd57506003979650505050505050565b5f8881526004602052604090206001015465ffffffffffff165f036128fa57506004979650505050505050565b506005979650505050505050565b5f8061291686868686611f8d565b90506129648161292660076124e9565b61293060066124e9565b61293a60026124e9565b6001612947600782615807565b612952906002615900565b61295c919061572d565b18181861250b565b505f818152600460205260409081902080547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0100000000000000000000000000000000000000000000000000000000000000179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c9061121c9083815260200190565b5f612a0c85858585612a0760408051602081019091525f815290565b612ab1565b95945050505050565b5f610dae612a21613433565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f612a69858561355c565b5090925090505f816003811115612a8257612a82614f7d565b148015612aa05750856001600160a01b0316826001600160a01b0316145b806115d857506115d88686866135a5565b5f6115d886868686866136c2565b5f65ffffffffffff821115612b0a576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152603060048201526024810183905260440161109d565b5090565b81545f9081816005811115612b6a575f612b27846137c8565b612b31908561572d565b5f8881526020902090915081015465ffffffffffff9081169087161015612b5a57809150612b68565b612b65816001615766565b92505b505b5f612b77878785856138ac565b90508015612bc757612b9b87612b8e60018461572d565b5f91825260209091200190565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611886565b5f979650505050505050565b600b546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b80515f906034811015612c69576001915050610dae565b8281017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec01517fffffffffffffffffffffffff000000000000000000000000000000000000000081167f2370726f706f7365723d3078000000000000000000000000000000000000000014612ce357600192505050610dae565b5f80612cf060288561572d565b90505b83811015612d7e575f80612d3e888481518110612d1257612d126155c7565b01602001517fff000000000000000000000000000000000000000000000000000000000000001661390b565b9150915081612d565760019650505050505050610dae565b8060ff166004856001600160a01b0316901b179350505080612d7790615621565b9050612cf3565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6115d886868686866139f5565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052612e35908590613ace565b50505050565b6060611d8b7f00000000000000000000000000000000000000000000000000000000000000005f613b48565b6060611d8b7f00000000000000000000000000000000000000000000000000000000000000006001613b48565b5f611d8b43612abf565b5f7f00000000000000000000000000000000000000000000000000000000000000006040517f3a46b1a80000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018690529190911690633a46b1a890604401602060405180830381865afa158015612f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9c9190615639565b80545f908015612f8f57612f6383612b8e60018461572d565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611d9f565b5f9392505050565b6002600f5403612fd3576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600f55565b5f610dae612fe783613bf1565b5f8481526009602052604090205465ffffffffffff16613c5b565b6060826130175761301282613c70565b610dae565b5080610dae565b8063ffffffff165f0361305f576040517ff1cfbf050000000000000000000000000000000000000000000000000000000081525f600482015260240161109d565b600b546040805163ffffffff66010000000000009093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600b805463ffffffff9092166601000000000000027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff909216919091179055565b600a5460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600a55565b80545f906fffffffffffffffffffffffffffffffff808216917001000000000000000000000000000000009004168103613195576040517f75e52f4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8181165f908152600185810160205260408220805492905585547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169301909116919091179092555090565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff821115612b0a576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d060048201526024810183905260440161109d565b5f8061325e858585613cb2565b915091505b935093915050565b5f81815260076020526040812080546001820154839161328a91615766565b9050806132c6610c86865f9081526004602052604090205465ffffffffffff740100000000000000000000000000000000000000009091041690565b1115949350505050565b5f8181526004602052604081205481906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c9074010000000000000000000000000000000000000000900465ffffffffffff166040518263ffffffff1660e01b815260040161334f91815260200190565b602060405180830381865afa15801561336a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338e9190615639565b90505f806133b4855f908152600760205260409020805460018201546002909201549092565b50915091505f6133c384613e99565b826133cf8560056157b3565b6133d99190615766565b6133e49060036157b3565b6133ee91906157b3565b90505f6133fb8484615766565b905061341b8561340c8360506157b3565b6134169190615766565b613e99565b61342590826157b3565b919091119695505050505050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561348b57507f000000000000000000000000000000000000000000000000000000000000000046145b156134b557507f000000000000000000000000000000000000000000000000000000000000000090565b611d8b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f805f8351604103613593576020840151604085015160608601515f1a61358588828585614018565b95509550955050505061359e565b505081515f91506002905b9250925092565b5f805f856001600160a01b031685856040516024016135c592919061590e565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1626ba7e000000000000000000000000000000000000000000000000000000001790525161362891906157ec565b5f60405180830381855afa9150503d805f8114613660576040519150601f19603f3d011682016040523d82523d5f602084013e613665565b606091505b509150915081801561367957506020815110155b80156115d8575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906136b79083016020908101908401615639565b149695505050505050565b5f806136d187878787876140e0565b5f8881526009602052604090205490915065ffffffffffff161580156136fb57506136fb8761326b565b156115d8575f61371260085465ffffffffffff1690565b61371a611d04565b6137249190615926565b905061372f88611f07565b8165ffffffffffff16111561377c5760405165ffffffffffff8216815288907f541f725fb9f7c98a30cc9c0ff32fbb14358cd7159c847a3aa20a2bdc442ba5119060200160405180910390a25b5f88815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff929092169190911790559695505050505050565b5f815f036137d757505f919050565b5f60016137e3846141e0565b901c6001901b905060018184816137fc576137fc615650565b048201901c9050600181848161381457613814615650565b048201901c9050600181848161382c5761382c615650565b048201901c9050600181848161384457613844615650565b048201901c9050600181848161385c5761385c615650565b048201901c9050600181848161387457613874615650565b048201901c9050600181848161388c5761388c615650565b048201901c9050611d9f818285816138a6576138a6615650565b04614273565b5f5b81831015613903575f6138c18484614281565b5f8781526020902090915065ffffffffffff86169082015465ffffffffffff1611156138ef578092506138fd565b6138fa816001615766565b93505b506138ae565b509392505050565b5f8060f883901c602f811180156139255750603a8160ff16105b15613958576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd09091019350915050565b8060ff16604010801561396e575060478160ff16105b156139a1576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc99091019350915050565b8060ff1660601080156139b7575060678160ff16105b156139ea576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa99091019350915050565b505f93849350915050565b5f80613a04878787878761429b565b600c80546001810182555f9182527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701829055604080516080810182528a815260208181018b90528183018a90528851898201206060830152848452600d8152919092208251805194955092939092613a81928492910190614892565b506020828101518051613a9a9260018501920190614909565b5060408201518051613ab6916002840191602090910190614942565b50606091909101516003909101559695505050505050565b5f613ae26001600160a01b03841683614573565b905080515f14158015613b06575080806020019051810190613b049190615794565b155b15611558576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161109d565b606060ff8314613b6257613b5b83614580565b9050610dae565b818054613b6e90615576565b80601f0160208091040260200160405190810160405280929190818152602001828054613b9a90615576565b8015613be55780601f10613bbc57610100808354040283529160200191613be5565b820191905f5260205f20905b815481529060010190602001808311613bc857829003601f168201915b50505050509050610dae565b5f81815260046020526040812054613c4d907a010000000000000000000000000000000000000000000000000000810463ffffffff169074010000000000000000000000000000000000000000900465ffffffffffff16615926565b65ffffffffffff1692915050565b5f818311613c695781611d9f565b5090919050565b805115613c805780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82545f9081908015613e29575f613cce87612b8e60018561572d565b60408051808201909152905465ffffffffffff808216808452660100000000000090920479ffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015613d51576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603613db35784613d7488612b8e60018661572d565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff909216919091179055613e19565b6040805180820190915265ffffffffffff808816825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d555f8d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506132639050565b50506040805180820190915265ffffffffffff808516825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a555f8a8152918220955192519093166601000000000000029190931617920191909155905081613263565b5f815f03613ea857505f919050565b8160017001000000000000000000000000000000008210613ece5760809190911c9060401b5b680100000000000000008210613ee95760409190911c9060201b5b6401000000008210613f005760209190911c9060101b5b620100008210613f155760109190911c9060081b5b6101008210613f295760089190911c9060041b5b60108210613f3c5760049190911c9060021b5b60088210613f485760011b5b6001613f54828661567d565b613f5e9083615766565b901c90506001613f6e828661567d565b613f789083615766565b901c90506001613f88828661567d565b613f929083615766565b901c90506001613fa2828661567d565b613fac9083615766565b901c90506001613fbc828661567d565b613fc69083615766565b901c90506001613fd6828661567d565b613fe09083615766565b901c90506001613ff0828661567d565b613ffa9083615766565b901c90505f614009828661567d565b90508082106139035780612a0c565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561405157505f915060039050826140d6565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156140a2573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166140cd57505f9250600191508290506140d6565b92505f91508190505b9450945094915050565b5f6140ef86610e7660016124e9565b505f8681526004602052604081205461412a90879074010000000000000000000000000000000000000000900465ffffffffffff1685612e9e565b905061413987878784876145bd565b82515f0361418d57856001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4888784886040516141809493929190615945565b60405180910390a26115d8565b856001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb871288878488886040516141ce95949392919061596c565b60405180910390a29695505050505050565b5f80608083901c156141f457608092831c92015b604083901c1561420657604092831c92015b602083901c1561421857602092831c92015b601083901c1561422a57601092831c92015b600883901c1561423c57600892831c92015b600483901c1561424e57600492831c92015b600283901c1561426057600292831c92015b600183901c15610dae5760010192915050565b5f818310613c695781611d9f565b5f61428f600284841861567d565b611d9f90848416615766565b5f6142af8686868680519060200120611f8d565b9050845186511415806142c457508351865114155b806142ce57508551155b1561431c578551845186516040517f447b05d000000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640161109d565b5f8181526004602052604090205474010000000000000000000000000000000000000000900465ffffffffffff161561438f578061435982611288565b6040517f31b75e4d00000000000000000000000000000000000000000000000000000000815261109d9291905f906004016157ca565b5f6143a1600b5465ffffffffffff1690565b6143a9611d04565b65ffffffffffff166143bb9190615766565b90505f6143d8600b5463ffffffff66010000000000009091041690565b5f84815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03871617815590915061442283612abf565b815465ffffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff909116178155614476826146ec565b815463ffffffff919091167a010000000000000000000000000000000000000000000000000000027fffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffff90911617815588517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e090859087908c908c9067ffffffffffffffff81111561450957614509614ac4565b60405190808252806020026020018201604052801561453c57816020015b60608152602001906001900390816145275790505b508c896145498a82615766565b8e60405161455f999897969594939291906159a5565b60405180910390a150505095945050505050565b6060611d9f83835f614735565b60605f61458c836147dd565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f8581526007602090815260408083206001600160a01b0388168452600381019092529091205460ff1615614629576040517f71c6af490000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161109d565b614634846001615807565b6001600160a01b0386165f908152600383016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff928316179055841661469c5782815f015f8282546146919190615766565b909155506126e99050565b5f1960ff8516016146ba5782816001015f8282546146919190615766565b6040517f06b337c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f63ffffffff821115612b0a576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152602060048201526024810183905260440161109d565b606081471015614773576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161109d565b5f80856001600160a01b0316848660405161478e91906157ec565b5f6040518083038185875af1925050503d805f81146147c8576040519150601f19603f3d011682016040523d82523d5f602084013e6147cd565b606091505b50915091506115d886838361481d565b5f60ff8216601f811115610dae576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826148325761482d82613c70565b611d9f565b815115801561484957506001600160a01b0384163b155b1561488b576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161109d565b5080611d9f565b828054828255905f5260205f209081019282156148fd579160200282015b828111156148fd57825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039091161782556020909201916001909101906148b0565b50612b0a929150614992565b828054828255905f5260205f209081019282156148fd579160200282015b828111156148fd578251825591602001919060010190614927565b828054828255905f5260205f20908101928215614986579160200282015b8281111561498657825182906149769082615ac0565b5091602001919060010190614960565b50612b0a9291506149a6565b5b80821115612b0a575f8155600101614993565b80821115612b0a575f6149b982826149c2565b506001016149a6565b5080546149ce90615576565b5f825580601f106149dd575050565b601f0160209004905f5260205f2090810190610dc59190614992565b5f60208284031215614a09575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611d9f575f80fd5b5f60208284031215614a48575f80fd5b5035919050565b5f5b83811015614a69578181015183820152602001614a51565b50505f910152565b5f8151808452614a88816020860160208601614a4f565b601f01601f19169290920160200192915050565b602081525f611d9f6020830184614a71565b80356001600160a01b038116811461169d575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b1a57614b1a614ac4565b604052919050565b5f67ffffffffffffffff821115614b3b57614b3b614ac4565b50601f01601f191660200190565b5f614b5b614b5684614b22565b614af1565b9050828152838383011115614b6e575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112614b93575f80fd5b611d9f83833560208501614b49565b5f805f8060808587031215614bb5575f80fd5b614bbe85614aae565b9350614bcc60208601614aae565b925060408501359150606085013567ffffffffffffffff811115614bee575f80fd5b614bfa87828801614b84565b91505092959194509250565b5f67ffffffffffffffff821115614c1f57614c1f614ac4565b5060051b60200190565b5f82601f830112614c38575f80fd5b81356020614c48614b5683614c06565b82815260059290921b84018101918181019086841115614c66575f80fd5b8286015b84811015614c8857614c7b81614aae565b8352918301918301614c6a565b509695505050505050565b5f82601f830112614ca2575f80fd5b81356020614cb2614b5683614c06565b82815260059290921b84018101918181019086841115614cd0575f80fd5b8286015b84811015614c885780358352918301918301614cd4565b5f82601f830112614cfa575f80fd5b81356020614d0a614b5683614c06565b82815260059290921b84018101918181019086841115614d28575f80fd5b8286015b84811015614c8857803567ffffffffffffffff811115614d4b575f8081fd5b614d598986838b0101614b84565b845250918301918301614d2c565b5f805f8060808587031215614d7a575f80fd5b843567ffffffffffffffff80821115614d91575f80fd5b614d9d88838901614c29565b95506020870135915080821115614db2575f80fd5b614dbe88838901614c93565b94506040870135915080821115614dd3575f80fd5b50614de087828801614ceb565b949793965093946060013593505050565b5f8151808452602080850194508084015f5b83811015614e285781516001600160a01b031687529582019590820190600101614e03565b509495945050505050565b5f8151808452602080850194508084015f5b83811015614e2857815187529582019590820190600101614e45565b5f81518084526020808501808196508360051b810191508286015f5b85811015614ea7578284038952614e95848351614a71565b98850198935090840190600101614e7d565b5091979650505050505050565b608081525f614ec66080830187614df1565b8281036020840152614ed88187614e33565b90508281036040840152614eec8186614e61565b91505082606083015295945050505050565b85815260a060208201525f614f1660a0830187614df1565b8281036040840152614f288187614e33565b90508281036060840152614f3c8186614e61565b9150508260808301529695505050505050565b65ffffffffffff81168114610dc5575f80fd5b5f60208284031215614f72575f80fd5b8135611d9f81614f4f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60088110614fdf577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b60208101610dae8284614faa565b5f8060408385031215615002575f80fd5b8235915061501260208401614aae565b90509250929050565b803560ff8116811461169d575f80fd5b5f806040838503121561503c575f80fd5b823591506150126020840161501b565b5f8083601f84011261505c575f80fd5b50813567ffffffffffffffff811115615073575f80fd5b60208301915083602082850101111561508a575f80fd5b9250929050565b5f805f805f805f60c0888a0312156150a7575f80fd5b873596506150b76020890161501b565b95506150c560408901614aae565b9450606088013567ffffffffffffffff808211156150e1575f80fd5b6150ed8b838c0161504c565b909650945060808a0135915080821115615105575f80fd5b6151118b838c01614b84565b935060a08a0135915080821115615126575f80fd5b506151338a828b01614b84565b91505092959891949750929550565b5f805f805f60808688031215615156575f80fd5b853594506151666020870161501b565b9350604086013567ffffffffffffffff80821115615182575f80fd5b61518e89838a0161504c565b909550935060608801359150808211156151a6575f80fd5b506151b388828901614b84565b9150509295509295909350565b5f805f80606085870312156151d3575f80fd5b843593506151e36020860161501b565b9250604085013567ffffffffffffffff8111156151fe575f80fd5b61520a8782880161504c565b95989497509550505050565b5f805f8060808587031215615229575f80fd5b843567ffffffffffffffff80821115615240575f80fd5b61524c88838901614c29565b95506020870135915080821115615261575f80fd5b61526d88838901614c93565b94506040870135915080821115615282575f80fd5b61528e88838901614ceb565b935060608701359150808211156152a3575f80fd5b508501601f810187136152b4575f80fd5b614bfa87823560208401614b49565b5f602082840312156152d3575f80fd5b611d9f82614aae565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f61531660e0830189614a71565b82810360408401526153288189614a71565b90508660608401526001600160a01b03861660808401528460a084015282810360c08401526153578185614e33565b9a9950505050505050505050565b5f805f8060808587031215615378575f80fd5b843593506153886020860161501b565b925061539660408601614aae565b9150606085013567ffffffffffffffff811115614bee575f80fd5b5f805f606084860312156153c3575f80fd5b6153cc84614aae565b925060208401359150604084013567ffffffffffffffff8111156153ee575f80fd5b6153fa86828701614b84565b9150509250925092565b5f805f805f60a08688031215615418575f80fd5b61542186614aae565b945061542f60208701614aae565b9350604086013567ffffffffffffffff8082111561544b575f80fd5b61545789838a01614c93565b9450606088013591508082111561546c575f80fd5b61547889838a01614c93565b935060808801359150808211156151a6575f80fd5b5f805f80606085870312156154a0575f80fd5b6154a985614aae565b935060208501359250604085013567ffffffffffffffff8111156151fe575f80fd5b5f602082840312156154db575f80fd5b813563ffffffff81168114611d9f575f80fd5b5f80604083850312156154ff575f80fd5b61550883614aae565b946020939093013593505050565b5f805f805f60a0868803121561552a575f80fd5b61553386614aae565b945061554160208701614aae565b93506040860135925060608601359150608086013567ffffffffffffffff81111561556a575f80fd5b6151b388828901614b84565b600181811c9082168061558a57607f821691505b6020821081036155c1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f5f198203615632576156326155f4565b5060010190565b5f60208284031215615649575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826156b0577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156156c5575f80fd5b815167ffffffffffffffff8111156156db575f80fd5b8201601f810184136156eb575f80fd5b80516156f9614b5682614b22565b81815285602083850101111561570d575f80fd5b612a0c826020830160208601614a4f565b818382375f9101908152919050565b81810381811115610dae57610dae6155f4565b65ffffffffffff82811682821603908082111561575f5761575f6155f4565b5092915050565b80820180821115610dae57610dae6155f4565b5f60208284031215615789575f80fd5b8151611d9f81614f4f565b5f602082840312156157a4575f80fd5b81518015158114611d9f575f80fd5b8082028115828204841417610dae57610dae6155f4565b838152606081016157de6020830185614faa565b826040830152949350505050565b5f82516157fd818460208701614a4f565b9190910192915050565b60ff8181168382160190811115610dae57610dae6155f4565b600181815b8085111561585a57815f1904821115615840576158406155f4565b8085161561584d57918102915b93841c9390800290615825565b509250929050565b5f8261587057506001610dae565b8161587c57505f610dae565b8160018114615892576002811461589c576158b8565b6001915050610dae565b60ff8411156158ad576158ad6155f4565b50506001821b610dae565b5060208310610133831016604e8410600b84101617156158db575081810a610dae565b6158e58383615820565b805f19048211156158f8576158f86155f4565b029392505050565b5f611d9f60ff841683615862565b828152604060208201525f611d9c6040830184614a71565b65ffffffffffff81811683821601908082111561575f5761575f6155f4565b84815260ff84166020820152826040820152608060608201525f6115d86080830184614a71565b85815260ff8516602082015283604082015260a060608201525f61599360a0830185614a71565b8281036080840152611bb28185614a71565b5f6101208b835260206001600160a01b038c16818501528160408501526159ce8285018c614df1565b915083820360608501526159e2828b614e33565b915083820360808501528189518084528284019150828160051b850101838c015f5b83811015615a3257601f19878403018552615a20838351614a71565b94860194925090850190600101615a04565b505086810360a0880152615a46818c614e61565b9450505050508560c08401528460e0840152828103610100840152615a6b8185614a71565b9c9b505050505050505050505050565b601f821115611558575f81815260208120601f850160051c81016020861015615aa15750805b601f850160051c820191505b818110156126e957828155600101615aad565b815167ffffffffffffffff811115615ada57615ada614ac4565b615aee81615ae88454615576565b84615a7b565b602080601f831160018114615b21575f8415615b0a5750858301515b5f19600386901b1c1916600185901b1785556126e9565b5f85815260208120601f198616915b82811015615b4f57888601518255948401946001909101908401615b30565b5085821015615b6c57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b5a689e4e4db130007ad12ae797d2fd47e66f70850b22df11a224094770c804f64736f6c63430008140033","sourceMap":"1088:5816:103:-:0;;;1614:503;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2094:15;1899:5;1988:19;2009:20;2031:25;1940:21;3501:88:2;;;;;;;;;;;;;-1:-1:-1;;;3501:88:2;;;3541:5;3548:9;:7;;;:9;;:::i;:::-;3401:45:34;:4;3432:13;3401:30;:45::i;:::-;3393:53;;3467:51;:7;3501:16;3467:33;:51::i;:::-;3456:62;;3542:22;;;;;;;;;;3528:36;;3591:25;;;;;;3574:42;;3644:13;3627:30;;3692:23;4226:11;;4239:14;;4204:80;;;2079:95;4204:80;;;3936:25:147;3977:18;;;3970:34;;;;4020:18;;;4013:34;4255:13:34;4063:18:147;;;4056:34;4278:4:34;4106:19:147;;;4099:61;4168:7:34;;3908:19:147;;4204:80:34;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;;3692:23;3667:48;;-1:-1:-1;;3747:4:34;3725:27;;3569:5:2::1;:13;3577:5:::0;3569;:13:::1;:::i;:::-;-1:-1:-1::0;1731:49:4;;-1:-1:-1;1759:20:4;1731:27;:49::i;:::-;-1:-1:-1;993:35:5;1009:18;993:15;:35::i;:::-;1038:37;1055:19;1038:16;:37::i;:::-;1085:47;1107:24;1085:21;:47::i;:::-;-1:-1:-1;;;;;;;;668:40:7;;;1356:44:8;1379:20;1356:22;:44::i;:::-;-1:-1:-1;;1713:1:29;1917:7;:21;-1:-1:-1;1088:5816:103;;-1:-1:-1;;;;1088:5816:103;4449:90:2;4522:10;;;;;;;;;;;;-1:-1:-1;;;4522:10:2;;;;;4449:90::o;2914:340:30:-;3010:11;3059:2;3043:5;3037:19;:24;3033:215;;;3084:20;3098:5;3084:13;:20::i;:::-;3077:27;;;;3033:215;3161:5;3135:46;3176:5;3161;3135:46;:::i;:::-;-1:-1:-1;1390:66:30;;-1:-1:-1;3033:215:30;2914:340;;;;:::o;4147:204:4:-;4268:14;;4241:60;;;4268:14;;;;4374:34:147;;4444:15;;;4439:2;4424:18;;4417:43;4241:60:4;;4314:18:147;4241:60:4;;;;;;;4311:14;:33;;-1:-1:-1;;4311:33:4;;;;;;;;;;;;4147:204::o;2721:170:5:-;2816:12;;2801:44;;;2816:12;;;;4374:34:147;;4444:15;;;4439:2;4424:18;;4417:43;2801:44:5;;4314:18:147;2801:44:5;;;;;;;2855:12;:29;;-1:-1:-1;;2855:29:5;;;;;;;;;;;;2721:170::o;3011:274::-;3092:15;:20;;3111:1;3092:20;3088:88;;3135:30;;-1:-1:-1;;;3135:30:5;;3163:1;3135:30;;;4927:25:147;4900:18;;3135:30:5;;;;;;;;3088:88;3206:13;;3190:47;;;3206:13;;;;;;;5164:34:147;;5234:15;;;5229:2;5214:18;;5207:43;3190:47:5;;5108:18:147;3190:47:5;;;;;;;3247:13;:31;;;;;;;;-1:-1:-1;;;;3247:31:5;;;;;;;;;3011:274::o;3415:213::-;3529:18;;3508:62;;;5435:25:147;;;5491:2;5476:18;;5469:34;;;3508:62:5;;5408:18:147;3508:62:5;;;;;;;3580:18;:41;3415:213::o;3532:498:8:-;2544:3;3674:32;;;3670:132;;;3729:62;;-1:-1:-1;;;3729:62:8;;;;;5435:25:147;;;5476:18;;;5469:34;;;5408:18;;3729:62:8;5261:248:147;3670:132:8;3812:26;3841:17;:15;:17::i;:::-;3812:46;-1:-1:-1;3868:77:8;3897:7;:5;:7::i;:::-;3906:38;3925:18;3906;:38::i;:::-;3868:23;;:77;:28;:77::i;:::-;-1:-1:-1;;3961:62:8;;;5435:25:147;;;5491:2;5476:18;;5469:34;;;3961:62:8;;5408:18:147;3961:62:8;;;;;;;3609:421;;3532:498;:::o;1708:286:30:-;1773:11;1796:17;1822:3;1796:30;;1854:2;1840:4;:11;:16;1836:72;;;1893:3;1879:18;;-1:-1:-1;;;1879:18:30;;;;;;;;:::i;1836:72::-;1974:11;;1957:13;1974:4;1957:13;:::i;:::-;1949:36;;1708:286;-1:-1:-1;;;1708:286:30:o;1504:121:8:-;1560:7;1586:32;:23;:30;:32::i;:::-;-1:-1:-1;;;;;1579:39:8;;;1504:121;:::o;1057:224:7:-;1112:6;1134:7;867:6;;;794:86;1134:7;-1:-1:-1;;;;;1134:13:7;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1134:15:7;;;;;;;;-1:-1:-1;;1134:15:7;;;;;;;;;;;;:::i;:::-;;;1130:145;;1246:18;:16;:18::i;:::-;1239:25;;1057:224;:::o;1130:145::-;1198:9;1057:224;-1:-1:-1;1057:224:7:o;4169:218:40:-;4226:7;-1:-1:-1;;;;;4249:25:40;;4245:105;;;4297:42;;-1:-1:-1;;;4297:42:40;;4328:3;4297:42;;;6762:36:147;6814:18;;;6807:34;;;6735:18;;4297:42:40;6580:267:147;4245:105:40;-1:-1:-1;4374:5:40;4169:218::o;8050:162:42:-;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;10167:206::-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;10318:41;:48;;;;-1:-1:-1;;;;;10318:48:42;10303:63;;;10314:1;10303:63;10296:70;10167:206;-1:-1:-1;;;10167:206:42:o;931:109:45:-;977:6;1002:31;1020:12;1002:17;:31::i;11513:870:42:-;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11747:56:42;;;;;;;-1:-1:-1;11877:15:42;;;-1:-1:-1;11873:91:42;;;11919:30;;-1:-1:-1;;;11919:30:42;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;-1:-1:-1;;;;;12063:43:42;;;;;;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;12155:41:42;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:42;;;;;;;;;;;;;;;;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:42;;-1:-1:-1;12225:27:42;;-1:-1:-1;12225:27:42;11668:709;-1:-1:-1;;12293:41:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;12293:41:42;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:42;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12327:5:42;12349:17;;14291:213:40;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;-1:-1:-1;;;14416:41:40;;14447:2;14416:41;;;6762:36:147;6814:18;;;6807:34;;;6735:18;;14416:41:40;6580:267:147;14:171;92:13;;145:14;134:26;;124:37;;114:65;;175:1;172;165:12;190:761;317:6;325;333;341;349;357;410:3;398:9;389:7;385:23;381:33;378:53;;;427:1;424;417:12;378:53;453:16;;-1:-1:-1;;;;;498:31:147;;488:42;;478:70;;544:1;541;534:12;478:70;567:5;-1:-1:-1;591:48:147;635:2;620:18;;591:48;:::i;:::-;581:58;;658:48;702:2;691:9;687:18;658:48;:::i;:::-;648:58;;751:2;740:9;736:18;730:25;799:10;790:7;786:24;777:7;774:37;764:65;;825:1;822;815:12;764:65;848:7;838:17;;;895:3;884:9;880:19;874:26;864:36;;940:3;929:9;925:19;919:26;909:36;;190:761;;;;;;;;:::o;956:127::-;1017:10;1012:3;1008:20;1005:1;998:31;1048:4;1045:1;1038:15;1072:4;1069:1;1062:15;1088:380;1167:1;1163:12;;;;1210;;;1231:61;;1285:4;1277:6;1273:17;1263:27;;1231:61;1338:2;1330:6;1327:14;1307:18;1304:38;1301:161;;1384:10;1379:3;1375:20;1372:1;1365:31;1419:4;1416:1;1409:15;1447:4;1444:1;1437:15;1301:161;;1088:380;;;:::o;1599:545::-;1701:2;1696:3;1693:11;1690:448;;;1737:1;1762:5;1758:2;1751:17;1807:4;1803:2;1793:19;1877:2;1865:10;1861:19;1858:1;1854:27;1848:4;1844:38;1913:4;1901:10;1898:20;1895:47;;;-1:-1:-1;1936:4:147;1895:47;1991:2;1986:3;1982:12;1979:1;1975:20;1969:4;1965:31;1955:41;;2046:82;2064:2;2057:5;2054:13;2046:82;;;2109:17;;;2090:1;2079:13;2046:82;;;2050:3;;;1690:448;1599:545;;;:::o;2320:1352::-;2440:10;;-1:-1:-1;;;;;2462:30:147;;2459:56;;;2495:18;;:::i;:::-;2524:97;2614:6;2574:38;2606:4;2600:11;2574:38;:::i;:::-;2568:4;2524:97;:::i;:::-;2676:4;;2740:2;2729:14;;2757:1;2752:663;;;;3459:1;3476:6;3473:89;;;-1:-1:-1;3528:19:147;;;3522:26;3473:89;-1:-1:-1;;2277:1:147;2273:11;;;2269:24;2265:29;2255:40;2301:1;2297:11;;;2252:57;3575:81;;2722:944;;2752:663;1546:1;1539:14;;;1583:4;1570:18;;-1:-1:-1;;2788:20:147;;;2906:236;2920:7;2917:1;2914:14;2906:236;;;3009:19;;;3003:26;2988:42;;3101:27;;;;3069:1;3057:14;;;;2936:19;;2906:236;;;2910:3;3170:6;3161:7;3158:19;3155:201;;;3231:19;;;3225:26;-1:-1:-1;;3314:1:147;3310:14;;;3326:3;3306:24;3302:37;3298:42;3283:58;3268:74;;3155:201;-1:-1:-1;;;;;3402:1:147;3386:14;;;3382:22;3369:36;;-1:-1:-1;2320:1352:147:o;5514:548::-;5626:4;5655:2;5684;5673:9;5666:21;5716:6;5710:13;5759:6;5754:2;5743:9;5739:18;5732:34;5784:1;5794:140;5808:6;5805:1;5802:13;5794:140;;;5903:14;;;5899:23;;5893:30;5869:17;;;5888:2;5865:26;5858:66;5823:10;;5794:140;;;5798:3;5983:1;5978:2;5969:6;5958:9;5954:22;5950:31;5943:42;6053:2;6046;6042:7;6037:2;6029:6;6025:15;6021:29;6010:9;6006:45;6002:54;5994:62;;;;5514:548;;;;:::o;6067:297::-;6185:12;;6232:4;6221:16;;;6215:23;;6185:12;6250:16;;6247:111;;;-1:-1:-1;;6324:4:147;6320:17;;;;6317:1;6313:25;6309:38;6298:50;;6067:297;-1:-1:-1;6067:297:147:o;6369:206::-;6438:6;6491:2;6479:9;6470:7;6466:23;6462:32;6459:52;;;6507:1;6504;6497:12;6459:52;6530:39;6559:9;6530:39;:::i;6852:225::-;6919:9;;;6940:11;;;6937:134;;;6993:10;6988:3;6984:20;6981:1;6974:31;7028:4;7025:1;7018:15;7056:4;7053:1;7046:15;7082:266;1088:5816:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610374575f3560e01c80637d5e81e2116101c8578063c28bc2fa116100fd578063e039751e1161009d578063f23a6e611161006d578063f23a6e6114610c28578063f8ce560a14610c6c578063fc0c546a14610c8b578063fe0d94c114610cbd575f80fd5b8063e039751e14610ba0578063e540d01d14610bcb578063eb9019d414610bea578063ece40cc114610c09575f80fd5b8063da35c664116100d8578063da35c66414610af5578063dd4e2ba514610b09578063ddf0b00914610b4e578063deaaa7cc14610b6d575f80fd5b8063c28bc2fa14610aae578063c59057e414610ac1578063d2c09e0b14610ae0575f80fd5b8063a7713a7011610168578063b58131b011610143578063b58131b014610a18578063b866d19314610a2c578063bc197c8114610a4b578063c01f9e3714610a8f575f80fd5b8063a7713a70146109af578063a9a95294146109c3578063ab58fb8e146109e2575f80fd5b80638ff262e3116101a35780638ff262e31461094a57806391ddadf41461096957806397c3d3341461097d5780639a802a6d14610990575f80fd5b80637d5e81e2146108d05780637ecebe00146108ef57806384b0196e14610923575f80fd5b80633932abb1116102a9578063544ffc9c116102495780635f398a14116102195780635f398a141461085457806360c4247f1461087357806379051887146108925780637b3c71d3146108b1575f80fd5b8063544ffc9c1461077e57806354fd4d50146107d157806356781388146108165780635b8d0e0d14610835575f80fd5b8063438596321161028457806343859632146106a7578063452115d6146106f157806345ddc85d146107105780634bf5d7e91461076a575f80fd5b80633932abb1146106405780633e4f49e61461065c57806340e58ee514610688575f80fd5b806316e9eaec116103145780632e82db94116102ef5780632e82db941461058f5780632fe3e261146105bf57806332b8113e146105f2578063330df7ff14610621575f80fd5b806316e9eaec146105025780632656227d146105315780632d63f69314610544575f80fd5b806306fdde031161034f57806306fdde0314610402578063143489d014610423578063150b7a021461046f578063160cbed7146104e3575f80fd5b806301ffc9a71461038157806302a251a3146103b557806306f3f9e6146103e3575f80fd5b3661037d57005b005b5f80fd5b34801561038c575f80fd5b506103a061039b3660046149f9565b610cd0565b60405190151581526020015b60405180910390f35b3480156103c0575f80fd5b50600b546601000000000000900463ffffffff165b6040519081526020016103ac565b3480156103ee575f80fd5b5061037b6103fd366004614a38565b610db4565b34801561040d575f80fd5b50610416610dc8565b6040516103ac9190614a9c565b34801561042e575f80fd5b5061045761043d366004614a38565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016103ac565b34801561047a575f80fd5b506104b2610489366004614ba2565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016103ac565b3480156104ee575f80fd5b506103d56104fd366004614d67565b610e58565b34801561050d575f80fd5b5061052161051c366004614a38565b610eaf565b6040516103ac9493929190614eb4565b6103d561053f366004614d67565b6110c7565b34801561054f575f80fd5b506103d561055e366004614a38565b5f9081526004602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b34801561059a575f80fd5b506105ae6105a9366004614a38565b61122d565b6040516103ac959493929190614efe565b3480156105ca575f80fd5b506103d57f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a81181565b3480156105fd575f80fd5b5060085465ffffffffffff165b60405165ffffffffffff90911681526020016103ac565b34801561062c575f80fd5b5061037b61063b366004614f62565b611277565b34801561064b575f80fd5b50600b5465ffffffffffff166103d5565b348015610667575f80fd5b5061067b610676366004614a38565b611288565b6040516103ac9190614fe3565b348015610693575f80fd5b5061037b6106a2366004614a38565b6113c6565b3480156106b2575f80fd5b506103a06106c1366004614ff1565b5f8281526007602090815260408083206001600160a01b038516845260030190915290205460ff16151592915050565b3480156106fc575f80fd5b506103d561070b366004614d67565b61155d565b34801561071b575f80fd5b5061075861072a366004614ff1565b5f8281526007602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b60405160ff90911681526020016103ac565b348015610775575f80fd5b506104166115e2565b348015610789575f80fd5b506107b6610798366004614a38565b5f908152600760205260409020805460018201546002909201549092565b604080519384526020840192909252908201526060016103ac565b3480156107dc575f80fd5b5060408051808201909152600181527f31000000000000000000000000000000000000000000000000000000000000006020820152610416565b348015610821575f80fd5b506103d561083036600461502b565b6116a2565b348015610840575f80fd5b506103d561084f366004615091565b6116c9565b34801561085f575f80fd5b506103d561086e366004615142565b61183e565b34801561087e575f80fd5b506103d561088d366004614a38565b611891565b34801561089d575f80fd5b5061037b6108ac366004614f62565b611959565b3480156108bc575f80fd5b506103d56108cb3660046151c0565b61196a565b3480156108db575f80fd5b506103d56108ea366004615216565b6119b0565b3480156108fa575f80fd5b506103d56109093660046152c3565b6001600160a01b03165f9081526002602052604090205490565b34801561092e575f80fd5b50610937611bbe565b6040516103ac97969594939291906152dc565b348015610955575f80fd5b506103d5610964366004615365565b611c1c565b348015610974575f80fd5b5061060a611d04565b348015610988575f80fd5b5060646103d5565b34801561099b575f80fd5b506103d56109aa3660046153b1565b611d90565b3480156109ba575f80fd5b506103d5611da6565b3480156109ce575f80fd5b506103a06109dd366004614a38565b505f90565b3480156109ed575f80fd5b506103d56109fc366004614a38565b5f9081526004602052604090206001015465ffffffffffff1690565b348015610a23575f80fd5b506103d5611dd2565b348015610a37575f80fd5b506103d5610a46366004614a38565b611ddc565b348015610a56575f80fd5b506104b2610a65366004615404565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b348015610a9a575f80fd5b506103d5610aa9366004614a38565b611f07565b61037b610abc36600461548d565b611f11565b348015610acc575f80fd5b506103d5610adb366004614d67565b611f8d565b348015610aeb575f80fd5b506103d560105481565b348015610b00575f80fd5b50600c546103d5565b348015610b14575f80fd5b5060408051808201909152601881527f737570706f72743d627261766f2671756f72756d3d666f7200000000000000006020820152610416565b348015610b59575f80fd5b5061037b610b68366004614a38565b611fc6565b348015610b78575f80fd5b506103d57ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d781565b348015610bab575f80fd5b506103d5610bba366004614a38565b60126020525f908152604090205481565b348015610bd6575f80fd5b5061037b610be53660046154cb565b612158565b348015610bf5575f80fd5b506103d5610c043660046154ee565b612169565b348015610c14575f80fd5b5061037b610c23366004614a38565b612188565b348015610c33575f80fd5b506104b2610c42366004615516565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b348015610c77575f80fd5b506103d5610c86366004614a38565b612199565b348015610c96575f80fd5b507f0000000000000000000000000000000000000000000000000000000000000000610457565b61037b610ccb366004614a38565b612259565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f65455a86000000000000000000000000000000000000000000000000000000001480610d6257507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80610dae57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b610dbc6123eb565b610dc58161243b565b50565b606060038054610dd790615576565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0390615576565b8015610e4e5780601f10610e2557610100808354040283529160200191610e4e565b820191905f5260205f20905b815481529060010190602001808311610e3157829003601f168201915b5050505050905090565b5f80610e6686868686611f8d565b9050610e7b81610e7660046124e9565b61250b565b505f6040517f90884a4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600d602090815260408083208151815460a0948102820185019093526080810183815260609586958695919485949390928492849190840182828015610f2057602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610f02575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f7657602002820191905f5260205f20905b815481526020019060010190808311610f62575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020015f905b8282101561104b578382905f5260205f20018054610fc090615576565b80601f0160208091040260200160405190810160405280929190818152602001828054610fec90615576565b80156110375780601f1061100e57610100808354040283529160200191611037565b820191905f5260205f20905b81548152906001019060200180831161101a57829003601f168201915b505050505081526020019060010190610fa3565b505050508152602001600382015481525050905080606001515f801b036110a6576040517f6ad06075000000000000000000000000000000000000000000000000000000008152600481018790526024015b60405180910390fd5b80516020820151604083015160609093015191989097509195509350915050565b5f806110d586868686611f8d565b90506110f5816110e560056124e9565b6110ef60046124e9565b1761250b565b505f81815260046020526040902080547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179055306111523090565b6001600160a01b0316146111e3575f5b86518110156111e157306001600160a01b0316878281518110611187576111876155c7565b60200260200101516001600160a01b0316036111d1576111d18582815181106111b2576111b26155c7565b602002602001015180519060200120600561256190919063ffffffff16565b6111da81615621565b9050611162565b505b6111f08187878787612616565b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906020015b60405180910390a195945050505050565b5f60608060605f80600c8781548110611248576112486155c7565b905f5260205f20015490505f805f8061126085610eaf565b979e929d50909b5099509497509395505050505050565b61127f6123eb565b610dc5816126f1565b5f8061129383612770565b905060018160078111156112a9576112a9614f7d565b03610dae575f8381526007602052604081208054600190910154909160027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638e539e8c61132c895f9081526004602052604090205465ffffffffffff740100000000000000000000000000000000000000009091041690565b6040518263ffffffff1660e01b815260040161134a91815260200190565b602060405180830381865afa158015611365573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113899190615639565b611393919061567d565b9050808211156113a95750600495945050505050565b808311156113bd5750600395945050505050565b50505092915050565b5f818152600d602090815260409182902080548351818402810184019094528084529092611558929091849183018282801561142957602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161140b575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561147a57602002820191905f5260205f20905b815481526020019060010190808311611466575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b8282101561154a578382905f5260205f200180546114bf90615576565b80601f01602080910402602001604051908101604052809291908181526020018280546114eb90615576565b80156115365780601f1061150d57610100808354040283529160200191611536565b820191905f5260205f20905b81548152906001019060200180831161151957829003601f168201915b5050505050815260200190600101906114a2565b50505050846003015461155d565b505050565b5f8061156b86868686611f8d565b905061157a81610e765f6124e9565b505f818152600460205260409020546001600160a01b031633146115cc576040517f233d98e300000000000000000000000000000000000000000000000000000000815233600482015260240161109d565b6115d886868686612908565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561166157506040513d5f823e601f3d908101601f1916820160405261165e91908101906156b5565b60015b61169d575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b5f803390506116c184828560405180602001604052805f8152506129eb565b949350505050565b5f806117aa876117a47f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118c8c8c61171c8e6001600160a01b03165f90815260026020526040902080546001810190915590565b8d8d60405161172c92919061571e565b60405180910390208c805190602001206040516020016117899796959493929190968752602087019590955260ff9390931660408601526001600160a01b03919091166060850152608084015260a083015260c082015260e00190565b60405160208183030381529060405280519060200120612a15565b85612a5c565b9050806117ee576040517f94ab6c070000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260240161109d565b61183189888a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508b9250612ab1915050565b9998505050505050505050565b5f8033905061188687828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250612ab1915050565b979650505050505050565b600e80545f9182906118a460018461572d565b815481106118b4576118b46155c7565b5f918252602090912001805490915065ffffffffffff8116906601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1685821161191f5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b61193361192b87612abf565b600e90612b0e565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b6119616123eb565b610dc581612bd3565b5f803390506115d886828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506129eb92505050565b5f336119bc8184612c52565b6119fd576040517fd9b395570000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260240161109d565b5f611a23826001611a0c611d04565b611a169190615740565b65ffffffffffff16612169565b90505f611a2e611dd2565b905080821015611a83576040517fc242ee160000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602481018390526044810182905260640161109d565b6010548211611acc576010546040517fa3dcdae100000000000000000000000000000000000000000000000000000000815261109d918491600401918252602082015260400190565b6011548015611b3f575f611ae7611ae283611288565b6124e9565b90505f611af460076124e9565b611afe60066124e9565b611b0860026124e9565b171790508181165f03611b3c575f805f80611b2287610eaf565b9350935093509350611b3684848484612908565b50505050505b50505b611b4c8989898988612d9f565b90508260125f8381526020019081526020015f205f828254611b6e9190615766565b909155505060108390556011819055611bb26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016853086612dad565b98975050505050505050565b5f6060805f805f6060611bcf612e3b565b611bd7612e67565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b5f80611ca6846117a47ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d7898989611c6f8b6001600160a01b03165f90815260026020526040902080546001810190915590565b60408051602081019690965285019390935260ff90911660608401526001600160a01b0316608083015260a082015260c001611789565b905080611cea576040517f94ab6c070000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161109d565b6115d886858760405180602001604052805f8152506129eb565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d7f575060408051601f3d908101601f19168201909252611d7c91810190615779565b60015b61169d57611d8b612e94565b905090565b5f611d9c848484612e9e565b90505b9392505050565b5f611db1600e612f4a565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16905090565b5f611d8b600a5490565b5f611de5612f97565b5f828152601260209081526040808320546004909252909120546001600160a01b03168115801590611e2d5750611e1b84611f07565b611e23611d04565b65ffffffffffff16115b15611ef7575f848152601260205260408120557f00000000000000000000000000000000000000000000000000000000000000006040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260248201859052919091169063a9059cbb906044016020604051808303815f875af1158015611ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eec9190615794565b508192505050611efd565b5f925050505b61169d6001600f55565b5f610dae82612fda565b611f196123eb565b5f80856001600160a01b0316858585604051611f3692919061571e565b5f6040518083038185875af1925050503d805f8114611f70576040519150601f19603f3d011682016040523d82523d5f602084013e611f75565b606091505b5091509150611f848282613002565b50505050505050565b5f84848484604051602001611fa59493929190614eb4565b60408051601f19818403018152919052805160209091012095945050505050565b5f818152600d602090815260409182902080548351818402810184019094528084529092611558929091849183018282801561202957602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161200b575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561207a57602002820191905f5260205f20905b815481526020019060010190808311612066575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b8282101561214a578382905f5260205f200180546120bf90615576565b80601f01602080910402602001604051908101604052809291908181526020018280546120eb90615576565b80156121365780601f1061210d57610100808354040283529160200191612136565b820191905f5260205f20905b81548152906001019060200180831161211957829003601f168201915b5050505050815260200190600101906120a2565b505050508460030154610e58565b6121606123eb565b610dc58161301e565b5f611d9f838361218360408051602081019091525f815290565b612e9e565b6121906123eb565b610dc5816130ee565b5f60646121a583611891565b6040517f8e539e8c000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c90602401602060405180830381865afa158015612221573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122459190615639565b61224f91906157b3565b610dae919061567d565b5f818152600d60209081526040918290208054835181840281018401909452808452909261155892909184918301828280156122bc57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161229e575b50505050508260010180548060200260200160405190810160405280929190818152602001828054801561230d57602002820191905f5260205f20905b8154815260200190600101908083116122f9575b505050505083600201805480602002602001604051908101604052809291908181526020015f905b828210156123dd578382905f5260205f2001805461235290615576565b80601f016020809104026020016040519081016040528092919081815260200182805461237e90615576565b80156123c95780601f106123a0576101008083540402835291602001916123c9565b820191905f5260205f20905b8154815290600101906020018083116123ac57829003601f168201915b505050505081526020019060010190612335565b5050505084600301546110c7565b303314612426576040517f47096e4700000000000000000000000000000000000000000000000000000000815233600482015260240161109d565b565b80612433600561312f565b036124285750565b606480821115612481576040517f243e5445000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161109d565b5f61248a611da6565b90506124a9612497611d04565b6124a0856131f2565b600e9190613251565b505060408051828152602081018590527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a1505050565b5f8160078111156124fc576124fc614f7d565b600160ff919091161b92915050565b5f8061251684611288565b90505f83612523836124e9565b1603611d9f578381846040517f31b75e4d00000000000000000000000000000000000000000000000000000000815260040161109d939291906157ca565b81546fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691811660018301909116036125cb576040517f8acb5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8082165f90815260018086016020526040909120939093558354919092018216700100000000000000000000000000000000029116179055565b5f5b84518110156126e9575f80868381518110612635576126356155c7565b60200260200101516001600160a01b0316868481518110612658576126586155c7565b6020026020010151868581518110612672576126726155c7565b602002602001015160405161268791906157ec565b5f6040518083038185875af1925050503d805f81146126c1576040519150601f19603f3d011682016040523d82523d5f602084013e6126c6565b606091505b50915091506126d58282613002565b505050806126e290615621565b9050612618565b505050505050565b6008546040805165ffffffffffff928316815291831660208301527f7ca4ac117ed3cdce75c1161d8207c440389b1a15d69d096831664657c07dafc2910160405180910390a1600880547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b5f818152600460205260408120805460ff7e0100000000000000000000000000000000000000000000000000000000000082048116917f010000000000000000000000000000000000000000000000000000000000000090041681156127db57506007949350505050565b80156127ec57506002949350505050565b5f8581526004602052604081205474010000000000000000000000000000000000000000900465ffffffffffff169050805f03612858576040517f6ad060750000000000000000000000000000000000000000000000000000000081526004810187905260240161109d565b5f612861611d04565b65ffffffffffff16905080821061287e57505f9695505050505050565b5f61288888611f07565b905081811061289f57506001979650505050505050565b6128a88861326b565b15806128ba57506128b8886132d0565b155b156128cd57506003979650505050505050565b5f8881526004602052604090206001015465ffffffffffff165f036128fa57506004979650505050505050565b506005979650505050505050565b5f8061291686868686611f8d565b90506129648161292660076124e9565b61293060066124e9565b61293a60026124e9565b6001612947600782615807565b612952906002615900565b61295c919061572d565b18181861250b565b505f818152600460205260409081902080547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0100000000000000000000000000000000000000000000000000000000000000179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c9061121c9083815260200190565b5f612a0c85858585612a0760408051602081019091525f815290565b612ab1565b95945050505050565b5f610dae612a21613433565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f612a69858561355c565b5090925090505f816003811115612a8257612a82614f7d565b148015612aa05750856001600160a01b0316826001600160a01b0316145b806115d857506115d88686866135a5565b5f6115d886868686866136c2565b5f65ffffffffffff821115612b0a576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152603060048201526024810183905260440161109d565b5090565b81545f9081816005811115612b6a575f612b27846137c8565b612b31908561572d565b5f8881526020902090915081015465ffffffffffff9081169087161015612b5a57809150612b68565b612b65816001615766565b92505b505b5f612b77878785856138ac565b90508015612bc757612b9b87612b8e60018461572d565b5f91825260209091200190565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611886565b5f979650505050505050565b600b546040805165ffffffffffff928316815291831660208301527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b80515f906034811015612c69576001915050610dae565b8281017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec01517fffffffffffffffffffffffff000000000000000000000000000000000000000081167f2370726f706f7365723d3078000000000000000000000000000000000000000014612ce357600192505050610dae565b5f80612cf060288561572d565b90505b83811015612d7e575f80612d3e888481518110612d1257612d126155c7565b01602001517fff000000000000000000000000000000000000000000000000000000000000001661390b565b9150915081612d565760019650505050505050610dae565b8060ff166004856001600160a01b0316901b179350505080612d7790615621565b9050612cf3565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6115d886868686866139f5565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052612e35908590613ace565b50505050565b6060611d8b7f00000000000000000000000000000000000000000000000000000000000000005f613b48565b6060611d8b7f00000000000000000000000000000000000000000000000000000000000000006001613b48565b5f611d8b43612abf565b5f7f00000000000000000000000000000000000000000000000000000000000000006040517f3a46b1a80000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018690529190911690633a46b1a890604401602060405180830381865afa158015612f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9c9190615639565b80545f908015612f8f57612f6383612b8e60018461572d565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611d9f565b5f9392505050565b6002600f5403612fd3576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600f55565b5f610dae612fe783613bf1565b5f8481526009602052604090205465ffffffffffff16613c5b565b6060826130175761301282613c70565b610dae565b5080610dae565b8063ffffffff165f0361305f576040517ff1cfbf050000000000000000000000000000000000000000000000000000000081525f600482015260240161109d565b600b546040805163ffffffff66010000000000009093048316815291831660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600b805463ffffffff9092166601000000000000027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff909216919091179055565b600a5460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600a55565b80545f906fffffffffffffffffffffffffffffffff808216917001000000000000000000000000000000009004168103613195576040517f75e52f4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8181165f908152600185810160205260408220805492905585547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169301909116919091179092555090565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff821115612b0a576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d060048201526024810183905260440161109d565b5f8061325e858585613cb2565b915091505b935093915050565b5f81815260076020526040812080546001820154839161328a91615766565b9050806132c6610c86865f9081526004602052604090205465ffffffffffff740100000000000000000000000000000000000000009091041690565b1115949350505050565b5f8181526004602052604081205481906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638e539e8c9074010000000000000000000000000000000000000000900465ffffffffffff166040518263ffffffff1660e01b815260040161334f91815260200190565b602060405180830381865afa15801561336a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338e9190615639565b90505f806133b4855f908152600760205260409020805460018201546002909201549092565b50915091505f6133c384613e99565b826133cf8560056157b3565b6133d99190615766565b6133e49060036157b3565b6133ee91906157b3565b90505f6133fb8484615766565b905061341b8561340c8360506157b3565b6134169190615766565b613e99565b61342590826157b3565b919091119695505050505050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561348b57507f000000000000000000000000000000000000000000000000000000000000000046145b156134b557507f000000000000000000000000000000000000000000000000000000000000000090565b611d8b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f805f8351604103613593576020840151604085015160608601515f1a61358588828585614018565b95509550955050505061359e565b505081515f91506002905b9250925092565b5f805f856001600160a01b031685856040516024016135c592919061590e565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1626ba7e000000000000000000000000000000000000000000000000000000001790525161362891906157ec565b5f60405180830381855afa9150503d805f8114613660576040519150601f19603f3d011682016040523d82523d5f602084013e613665565b606091505b509150915081801561367957506020815110155b80156115d8575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906136b79083016020908101908401615639565b149695505050505050565b5f806136d187878787876140e0565b5f8881526009602052604090205490915065ffffffffffff161580156136fb57506136fb8761326b565b156115d8575f61371260085465ffffffffffff1690565b61371a611d04565b6137249190615926565b905061372f88611f07565b8165ffffffffffff16111561377c5760405165ffffffffffff8216815288907f541f725fb9f7c98a30cc9c0ff32fbb14358cd7159c847a3aa20a2bdc442ba5119060200160405180910390a25b5f88815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff929092169190911790559695505050505050565b5f815f036137d757505f919050565b5f60016137e3846141e0565b901c6001901b905060018184816137fc576137fc615650565b048201901c9050600181848161381457613814615650565b048201901c9050600181848161382c5761382c615650565b048201901c9050600181848161384457613844615650565b048201901c9050600181848161385c5761385c615650565b048201901c9050600181848161387457613874615650565b048201901c9050600181848161388c5761388c615650565b048201901c9050611d9f818285816138a6576138a6615650565b04614273565b5f5b81831015613903575f6138c18484614281565b5f8781526020902090915065ffffffffffff86169082015465ffffffffffff1611156138ef578092506138fd565b6138fa816001615766565b93505b506138ae565b509392505050565b5f8060f883901c602f811180156139255750603a8160ff16105b15613958576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd09091019350915050565b8060ff16604010801561396e575060478160ff16105b156139a1576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc99091019350915050565b8060ff1660601080156139b7575060678160ff16105b156139ea576001947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa99091019350915050565b505f93849350915050565b5f80613a04878787878761429b565b600c80546001810182555f9182527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701829055604080516080810182528a815260208181018b90528183018a90528851898201206060830152848452600d8152919092208251805194955092939092613a81928492910190614892565b506020828101518051613a9a9260018501920190614909565b5060408201518051613ab6916002840191602090910190614942565b50606091909101516003909101559695505050505050565b5f613ae26001600160a01b03841683614573565b905080515f14158015613b06575080806020019051810190613b049190615794565b155b15611558576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161109d565b606060ff8314613b6257613b5b83614580565b9050610dae565b818054613b6e90615576565b80601f0160208091040260200160405190810160405280929190818152602001828054613b9a90615576565b8015613be55780601f10613bbc57610100808354040283529160200191613be5565b820191905f5260205f20905b815481529060010190602001808311613bc857829003601f168201915b50505050509050610dae565b5f81815260046020526040812054613c4d907a010000000000000000000000000000000000000000000000000000810463ffffffff169074010000000000000000000000000000000000000000900465ffffffffffff16615926565b65ffffffffffff1692915050565b5f818311613c695781611d9f565b5090919050565b805115613c805780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82545f9081908015613e29575f613cce87612b8e60018561572d565b60408051808201909152905465ffffffffffff808216808452660100000000000090920479ffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015613d51576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603613db35784613d7488612b8e60018661572d565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff909216919091179055613e19565b6040805180820190915265ffffffffffff808816825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d555f8d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506132639050565b50506040805180820190915265ffffffffffff808516825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a555f8a8152918220955192519093166601000000000000029190931617920191909155905081613263565b5f815f03613ea857505f919050565b8160017001000000000000000000000000000000008210613ece5760809190911c9060401b5b680100000000000000008210613ee95760409190911c9060201b5b6401000000008210613f005760209190911c9060101b5b620100008210613f155760109190911c9060081b5b6101008210613f295760089190911c9060041b5b60108210613f3c5760049190911c9060021b5b60088210613f485760011b5b6001613f54828661567d565b613f5e9083615766565b901c90506001613f6e828661567d565b613f789083615766565b901c90506001613f88828661567d565b613f929083615766565b901c90506001613fa2828661567d565b613fac9083615766565b901c90506001613fbc828661567d565b613fc69083615766565b901c90506001613fd6828661567d565b613fe09083615766565b901c90506001613ff0828661567d565b613ffa9083615766565b901c90505f614009828661567d565b90508082106139035780612a0c565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561405157505f915060039050826140d6565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156140a2573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166140cd57505f9250600191508290506140d6565b92505f91508190505b9450945094915050565b5f6140ef86610e7660016124e9565b505f8681526004602052604081205461412a90879074010000000000000000000000000000000000000000900465ffffffffffff1685612e9e565b905061413987878784876145bd565b82515f0361418d57856001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4888784886040516141809493929190615945565b60405180910390a26115d8565b856001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb871288878488886040516141ce95949392919061596c565b60405180910390a29695505050505050565b5f80608083901c156141f457608092831c92015b604083901c1561420657604092831c92015b602083901c1561421857602092831c92015b601083901c1561422a57601092831c92015b600883901c1561423c57600892831c92015b600483901c1561424e57600492831c92015b600283901c1561426057600292831c92015b600183901c15610dae5760010192915050565b5f818310613c695781611d9f565b5f61428f600284841861567d565b611d9f90848416615766565b5f6142af8686868680519060200120611f8d565b9050845186511415806142c457508351865114155b806142ce57508551155b1561431c578551845186516040517f447b05d000000000000000000000000000000000000000000000000000000000815260048101939093526024830191909152604482015260640161109d565b5f8181526004602052604090205474010000000000000000000000000000000000000000900465ffffffffffff161561438f578061435982611288565b6040517f31b75e4d00000000000000000000000000000000000000000000000000000000815261109d9291905f906004016157ca565b5f6143a1600b5465ffffffffffff1690565b6143a9611d04565b65ffffffffffff166143bb9190615766565b90505f6143d8600b5463ffffffff66010000000000009091041690565b5f84815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03871617815590915061442283612abf565b815465ffffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff909116178155614476826146ec565b815463ffffffff919091167a010000000000000000000000000000000000000000000000000000027fffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffff90911617815588517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e090859087908c908c9067ffffffffffffffff81111561450957614509614ac4565b60405190808252806020026020018201604052801561453c57816020015b60608152602001906001900390816145275790505b508c896145498a82615766565b8e60405161455f999897969594939291906159a5565b60405180910390a150505095945050505050565b6060611d9f83835f614735565b60605f61458c836147dd565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f8581526007602090815260408083206001600160a01b0388168452600381019092529091205460ff1615614629576040517f71c6af490000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161109d565b614634846001615807565b6001600160a01b0386165f908152600383016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff928316179055841661469c5782815f015f8282546146919190615766565b909155506126e99050565b5f1960ff8516016146ba5782816001015f8282546146919190615766565b6040517f06b337c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f63ffffffff821115612b0a576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152602060048201526024810183905260440161109d565b606081471015614773576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161109d565b5f80856001600160a01b0316848660405161478e91906157ec565b5f6040518083038185875af1925050503d805f81146147c8576040519150601f19603f3d011682016040523d82523d5f602084013e6147cd565b606091505b50915091506115d886838361481d565b5f60ff8216601f811115610dae576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826148325761482d82613c70565b611d9f565b815115801561484957506001600160a01b0384163b155b1561488b576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161109d565b5080611d9f565b828054828255905f5260205f209081019282156148fd579160200282015b828111156148fd57825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039091161782556020909201916001909101906148b0565b50612b0a929150614992565b828054828255905f5260205f209081019282156148fd579160200282015b828111156148fd578251825591602001919060010190614927565b828054828255905f5260205f20908101928215614986579160200282015b8281111561498657825182906149769082615ac0565b5091602001919060010190614960565b50612b0a9291506149a6565b5b80821115612b0a575f8155600101614993565b80821115612b0a575f6149b982826149c2565b506001016149a6565b5080546149ce90615576565b5f825580601f106149dd575050565b601f0160209004905f5260205f2090810190610dc59190614992565b5f60208284031215614a09575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611d9f575f80fd5b5f60208284031215614a48575f80fd5b5035919050565b5f5b83811015614a69578181015183820152602001614a51565b50505f910152565b5f8151808452614a88816020860160208601614a4f565b601f01601f19169290920160200192915050565b602081525f611d9f6020830184614a71565b80356001600160a01b038116811461169d575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b1a57614b1a614ac4565b604052919050565b5f67ffffffffffffffff821115614b3b57614b3b614ac4565b50601f01601f191660200190565b5f614b5b614b5684614b22565b614af1565b9050828152838383011115614b6e575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112614b93575f80fd5b611d9f83833560208501614b49565b5f805f8060808587031215614bb5575f80fd5b614bbe85614aae565b9350614bcc60208601614aae565b925060408501359150606085013567ffffffffffffffff811115614bee575f80fd5b614bfa87828801614b84565b91505092959194509250565b5f67ffffffffffffffff821115614c1f57614c1f614ac4565b5060051b60200190565b5f82601f830112614c38575f80fd5b81356020614c48614b5683614c06565b82815260059290921b84018101918181019086841115614c66575f80fd5b8286015b84811015614c8857614c7b81614aae565b8352918301918301614c6a565b509695505050505050565b5f82601f830112614ca2575f80fd5b81356020614cb2614b5683614c06565b82815260059290921b84018101918181019086841115614cd0575f80fd5b8286015b84811015614c885780358352918301918301614cd4565b5f82601f830112614cfa575f80fd5b81356020614d0a614b5683614c06565b82815260059290921b84018101918181019086841115614d28575f80fd5b8286015b84811015614c8857803567ffffffffffffffff811115614d4b575f8081fd5b614d598986838b0101614b84565b845250918301918301614d2c565b5f805f8060808587031215614d7a575f80fd5b843567ffffffffffffffff80821115614d91575f80fd5b614d9d88838901614c29565b95506020870135915080821115614db2575f80fd5b614dbe88838901614c93565b94506040870135915080821115614dd3575f80fd5b50614de087828801614ceb565b949793965093946060013593505050565b5f8151808452602080850194508084015f5b83811015614e285781516001600160a01b031687529582019590820190600101614e03565b509495945050505050565b5f8151808452602080850194508084015f5b83811015614e2857815187529582019590820190600101614e45565b5f81518084526020808501808196508360051b810191508286015f5b85811015614ea7578284038952614e95848351614a71565b98850198935090840190600101614e7d565b5091979650505050505050565b608081525f614ec66080830187614df1565b8281036020840152614ed88187614e33565b90508281036040840152614eec8186614e61565b91505082606083015295945050505050565b85815260a060208201525f614f1660a0830187614df1565b8281036040840152614f288187614e33565b90508281036060840152614f3c8186614e61565b9150508260808301529695505050505050565b65ffffffffffff81168114610dc5575f80fd5b5f60208284031215614f72575f80fd5b8135611d9f81614f4f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60088110614fdf577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b60208101610dae8284614faa565b5f8060408385031215615002575f80fd5b8235915061501260208401614aae565b90509250929050565b803560ff8116811461169d575f80fd5b5f806040838503121561503c575f80fd5b823591506150126020840161501b565b5f8083601f84011261505c575f80fd5b50813567ffffffffffffffff811115615073575f80fd5b60208301915083602082850101111561508a575f80fd5b9250929050565b5f805f805f805f60c0888a0312156150a7575f80fd5b873596506150b76020890161501b565b95506150c560408901614aae565b9450606088013567ffffffffffffffff808211156150e1575f80fd5b6150ed8b838c0161504c565b909650945060808a0135915080821115615105575f80fd5b6151118b838c01614b84565b935060a08a0135915080821115615126575f80fd5b506151338a828b01614b84565b91505092959891949750929550565b5f805f805f60808688031215615156575f80fd5b853594506151666020870161501b565b9350604086013567ffffffffffffffff80821115615182575f80fd5b61518e89838a0161504c565b909550935060608801359150808211156151a6575f80fd5b506151b388828901614b84565b9150509295509295909350565b5f805f80606085870312156151d3575f80fd5b843593506151e36020860161501b565b9250604085013567ffffffffffffffff8111156151fe575f80fd5b61520a8782880161504c565b95989497509550505050565b5f805f8060808587031215615229575f80fd5b843567ffffffffffffffff80821115615240575f80fd5b61524c88838901614c29565b95506020870135915080821115615261575f80fd5b61526d88838901614c93565b94506040870135915080821115615282575f80fd5b61528e88838901614ceb565b935060608701359150808211156152a3575f80fd5b508501601f810187136152b4575f80fd5b614bfa87823560208401614b49565b5f602082840312156152d3575f80fd5b611d9f82614aae565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f61531660e0830189614a71565b82810360408401526153288189614a71565b90508660608401526001600160a01b03861660808401528460a084015282810360c08401526153578185614e33565b9a9950505050505050505050565b5f805f8060808587031215615378575f80fd5b843593506153886020860161501b565b925061539660408601614aae565b9150606085013567ffffffffffffffff811115614bee575f80fd5b5f805f606084860312156153c3575f80fd5b6153cc84614aae565b925060208401359150604084013567ffffffffffffffff8111156153ee575f80fd5b6153fa86828701614b84565b9150509250925092565b5f805f805f60a08688031215615418575f80fd5b61542186614aae565b945061542f60208701614aae565b9350604086013567ffffffffffffffff8082111561544b575f80fd5b61545789838a01614c93565b9450606088013591508082111561546c575f80fd5b61547889838a01614c93565b935060808801359150808211156151a6575f80fd5b5f805f80606085870312156154a0575f80fd5b6154a985614aae565b935060208501359250604085013567ffffffffffffffff8111156151fe575f80fd5b5f602082840312156154db575f80fd5b813563ffffffff81168114611d9f575f80fd5b5f80604083850312156154ff575f80fd5b61550883614aae565b946020939093013593505050565b5f805f805f60a0868803121561552a575f80fd5b61553386614aae565b945061554160208701614aae565b93506040860135925060608601359150608086013567ffffffffffffffff81111561556a575f80fd5b6151b388828901614b84565b600181811c9082168061558a57607f821691505b6020821081036155c1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f5f198203615632576156326155f4565b5060010190565b5f60208284031215615649575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826156b0577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156156c5575f80fd5b815167ffffffffffffffff8111156156db575f80fd5b8201601f810184136156eb575f80fd5b80516156f9614b5682614b22565b81815285602083850101111561570d575f80fd5b612a0c826020830160208601614a4f565b818382375f9101908152919050565b81810381811115610dae57610dae6155f4565b65ffffffffffff82811682821603908082111561575f5761575f6155f4565b5092915050565b80820180821115610dae57610dae6155f4565b5f60208284031215615789575f80fd5b8151611d9f81614f4f565b5f602082840312156157a4575f80fd5b81518015158114611d9f575f80fd5b8082028115828204841417610dae57610dae6155f4565b838152606081016157de6020830185614faa565b826040830152949350505050565b5f82516157fd818460208701614a4f565b9190910192915050565b60ff8181168382160190811115610dae57610dae6155f4565b600181815b8085111561585a57815f1904821115615840576158406155f4565b8085161561584d57918102915b93841c9390800290615825565b509250929050565b5f8261587057506001610dae565b8161587c57505f610dae565b8160018114615892576002811461589c576158b8565b6001915050610dae565b60ff8411156158ad576158ad6155f4565b50506001821b610dae565b5060208310610133831016604e8410600b84101617156158db575081810a610dae565b6158e58383615820565b805f19048211156158f8576158f86155f4565b029392505050565b5f611d9f60ff841683615862565b828152604060208201525f611d9c6040830184614a71565b65ffffffffffff81811683821601908082111561575f5761575f6155f4565b84815260ff84166020820152826040820152608060608201525f6115d86080830184614a71565b85815260ff8516602082015283604082015260a060608201525f61599360a0830185614a71565b8281036080840152611bb28185614a71565b5f6101208b835260206001600160a01b038c16818501528160408501526159ce8285018c614df1565b915083820360608501526159e2828b614e33565b915083820360808501528189518084528284019150828160051b850101838c015f5b83811015615a3257601f19878403018552615a20838351614a71565b94860194925090850190600101615a04565b505086810360a0880152615a46818c614e61565b9450505050508560c08401528460e0840152828103610100840152615a6b8185614a71565b9c9b505050505050505050505050565b601f821115611558575f81815260208120601f850160051c81016020861015615aa15750805b601f850160051c820191505b818110156126e957828155600101615aad565b815167ffffffffffffffff811115615ada57615ada614ac4565b615aee81615ae88454615576565b84615a7b565b602080601f831160018114615b21575f8415615b0a5750858301515b5f19600386901b1c1916600185901b1785556126e9565b5f85815260208120601f198616915b82811015615b4f57888601518255948401946001909101908401615b30565b5085821015615b6c57878501515f19600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b5a689e4e4db130007ad12ae797d2fd47e66f70850b22df11a224094770c804f64736f6c63430008140033","sourceMap":"1088:5816:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3778:91:2;1088:5816:103;;;;;3942:303:2;;;;;;;;;;-1:-1:-1;3942:303:2;;;;;:::i;:::-;;:::i;:::-;;;516:14:147;;509:22;491:41;;479:2;464:18;3942:303:2;;;;;;;;1372:108:5;;;;;;;;;;-1:-1:-1;1460:13:5;;;;;;;1372:108;;;689:25:147;;;677:2;662:18;1372:108:5;543:177:147;3161:150:8;;;;;;;;;;-1:-1:-1;3161:150:8;;;;;:::i;:::-;;:::i;4301:89:2:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7771:139::-;;;;;;;;;;-1:-1:-1;7771:139:2;;;;;:::i;:::-;7846:7;7872:22;;;:10;:22;;;;;:31;-1:-1:-1;;;;;7872:31:2;;7771:139;;;;-1:-1:-1;;;;;1889:55:147;;;1871:74;;1859:2;1844:18;7771:139:2;1725:226:147;24712:253:2;;;;;;;;;;-1:-1:-1;24712:253:2;;;;;:::i;:::-;24928:30;24712:253;;;;;;;;;;4217:66:147;4205:79;;;4187:98;;4175:2;4160:18;24712:253:2;4043:248:147;12950:729:2;;;;;;;;;;-1:-1:-1;12950:729:2;;;;;:::i;:::-;;:::i;3105:496:6:-;;;;;;;;;;-1:-1:-1;3105:496:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;14737:1233:2:-;;;;;;:::i;:::-;;:::i;7317:140::-;;;;;;;;;;-1:-1:-1;7317:140:2;;;;;:::i;:::-;7392:7;7418:22;;;:10;:22;;;;;:32;;;;;;;7317:140;3724:486:6;;;;;;;;;;-1:-1:-1;3724:486:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;1511:197:2:-;;;;;;;;;;;;1570:138;1511:197;;3351:110:4;;;;;;;;;;-1:-1:-1;3440:14:4;;;;3351:110;;;11120:14:147;11108:27;;;11090:46;;11078:2;11063:18;3351:110:4;10946:196:147;3705:153:4;;;;;;;;;;-1:-1:-1;3705:153:4;;;;;:::i;:::-;;:::i;1202:106:5:-;;;;;;;;;;-1:-1:-1;1289:12:5;;;;1202:106;;3028:567:103;;;;;;;;;;-1:-1:-1;3028:567:103;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2521:284:6:-;;;;;;;;;;-1:-1:-1;2521:284:6;;;;;:::i;:::-;;:::i;851:168:104:-;;;;;;;;;;-1:-1:-1;851:168:104;;;;;:::i;:::-;944:4;967:26;;;:14;:26;;;;;;;;-1:-1:-1;;;;;967:41:104;;;;:32;;:41;;;;;;;;:45;;851:168;;;;;16920:977:2;;;;;;;;;;-1:-1:-1;16920:977:2;;;;;:::i;:::-;;:::i;691:154:104:-;;;;;;;;;;-1:-1:-1;691:154:104;;;;;:::i;:::-;773:5;797:26;;;:14;:26;;;;;;;;-1:-1:-1;;;;;797:41:104;;;;:32;;:41;;;;;;;;691:154;;;;;;;;12671:4:147;12659:17;;;12641:36;;12629:2;12614:18;691:154:104;12499:184:147;1436:261:7;;;;;;;;;;;;;:::i;1025:321:104:-;;;;;;;;;;-1:-1:-1;1025:321:104;;;;;:::i;:::-;1111:20;1219:26;;;:14;:26;;;;;1263:25;;1290:21;;;;1313:25;;;;;1263;;1025:321;;;;;12890:25:147;;;12946:2;12931:18;;12924:34;;;;12974:18;;;12967:34;12878:2;12863:18;1025:321:104;12688:319:147;4449:90:2;;;;;;;;;;-1:-1:-1;4522:10:2;;;;;;;;;;;;;;;;;4449:90;;19443:189;;;;;;;;;;-1:-1:-1;19443:189:2;;;;;:::i;:::-;;:::i;21036:950::-;;;;;;;;;;-1:-1:-1;21036:950:2;;;;;:::i;:::-;;:::i;20038:303::-;;;;;;;;;;-1:-1:-1;20038:303:2;;;;;:::i;:::-;;:::i;1738:616:8:-;;;;;;;;;;-1:-1:-1;1738:616:8;;;;;:::i;:::-;;:::i;1839:125:5:-;;;;;;;;;;-1:-1:-1;1839:125:5;;;;;:::i;:::-;;:::i;19702:257:2:-;;;;;;;;;;-1:-1:-1;19702:257:2;;;;;:::i;:::-;;:::i;3601:2049:103:-;;;;;;;;;;-1:-1:-1;3601:2049:103;;;;;:::i;:::-;;:::i;538:107:28:-;;;;;;;;;;-1:-1:-1;538:107:28;;;;;:::i;:::-;-1:-1:-1;;;;;624:14:28;598:7;624:14;;;:7;:14;;;;;;;538:107;5144:557:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;20406:546:2:-;;;;;;;;;;-1:-1:-1;20406:546:2;;;;;:::i;:::-;;:::i;1057:224:7:-;;;;;;;;;;;;;:::i;2460:94:8:-;;;;;;;;;;-1:-1:-1;2544:3:8;2460:94;;19169:214:2;;;;;;;;;;-1:-1:-1;19169:214:2;;;;;:::i;:::-;;:::i;1504:121:8:-;;;;;;;;;;;;;:::i;8181:103:2:-;;;;;;;;;;-1:-1:-1;8181:103:2;;;;;:::i;:::-;-1:-1:-1;8249:4:2;;8181:103;7973:136;;;;;;;;;;-1:-1:-1;7973:136:2;;;;;:::i;:::-;8043:7;8069:22;;;:10;:22;;;;;:33;;;;;;7973:136;2123:197:103;;;;;;;;;;;;;:::i;2564:458::-;;;;;;;;;;-1:-1:-1;2564:458:103;;;;;:::i;:::-;;:::i;25648:338:2:-;;;;;;;;;;-1:-1:-1;25648:338:2;;;;;:::i;:::-;25943:36;25648:338;;;;;;;;2326:232:103;;;;;;;;;;-1:-1:-1;2326:232:103;;;;;:::i;:::-;;:::i;23969:252:2:-;;;;;;:::i;:::-;;:::i;5484:299::-;;;;;;;;;;-1:-1:-1;5484:299:2;;;;;:::i;:::-;;:::i;1326:33:103:-;;;;;;;;;;;;;;;;2879:106:6;;;;;;;;;;-1:-1:-1;2959:12:6;:19;2879:106;;557:128:104;;;;;;;;;;-1:-1:-1;645:33:104;;;;;;;;;;;;;;;;;557:128;;1765:282:6;;;;;;;;;;-1:-1:-1;1765:282:6;;;;;:::i;:::-;;:::i;1374:131:2:-;;;;;;;;;;;;1424:81;1374:131;;1402:48:103;;;;;;;;;;-1:-1:-1;1402:48:103;;;;;:::i;:::-;;;;;;;;;;;;;;2139:129:5;;;;;;;;;;-1:-1:-1;2139:129:5;;;;;:::i;:::-;;:::i;18936:163:2:-;;;;;;;;;;-1:-1:-1;18936:163:2;;;;;:::i;:::-;;:::i;2453:150:5:-;;;;;;;;;;-1:-1:-1;2453:150:5;;;;;:::i;:::-;;:::i;25172:264:2:-;;;;;;;;;;-1:-1:-1;25172:264:2;;;;;:::i;:::-;25398:31;25172:264;;;;;;;;2689:196:8;;;;;;;;;;-1:-1:-1;2689:196:8;;;;;:::i;:::-;;:::i;794:86:7:-;;;;;;;;;;-1:-1:-1;867:6:7;794:86;;2151:294:6;;;;;;:::i;:::-;;:::i;3942:303:2:-;4044:4;4079:42;;;4094:27;4079:42;;:107;;-1:-1:-1;4137:49:2;;;4152:34;4137:49;4079:107;:159;;;-1:-1:-1;876:25:37;861:40;;;;4202:36:2;4060:178;3942:303;-1:-1:-1;;3942:303:2:o;3161:150:8:-;3391:18:2;:16;:18::i;:::-;3262:42:8::1;3285:18;3262:22;:42::i;:::-;3161:150:::0;:::o;4301:89:2:-;4346:13;4378:5;4371:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4301:89;:::o;12950:729::-;13129:7;13148:18;13169:57;13182:7;13191:6;13199:9;13210:15;13169:12;:57::i;:::-;13148:78;;13237:77;13258:10;13270:43;13289:23;13270:18;:43::i;:::-;13237:20;:77::i;:::-;-1:-1:-1;13325:17:2;13605:29;;;;;;;;;;;;;;3105:496:6;3245:7;3358:28;;;:16;:28;;;;;;;;3325:61;;;;;;;;;;;;;;;;;;;;;3193:16;;;;;;3245:7;;;;3325:61;3358:28;;3325:61;;3358:28;;3325:61;;;3358:28;3325:61;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3325:61:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3400:7;:23;;;3427:1;3400:28;;;3396:105;;3451:39;;;;;;;;689:25:147;;;662:18;;3451:39:6;;;;;;;;3396:105;3518:15;;3535:14;;;;3551:17;;;;3570:23;;;;;3518:15;;3535:14;;-1:-1:-1;3551:17:6;;-1:-1:-1;3570:23:6;-1:-1:-1;3105:496:6;-1:-1:-1;;3105:496:6:o;14737:1233:2:-;14926:7;14945:18;14966:57;14979:7;14988:6;14996:9;15007:15;14966:12;:57::i;:::-;14945:78;;15034:154;15068:10;15138:40;15157:20;15138:18;:40::i;:::-;15092:43;15111:23;15092:18;:43::i;:::-;:86;15034:20;:154::i;:::-;-1:-1:-1;15260:22:2;;;;:10;:22;;;;;:38;;;;;;;;15398:4;15375:11;24495:4;;24409:98;15375:11;-1:-1:-1;;;;;15375:28:2;;15371:258;;15424:9;15419:200;15443:7;:14;15439:1;:18;15419:200;;;15508:4;-1:-1:-1;;;;;15486:27:2;:7;15494:1;15486:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;15486:27:2;;15482:123;;15537:49;15572:9;15582:1;15572:12;;;;;;;;:::i;:::-;;;;;;;15562:23;;;;;;15537:15;:24;;:49;;;;:::i;:::-;15459:3;;;:::i;:::-;;;15419:200;;;;15371:258;15639:75;15658:10;15670:7;15679:6;15687:9;15698:15;15639:18;:75::i;:::-;15907:28;;689:25:147;;;15907:28:2;;677:2:147;662:18;15907:28:2;;;;;;;;15953:10;14737:1233;-1:-1:-1;;;;;14737:1233:2:o;3724:486:6:-;3809:7;3818:16;3836;3854:14;3870:7;3889:18;3910:12;3923:5;3910:19;;;;;;;;:::i;:::-;;;;;;;;;3889:40;;3953:24;3991:23;4028:24;4066:23;4102:27;4118:10;4102:15;:27::i;:::-;4147:10;;3939:190;;-1:-1:-1;3939:190:6;;-1:-1:-1;3939:190:6;-1:-1:-1;4147:10:6;;-1:-1:-1;3724:486:6;;-1:-1:-1;;;;;;3724:486:6:o;3705:153:4:-;3391:18:2;:16;:18::i;:::-;3806:45:4::1;3834:16;3806:27;:45::i;3028:567:103:-:0;3101:13;3126:20;3149:23;3161:10;3149:11;:23::i;:::-;3126:46;-1:-1:-1;3197:20:103;3187:6;:30;;;;;;;;:::i;:::-;;3183:382;;3234:20;1219:26:104;;;:14;:26;;;;;1263:25;;1290:21;;;;;1263:25;;1313;867:6:7;-1:-1:-1;;;;;3341:26:103;;3368:28;3385:10;7392:7:2;7418:22;;;:10;:22;;;;;:32;;;;;;;;7317:140;3368:28:103;3341:56;;;;;;;;;;;;;689:25:147;;677:2;662:18;;543:177;3341:56:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;;:::i;:::-;3316:85;;3430:14;3419:8;:25;3415:61;;;-1:-1:-1;3453:23:103;;3028:567;-1:-1:-1;;;;;3028:567:103:o;3415:61::-;3509:14;3494:12;:29;3490:64;;;-1:-1:-1;3532:22:103;;3028:567;-1:-1:-1;;;;;3028:567:103:o;3490:64::-;3219:346;;;3582:6;3028:567;-1:-1:-1;;3028:567:103:o;2521:284:6:-;2643:31;2677:28;;;:16;:28;;;;;;;;;2715:83;;;;;;;;;;;;;;;;;2677:28;;2715:83;;;;2677:28;;2715:83;;2677:28;2715:83;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2715:83:6;;;;;;;;;;;;;;;;;;;;;2739:7;:14;;2715:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2755:7;:17;;2715:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2774:7;:23;;;2715:6;:83::i;:::-;;2572:233;2521:284;:::o;16920:977:2:-;17100:7;17450:18;17471:57;17484:7;17493:6;17501:9;17512:15;17471:12;:57::i;:::-;17450:78;;17620:75;17641:10;17653:41;17672:21;17653:18;:41::i;17620:75::-;-1:-1:-1;7846:7:2;7872:22;;;:10;:22;;;;;:31;-1:-1:-1;;;;;7872:31:2;735:10:27;17709:44:2;17705:116;;17776:34;;;;;735:10:27;17776:34:2;;;1871:74:147;1844:18;;17776:34:2;1725:226:147;17705:116:2;17838:52;17846:7;17855:6;17863:9;17874:15;17838:7;:52::i;:::-;17831:59;16920:977;-1:-1:-1;;;;;;16920:977:2:o;1436:261:7:-;1496:13;867:6;-1:-1:-1;;;;;1525:18:7;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1525:20:7;;;;;;;;;;;;:::i;:::-;;;1521:170;;-1:-1:-1;1642:38:7;;;;;;;;;;;;;;;;;;1436:261::o;1521:170::-;1601:9;1436:261;-1:-1:-1;1436:261:7:o;19443:189:2:-;19520:7;;735:10:27;19539:28:2;;19584:41;19594:10;19606:5;19613:7;19584:41;;;;;;;;;;;;:9;:41::i;:::-;19577:48;19443:189;-1:-1:-1;;;;19443:189:2:o;21036:950::-;21275:7;21294:10;21307:516;21357:5;21376:414;1570:138;21527:10;21563:7;21596:5;21627:16;21637:5;-1:-1:-1;;;;;1121:14:28;819:7;1121:14;;;:7;:14;;;;;:16;;;;;;;;;759:395;21627:16:2;21685:6;;21669:24;;;;;;;:::i;:::-;;;;;;;;21729:6;21719:17;;;;;;21441:317;;;;;;;;;;;;;25610:25:147;;;25666:2;25651:18;;25644:34;;;;25726:4;25714:17;;;;25709:2;25694:18;;25687:45;-1:-1:-1;;;;;25768:55:147;;;;25763:2;25748:18;;25741:83;25855:3;25840:19;;25833:35;25899:3;25884:19;;25877:35;25943:3;25928:19;;25921:35;25597:3;25582:19;;25299:663;21441:317:2;;;;;;;;;;;;;21410:366;;;;;;21376:16;:414::i;:::-;21804:9;21307:36;:516::i;:::-;21294:529;;21839:5;21834:75;;21867:31;;;;;-1:-1:-1;;;;;1889:55:147;;21867:31:2;;;1871:74:147;1844:18;;21867:31:2;1725:226:147;21834:75:2;21926:53;21936:10;21948:5;21955:7;21964:6;;21926:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21972:6:2;;-1:-1:-1;21926:9:2;;-1:-1:-1;;21926:53:2:i;:::-;21919:60;21036:950;-1:-1:-1;;;;;;;;;21036:950:2:o;20038:303::-;20217:7;;735:10:27;20236:28:2;;20281:53;20291:10;20303:5;20310:7;20319:6;;20281:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20327:6:2;;-1:-1:-1;20281:9:2;;-1:-1:-1;;20281:53:2:i;:::-;20274:60;20038:303;-1:-1:-1;;;;;;;20038:303:2:o;1738:616:8:-;1847:23;:43;;1811:7;;;;2039:10;2048:1;1847:43;2039:10;:::i;:::-;2002:48;;;;;;;;:::i;:::-;;;;;;;;;;2079:11;;2002:48;;-1:-1:-1;2079:11:8;;;;2122:13;;;;;2149:22;;;2145:71;;2187:18;;;1738:616;-1:-1:-1;;;;;1738:616:8:o;2145:71::-;2276;2318:28;2336:9;2318:17;:28::i;:::-;2276:23;;:41;:71::i;:::-;2269:78;;;1738:616;-1:-1:-1;;;;;;1738:616:8:o;1839:125:5:-;3391:18:2;:16;:18::i;:::-;1926:31:5::1;1942:14;1926:15;:31::i;19702:257:2:-:0;19843:7;;735:10:27;19862:28:2;;19907:45;19917:10;19929:5;19936:7;19945:6;;19907:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19907:9:2;;-1:-1:-1;;;19907:45:2:i;3601:2049:103:-;3793:7;735:10:27;3900:53:103;735:10:27;3941:11:103;3900:30;:53::i;:::-;3895:128;;3976:36;;;;;-1:-1:-1;;;;;1889:55:147;;3976:36:103;;;1871:74:147;1844:18;;3976:36:103;1725:226:147;3895:128:103;4069:21;4093:31;4102:8;4122:1;4112:7;:5;:7::i;:::-;:11;;;;:::i;:::-;4093:31;;:8;:31::i;:::-;4069:55;;4134:22;4159:19;:17;:19::i;:::-;4134:44;;4208:14;4192:13;:30;4188:142;;;4245:74;;;;;-1:-1:-1;;;;;26504:55:147;;4245:74:103;;;26486::147;26576:18;;;26569:34;;;26619:18;;;26612:34;;;26459:18;;4245:74:103;26284:368:147;4188:142:103;4361:18;;4344:13;:35;4340:130;;4440:18;;4402:57;;;;;;;4425:13;;4402:57;;26831:25:147;;;26887:2;26872:18;;26865:34;26819:2;26804:18;;26657:248;4340:130:103;4501:15;;4530;;4526:781;;4561:28;4592:37;4611:17;4617:10;4611:5;:17::i;:::-;4592:18;:37::i;:::-;4561:68;;4643:28;4811:42;4830:22;4811:18;:42::i;:::-;4751:41;4770:21;4751:18;:41::i;:::-;4690:42;4709:22;4690:18;:42::i;:::-;:102;:163;;-1:-1:-1;4872:43:103;;;4919:1;4872:48;4868:429;;4962:31;5015:30;5067:31;5120:23;5164:27;5180:10;5164:15;:27::i;:::-;4940:251;;;;;;;;5209:73;5217:14;5233:13;5248:16;5266:15;5209:7;:73::i;:::-;;4922:375;;;;4868:429;4547:760;;4526:781;5330:59;5339:7;5348:6;5356:9;5367:11;5380:8;5330;:59::i;:::-;5317:72;;5429:13;5400;:25;5414:10;5400:25;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;5452:18:103;:34;;;5496:15;:28;;;5534:81;-1:-1:-1;;;;;867:6:7;5534:41:103;5576:8;5594:4;5452:34;5534:41;:81::i;:::-;5633:10;3601:2049;-1:-1:-1;;;;;;;;3601:2049:103:o;5144:557:34:-;5242:13;5269:18;5301:21;5336:15;5365:25;5404:12;5430:27;5533:13;:11;:13::i;:::-;5560:16;:14;:16::i;:::-;5668;;;5652:1;5668:16;;;;;;;;;5482:212;;;;-1:-1:-1;5482:212:34;;-1:-1:-1;5590:13:34;;-1:-1:-1;5625:4:34;;-1:-1:-1;5652:1:34;-1:-1:-1;5668:16:34;-1:-1:-1;5482:212:34;-1:-1:-1;5144:557:34:o;20406:546:2:-;20565:7;20584:10;20597:204;20647:5;20666:102;1424:81;20721:10;20733:7;20742:5;20749:16;20759:5;-1:-1:-1;;;;;1121:14:28;819:7;1121:14;;;:7;:14;;;;;:16;;;;;;;;;759:395;20749:16:2;20693:73;;;;;;27295:25:147;;;;27336:18;;27329:34;;;;27411:4;27399:17;;;27379:18;;;27372:45;-1:-1:-1;;;;;27453:55:147;27433:18;;;27426:83;27525:19;;;27518:35;27267:19;;20693:73:2;27040:519:147;20597:204:2;20584:217;;20817:5;20812:75;;20845:31;;;;;-1:-1:-1;;;;;1889:55:147;;20845:31:2;;;1871:74:147;1844:18;;20845:31:2;1725:226:147;20812:75:2;20904:41;20914:10;20926:5;20933:7;20904:41;;;;;;;;;;;;:9;:41::i;1057:224:7:-;1112:6;867;-1:-1:-1;;;;;1134:13:7;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1134:15:7;;;;;;;;-1:-1:-1;;1134:15:7;;;;;;;;;;;;:::i;:::-;;;1130:145;;1246:18;:16;:18::i;:::-;1239:25;;1057:224;:::o;19169:214:2:-;19313:7;19339:37;19349:7;19358:9;19369:6;19339:9;:37::i;:::-;19332:44;;19169:214;;;;;;:::o;1504:121:8:-;1560:7;1586:32;:23;:30;:32::i;:::-;1579:39;;;;1504:121;:::o;2123:197:103:-;2258:7;2288:25;1641:18:5;;;1548:118;2564:458:103;2636:7;2356:21:29;:19;:21::i;:::-;2655::103::1;2679:25:::0;;;:13:::1;:25;::::0;;;;;;;;7872:10:2;:22;;;;;;:31;-1:-1:-1;;;;;7872:31:2;2776:17:103;;;;;:59:::1;;;2807:28;2824:10;2807:16;:28::i;:::-;2797:7;:5;:7::i;:::-;:38;;;2776:59;2772:225;;;2879:1;2851:25:::0;;;:13:::1;:25;::::0;;;;:29;867:6:7;2894:58:103::1;::::0;;;;-1:-1:-1;;;;;28010:55:147;;;2894:58:103::1;::::0;::::1;27992:74:147::0;28082:18;;;28075:34;;;2894:33:103;;;::::1;::::0;::::1;::::0;27965:18:147;;2894:58:103::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2973:13;2966:20;;;;;;2772:225;3014:1;3007:8;;;;2387:1:29;2398:20:::0;1713:1;2924:7;:21;2744:208;2326:232:103;2487:7;2517:34;2540:10;2517:22;:34::i;23969:252:2:-;3391:18;:16;:18::i;:::-;24087:12:::1;24101:23:::0;24128:6:::1;-1:-1:-1::0;;;;;24128:11:2::1;24147:5;24154:4;;24128:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24086:73;;;;24169:45;24194:7;24203:10;24169:24;:45::i;:::-;;24076:145;;23969:252:::0;;;;:::o;5484:299::-;5675:7;5730;5739:6;5747:9;5758:15;5719:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5719:55:2;;;;;;;;;5709:66;;5719:55;5709:66;;;;;5484:299;-1:-1:-1;;;;;5484:299:2:o;1765:282:6:-;1886:31;1920:28;;;:16;:28;;;;;;;;;1958:82;;;;;;;;;;;;;;;;;1920:28;;1958:82;;;;1920:28;;1958:82;;1920:28;1958:82;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1958:82:6;;;;;;;;;;;;;;;;;;;;;1981:7;:14;;1958:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1997:7;:17;;1958:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2016:7;:23;;;1958:5;:82::i;2139:129:5:-;3391:18:2;:16;:18::i;:::-;2228:33:5::1;2245:15;2228:16;:33::i;18936:163:2:-:0;19019:7;19045:47;19055:7;19064:9;19075:16;10368:9;;;;;;;;;-1:-1:-1;10368:9:2;;;10287:97;19075:16;19045:9;:47::i;2453:150:5:-;3391:18:2;:16;:18::i;:::-;2553:43:5::1;2575:20;2553:21;:43::i;2689:196:8:-:0;2762:7;2544:3;2829:26;2845:9;2829:15;:26::i;:::-;2789:37;;;;;;;;689:25:147;;;-1:-1:-1;;;;;867:6:7;2789:26:8;;;;662:18:147;;2789:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;;;;:::i;:::-;2788:90;;;;:::i;2151:294:6:-;2282:31;2316:28;;;:16;:28;;;;;;;;;2354:84;;;;;;;;;;;;;;;;;2316:28;;2354:84;;;;2316:28;;2354:84;;2316:28;2354:84;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2354:84:6;;;;;;;;;;;;;;;;;;;;;2379:7;:14;;2354:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2395:7;:17;;2354:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:7;:23;;;2354:7;:84::i;8546:446:2:-;24495:4;735:10:27;8605:27:2;8601:99;;8655:34;;;;;735:10:27;8655:34:2;;;1871:74:147;1844:18;;8655:34:2;1725:226:147;8601:99:2;8546:446::o;8924:52::-;8961:11;8931:26;:15;:24;:26::i;:::-;:41;8924:52;;8743:243;8546:446::o;3532:498:8:-;2544:3;3674:32;;;3670:132;;;3729:62;;;;;;;;26831:25:147;;;26872:18;;;26865:34;;;26804:18;;3729:62:8;26657:248:147;3670:132:8;3812:26;3841:17;:15;:17::i;:::-;3812:46;;3868:77;3897:7;:5;:7::i;:::-;3906:38;3925:18;3906;:38::i;:::-;3868:23;;:77;:28;:77::i;:::-;-1:-1:-1;;3961:62:8;;;26831:25:147;;;26887:2;26872:18;;26865:34;;;3961:62:8;;26804:18:147;3961:62:8;;;;;;;3609:421;;3532:498;:::o;26396:147:2:-;26476:7;26521:13;26515:20;;;;;;;;:::i;:::-;26510:1;:25;;;;;;;26396:147;-1:-1:-1;;26396:147:2:o;26848:383::-;26943:13;26968:26;26997:17;27003:10;26997:5;:17::i;:::-;26968:46;-1:-1:-1;27088:1:2;27063:13;27028:32;26968:46;27028:18;:32::i;:::-;:48;:62;27024:172;;27145:10;27157:12;27171:13;27113:72;;;;;;;;;;;;;:::i;1985:302:43:-;2109:10;;;;;;;;;2154:12;;;2137:13;;:29;;;;2133:53;;2175:11;;;;;;;;;;;;;;2133:53;2200:22;;;;;;;;:11;;;;:22;;;;;;:30;;;;2244:26;;2257:13;;;;2244:26;;;;;;;;;1985:302::o;16405:457:2:-;16643:9;16638:218;16662:7;:14;16658:1;:18;16638:218;;;16698:12;16712:23;16739:7;16747:1;16739:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;16739:15:2;16762:6;16769:1;16762:9;;;;;;;;:::i;:::-;;;;;;;16773;16783:1;16773:12;;;;;;;;:::i;:::-;;;;;;;16739:47;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16697:89;;;;16800:45;16825:7;16834:10;16800:24;:45::i;:::-;;16683:173;;16678:3;;;;:::i;:::-;;;16638:218;;;;16405:457;;;;;:::o;4147:204:4:-;4268:14;;4241:60;;;4268:14;;;;29433:34:147;;29503:15;;;29498:2;29483:18;;29476:43;4241:60:4;;29373:18:147;4241:60:4;;;;;;;4311:14;:33;;;;;;;;;;;;;;;4147:204::o;5840:1248:2:-;5904:13;6054:22;;;:10;:22;;;;;6110:17;;;;;;;;;6161;;;;6189:76;;;;-1:-1:-1;6232:22:2;;5840:1248;-1:-1:-1;;;;5840:1248:2:o;6189:76::-;6279:16;6275:76;;;-1:-1:-1;6318:22:2;;5840:1248;-1:-1:-1;;;;5840:1248:2:o;6275:76::-;6361:16;7418:22;;;:10;:22;;;;;:32;;;;;;6361:47;;6423:8;6435:1;6423:13;6419:90;;6459:39;;;;;;;;689:25:147;;;662:18;;6459:39:2;543:177:147;6419:90:2;6519:24;6546:7;:5;:7::i;:::-;6519:34;;;;6580:16;6568:8;:28;6564:87;;-1:-1:-1;6619:21:2;;5840:1248;-1:-1:-1;;;;;;5840:1248:2:o;6564:87::-;6661:16;6680:28;6697:10;6680:16;:28::i;:::-;6661:47;;6735:16;6723:8;:28;6719:363;;-1:-1:-1;6774:20:2;;5840:1248;-1:-1:-1;;;;;;;5840:1248:2:o;6719:363::-;6816:26;6831:10;6816:14;:26::i;:::-;6815:27;:58;;;;6847:26;6862:10;6847:14;:26::i;:::-;6846:27;6815:58;6811:271;;;-1:-1:-1;6896:22:2;;5840:1248;-1:-1:-1;;;;;;;5840:1248:2:o;6811:271::-;8043:7;8069:22;;;:10;:22;;;;;:33;;;;;6966:1;6939:28;6935:147;;-1:-1:-1;6990:23:2;;5840:1248;-1:-1:-1;;;;;;;5840:1248:2:o;6935:147::-;-1:-1:-1;7051:20:2;;5840:1248;-1:-1:-1;;;;;;;5840:1248:2:o;18182:694::-;18365:7;18384:18;18405:57;18418:7;18427:6;18435:9;18446:15;18405:12;:57::i;:::-;18384:78;;18473:276;18507:10;18697:42;18716:22;18697:18;:42::i;:::-;18637:41;18656:21;18637:18;:41::i;:::-;18576:42;18595:22;18576:18;:42::i;:::-;2010:1;1971:34;1977:23;2010:1;1971:34;:::i;:::-;1965:41;;:1;:41;:::i;:::-;1964:47;;;;:::i;:::-;18531:87;:147;:208;18473:20;:276::i;:::-;-1:-1:-1;18760:22:2;;;;:10;:22;;;;;;;:38;;;;;;;;18813:28;;;;;18771:10;689:25:147;;677:2;662:18;;543:177;22295:255:2;22452:7;22478:65;22488:10;22500:7;22509;22518:6;22526:16;10368:9;;;;;;;;;-1:-1:-1;10368:9:2;;;10287:97;22526:16;22478:9;:65::i;:::-;22471:72;22295:255;-1:-1:-1;;;;;22295:255:2:o;4917:176:34:-;4994:7;5020:66;5053:20;:18;:20::i;:::-;5075:10;3555:4:35;3549:11;3585:10;3573:23;;3625:4;3616:14;;3609:39;;;;3677:4;3668:14;;3661:34;3733:4;3718:20;;;3353:401;1039:368:36;1145:4;1162:17;1181:24;1211:33;1228:4;1234:9;1211:16;:33::i;:::-;-1:-1:-1;1161:83:36;;-1:-1:-1;1161:83:36;-1:-1:-1;1283:26:36;1274:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1326:6;-1:-1:-1;;;;;1313:19:36;:9;-1:-1:-1;;;;;1313:19:36;;1274:58;1273:127;;;;1349:51;1376:6;1384:4;1390:9;1349:26;:51::i;6008:326:103:-;6240:7;6266:61;6282:10;6294:7;6303;6312:6;6320;6266:15;:61::i;14291:213:40:-;14347:6;14377:16;14369:24;;14365:103;;;14416:41;;;;;14447:2;14416:41;;;31367:36:147;31419:18;;;31412:34;;;31340:18;;14416:41:40;31186:266:147;14365:103:40;-1:-1:-1;14491:5:40;14291:213::o;9441:606:42:-;9559:24;;9526:7;;;9559:24;9658:1;9652:7;;9648:234;;;9675:11;9695:14;9705:3;9695:9;:14::i;:::-;9689:20;;:3;:20;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;9675:34;;-1:-1:-1;14320:28:42;;9733:42;;;;;9727:48;;;;9723:149;;;9802:3;9795:10;;9723:149;;;9850:7;:3;9856:1;9850:7;:::i;:::-;9844:13;;9723:149;9661:221;9648:234;9892:11;9906:53;9925:4;9944:3;9949;9954:4;9906:18;:53::i;:::-;9892:67;-1:-1:-1;9977:8:42;;:63;;9992:41;10006:4;10025:7;10031:1;10025:3;:7;:::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;;14320:28;;14099:265;9992:41;:48;;;;;;9977:63;;;9988:1;9970:70;9441:606;-1:-1:-1;;;;;;;9441:606:42:o;2721:170:5:-;2816:12;;2801:44;;;2816:12;;;;29433:34:147;;29503:15;;;29498:2;29483:18;;29476:43;2801:44:5;;29373:18:147;2801:44:5;;;;;;;2855:12;:29;;;;;;;;;;;;;;;2721:170::o;28357:1638:2:-;28525:25;;28495:4;;28637:2;28631:8;;28627:50;;;28662:4;28655:11;;;;;28627:50;29295:30;;;29312:12;29295:30;29289:37;29426:33;;;29436:23;29426:33;29422:75;;29482:4;29475:11;;;;;;29422:75;29574:17;;29622:8;29628:2;29622:3;:8;:::i;:::-;29610:20;;29605:336;29636:3;29632:1;:7;29605:336;;;29661:10;29673:11;29688:36;29708:11;29721:1;29702:21;;;;;;;;:::i;:::-;;;;;;;29688:13;:36::i;:::-;29660:64;;;;29830:5;29825:56;;29862:4;29855:11;;;;;;;;;;29825:56;29925:5;29906:24;;29920:1;29907:9;-1:-1:-1;;;;;29907:14:2;;;29906:24;29894:36;;29646:295;;29641:3;;;;:::i;:::-;;;29605:336;;;;29979:8;-1:-1:-1;;;;;29958:30:2;:9;-1:-1:-1;;;;;29958:30:2;;29951:37;;;;;28357:1638;;;;:::o;5656:346:103:-;5904:7;5930:65;5945:7;5954:6;5962:9;5973:11;5986:8;5930:14;:65::i;1702:188:24:-;1829:53;;;-1:-1:-1;;;;;32040:15:147;;;1829:53:24;;;32022:34:147;32092:15;;32072:18;;;32065:43;32124:18;;;;32117:34;;;1829:53:24;;;;;;;;;;31934:18:147;;;;1829:53:24;;;;;;;;;;;;;;1802:81;;1822:5;;1802:19;:81::i;:::-;1702:188;;;;:::o;6021:126:34:-;6067:13;6099:41;:5;6126:13;6099:26;:41::i;6473:135::-;6522:13;6554:47;:8;6584:16;6554:29;:47::i;931:109:45:-;977:6;1002:31;1020:12;1002:17;:31::i;1822:223:7:-;1972:7;867:6;1998:40;;;;;-1:-1:-1;;;;;28010:55:147;;;1998:40:7;;;27992:74:147;28082:18;;;28075:34;;;1998:20:7;;;;;;;27965:18:147;;1998:40:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10167:206:42:-;10262:24;;10229:7;;10303:8;;:63;;10318:41;10332:4;10351:7;10357:1;10351:3;:7;:::i;10318:41::-;:48;;;;;;10303:63;;;10314:1;10296:70;10167:206;-1:-1:-1;;;10167:206:42:o;2431:307:29:-;1755:1;2558:7;;:18;2554:86;;2599:30;;;;;;;;;;;;;;2554:86;1755:1;2714:7;:17;2431:307::o;2017:193:4:-;2101:7;2127:76;2136:34;2159:10;2136:22;:34::i;:::-;2172:30;;;;:18;:30;;;;;;;;2127:8;:76::i;5407:224:26:-;5495:12;5524:7;5519:106;;5547:19;5555:10;5547:7;:19::i;:::-;5519:106;;;-1:-1:-1;5604:10:26;5597:17;;3011:274:5;3092:15;:20;;3111:1;3092:20;3088:88;;3135:30;;;;;3163:1;3135:30;;;689:25:147;662:18;;3135:30:5;543:177:147;3088:88:5;3206:13;;3190:47;;;3206:13;;;;;;;32553:34:147;;32623:15;;;32618:2;32603:18;;32596:43;3190:47:5;;32497:18:147;3190:47:5;;;;;;;3247:13;:31;;;;;;;;;;;;;;;;;;3011:274::o;3415:213::-;3529:18;;3508:62;;;26831:25:147;;;26887:2;26872:18;;26865:34;;;3508:62:5;;26804:18:147;3508:62:5;;;;;;;3580:18;:41;3415:213::o;3419:358:43:-;3553:12;;3483:13;;3553:12;;;;;3597:10;;;;3583:24;;3579:49;;3616:12;;;;;;;;;;;;;;3579:49;3650:23;;;;;;;;:11;;;;:23;;;;;;;3687:30;;;3731:29;;;;3746:14;;3731:29;;;;;;;;;;-1:-1:-1;3650:23:43;3419:358::o;4169:218:40:-;4226:7;4257:17;4249:25;;4245:105;;;4297:42;;;;;4328:3;4297:42;;;31367:36:147;31419:18;;;31412:34;;;31340:18;;4297:42:40;31186:266:147;8050:162:42;8132:7;;8167:38;8175:4;8194:3;8199:5;8167:7;:38::i;:::-;8160:45;;;;8050:162;;;;;;;:::o;1352:316:104:-;1436:4;1488:26;;;:14;:26;;;;;1569:25;;1545:21;;;;1436:4;;1545:49;;;:::i;:::-;1524:70;;1651:10;1611:36;1618:28;1635:10;7392:7:2;7418:22;;;:10;:22;;;;;:32;;;;;;;;7317:140;1611:36:104;:50;;;1352:316;-1:-1:-1;;;;1352:316:104:o;6340:562:103:-;6497:4;7418:22:2;;;:10;:22;;;;;:32;6497:4:103;;-1:-1:-1;;;;;867:6:7;6538:26:103;;;;7418:32:2;;;;;6538:56:103;;;;;;;;;;;;;689:25:147;;677:2;662:18;;543:177;6538:56:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6517:77;;6605:20;6627:16;6648:25;6662:10;1111:20:104;1219:26;;;:14;:26;;;;;1263:25;;1290:21;;;;1313:25;;;;;1263;;1025:321;6648:25:103;6604:69;;;;;6683:11;6733:27;6749:10;6733:15;:27::i;:::-;6721:8;6702:16;6706:12;6702:1;:16;:::i;:::-;:27;;;;:::i;:::-;6697:33;;:1;:33;:::i;:::-;:63;;;;:::i;:::-;6683:77;-1:-1:-1;6770:11:103;6785:23;6796:12;6785:8;:23;:::i;:::-;6770:39;-1:-1:-1;6831:38:103;6858:10;6847:8;6770:39;6847:2;:8;:::i;:::-;:21;;;;:::i;:::-;6831:15;:38::i;:::-;6825:44;;:3;:44;:::i;:::-;6886:9;;;;;6340:562;-1:-1:-1;;;;;;6340:562:103:o;3845:262:34:-;3898:7;3929:4;-1:-1:-1;;;;;3938:11:34;3921:28;;:63;;;;;3970:14;3953:13;:31;3921:63;3917:184;;;-1:-1:-1;4007:22:34;;3845:262::o;3917:184::-;4067:23;4204:80;;;2079:95;4204:80;;;34046:25:147;4226:11:34;34087:18:147;;;34080:34;;;;4239:14:34;34130:18:147;;;34123:34;4255:13:34;34173:18:147;;;34166:34;4278:4:34;34216:19:147;;;34209:84;4168:7:34;;34018:19:147;;4204:80:34;;;;;;;;;;;;4194:91;;;;;;4187:98;;4113:179;;2129:766:33;2210:7;2219:12;2233:7;2256:9;:16;2276:2;2256:22;2252:637;;2592:4;2577:20;;2571:27;2641:4;2626:20;;2620:27;2698:4;2683:20;;2677:27;2294:9;2669:36;2739:25;2750:4;2669:36;2571:27;2620;2739:10;:25::i;:::-;2732:32;;;;;;;;;;;2252:637;-1:-1:-1;;2860:16:33;;2811:1;;-1:-1:-1;2815:35:33;;2252:637;2129:766;;;;;:::o;1813:458:36:-;1956:4;1973:12;1987:19;2010:6;-1:-1:-1;;;;;2010:17:36;2084:4;2090:9;2041:60;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2041:60:36;;;;;;;;;;;;;;;;;;;;2010:101;;;2041:60;2010:101;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1972:139;;;;2129:7;:42;;;;;2169:2;2152:6;:13;:19;;2129:42;:134;;;;-1:-1:-1;2187:29:36;;2228:34;;2187:29;;;;;;;;;;;;:::i;:::-;:76;;1813:458;-1:-1:-1;;;;;;1813:458:36:o;2429:705:4:-;2624:7;2643:14;2660:61;2676:10;2688:7;2697;2706:6;2714;2660:15;:61::i;:::-;2736:30;;;;:18;:30;;;;;;2643:78;;-1:-1:-1;2736:30:4;;:35;:65;;;;;2775:26;2790:10;2775:14;:26::i;:::-;2732:372;;;2817:23;2853:25;3440:14;;;;;3351:110;2853:25;2843:7;:5;:7::i;:::-;:35;;;;:::i;:::-;2817:61;;2916:28;2933:10;2916:16;:28::i;:::-;2897:16;:47;;;2893:137;;;2969:46;;11120:14:147;11108:27;;11090:46;;2986:10:4;;2969:46;;11078:2:147;11063:18;2969:46:4;;;;;;;2893:137;3044:30;;;;:18;:30;;;;;:49;;;;;;;;;;;;;;;3121:6;2429:705;-1:-1:-1;;;;;;2429:705:4:o;8587:1642:39:-;8635:7;8658:1;8663;8658:6;8654:45;;-1:-1:-1;8687:1:39;;8587:1642;-1:-1:-1;8587:1642:39:o;8654:45::-;9378:14;9412:1;9401:7;9406:1;9401:4;:7::i;:::-;:12;;9395:1;:19;;9378:36;;9873:1;9862:6;9858:1;:10;;;;;:::i;:::-;;9849:6;:19;9848:26;;9839:35;;9922:1;9911:6;9907:1;:10;;;;;:::i;:::-;;9898:6;:19;9897:26;;9888:35;;9971:1;9960:6;9956:1;:10;;;;;:::i;:::-;;9947:6;:19;9946:26;;9937:35;;10020:1;10009:6;10005:1;:10;;;;;:::i;:::-;;9996:6;:19;9995:26;;9986:35;;10069:1;10058:6;10054:1;:10;;;;;:::i;:::-;;10045:6;:19;10044:26;;10035:35;;10118:1;10107:6;10103:1;:10;;;;;:::i;:::-;;10094:6;:19;10093:26;;10084:35;;10167:1;10156:6;10152:1;:10;;;;;:::i;:::-;;10143:6;:19;10142:26;;10133:35;;10189:23;10193:6;10205;10201:1;:10;;;;;:::i;:::-;;10189:3;:23::i;12736:433:42:-;12893:7;12912:230;12925:4;12919:3;:10;12912:230;;;12945:11;12959:23;12972:3;12977:4;12959:12;:23::i;:::-;14209:28;14272:20;;;14337:4;14324:18;;12945:37;;-1:-1:-1;13000:35:42;;;;14320:28;;13000:29;;;:35;12996:136;;;13062:3;13055:10;;12996:136;;;13110:7;:3;13116:1;13110:7;:::i;:::-;13104:13;;12996:136;12931:211;12912:230;;;-1:-1:-1;13158:4:42;12736:433;-1:-1:-1;;;12736:433:42:o;30232:593:2:-;30290:4;;30323:11;;;;30396:2;:6;-1:-1:-1;30396:16:2;;;;;30410:2;30406:1;:6;;;30396:16;30392:417;;;30440:4;;30446:6;;;;;-1:-1:-1;30232:593:2;-1:-1:-1;;30232:593:2:o;30392:417::-;30519:1;30514:6;;:2;:6;:16;;;;;30528:2;30524:1;:6;;;30514:16;30510:299;;;30558:4;;30564:6;;;;;-1:-1:-1;30232:593:2;-1:-1:-1;;30232:593:2:o;30510:299::-;30637:1;30632:6;;:2;:6;:17;;;;;30646:3;30642:1;:7;;;30632:17;30628:181;;;30677:4;;30683:6;;;;;-1:-1:-1;30232:593:2;-1:-1:-1;;30232:593:2:o;30628:181::-;-1:-1:-1;30785:5:2;;;;-1:-1:-1;30232:593:2;-1:-1:-1;;30232:593:2:o;1017:638:6:-;1238:7;1257:18;1278:65;1293:7;1302:6;1310:9;1321:11;1334:8;1278:14;:65::i;:::-;1371:12;:29;;;;;;;-1:-1:-1;1371:29:6;;;;;;;;1441:179;;;;;;;;;;;1371:29;1441:179;;;;;;;;;;;;1580:29;;;;;;1441:179;;;;1410:28;;;:16;:28;;;;;;:210;;;;1257:86;;-1:-1:-1;1441:179:6;;1410:28;;:210;;:28;;:210;;;;:::i;:::-;-1:-1:-1;1410:210:6;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1410:210:6;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1410:210:6;;;;;;;;;;;1638:10;1017:638;-1:-1:-1;;;;;;1017:638:6:o;4059:629:24:-;4478:23;4504:33;-1:-1:-1;;;;;4504:27:24;;4532:4;4504:27;:33::i;:::-;4478:59;;4551:10;:17;4572:1;4551:22;;:57;;;;;4589:10;4578:30;;;;;;;;;;;;:::i;:::-;4577:31;4551:57;4547:135;;;4631:40;;;;;-1:-1:-1;;;;;1889:55:147;;4631:40:24;;;1871:74:147;1844:18;;4631:40:24;1725:226:147;3385:267:30;3479:13;1390:66;3508:46;;3504:142;;3577:15;3586:5;3577:8;:15::i;:::-;3570:22;;;;3504:142;3630:5;3623:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7525:178:2;7600:7;7661:22;;;:10;:22;;;;;:35;7626:70;;7661:35;;;;;;7626:32;;;;;:70;:::i;:::-;7619:77;;;7525:178;-1:-1:-1;;7525:178:2:o;2382:104:39:-;2440:7;2470:1;2466;:5;:13;;2478:1;2466:13;;;-1:-1:-1;2474:1:39;;2382:104;-1:-1:-1;2382:104:39:o;5743:516:26:-;5874:17;;:21;5870:383;;6102:10;6096:17;6158:15;6145:10;6141:2;6137:19;6130:44;5870:383;6225:17;;;;;;;;;;;;;;11513:870:42;11646:11;;11604:7;;;;11672;;11668:709;;11747:25;11775:28;11789:4;11795:7;11801:1;11795:3;:7;:::i;11775:28::-;11747:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11877:15:42;;;-1:-1:-1;11873:91:42;;;11919:30;;;;;;;;;;;;;;11873:91;12027:9;;:16;;;;;;;12023:189;;12101:5;12063:28;12077:4;12083:7;12089:1;12083:3;:7;:::i;12063:28::-;:43;;;;;;;;;;;;;;;;;;;12023:189;;;12155:41;;;;;;;;;;;;;;;;;;;;;;;;;;12145:52;;;;;;;-1:-1:-1;12145:52:42;;;;;;;;;;;;;;;;;;;;;;;;;12023:189;12233:11;;;;-1:-1:-1;12246:5:42;;-1:-1:-1;12225:27:42;;-1:-1:-1;12225:27:42;11668:709;-1:-1:-1;;12293:41:42;;;;;;;;;;;;;;;;;;;;;;;;;;12283:52;;;;;;;-1:-1:-1;12283:52:42;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12327:5:42;12349:17;;109:1046:120;157:7;180:1;185;180:6;176:20;;-1:-1:-1;195:1:120;;109:1046;-1:-1:-1;109:1046:120:o;176:20::-;220:1;243;264:35;258:41;;254:104;;322:3;315:10;;;;;345:2;339:8;254:104;377:19;371:2;:25;367:87;;419:2;412:9;;;;;441:2;435:8;367:87;473:11;467:2;:17;463:79;;507:2;500:9;;;;;529:2;523:8;463:79;561:7;555:2;:13;551:74;;591:2;584:9;;;;;613:1;607:7;551:74;644:5;638:2;:11;634:71;;672:1;665:8;;;;;693:1;687:7;634:71;724:4;718:2;:10;714:70;;751:1;744:8;;;;;772:1;766:7;714:70;803:3;797:2;:9;793:47;;828:1;822:7;793:47;868:1;858:5;862:1;858;:5;:::i;:::-;854:9;;:1;:9;:::i;:::-;853:16;;;-1:-1:-1;898:1:120;888:5;853:16;888:1;:5;:::i;:::-;884:9;;:1;:9;:::i;:::-;883:16;;;-1:-1:-1;928:1:120;918:5;883:16;918:1;:5;:::i;:::-;914:9;;:1;:9;:::i;:::-;913:16;;;-1:-1:-1;958:1:120;948:5;913:16;948:1;:5;:::i;:::-;944:9;;:1;:9;:::i;:::-;943:16;;;-1:-1:-1;988:1:120;978:5;943:16;978:1;:5;:::i;:::-;974:9;;:1;:9;:::i;:::-;973:16;;;-1:-1:-1;1018:1:120;1008:5;973:16;1008:1;:5;:::i;:::-;1004:9;;:1;:9;:::i;:::-;1003:16;;;-1:-1:-1;1048:1:120;1038:5;1003:16;1038:1;:5;:::i;:::-;1034:9;;:1;:9;:::i;:::-;1033:16;;;-1:-1:-1;1096:10:120;1109:5;1033:16;1109:1;:5;:::i;:::-;1096:18;;1136:2;1132:1;:6;:15;;1145:2;1132:15;;5140:1530:33;5266:7;;;6199:66;6186:79;;6182:164;;;-1:-1:-1;6297:1:33;;-1:-1:-1;6301:30:33;;-1:-1:-1;6333:1:33;6281:54;;6182:164;6457:24;;;6440:14;6457:24;;;;;;;;;34531:25:147;;;34604:4;34592:17;;34572:18;;;34565:45;;;;34626:18;;;34619:34;;;34669:18;;;34662:34;;;6457:24:33;;34503:19:147;;6457:24:33;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6457:24:33;;-1:-1:-1;;6457:24:33;;;-1:-1:-1;;;;;;;6495:20:33;;6491:113;;-1:-1:-1;6547:1:33;;-1:-1:-1;6551:29:33;;-1:-1:-1;6547:1:33;;-1:-1:-1;6531:62:33;;6491:113;6622:6;-1:-1:-1;6630:20:33;;-1:-1:-1;6630:20:33;;-1:-1:-1;5140:1530:33;;;;;;;;;:::o;22832:686:2:-;23018:7;23037:74;23058:10;23070:40;23089:20;23070:18;:40::i;23037:74::-;-1:-1:-1;23122:14:2;7418:22;;;:10;:22;;;;;:32;23139:56;;23149:7;;7418:32;;;;;23188:6;23139:9;:56::i;:::-;23122:73;;23205:56;23216:10;23228:7;23237;23246:6;23254;23205:10;:56::i;:::-;23276:6;:13;23293:1;23276:18;23272:216;;23324:7;-1:-1:-1;;;;;23315:54:2;;23333:10;23345:7;23354:6;23362;23315:54;;;;;;;;;:::i;:::-;;;;;;;;23272:216;;;23424:7;-1:-1:-1;;;;;23405:72:2;;23433:10;23445:7;23454:6;23462;23470;23405:72;;;;;;;;;;:::i;:::-;;;;;;;;23505:6;22832:686;-1:-1:-1;;;;;;22832:686:2:o;10699:983:39:-;10751:7;;10835:3;10826:12;;;:16;10822:99;;10872:3;10862:13;;;;10893;10822:99;10947:2;10938:11;;;:15;10934:96;;10983:2;10973:12;;;;11003;10934:96;11056:2;11047:11;;;:15;11043:96;;11092:2;11082:12;;;;11112;11043:96;11165:2;11156:11;;;:15;11152:96;;11201:2;11191:12;;;;11221;11152:96;11274:1;11265:10;;;:14;11261:93;;11309:1;11299:11;;;;11328;11261:93;11380:1;11371:10;;;:14;11367:93;;11415:1;11405:11;;;;11434;11367:93;11486:1;11477:10;;;:14;11473:93;;11521:1;11511:11;;;;11540;11473:93;11592:1;11583:10;;;:14;11579:64;;11627:1;11617:11;11669:6;10699:983;-1:-1:-1;;10699:983:39:o;2557:104::-;2615:7;2645:1;2641;:5;:13;;2653:1;2641:13;;2774:153;2836:7;2909:11;2919:1;2910:5;;;2909:11;:::i;:::-;2899:21;;2900:5;;;2899:21;:::i;11520:1373:2:-;11732:18;11775:71;11788:7;11797:6;11805:9;11832:11;11816:29;;;;;;11775:12;:71::i;:::-;11762:84;;11879:6;:13;11861:7;:14;:31;;:69;;;;11914:9;:16;11896:7;:14;:34;;11861:69;:92;;;-1:-1:-1;11934:14:2;;:19;11861:92;11857:208;;;12006:14;;12022:16;;12040:13;;11976:78;;;;;;;;12890:25:147;;;;12931:18;;;12924:34;;;;12974:18;;;12967:34;12863:18;;11976:78:2;12688:319:147;11857:208:2;12078:22;;;;:10;:22;;;;;:32;;;;;;:37;12074:149;;12170:10;12182:17;12188:10;12182:5;:17::i;:::-;12138:74;;;;;;;;;12209:1;;12138:74;;;:::i;12074:149::-;12233:16;12262:13;1289:12:5;;;;;1202:106;12262:13:2;12252:7;:5;:7::i;:::-;:23;;;;;;:::i;:::-;12233:42;;12285:16;12304:14;1460:13:5;;;;;;;;;1372:108;12304:14:2;12329:29;12361:22;;;:10;:22;;;;;12393:28;;;;-1:-1:-1;;;;;12393:28:2;;;;;12285:33;;-1:-1:-1;12452:27:2;12470:8;12452:17;:27::i;:::-;12431:48;;;;;;;;;;;;;;;;12513:27;12531:8;12513:17;:27::i;:::-;12489:51;;;;;;;;;;;;;;;;12685:14;;12556:257;;12585:10;;12609:8;;12631:7;;12652:6;;12672:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12714:9:2;12737:8;12759:19;12770:8;12737;12759:19;:::i;:::-;12792:11;12556:257;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11752:1141;;;11520:1373;;;;;;;:::o;2705:151:26:-;2780:12;2811:38;2833:6;2841:4;2847:1;2811:21;:38::i;2078:405:30:-;2137:13;2162:11;2176:16;2187:4;2176:10;:16::i;:::-;2300:14;;;2311:2;2300:14;;;;;;;;;2162:30;;-1:-1:-1;2280:17:30;;2300:14;;;;;;;;;-1:-1:-1;;;2390:16:30;;;-1:-1:-1;2435:4:30;2426:14;;2419:28;;;;-1:-1:-1;2390:16:30;2078:405::o;1915:696:104:-;2109:33;2145:26;;;:14;:26;;;;;;;;-1:-1:-1;;;;;2186:27:104;;;;:18;;;:27;;;;;;;;;:31;2182:101;;2240:32;;;;;-1:-1:-1;;;;;1889:55:147;;2240:32:104;;;1871:74:147;1844:18;;2240:32:104;1725:226:147;2182:101:104;2322:11;:7;2332:1;2322:11;:::i;:::-;-1:-1:-1;;;;;2292:27:104;;;;;;:18;;;:27;;;;;:41;;;;;;;;;;;2348:34;;2344:261;;2427:6;2398:12;:25;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;2344:261:104;;-1:-1:-1;2344:261:104;;-1:-1:-1;;2454:30:104;;;;2450:155;;2525:6;2500:12;:21;;;:31;;;;;;;:::i;2450:155::-;2569:25;;;;;;;;;;;;;;15291:213:40;15347:6;15377:16;15369:24;;15365:103;;;15416:41;;;;;15447:2;15416:41;;;31367:36:147;31419:18;;;31412:34;;;31340:18;;15416:41:40;31186:266:147;3180:392:26;3279:12;3331:5;3307:21;:29;3303:108;;;3359:41;;;;;3394:4;3359:41;;;1871:74:147;1844:18;;3359:41:26;1725:226:147;3303:108:26;3421:12;3435:23;3462:6;-1:-1:-1;;;;;3462:11:26;3481:5;3488:4;3462:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3420:73;;;;3510:55;3537:6;3545:7;3554:10;3510:26;:55::i;2555:245:30:-;2616:7;2688:4;2652:40;;2715:2;2706:11;;2702:69;;;2740:20;;;;;;;;;;;;;;4625:582:26;4769:12;4798:7;4793:408;;4821:19;4829:10;4821:7;:19::i;:::-;4793:408;;;5045:17;;:22;:49;;;;-1:-1:-1;;;;;;5071:18:26;;;:23;5045:49;5041:119;;;5121:24;;;;;-1:-1:-1;;;;;1889:55:147;;5121:24:26;;;1871:74:147;1844:18;;5121:24:26;1725:226:147;5041:119:26;-1:-1:-1;5180:10:26;5173:17;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;14:332:147:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;725:180;784:6;837:2;825:9;816:7;812:23;808:32;805:52;;;853:1;850;843:12;805:52;-1:-1:-1;876:23:147;;725:180;-1:-1:-1;725:180:147:o;910:250::-;995:1;1005:113;1019:6;1016:1;1013:13;1005:113;;;1095:11;;;1089:18;1076:11;;;1069:39;1041:2;1034:10;1005:113;;;-1:-1:-1;;1152:1:147;1134:16;;1127:27;910:250::o;1165:330::-;1207:3;1245:5;1239:12;1272:6;1267:3;1260:19;1288:76;1357:6;1350:4;1345:3;1341:14;1334:4;1327:5;1323:16;1288:76;:::i;:::-;1409:2;1397:15;-1:-1:-1;;1393:88:147;1384:98;;;;1484:4;1380:109;;1165:330;-1:-1:-1;;1165:330:147:o;1500:220::-;1649:2;1638:9;1631:21;1612:4;1669:45;1710:2;1699:9;1695:18;1687:6;1669:45;:::i;1956:196::-;2024:20;;-1:-1:-1;;;;;2073:54:147;;2063:65;;2053:93;;2142:1;2139;2132:12;2157:184;2209:77;2206:1;2199:88;2306:4;2303:1;2296:15;2330:4;2327:1;2320:15;2346:334;2417:2;2411:9;2473:2;2463:13;;-1:-1:-1;;2459:86:147;2447:99;;2576:18;2561:34;;2597:22;;;2558:62;2555:88;;;2623:18;;:::i;:::-;2659:2;2652:22;2346:334;;-1:-1:-1;2346:334:147:o;2685:245::-;2733:4;2766:18;2758:6;2755:30;2752:56;;;2788:18;;:::i;:::-;-1:-1:-1;2845:2:147;2833:15;-1:-1:-1;;2829:88:147;2919:4;2825:99;;2685:245::o;2935:336::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;:::-;3028:52;:::i;:::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3209:6;3204:3;3197:4;3190:5;3186:16;3173:43;3263:1;3256:4;3247:6;3240:5;3236:18;3232:29;3225:40;2935:336;;;;;:::o;3276:220::-;3318:5;3371:3;3364:4;3356:6;3352:17;3348:27;3338:55;;3389:1;3386;3379:12;3338:55;3411:79;3486:3;3477:6;3464:20;3457:4;3449:6;3445:17;3411:79;:::i;3501:537::-;3596:6;3604;3612;3620;3673:3;3661:9;3652:7;3648:23;3644:33;3641:53;;;3690:1;3687;3680:12;3641:53;3713:29;3732:9;3713:29;:::i;:::-;3703:39;;3761:38;3795:2;3784:9;3780:18;3761:38;:::i;:::-;3751:48;;3846:2;3835:9;3831:18;3818:32;3808:42;;3901:2;3890:9;3886:18;3873:32;3928:18;3920:6;3917:30;3914:50;;;3960:1;3957;3950:12;3914:50;3983:49;4024:7;4015:6;4004:9;4000:22;3983:49;:::i;:::-;3973:59;;;3501:537;;;;;;;:::o;4296:183::-;4356:4;4389:18;4381:6;4378:30;4375:56;;;4411:18;;:::i;:::-;-1:-1:-1;4456:1:147;4452:14;4468:4;4448:25;;4296:183::o;4484:668::-;4538:5;4591:3;4584:4;4576:6;4572:17;4568:27;4558:55;;4609:1;4606;4599:12;4558:55;4645:6;4632:20;4671:4;4695:60;4711:43;4751:2;4711:43;:::i;4695:60::-;4789:15;;;4875:1;4871:10;;;;4859:23;;4855:32;;;4820:12;;;;4899:15;;;4896:35;;;4927:1;4924;4917:12;4896:35;4963:2;4955:6;4951:15;4975:148;4991:6;4986:3;4983:15;4975:148;;;5057:23;5076:3;5057:23;:::i;:::-;5045:36;;5101:12;;;;5008;;4975:148;;;-1:-1:-1;5141:5:147;4484:668;-1:-1:-1;;;;;;4484:668:147:o;5157:662::-;5211:5;5264:3;5257:4;5249:6;5245:17;5241:27;5231:55;;5282:1;5279;5272:12;5231:55;5318:6;5305:20;5344:4;5368:60;5384:43;5424:2;5384:43;:::i;5368:60::-;5462:15;;;5548:1;5544:10;;;;5532:23;;5528:32;;;5493:12;;;;5572:15;;;5569:35;;;5600:1;5597;5590:12;5569:35;5636:2;5628:6;5624:15;5648:142;5664:6;5659:3;5656:15;5648:142;;;5730:17;;5718:30;;5768:12;;;;5681;;5648:142;;5824:886;5876:5;5929:3;5922:4;5914:6;5910:17;5906:27;5896:55;;5947:1;5944;5937:12;5896:55;5983:6;5970:20;6009:4;6033:60;6049:43;6089:2;6049:43;:::i;6033:60::-;6127:15;;;6213:1;6209:10;;;;6197:23;;6193:32;;;6158:12;;;;6237:15;;;6234:35;;;6265:1;6262;6255:12;6234:35;6301:2;6293:6;6289:15;6313:368;6329:6;6324:3;6321:15;6313:368;;;6415:3;6402:17;6451:18;6438:11;6435:35;6432:125;;;6511:1;6540:2;6536;6529:14;6432:125;6582:56;6634:3;6629:2;6615:11;6607:6;6603:24;6599:33;6582:56;:::i;:::-;6570:69;;-1:-1:-1;6659:12:147;;;;6346;;6313:368;;6715:897;6885:6;6893;6901;6909;6962:3;6950:9;6941:7;6937:23;6933:33;6930:53;;;6979:1;6976;6969:12;6930:53;7019:9;7006:23;7048:18;7089:2;7081:6;7078:14;7075:34;;;7105:1;7102;7095:12;7075:34;7128:61;7181:7;7172:6;7161:9;7157:22;7128:61;:::i;:::-;7118:71;;7242:2;7231:9;7227:18;7214:32;7198:48;;7271:2;7261:8;7258:16;7255:36;;;7287:1;7284;7277:12;7255:36;7310:63;7365:7;7354:8;7343:9;7339:24;7310:63;:::i;:::-;7300:73;;7426:2;7415:9;7411:18;7398:32;7382:48;;7455:2;7445:8;7442:16;7439:36;;;7471:1;7468;7461:12;7439:36;;7494:61;7547:7;7536:8;7525:9;7521:24;7494:61;:::i;:::-;6715:897;;;;-1:-1:-1;7484:71:147;;7602:2;7587:18;7574:32;;-1:-1:-1;;;6715:897:147:o;7617:484::-;7670:3;7708:5;7702:12;7735:6;7730:3;7723:19;7761:4;7790:2;7785:3;7781:12;7774:19;;7827:2;7820:5;7816:14;7848:1;7858:218;7872:6;7869:1;7866:13;7858:218;;;7937:13;;-1:-1:-1;;;;;7933:62:147;7921:75;;8016:12;;;;8051:15;;;;7894:1;7887:9;7858:218;;;-1:-1:-1;8092:3:147;;7617:484;-1:-1:-1;;;;;7617:484:147:o;8106:435::-;8159:3;8197:5;8191:12;8224:6;8219:3;8212:19;8250:4;8279:2;8274:3;8270:12;8263:19;;8316:2;8309:5;8305:14;8337:1;8347:169;8361:6;8358:1;8355:13;8347:169;;;8422:13;;8410:26;;8456:12;;;;8491:15;;;;8383:1;8376:9;8347:169;;8546:615;8597:3;8635:5;8629:12;8662:6;8657:3;8650:19;8688:4;8729:2;8724:3;8720:12;8754:11;8781;8774:18;;8831:6;8828:1;8824:14;8817:5;8813:26;8801:38;;8873:2;8866:5;8862:14;8894:1;8904:231;8918:6;8915:1;8912:13;8904:231;;;8989:5;8983:4;8979:16;8974:3;8967:29;9017:38;9050:4;9041:6;9035:13;9017:38;:::i;:::-;9113:12;;;;9009:46;-1:-1:-1;9078:15:147;;;;8940:1;8933:9;8904:231;;;-1:-1:-1;9151:4:147;;8546:615;-1:-1:-1;;;;;;;8546:615:147:o;9166:758::-;9547:3;9536:9;9529:22;9510:4;9574:57;9626:3;9615:9;9611:19;9603:6;9574:57;:::i;:::-;9679:9;9671:6;9667:22;9662:2;9651:9;9647:18;9640:50;9713:44;9750:6;9742;9713:44;:::i;:::-;9699:58;;9805:9;9797:6;9793:22;9788:2;9777:9;9773:18;9766:50;9833:42;9868:6;9860;9833:42;:::i;:::-;9825:50;;;9911:6;9906:2;9895:9;9891:18;9884:34;9166:758;;;;;;;:::o;9929:830::-;10338:6;10327:9;10320:25;10381:3;10376:2;10365:9;10361:18;10354:31;10301:4;10408:57;10460:3;10449:9;10445:19;10437:6;10408:57;:::i;:::-;10513:9;10505:6;10501:22;10496:2;10485:9;10481:18;10474:50;10547:44;10584:6;10576;10547:44;:::i;:::-;10533:58;;10639:9;10631:6;10627:22;10622:2;10611:9;10607:18;10600:50;10667:42;10702:6;10694;10667:42;:::i;:::-;10659:50;;;10746:6;10740:3;10729:9;10725:19;10718:35;9929:830;;;;;;;;:::o;11147:125::-;11232:14;11225:5;11221:26;11214:5;11211:37;11201:65;;11262:1;11259;11252:12;11277:245;11335:6;11388:2;11376:9;11367:7;11363:23;11359:32;11356:52;;;11404:1;11401;11394:12;11356:52;11443:9;11430:23;11462:30;11486:5;11462:30;:::i;11527:184::-;11579:77;11576:1;11569:88;11676:4;11673:1;11666:15;11700:4;11697:1;11690:15;11716:298;11801:1;11794:5;11791:12;11781:200;;11837:77;11834:1;11827:88;11938:4;11935:1;11928:15;11966:4;11963:1;11956:15;11781:200;11990:18;;11716:298::o;12019:216::-;12169:2;12154:18;;12181:48;12158:9;12211:6;12181:48;:::i;12240:254::-;12308:6;12316;12369:2;12357:9;12348:7;12344:23;12340:32;12337:52;;;12385:1;12382;12375:12;12337:52;12421:9;12408:23;12398:33;;12450:38;12484:2;12473:9;12469:18;12450:38;:::i;:::-;12440:48;;12240:254;;;;;:::o;13012:156::-;13078:20;;13138:4;13127:16;;13117:27;;13107:55;;13158:1;13155;13148:12;13173:250;13239:6;13247;13300:2;13288:9;13279:7;13275:23;13271:32;13268:52;;;13316:1;13313;13306:12;13268:52;13352:9;13339:23;13329:33;;13381:36;13413:2;13402:9;13398:18;13381:36;:::i;13428:348::-;13480:8;13490:6;13544:3;13537:4;13529:6;13525:17;13521:27;13511:55;;13562:1;13559;13552:12;13511:55;-1:-1:-1;13585:20:147;;13628:18;13617:30;;13614:50;;;13660:1;13657;13650:12;13614:50;13697:4;13689:6;13685:17;13673:29;;13749:3;13742:4;13733:6;13725;13721:19;13717:30;13714:39;13711:59;;;13766:1;13763;13756:12;13711:59;13428:348;;;;;:::o;13781:1043::-;13913:6;13921;13929;13937;13945;13953;13961;14014:3;14002:9;13993:7;13989:23;13985:33;13982:53;;;14031:1;14028;14021:12;13982:53;14067:9;14054:23;14044:33;;14096:36;14128:2;14117:9;14113:18;14096:36;:::i;:::-;14086:46;;14151:38;14185:2;14174:9;14170:18;14151:38;:::i;:::-;14141:48;;14240:2;14229:9;14225:18;14212:32;14263:18;14304:2;14296:6;14293:14;14290:34;;;14320:1;14317;14310:12;14290:34;14359:59;14410:7;14401:6;14390:9;14386:22;14359:59;:::i;:::-;14437:8;;-1:-1:-1;14333:85:147;-1:-1:-1;14525:3:147;14510:19;;14497:33;;-1:-1:-1;14542:16:147;;;14539:36;;;14571:1;14568;14561:12;14539:36;14594:51;14637:7;14626:8;14615:9;14611:24;14594:51;:::i;:::-;14584:61;;14698:3;14687:9;14683:19;14670:33;14654:49;;14728:2;14718:8;14715:16;14712:36;;;14744:1;14741;14734:12;14712:36;;14767:51;14810:7;14799:8;14788:9;14784:24;14767:51;:::i;:::-;14757:61;;;13781:1043;;;;;;;;;;:::o;14829:769::-;14934:6;14942;14950;14958;14966;15019:3;15007:9;14998:7;14994:23;14990:33;14987:53;;;15036:1;15033;15026:12;14987:53;15072:9;15059:23;15049:33;;15101:36;15133:2;15122:9;15118:18;15101:36;:::i;:::-;15091:46;;15188:2;15177:9;15173:18;15160:32;15211:18;15252:2;15244:6;15241:14;15238:34;;;15268:1;15265;15258:12;15238:34;15307:59;15358:7;15349:6;15338:9;15334:22;15307:59;:::i;:::-;15385:8;;-1:-1:-1;15281:85:147;-1:-1:-1;15473:2:147;15458:18;;15445:32;;-1:-1:-1;15489:16:147;;;15486:36;;;15518:1;15515;15508:12;15486:36;;15541:51;15584:7;15573:8;15562:9;15558:24;15541:51;:::i;:::-;15531:61;;;14829:769;;;;;;;;:::o;15603:549::-;15690:6;15698;15706;15714;15767:2;15755:9;15746:7;15742:23;15738:32;15735:52;;;15783:1;15780;15773:12;15735:52;15819:9;15806:23;15796:33;;15848:36;15880:2;15869:9;15865:18;15848:36;:::i;:::-;15838:46;;15935:2;15924:9;15920:18;15907:32;15962:18;15954:6;15951:30;15948:50;;;15994:1;15991;15984:12;15948:50;16033:59;16084:7;16075:6;16064:9;16060:22;16033:59;:::i;:::-;15603:549;;;;-1:-1:-1;16111:8:147;-1:-1:-1;;;;15603:549:147:o;16157:1157::-;16337:6;16345;16353;16361;16414:3;16402:9;16393:7;16389:23;16385:33;16382:53;;;16431:1;16428;16421:12;16382:53;16471:9;16458:23;16500:18;16541:2;16533:6;16530:14;16527:34;;;16557:1;16554;16547:12;16527:34;16580:61;16633:7;16624:6;16613:9;16609:22;16580:61;:::i;:::-;16570:71;;16694:2;16683:9;16679:18;16666:32;16650:48;;16723:2;16713:8;16710:16;16707:36;;;16739:1;16736;16729:12;16707:36;16762:63;16817:7;16806:8;16795:9;16791:24;16762:63;:::i;:::-;16752:73;;16878:2;16867:9;16863:18;16850:32;16834:48;;16907:2;16897:8;16894:16;16891:36;;;16923:1;16920;16913:12;16891:36;16946:61;16999:7;16988:8;16977:9;16973:24;16946:61;:::i;:::-;16936:71;;17060:2;17049:9;17045:18;17032:32;17016:48;;17089:2;17079:8;17076:16;17073:36;;;17105:1;17102;17095:12;17073:36;-1:-1:-1;17128:24:147;;17183:4;17175:13;;17171:27;-1:-1:-1;17161:55:147;;17212:1;17209;17202:12;17161:55;17235:73;17300:7;17295:2;17282:16;17277:2;17273;17269:11;17235:73;:::i;17319:186::-;17378:6;17431:2;17419:9;17410:7;17406:23;17402:32;17399:52;;;17447:1;17444;17437:12;17399:52;17470:29;17489:9;17470:29;:::i;17510:996::-;17907:66;17899:6;17895:79;17884:9;17877:98;18011:3;18006:2;17995:9;17991:18;17984:31;17858:4;18038:46;18079:3;18068:9;18064:19;18056:6;18038:46;:::i;:::-;18132:9;18124:6;18120:22;18115:2;18104:9;18100:18;18093:50;18166:33;18192:6;18184;18166:33;:::i;:::-;18152:47;;18235:6;18230:2;18219:9;18215:18;18208:34;-1:-1:-1;;;;;18283:6:147;18279:55;18273:3;18262:9;18258:19;18251:84;18372:6;18366:3;18355:9;18351:19;18344:35;18428:9;18420:6;18416:22;18410:3;18399:9;18395:19;18388:51;18456:44;18493:6;18485;18456:44;:::i;:::-;18448:52;17510:996;-1:-1:-1;;;;;;;;;;17510:996:147:o;18511:533::-;18604:6;18612;18620;18628;18681:3;18669:9;18660:7;18656:23;18652:33;18649:53;;;18698:1;18695;18688:12;18649:53;18734:9;18721:23;18711:33;;18763:36;18795:2;18784:9;18780:18;18763:36;:::i;:::-;18753:46;;18818:38;18852:2;18841:9;18837:18;18818:38;:::i;:::-;18808:48;;18907:2;18896:9;18892:18;18879:32;18934:18;18926:6;18923:30;18920:50;;;18966:1;18963;18956:12;19049:462;19135:6;19143;19151;19204:2;19192:9;19183:7;19179:23;19175:32;19172:52;;;19220:1;19217;19210:12;19172:52;19243:29;19262:9;19243:29;:::i;:::-;19233:39;;19319:2;19308:9;19304:18;19291:32;19281:42;;19374:2;19363:9;19359:18;19346:32;19401:18;19393:6;19390:30;19387:50;;;19433:1;19430;19423:12;19387:50;19456:49;19497:7;19488:6;19477:9;19473:22;19456:49;:::i;:::-;19446:59;;;19049:462;;;;;:::o;19516:943::-;19670:6;19678;19686;19694;19702;19755:3;19743:9;19734:7;19730:23;19726:33;19723:53;;;19772:1;19769;19762:12;19723:53;19795:29;19814:9;19795:29;:::i;:::-;19785:39;;19843:38;19877:2;19866:9;19862:18;19843:38;:::i;:::-;19833:48;;19932:2;19921:9;19917:18;19904:32;19955:18;19996:2;19988:6;19985:14;19982:34;;;20012:1;20009;20002:12;19982:34;20035:61;20088:7;20079:6;20068:9;20064:22;20035:61;:::i;:::-;20025:71;;20149:2;20138:9;20134:18;20121:32;20105:48;;20178:2;20168:8;20165:16;20162:36;;;20194:1;20191;20184:12;20162:36;20217:63;20272:7;20261:8;20250:9;20246:24;20217:63;:::i;:::-;20207:73;;20333:3;20322:9;20318:19;20305:33;20289:49;;20363:2;20353:8;20350:16;20347:36;;;20379:1;20376;20369:12;20464:552;20552:6;20560;20568;20576;20629:2;20617:9;20608:7;20604:23;20600:32;20597:52;;;20645:1;20642;20635:12;20597:52;20668:29;20687:9;20668:29;:::i;:::-;20658:39;;20744:2;20733:9;20729:18;20716:32;20706:42;;20799:2;20788:9;20784:18;20771:32;20826:18;20818:6;20815:30;20812:50;;;20858:1;20855;20848:12;21021:276;21079:6;21132:2;21120:9;21111:7;21107:23;21103:32;21100:52;;;21148:1;21145;21138:12;21100:52;21187:9;21174:23;21237:10;21230:5;21226:22;21219:5;21216:33;21206:61;;21263:1;21260;21253:12;21302:254;21370:6;21378;21431:2;21419:9;21410:7;21406:23;21402:32;21399:52;;;21447:1;21444;21437:12;21399:52;21470:29;21489:9;21470:29;:::i;:::-;21460:39;21546:2;21531:18;;;;21518:32;;-1:-1:-1;;;21302:254:147:o;21561:606::-;21665:6;21673;21681;21689;21697;21750:3;21738:9;21729:7;21725:23;21721:33;21718:53;;;21767:1;21764;21757:12;21718:53;21790:29;21809:9;21790:29;:::i;:::-;21780:39;;21838:38;21872:2;21861:9;21857:18;21838:38;:::i;:::-;21828:48;;21923:2;21912:9;21908:18;21895:32;21885:42;;21974:2;21963:9;21959:18;21946:32;21936:42;;22029:3;22018:9;22014:19;22001:33;22057:18;22049:6;22046:30;22043:50;;;22089:1;22086;22079:12;22043:50;22112:49;22153:7;22144:6;22133:9;22129:22;22112:49;:::i;22420:437::-;22499:1;22495:12;;;;22542;;;22563:61;;22617:4;22609:6;22605:17;22595:27;;22563:61;22670:2;22662:6;22659:14;22639:18;22636:38;22633:218;;22707:77;22704:1;22697:88;22808:4;22805:1;22798:15;22836:4;22833:1;22826:15;22633:218;;22420:437;;;:::o;23135:184::-;23187:77;23184:1;23177:88;23284:4;23281:1;23274:15;23308:4;23305:1;23298:15;23324:184;23376:77;23373:1;23366:88;23473:4;23470:1;23463:15;23497:4;23494:1;23487:15;23513:195;23552:3;-1:-1:-1;;23576:5:147;23573:77;23570:103;;23653:18;;:::i;:::-;-1:-1:-1;23700:1:147;23689:13;;23513:195::o;23713:184::-;23783:6;23836:2;23824:9;23815:7;23811:23;23807:32;23804:52;;;23852:1;23849;23842:12;23804:52;-1:-1:-1;23875:16:147;;23713:184;-1:-1:-1;23713:184:147:o;23902:::-;23954:77;23951:1;23944:88;24051:4;24048:1;24041:15;24075:4;24072:1;24065:15;24091:274;24131:1;24157;24147:189;;24192:77;24189:1;24182:88;24293:4;24290:1;24283:15;24321:4;24318:1;24311:15;24147:189;-1:-1:-1;24350:9:147;;24091:274::o;24370:648::-;24450:6;24503:2;24491:9;24482:7;24478:23;24474:32;24471:52;;;24519:1;24516;24509:12;24471:52;24552:9;24546:16;24585:18;24577:6;24574:30;24571:50;;;24617:1;24614;24607:12;24571:50;24640:22;;24693:4;24685:13;;24681:27;-1:-1:-1;24671:55:147;;24722:1;24719;24712:12;24671:55;24751:2;24745:9;24776:48;24792:31;24820:2;24792:31;:::i;24776:48::-;24847:2;24840:5;24833:17;24887:7;24882:2;24877;24873;24869:11;24865:20;24862:33;24859:53;;;24908:1;24905;24898:12;24859:53;24921:67;24985:2;24980;24973:5;24969:14;24964:2;24960;24956:11;24921:67;:::i;25023:271::-;25206:6;25198;25193:3;25180:33;25162:3;25232:16;;25257:13;;;25232:16;25023:271;-1:-1:-1;25023:271:147:o;25967:128::-;26034:9;;;26055:11;;;26052:37;;;26069:18;;:::i;26100:179::-;26168:14;26215:10;;;26203;;;26199:27;;26238:12;;;26235:38;;;26253:18;;:::i;:::-;26235:38;26100:179;;;;:::o;26910:125::-;26975:9;;;26996:10;;;26993:36;;;27009:18;;:::i;27564:249::-;27633:6;27686:2;27674:9;27665:7;27661:23;27657:32;27654:52;;;27702:1;27699;27692:12;27654:52;27734:9;27728:16;27753:30;27777:5;27753:30;:::i;28120:277::-;28187:6;28240:2;28228:9;28219:7;28215:23;28211:32;28208:52;;;28256:1;28253;28246:12;28208:52;28288:9;28282:16;28341:5;28334:13;28327:21;28320:5;28317:32;28307:60;;28363:1;28360;28353:12;28402:168;28475:9;;;28506;;28523:15;;;28517:22;;28503:37;28493:71;;28544:18;;:::i;28575:358::-;28793:25;;;28781:2;28766:18;;28827:57;28880:2;28865:18;;28857:6;28827:57;:::i;:::-;28920:6;28915:2;28904:9;28900:18;28893:34;28575:358;;;;;;:::o;28938:287::-;29067:3;29105:6;29099:13;29121:66;29180:6;29175:3;29168:4;29160:6;29156:17;29121:66;:::i;:::-;29203:16;;;;;28938:287;-1:-1:-1;;28938:287:147:o;29530:148::-;29618:4;29597:12;;;29611;;;29593:31;;29636:13;;29633:39;;;29652:18;;:::i;29683:482::-;29772:1;29815:5;29772:1;29829:330;29850:7;29840:8;29837:21;29829:330;;;29969:4;-1:-1:-1;;29897:77:147;29891:4;29888:87;29885:113;;;29978:18;;:::i;:::-;30028:7;30018:8;30014:22;30011:55;;;30048:16;;;;30011:55;30127:22;;;;30087:15;;;;29829:330;;;29833:3;29683:482;;;;;:::o;30170:866::-;30219:5;30249:8;30239:80;;-1:-1:-1;30290:1:147;30304:5;;30239:80;30338:4;30328:76;;-1:-1:-1;30375:1:147;30389:5;;30328:76;30420:4;30438:1;30433:59;;;;30506:1;30501:130;;;;30413:218;;30433:59;30463:1;30454:10;;30477:5;;;30501:130;30538:3;30528:8;30525:17;30522:43;;;30545:18;;:::i;:::-;-1:-1:-1;;30601:1:147;30587:16;;30616:5;;30413:218;;30715:2;30705:8;30702:16;30696:3;30690:4;30687:13;30683:36;30677:2;30667:8;30664:16;30659:2;30653:4;30650:12;30646:35;30643:77;30640:159;;;-1:-1:-1;30752:19:147;;;30784:5;;30640:159;30831:34;30856:8;30850:4;30831:34;:::i;:::-;30961:6;-1:-1:-1;;30889:79:147;30880:7;30877:92;30874:118;;;30972:18;;:::i;:::-;31010:20;;30170:866;-1:-1:-1;;;30170:866:147:o;31041:140::-;31099:5;31128:47;31169:4;31159:8;31155:19;31149:4;31128:47;:::i;32922:289::-;33097:6;33086:9;33079:25;33140:2;33135;33124:9;33120:18;33113:30;33060:4;33160:45;33201:2;33190:9;33186:18;33178:6;33160:45;:::i;33405:176::-;33472:14;33506:10;;;33518;;;33502:27;;33541:11;;;33538:37;;;33555:18;;:::i;34707:442::-;34936:6;34925:9;34918:25;34991:4;34983:6;34979:17;34974:2;34963:9;34959:18;34952:45;35033:6;35028:2;35017:9;35013:18;35006:34;35076:3;35071:2;35060:9;35056:18;35049:31;34899:4;35097:46;35138:3;35127:9;35123:19;35115:6;35097:46;:::i;35154:604::-;35429:6;35418:9;35411:25;35484:4;35476:6;35472:17;35467:2;35456:9;35452:18;35445:45;35526:6;35521:2;35510:9;35506:18;35499:34;35569:3;35564:2;35553:9;35549:18;35542:31;35392:4;35596:46;35637:3;35626:9;35622:19;35614:6;35596:46;:::i;:::-;35691:9;35683:6;35679:22;35673:3;35662:9;35658:19;35651:51;35719:33;35745:6;35737;35719:33;:::i;35763:1946::-;36337:4;36366:3;36396:6;36385:9;36378:25;36422:2;-1:-1:-1;;;;;36464:6:147;36460:55;36455:2;36444:9;36440:18;36433:83;36552:2;36547;36536:9;36532:18;36525:30;36578:56;36630:2;36619:9;36615:18;36607:6;36578:56;:::i;:::-;36564:70;;36682:9;36674:6;36670:22;36665:2;36654:9;36650:18;36643:50;36716:44;36753:6;36745;36716:44;:::i;:::-;36702:58;;36809:9;36801:6;36797:22;36791:3;36780:9;36776:19;36769:51;36840:6;36875;36869:13;36906:6;36898;36891:22;36941:2;36933:6;36929:15;36922:22;;37000:2;36990:6;36987:1;36983:14;36975:6;36971:27;36967:36;37038:2;37030:6;37026:15;37059:1;37069:311;37083:6;37080:1;37077:13;37069:311;;;-1:-1:-1;;37160:6:147;37152;37148:19;37144:92;37139:3;37132:105;37260:40;37293:6;37284;37278:13;37260:40;:::i;:::-;37358:12;;;;37250:50;-1:-1:-1;37323:15:147;;;;37105:1;37098:9;37069:311;;;37073:3;;37429:9;37421:6;37417:22;37411:3;37400:9;37396:19;37389:51;37463:42;37498:6;37490;37463:42;:::i;:::-;37449:56;;;;;;37542:6;37536:3;37525:9;37521:19;37514:35;37586:6;37580:3;37569:9;37565:19;37558:35;37642:9;37634:6;37630:22;37624:3;37613:9;37609:19;37602:51;37670:33;37696:6;37688;37670:33;:::i;:::-;37662:41;35763:1946;-1:-1:-1;;;;;;;;;;;;35763:1946:147:o;38110:544::-;38211:2;38206:3;38203:11;38200:448;;;38247:1;38272:5;38268:2;38261:17;38317:4;38313:2;38303:19;38387:2;38375:10;38371:19;38368:1;38364:27;38358:4;38354:38;38423:4;38411:10;38408:20;38405:47;;;-1:-1:-1;38446:4:147;38405:47;38501:2;38496:3;38492:12;38489:1;38485:20;38479:4;38475:31;38465:41;;38556:82;38574:2;38567:5;38564:13;38556:82;;;38619:17;;;38600:1;38589:13;38556:82;;38890:1467;39014:3;39008:10;39041:18;39033:6;39030:30;39027:56;;;39063:18;;:::i;:::-;39092:96;39181:6;39141:38;39173:4;39167:11;39141:38;:::i;:::-;39135:4;39092:96;:::i;:::-;39243:4;;39307:2;39296:14;;39324:1;39319:781;;;;40144:1;40161:6;40158:89;;;-1:-1:-1;40213:19:147;;;40207:26;40158:89;-1:-1:-1;;38787:1:147;38783:11;;;38779:84;38775:89;38765:100;38871:1;38867:11;;;38762:117;40260:81;;39289:1062;;39319:781;38057:1;38050:14;;;38094:4;38081:18;;-1:-1:-1;;39355:79:147;;;39531:236;39545:7;39542:1;39539:14;39531:236;;;39634:19;;;39628:26;39613:42;;39726:27;;;;39694:1;39682:14;;;;39561:19;;39531:236;;;39535:3;39795:6;39786:7;39783:19;39780:261;;;39856:19;;;39850:26;-1:-1:-1;;39939:1:147;39935:14;;;39951:3;39931:24;39927:97;39923:102;39908:118;39893:134;;39780:261;-1:-1:-1;;;;;40087:1:147;40071:14;;;40067:22;40054:36;;-1:-1:-1;38890:1467:147:o","linkReferences":{},"immutableReferences":{"3127":[{"start":3225,"length":32},{"start":4809,"length":32},{"start":5606,"length":32},{"start":7050,"length":32},{"start":7431,"length":32},{"start":7746,"length":32},{"start":8668,"length":32},{"start":11937,"length":32},{"start":13034,"length":32}],"6918":[{"start":13459,"length":32}],"6920":[{"start":13417,"length":32}],"6922":[{"start":13375,"length":32}],"6924":[{"start":13540,"length":32}],"6926":[{"start":13580,"length":32}],"6929":[{"start":11842,"length":32}],"6932":[{"start":11886,"length":32}]}},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","activeProposedLock()":"d2c09e0b","cancel(address[],uint256[],bytes[],bytes32)":"452115d6","cancel(uint256)":"40e58ee5","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,address,bytes)":"8ff262e3","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,address,string,bytes,bytes)":"5b8d0e0d","clock()":"91ddadf4","eip712Domain()":"84b0196e","execute(address[],uint256[],bytes[],bytes32)":"2656227d","execute(uint256)":"fe0d94c1","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","lateQuorumVoteExtension()":"32b8113e","lockedAmounts(uint256)":"e039751e","name()":"06fdde03","nonces(address)":"7ecebe00","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalCount()":"da35c664","proposalDeadline(uint256)":"c01f9e37","proposalDetails(uint256)":"16e9eaec","proposalDetailsAt(uint256)":"2e82db94","proposalEta(uint256)":"ab58fb8e","proposalNeedsQueuing(uint256)":"a9a95294","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","proposalVotes(uint256)":"544ffc9c","propose(address[],uint256[],bytes[],string)":"7d5e81e2","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","queue(uint256)":"ddf0b009","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","relay(address,uint256,bytes)":"c28bc2fa","releaseLocked(uint256)":"b866d193","setLateQuorumVoteExtension(uint48)":"330df7ff","setProposalThreshold(uint256)":"ece40cc1","setVotingDelay(uint48)":"79051887","setVotingPeriod(uint32)":"e540d01d","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","updateQuorumNumerator(uint256)":"06f3f9e6","version()":"54fd4d50","voteOf(uint256,address)":"45ddc85d","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVotes\",\"name\":\"_ghst\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"_initialVoteExtension\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"_initialVotingDelay\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"_initialVotingPeriod\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_initialProposalThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_quorumFraction\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorAlreadyCastVote\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorAlreadyQueuedProposal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorDisabledDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"GovernorInsufficientProposerVotes\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldatas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"values\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidProposalLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"quorumNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumDenominator\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidQuorumFraction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"GovernorInvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorInvalidVoteType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votingPeriod\",\"type\":\"uint256\"}],\"name\":\"GovernorInvalidVotingPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNonexistentProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"GovernorNotQueuedProposal\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyExecutor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"GovernorOnlyProposer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GovernorQueueNotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"name\":\"GovernorRestrictedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"current\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"expectedStates\",\"type\":\"bytes32\"}],\"name\":\"GovernorUnexpectedProposalState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"neededVotes\",\"type\":\"uint256\"}],\"name\":\"InsufficientFundsToExtend\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accumulatedVotes\",\"type\":\"uint256\"}],\"name\":\"ProposerNotEnoughVotes\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"QueueFull\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"oldVoteExtension\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newVoteExtension\",\"type\":\"uint64\"}],\"name\":\"LateQuorumVoteExtensionSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"extendedDeadline\",\"type\":\"uint64\"}],\"name\":\"ProposalExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"etaSeconds\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldProposalThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newProposalThreshold\",\"type\":\"uint256\"}],\"name\":\"ProposalThresholdSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingDelay\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingDelay\",\"type\":\"uint256\"}],\"name\":\"VotingDelaySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldVotingPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotingPeriod\",\"type\":\"uint256\"}],\"name\":\"VotingPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeProposedLock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lateQuorumVoteExtension\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedAmounts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDetails\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"proposalDetailsAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposalNeedsQueuing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"queue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"releaseLocked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newVoteExtension\",\"type\":\"uint48\"}],\"name\":\"setLateQuorumVoteExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newProposalThreshold\",\"type\":\"uint256\"}],\"name\":\"setProposalThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newVotingDelay\",\"type\":\"uint48\"}],\"name\":\"setVotingDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"newVotingPeriod\",\"type\":\"uint32\"}],\"name\":\"setVotingPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"voteOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AddressInsufficientBalance(address)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"GovernorAlreadyCastVote(address)\":[{\"details\":\"The vote was already cast.\"}],\"GovernorAlreadyQueuedProposal(uint256)\":[{\"details\":\"The proposal has already been queued.\"}],\"GovernorDisabledDeposit()\":[{\"details\":\"Token deposits are disabled in this contract.\"}],\"GovernorInsufficientProposerVotes(address,uint256,uint256)\":[{\"details\":\"The `proposer` does not have the required votes to create a proposal.\"}],\"GovernorInvalidProposalLength(uint256,uint256,uint256)\":[{\"details\":\"Empty proposal or a mismatch between the parameters length for a proposal call.\"}],\"GovernorInvalidQuorumFraction(uint256,uint256)\":[{\"details\":\"The quorum set is not a valid fraction.\"}],\"GovernorInvalidSignature(address)\":[{\"details\":\"The provided signature is not valid for the expected `voter`. If the `voter` is a contract, the signature is not valid using {IERC1271-isValidSignature}.\"}],\"GovernorInvalidVoteType()\":[{\"details\":\"The vote type used is not valid for the corresponding counting module.\"}],\"GovernorInvalidVotingPeriod(uint256)\":[{\"details\":\"The voting period set is not a valid period.\"}],\"GovernorNonexistentProposal(uint256)\":[{\"details\":\"The `proposalId` doesn't exist.\"}],\"GovernorNotQueuedProposal(uint256)\":[{\"details\":\"The proposal hasn't been queued yet.\"}],\"GovernorOnlyExecutor(address)\":[{\"details\":\"The `account` is not the governance executor.\"}],\"GovernorOnlyProposer(address)\":[{\"details\":\"The `account` is not a proposer.\"}],\"GovernorQueueNotImplemented()\":[{\"details\":\"Queue operation is not implemented for this governor. Execute should be called directly.\"}],\"GovernorRestrictedProposer(address)\":[{\"details\":\"The `proposer` is not allowed to create a proposal.\"}],\"GovernorUnexpectedProposalState(uint256,uint8,bytes32)\":[{\"details\":\"The current state of a proposal is not the required for performing an operation. The `expectedStates` is a bitmap with the bits enabled for each ProposalState enum position counting from right to left. NOTE: If `expectedState` is `bytes32(0)`, the proposal is expected to not be in any state (i.e. not exist). This is the case when a proposal that is expected to be unset is already initiated (the proposal is duplicated). See {Governor-_encodeStateBitmap}.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"QueueEmpty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}],\"QueueFull()\":[{\"details\":\"A push operation couldn't be completed due to the queue being full.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC20 token failed.\"}]},\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"LateQuorumVoteExtensionSet(uint64,uint64)\":{\"details\":\"Emitted when the {lateQuorumVoteExtension} parameter is changed.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"ProposalExtended(uint256,uint64)\":{\"details\":\"Emitted when a proposal deadline is pushed back due to reaching quorum late in its voting period.\"},\"ProposalQueued(uint256,uint256)\":{\"details\":\"Emitted when a proposal is queued.\"},\"VoteCast(address,uint256,uint8,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)\":{\"details\":\"Emitted when a vote is cast with params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used. `params` are additional encoded parameters. Their interpepretation also depends on the voting module used.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"cancel(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-cancel}.\"},\"cancel(uint256)\":{\"details\":\"ProposalId version of {IGovernor-cancel}.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,address,bytes)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,address,string,bytes,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"execute(uint256)\":{\"details\":\"Version of {IGovernor-execute} with only `proposalId` as an argument.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"Returns whether `account` has cast a vote on `proposalId`.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"lateQuorumVoteExtension()\":{\"details\":\"Returns the current value of the vote extension parameter: the number of blocks that are required to pass from the time a proposal reaches quorum until its voting period ends.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock).\"},\"proposalCount()\":{\"details\":\"Returns the number of stored proposals.\"},\"proposalDetails(uint256)\":{\"details\":\"Returns the details of a proposalId. Reverts if `proposalId` is not a known proposal.\"},\"proposalDetailsAt(uint256)\":{\"details\":\"Returns the details (including the proposalId) of a proposal given its sequential index.\"},\"proposalEta(uint256)\":{\"details\":\"See {IGovernor-proposalEta}.\"},\"proposalNeedsQueuing(uint256)\":{\"details\":\"See {IGovernor-proposalNeedsQueuing}.\"},\"proposalProposer(uint256)\":{\"details\":\"See {IGovernor-proposalProposer}.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}. This function has opt-in frontrunning protection, described in {_isValidDescriptionForProposer}.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-queue}.\"},\"queue(uint256)\":{\"details\":\"Version of {IGovernorTimelock-queue} with only `proposalId` as an argument.\"},\"quorum(uint256)\":{\"details\":\"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"setLateQuorumVoteExtension(uint48)\":{\"details\":\"Changes the {lateQuorumVoteExtension}. This operation can only be performed by the governance executor, generally through a governance proposal. Emits a {LateQuorumVoteExtensionSet} event.\"},\"setProposalThreshold(uint256)\":{\"details\":\"Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event.\"},\"setVotingDelay(uint48)\":{\"details\":\"Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event.\"},\"setVotingPeriod(uint32)\":{\"details\":\"Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"token()\":{\"details\":\"The token that voting power is sourced from.\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"See {IGovernor-votingDelay}.\"},\"votingPeriod()\":{\"details\":\"See {IGovernor-votingPeriod}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"hasVoted(uint256,address)\":{\"notice\":\"module:voting\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/governance/GhostGovernor.sol\":\"GhostGovernor\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin-contracts-5.0.2/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@uniswap-v2-core-1.0.1/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":@uniswap-v2-periphery-1.1.0-beta.0/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/contracts/\",\":@uniswap/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/node_modules/@uniswap/\",\":forge-std-1.9.2/=dependencies/forge-std-1.9.2/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"dependencies/@openzeppelin-contracts-5.0.2/governance/Governor.sol\":{\"keccak256\":\"0x9a6dc5abbb0b6415e343956d2a5f1a89251d5b4937ebcc4f0ffa17fec35a2149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e3ceb0f102494cb4547b2c460f81d8f23239db10e1ff3f97770adeb9d17d6e1\",\"dweb:/ipfs/QmZ1xxtnTNFZ8M9vrvScY1YQAGAFMVGgsDoeWibS7sRzxD\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/IGovernor.sol\":{\"keccak256\":\"0x0a6c99ff573c20b62b8c568282517664e6d55000d4302aad10c668c97c0d2e0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66f355c55b1a366f831f7f912e1dffb16c15a4637d03f0c22cf335a5613856b6\",\"dweb:/ipfs/QmPJMYLeuJsSHnBumMgxdtitNMagxexkP7UwCJq5ygxvQQ\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorPreventLateQuorum.sol\":{\"keccak256\":\"0xf8187a8598673aa3cfc7b48474112746ff6d7719d1587d2c74080efecf5617ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://474d26d61cf64294f676c52f89a2151913ae14f5b8edab8ec367a1fa6180e790\",\"dweb:/ipfs/QmbqiHUDY3BmkXPgKHngwyS3rQQpvXCZVTDkgGZdq9sSiK\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorSettings.sol\":{\"keccak256\":\"0x1e0810708b8f5de8d3db73240ccee2d36a305cb904aa5acd4588834ebce6acce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9758197a4d3cb1aa3036a9bd0edbf34a2eba82e484d3d519da495e495d752dee\",\"dweb:/ipfs/QmYtV61Sp55bfcW4DZvsRuDo2EKb5PekqoY3nx5STJn6Zt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorStorage.sol\":{\"keccak256\":\"0xc0c48465c63f4f9183aebe3af7fd06870c6f8c803c58aae306ee132b6eb8010a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63d45288a47b61e39aa09386438e4ba7e3579798e2fc4a6a925ed9849f4bca42\",\"dweb:/ipfs/QmeqQpGTBFfwKMMXUqSLjkX9JVuqj6u83t1K3eDGU8TEBH\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorVotes.sol\":{\"keccak256\":\"0x3ac80e86633701fd0675df10770877da0cab60fb041553ddbc78c431e4a7c3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28acdbbe336d814144cacf1be1f2423252b494baa25d9c7cc6390a4b6348d1f2\",\"dweb:/ipfs/QmXvrHzPXV8UWwp1crzDpfPLvdyfj9PKoF5acP6utkhmFs\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorVotesQuorumFraction.sol\":{\"keccak256\":\"0x5b5cdb361ed018c0162942d673c17e187c1a52ded2ce4f41e8a3f3f5d1656e00\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd78b11b946d9001725a38844f1d6163906965ec321e1b09bd7e476baedc5d12\",\"dweb:/ipfs/QmPgTnTYDbgXgwHXbkxofSH51QDFfycwx1tn8Qj5hGGk5u\"]},\"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC1271.sol\":{\"keccak256\":\"0x85a45f3f10014a0f8be41157a32b6a5f905753ea64a4b64e29fc12b7deeecf39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3c74009ce36136b36c77c23935b8e4a7b4f253be2da2be4fb4a916b1ce43743\",\"dweb:/ipfs/QmcH36v3iN7SJJuF73AunLR2LtNxhVJ1wm63ph4dPZ4pcL\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23\",\"dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0\",\"dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3\"]},\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02\",\"dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol\":{\"keccak256\":\"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c\",\"dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c\",\"dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21\",\"dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c\",\"dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x6b11eb41a228cca35d4b662b4df69fcd75192851365102690f57b2ac01e83fe6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab006a2983ed350d2af21ddcdd835dcae3b8340086cc4d088460da5abd041f69\",\"dweb:/ipfs/QmbEacDhkJZiGrgzLjB4pNtE8Z1uudjDw1DvcDUTVQFsLG\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b\",\"dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8\",\"dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp\"]},\"dependencies/@openzeppelin-contracts-5.0.2/utils/types/Time.sol\":{\"keccak256\":\"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111\",\"dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb\"]},\"src/governance/GhostGovernor.sol\":{\"keccak256\":\"0x1d98ef36dce38e8e07d970239477ef1c7242c1f6506eb6ecad7076cff4136e5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9bae9519a0f3817e47cde5f2b8c84a72851ec191f5737113e1b6d7cf406e88a3\",\"dweb:/ipfs/QmcxbPgJ6FN9Ao5tM4AemQ2ty42ZL28x4r2CrrwouTQ1aP\"]},\"src/governance/GovernorGhostCounting.sol\":{\"keccak256\":\"0xb9ef684cf2a164512a4cbf5fbee3a40a8938f1ac3fa7c3d8023c250e9f24c140\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16fcfa0aafc01fb326040ed728e9ab06f404812fd8c25e1f4c5036ca2f02faa1\",\"dweb:/ipfs/QmYawqKKhSbEvXJb833Rq1P4GhyWWk5bWL2cob8t98fSHW\"]},\"src/libraries/FixedPoint.sol\":{\"keccak256\":\"0x6fa19266fe36857cd3eef2115b981863d0dbfff257ac491c0b677c9c8bb6a53e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01bc65c7dd23125833c3b979a241e84063db8fdec2fe46c55608b2f051a83d74\",\"dweb:/ipfs/QmeCMD1LE3BQoUdYur8TL6MqPehcB8Ykf4yRs7F3SsqvGM\"]},\"src/libraries/FullMath.sol\":{\"keccak256\":\"0x45a20875ee1bbcf36966a694b157c401ab36fa1fde419803f1ffae89cc059aad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://32f73c0a9a18871a033420595569b80bcbed60fa25c088c60a5560c840999fe9\",\"dweb:/ipfs/QmNp1Zhw9SioKpK3nwDd2ihPU9D4bnULc8KEufkka2MEGK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IVotes","name":"_ghst","type":"address"},{"internalType":"uint48","name":"_initialVoteExtension","type":"uint48"},{"internalType":"uint48","name":"_initialVotingDelay","type":"uint48"},{"internalType":"uint32","name":"_initialVotingPeriod","type":"uint32"},{"internalType":"uint256","name":"_initialProposalThreshold","type":"uint256"},{"internalType":"uint256","name":"_quorumFraction","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"AddressInsufficientBalance"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"FailedInnerCall"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"type":"error","name":"GovernorAlreadyCastVote"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"type":"error","name":"GovernorAlreadyQueuedProposal"},{"inputs":[],"type":"error","name":"GovernorDisabledDeposit"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"}],"type":"error","name":"GovernorInsufficientProposerVotes"},{"inputs":[{"internalType":"uint256","name":"targets","type":"uint256"},{"internalType":"uint256","name":"calldatas","type":"uint256"},{"internalType":"uint256","name":"values","type":"uint256"}],"type":"error","name":"GovernorInvalidProposalLength"},{"inputs":[{"internalType":"uint256","name":"quorumNumerator","type":"uint256"},{"internalType":"uint256","name":"quorumDenominator","type":"uint256"}],"type":"error","name":"GovernorInvalidQuorumFraction"},{"inputs":[{"internalType":"address","name":"voter","type":"address"}],"type":"error","name":"GovernorInvalidSignature"},{"inputs":[],"type":"error","name":"GovernorInvalidVoteType"},{"inputs":[{"internalType":"uint256","name":"votingPeriod","type":"uint256"}],"type":"error","name":"GovernorInvalidVotingPeriod"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"type":"error","name":"GovernorNonexistentProposal"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"type":"error","name":"GovernorNotQueuedProposal"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"GovernorOnlyExecutor"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"GovernorOnlyProposer"},{"inputs":[],"type":"error","name":"GovernorQueueNotImplemented"},{"inputs":[{"internalType":"address","name":"proposer","type":"address"}],"type":"error","name":"GovernorRestrictedProposer"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"enum IGovernor.ProposalState","name":"current","type":"uint8"},{"internalType":"bytes32","name":"expectedStates","type":"bytes32"}],"type":"error","name":"GovernorUnexpectedProposalState"},{"inputs":[{"internalType":"uint256","name":"votes","type":"uint256"},{"internalType":"uint256","name":"neededVotes","type":"uint256"}],"type":"error","name":"InsufficientFundsToExtend"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"uint256","name":"proposalVotes","type":"uint256"},{"internalType":"uint256","name":"accumulatedVotes","type":"uint256"}],"type":"error","name":"ProposerNotEnoughVotes"},{"inputs":[],"type":"error","name":"QueueEmpty"},{"inputs":[],"type":"error","name":"QueueFull"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint64","name":"oldVoteExtension","type":"uint64","indexed":false},{"internalType":"uint64","name":"newVoteExtension","type":"uint64","indexed":false}],"type":"event","name":"LateQuorumVoteExtensionSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCanceled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"proposer","type":"address","indexed":false},{"internalType":"address[]","name":"targets","type":"address[]","indexed":false},{"internalType":"uint256[]","name":"values","type":"uint256[]","indexed":false},{"internalType":"string[]","name":"signatures","type":"string[]","indexed":false},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]","indexed":false},{"internalType":"uint256","name":"voteStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"voteEnd","type":"uint256","indexed":false},{"internalType":"string","name":"description","type":"string","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalExecuted","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":true},{"internalType":"uint64","name":"extendedDeadline","type":"uint64","indexed":false}],"type":"event","name":"ProposalExtended","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"etaSeconds","type":"uint256","indexed":false}],"type":"event","name":"ProposalQueued","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldProposalThreshold","type":"uint256","indexed":false},{"internalType":"uint256","name":"newProposalThreshold","type":"uint256","indexed":false}],"type":"event","name":"ProposalThresholdSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256","indexed":false},{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256","indexed":false}],"type":"event","name":"QuorumNumeratorUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"VoteCast","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false},{"internalType":"bytes","name":"params","type":"bytes","indexed":false}],"type":"event","name":"VoteCastWithParams","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldVotingDelay","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotingDelay","type":"uint256","indexed":false}],"type":"event","name":"VotingDelaySet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldVotingPeriod","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotingPeriod","type":"uint256","indexed":false}],"type":"event","name":"VotingPeriodSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeProposedLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancel"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"address","name":"voter","type":"address"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"payable","type":"function","name":"execute"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"view","type":"function","name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lateQuorumVoteExtension","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"lockedAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalDetails","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"},{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalDetailsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"},{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalNeedsQueuing","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalVotes","outputs":[{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"queue"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"relay"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"releaseLocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"newVoteExtension","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"setLateQuorumVoteExtension"},{"inputs":[{"internalType":"uint256","name":"newProposalThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProposalThreshold"},{"inputs":[{"internalType":"uint48","name":"newVotingDelay","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"setVotingDelay"},{"inputs":[{"internalType":"uint32","name":"newVotingPeriod","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"setVotingPeriod"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateQuorumNumerator"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"voteOf","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"COUNTING_MODE()":{"details":"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class."},"cancel(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-cancel}."},"cancel(uint256)":{"details":"ProposalId version of {IGovernor-cancel}."},"castVote(uint256,uint8)":{"details":"See {IGovernor-castVote}."},"castVoteBySig(uint256,uint8,address,bytes)":{"details":"See {IGovernor-castVoteBySig}."},"castVoteWithReason(uint256,uint8,string)":{"details":"See {IGovernor-castVoteWithReason}."},"castVoteWithReasonAndParams(uint256,uint8,string,bytes)":{"details":"See {IGovernor-castVoteWithReasonAndParams}."},"castVoteWithReasonAndParamsBySig(uint256,uint8,address,string,bytes,bytes)":{"details":"See {IGovernor-castVoteWithReasonAndParamsBySig}."},"clock()":{"details":"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372."},"eip712Domain()":{"details":"See {IERC-5267}."},"execute(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-execute}."},"execute(uint256)":{"details":"Version of {IGovernor-execute} with only `proposalId` as an argument."},"getVotes(address,uint256)":{"details":"See {IGovernor-getVotes}."},"getVotesWithParams(address,uint256,bytes)":{"details":"See {IGovernor-getVotesWithParams}."},"hasVoted(uint256,address)":{"details":"Returns whether `account` has cast a vote on `proposalId`."},"hashProposal(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts."},"lateQuorumVoteExtension()":{"details":"Returns the current value of the vote extension parameter: the number of blocks that are required to pass from the time a proposal reaches quorum until its voting period ends."},"name()":{"details":"See {IGovernor-name}."},"nonces(address)":{"details":"Returns the next unused nonce for an address."},"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"See {IERC1155Receiver-onERC1155BatchReceived}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock)."},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"See {IERC1155Receiver-onERC1155Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock)."},"onERC721Received(address,address,uint256,bytes)":{"details":"See {IERC721Receiver-onERC721Received}. Receiving tokens is disabled if the governance executor is other than the governor itself (eg. when using with a timelock)."},"proposalCount()":{"details":"Returns the number of stored proposals."},"proposalDetails(uint256)":{"details":"Returns the details of a proposalId. Reverts if `proposalId` is not a known proposal."},"proposalDetailsAt(uint256)":{"details":"Returns the details (including the proposalId) of a proposal given its sequential index."},"proposalEta(uint256)":{"details":"See {IGovernor-proposalEta}."},"proposalNeedsQueuing(uint256)":{"details":"See {IGovernor-proposalNeedsQueuing}."},"proposalProposer(uint256)":{"details":"See {IGovernor-proposalProposer}."},"proposalSnapshot(uint256)":{"details":"See {IGovernor-proposalSnapshot}."},"propose(address[],uint256[],bytes[],string)":{"details":"See {IGovernor-propose}. This function has opt-in frontrunning protection, described in {_isValidDescriptionForProposer}."},"queue(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-queue}."},"queue(uint256)":{"details":"Version of {IGovernorTimelock-queue} with only `proposalId` as an argument."},"quorum(uint256)":{"details":"Returns the quorum for a timepoint, in terms of number of votes: `supply * numerator / denominator`."},"quorumDenominator()":{"details":"Returns the quorum denominator. Defaults to 100, but may be overridden."},"quorumNumerator()":{"details":"Returns the current quorum numerator. See {quorumDenominator}."},"quorumNumerator(uint256)":{"details":"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}."},"relay(address,uint256,bytes)":{"details":"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant."},"setLateQuorumVoteExtension(uint48)":{"details":"Changes the {lateQuorumVoteExtension}. This operation can only be performed by the governance executor, generally through a governance proposal. Emits a {LateQuorumVoteExtensionSet} event."},"setProposalThreshold(uint256)":{"details":"Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event."},"setVotingDelay(uint48)":{"details":"Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event."},"setVotingPeriod(uint32)":{"details":"Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event."},"state(uint256)":{"details":"See {IGovernor-state}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"token()":{"details":"The token that voting power is sourced from."},"updateQuorumNumerator(uint256)":{"details":"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator."},"version()":{"details":"See {IGovernor-version}."},"votingDelay()":{"details":"See {IGovernor-votingDelay}."},"votingPeriod()":{"details":"See {IGovernor-votingPeriod}."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNTING_MODE()":{"notice":"module:voting"},"hasVoted(uint256,address)":{"notice":"module:voting"}},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.0.2/=dependencies/@openzeppelin-contracts-5.0.2/","@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/","@uniswap-v2-core-1.0.1/=dependencies/@uniswap-v2-core-1.0.1/contracts/","@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/","@uniswap-v2-periphery-1.1.0-beta.0/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/contracts/","@uniswap/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/node_modules/@uniswap/","forge-std-1.9.2/=dependencies/forge-std-1.9.2/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/governance/GhostGovernor.sol":"GhostGovernor"},"evmVersion":"shanghai","libraries":{}},"sources":{"dependencies/@openzeppelin-contracts-5.0.2/governance/Governor.sol":{"keccak256":"0x9a6dc5abbb0b6415e343956d2a5f1a89251d5b4937ebcc4f0ffa17fec35a2149","urls":["bzz-raw://8e3ceb0f102494cb4547b2c460f81d8f23239db10e1ff3f97770adeb9d17d6e1","dweb:/ipfs/QmZ1xxtnTNFZ8M9vrvScY1YQAGAFMVGgsDoeWibS7sRzxD"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/IGovernor.sol":{"keccak256":"0x0a6c99ff573c20b62b8c568282517664e6d55000d4302aad10c668c97c0d2e0e","urls":["bzz-raw://66f355c55b1a366f831f7f912e1dffb16c15a4637d03f0c22cf335a5613856b6","dweb:/ipfs/QmPJMYLeuJsSHnBumMgxdtitNMagxexkP7UwCJq5ygxvQQ"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorPreventLateQuorum.sol":{"keccak256":"0xf8187a8598673aa3cfc7b48474112746ff6d7719d1587d2c74080efecf5617ca","urls":["bzz-raw://474d26d61cf64294f676c52f89a2151913ae14f5b8edab8ec367a1fa6180e790","dweb:/ipfs/QmbqiHUDY3BmkXPgKHngwyS3rQQpvXCZVTDkgGZdq9sSiK"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorSettings.sol":{"keccak256":"0x1e0810708b8f5de8d3db73240ccee2d36a305cb904aa5acd4588834ebce6acce","urls":["bzz-raw://9758197a4d3cb1aa3036a9bd0edbf34a2eba82e484d3d519da495e495d752dee","dweb:/ipfs/QmYtV61Sp55bfcW4DZvsRuDo2EKb5PekqoY3nx5STJn6Zt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorStorage.sol":{"keccak256":"0xc0c48465c63f4f9183aebe3af7fd06870c6f8c803c58aae306ee132b6eb8010a","urls":["bzz-raw://63d45288a47b61e39aa09386438e4ba7e3579798e2fc4a6a925ed9849f4bca42","dweb:/ipfs/QmeqQpGTBFfwKMMXUqSLjkX9JVuqj6u83t1K3eDGU8TEBH"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorVotes.sol":{"keccak256":"0x3ac80e86633701fd0675df10770877da0cab60fb041553ddbc78c431e4a7c3cc","urls":["bzz-raw://28acdbbe336d814144cacf1be1f2423252b494baa25d9c7cc6390a4b6348d1f2","dweb:/ipfs/QmXvrHzPXV8UWwp1crzDpfPLvdyfj9PKoF5acP6utkhmFs"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/extensions/GovernorVotesQuorumFraction.sol":{"keccak256":"0x5b5cdb361ed018c0162942d673c17e187c1a52ded2ce4f41e8a3f3f5d1656e00","urls":["bzz-raw://fd78b11b946d9001725a38844f1d6163906965ec321e1b09bd7e476baedc5d12","dweb:/ipfs/QmPgTnTYDbgXgwHXbkxofSH51QDFfycwx1tn8Qj5hGGk5u"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC1271.sol":{"keccak256":"0x85a45f3f10014a0f8be41157a32b6a5f905753ea64a4b64e29fc12b7deeecf39","urls":["bzz-raw://c3c74009ce36136b36c77c23935b8e4a7b4f253be2da2be4fb4a916b1ce43743","dweb:/ipfs/QmcH36v3iN7SJJuF73AunLR2LtNxhVJ1wm63ph4dPZ4pcL"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xb69597a63b202e28401128bed6a6d259e8730191274471af7303eafb247881a3","urls":["bzz-raw://25addbda49a578b3318130585601344c5149a5549d749adf88e9685349a46b23","dweb:/ipfs/Qme2DuD8gpsve1ZvaSMQpBwMdpU7yAtekDwr7gUp8dX4zX"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386","urls":["bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0","dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/token/ERC721/IERC721Receiver.sol":{"keccak256":"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49","urls":["bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22","dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Address.sol":{"keccak256":"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721","urls":["bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245","dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/ReentrancyGuard.sol":{"keccak256":"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236","urls":["bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02","dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/cryptography/SignatureChecker.sol":{"keccak256":"0x6b11eb41a228cca35d4b662b4df69fcd75192851365102690f57b2ac01e83fe6","urls":["bzz-raw://ab006a2983ed350d2af21ddcdd835dcae3b8340086cc4d088460da5abd041f69","dweb:/ipfs/QmbEacDhkJZiGrgzLjB4pNtE8Z1uudjDw1DvcDUTVQFsLG"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SafeCast.sol":{"keccak256":"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe","urls":["bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c","dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/Checkpoints.sol":{"keccak256":"0xbdc5e074d7dd6678f67e92b1a51a20226801a407b0e1af3da367c5d1ff4519ad","urls":["bzz-raw://a36cca6b22fff3db16fc789ff6c60eea71d4b156065d4d0c83a0bc5e91a77a8b","dweb:/ipfs/QmYN3exd5AemxjBrN8XMB1p5LbbE16uC3sjbYjwi8AjcGR"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/structs/DoubleEndedQueue.sol":{"keccak256":"0xed6b702230a66640a0f1dd96106dd697e821b6b0fbb2eeab1c09d88d7c411a67","urls":["bzz-raw://766996a7c9fb936ae08fc451c6bf6c3a9b49aca26002fb76c7fd1833fca459d8","dweb:/ipfs/QmaFKhhPJCNxESLDoio7aR2KSvi4Y8YKirrb9tu4LM1vDp"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.0.2/utils/types/Time.sol":{"keccak256":"0xc7755af115020049e4140f224f9ee88d7e1799ffb0646f37bf0df24bf6213f58","urls":["bzz-raw://7f09bf94d5274334ec021f61a04659db303f31e60460e14b709c9bf187740111","dweb:/ipfs/QmNvgomZYUwFAt4cZbPWAiTeSZQreGehY9BK5xyVJsUttb"],"license":"MIT"},"src/governance/GhostGovernor.sol":{"keccak256":"0x1d98ef36dce38e8e07d970239477ef1c7242c1f6506eb6ecad7076cff4136e5b","urls":["bzz-raw://9bae9519a0f3817e47cde5f2b8c84a72851ec191f5737113e1b6d7cf406e88a3","dweb:/ipfs/QmcxbPgJ6FN9Ao5tM4AemQ2ty42ZL28x4r2CrrwouTQ1aP"],"license":"MIT"},"src/governance/GovernorGhostCounting.sol":{"keccak256":"0xb9ef684cf2a164512a4cbf5fbee3a40a8938f1ac3fa7c3d8023c250e9f24c140","urls":["bzz-raw://16fcfa0aafc01fb326040ed728e9ab06f404812fd8c25e1f4c5036ca2f02faa1","dweb:/ipfs/QmYawqKKhSbEvXJb833Rq1P4GhyWWk5bWL2cob8t98fSHW"],"license":"MIT"},"src/libraries/FixedPoint.sol":{"keccak256":"0x6fa19266fe36857cd3eef2115b981863d0dbfff257ac491c0b677c9c8bb6a53e","urls":["bzz-raw://01bc65c7dd23125833c3b979a241e84063db8fdec2fe46c55608b2f051a83d74","dweb:/ipfs/QmeCMD1LE3BQoUdYur8TL6MqPehcB8Ykf4yRs7F3SsqvGM"],"license":"MIT"},"src/libraries/FullMath.sol":{"keccak256":"0x45a20875ee1bbcf36966a694b157c401ab36fa1fde419803f1ffae89cc059aad","urls":["bzz-raw://32f73c0a9a18871a033420595569b80bcbed60fa25c088c60a5560c840999fe9","dweb:/ipfs/QmNp1Zhw9SioKpK3nwDd2ihPU9D4bnULc8KEufkka2MEGK"],"license":"MIT"}},"version":1},"id":103}