{"abi":[{"type":"constructor","inputs":[{"name":"_registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"_disputeResponseWindowBlock","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"TASK_CHALLENGE_WINDOW_BLOCK","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"TASK_RESPONSE_WINDOW_BLOCK","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"aggregator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"allDisputeHashes","inputs":[{"name":"","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allDisputeResponses","inputs":[{"name":"","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"blsApkRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IBLSApkRegistry"}],"stateMutability":"view"},{"type":"function","name":"checkSignatures","inputs":[{"name":"msgHash","type":"bytes32","internalType":"bytes32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"referenceBlockNumber","type":"uint32","internalType":"uint32"},{"name":"params","type":"tuple","internalType":"struct IBLSSignatureChecker.NonSignerStakesAndSignature","components":[{"name":"nonSignerQuorumBitmapIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"nonSignerPubkeys","type":"tuple[]","internalType":"struct BN254.G1Point[]","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"quorumApks","type":"tuple[]","internalType":"struct BN254.G1Point[]","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"apkG2","type":"tuple","internalType":"struct BN254.G2Point","components":[{"name":"X","type":"uint256[2]","internalType":"uint256[2]"},{"name":"Y","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"sigma","type":"tuple","internalType":"struct BN254.G1Point","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"quorumApkIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"totalStakeIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"nonSignerStakeIndices","type":"uint32[][]","internalType":"uint32[][]"}]}],"outputs":[{"name":"","type":"tuple","internalType":"struct IBLSSignatureChecker.QuorumStakeTotals","components":[{"name":"signedStakeForQuorum","type":"uint96[]","internalType":"uint96[]"},{"name":"totalStakeForQuorum","type":"uint96[]","internalType":"uint96[]"}]},{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createNewDispute","inputs":[{"name":"numberToBeSquared","type":"uint256","internalType":"uint256"},{"name":"quorumThresholdPercentage","type":"uint32","internalType":"uint32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDelegationManager"}],"stateMutability":"view"},{"type":"function","name":"disputeNumber","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"disputeSuccesfullyChallenged","inputs":[{"name":"","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"fermahOperators","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"generator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchOperatorFromId","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"operatorIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"operators","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getBatchOperatorId","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"operators","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"operatorIds","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getCheckSignaturesIndices","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"referenceBlockNumber","type":"uint32","internalType":"uint32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"nonSignerOperatorIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"tuple","internalType":"struct OperatorStateRetriever.CheckSignaturesIndices","components":[{"name":"nonSignerQuorumBitmapIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"quorumApkIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"totalStakeIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"nonSignerStakeIndices","type":"uint32[][]","internalType":"uint32[][]"}]}],"stateMutability":"view"},{"type":"function","name":"getDisputeResponseWindowBlock","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getOperatorState","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"blockNumber","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple[][]","internalType":"struct OperatorStateRetriever.Operator[][]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"operatorId","type":"bytes32","internalType":"bytes32"},{"name":"stake","type":"uint96","internalType":"uint96"}]}],"stateMutability":"view"},{"type":"function","name":"getOperatorState","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"operatorId","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"tuple[][]","internalType":"struct OperatorStateRetriever.Operator[][]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"operatorId","type":"bytes32","internalType":"bytes32"},{"name":"stake","type":"uint96","internalType":"uint96"}]}],"stateMutability":"view"},{"type":"function","name":"getQuorumBitmapsAtBlockNumber","inputs":[{"name":"registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"},{"name":"operatorIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"blockNumber","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_pauserRegistry","type":"address","internalType":"contract IPauserRegistry"},{"name":"initialOwner","type":"address","internalType":"address"},{"name":"_aggregator","type":"address","internalType":"address"},{"name":"_generator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"latestDisputeNum","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[{"name":"newPausedStatus","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseAll","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[{"name":"index","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pauserRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPauserRegistry"}],"stateMutability":"view"},{"type":"function","name":"raiseAndResolveChallenge","inputs":[{"name":"dispute","type":"tuple","internalType":"struct IDisputeManager.Dispute","components":[{"name":"numberToBeSquared","type":"uint256","internalType":"uint256"},{"name":"disputeCreatedBlock","type":"uint32","internalType":"uint32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"quorumThresholdPercentage","type":"uint32","internalType":"uint32"}]},{"name":"disputeResponse","type":"tuple","internalType":"struct IDisputeManager.DisputeResponse","components":[{"name":"referenceDisputeIndex","type":"uint32","internalType":"uint32"},{"name":"numberSquared","type":"uint256","internalType":"uint256"}]},{"name":"disputeResponseMetadata","type":"tuple","internalType":"struct IDisputeManager.DisputeResponseMetadata","components":[{"name":"disputeResponsedBlock","type":"uint32","internalType":"uint32"},{"name":"hashOfNonSigners","type":"bytes32","internalType":"bytes32"}]},{"name":"pubkeysOfNonSigningOperators","type":"tuple[]","internalType":"struct BN254.G1Point[]","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registryCoordinator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistryCoordinator"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"respondToDispute","inputs":[{"name":"dispute","type":"tuple","internalType":"struct IDisputeManager.Dispute","components":[{"name":"numberToBeSquared","type":"uint256","internalType":"uint256"},{"name":"disputeCreatedBlock","type":"uint32","internalType":"uint32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"quorumThresholdPercentage","type":"uint32","internalType":"uint32"}]},{"name":"disputeResponse","type":"tuple","internalType":"struct IDisputeManager.DisputeResponse","components":[{"name":"referenceDisputeIndex","type":"uint32","internalType":"uint32"},{"name":"numberSquared","type":"uint256","internalType":"uint256"}]},{"name":"nonSignerStakesAndSignature","type":"tuple","internalType":"struct IBLSSignatureChecker.NonSignerStakesAndSignature","components":[{"name":"nonSignerQuorumBitmapIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"nonSignerPubkeys","type":"tuple[]","internalType":"struct BN254.G1Point[]","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"quorumApks","type":"tuple[]","internalType":"struct BN254.G1Point[]","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"apkG2","type":"tuple","internalType":"struct BN254.G2Point","components":[{"name":"X","type":"uint256[2]","internalType":"uint256[2]"},{"name":"Y","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"sigma","type":"tuple","internalType":"struct BN254.G1Point","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"quorumApkIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"totalStakeIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"nonSignerStakeIndices","type":"uint32[][]","internalType":"uint32[][]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPauserRegistry","inputs":[{"name":"newPauserRegistry","type":"address","internalType":"contract IPauserRegistry"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaleStakesForbidden","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IStakeRegistry"}],"stateMutability":"view"},{"type":"function","name":"staleStakesForbidden","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trySignatureAndApkVerification","inputs":[{"name":"msgHash","type":"bytes32","internalType":"bytes32"},{"name":"apk","type":"tuple","internalType":"struct BN254.G1Point","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]},{"name":"apkG2","type":"tuple","internalType":"struct BN254.G2Point","components":[{"name":"X","type":"uint256[2]","internalType":"uint256[2]"},{"name":"Y","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"sigma","type":"tuple","internalType":"struct BN254.G1Point","components":[{"name":"X","type":"uint256","internalType":"uint256"},{"name":"Y","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"pairingSuccessful","type":"bool","internalType":"bool"},{"name":"siganatureIsValid","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"unpause","inputs":[{"name":"newPausedStatus","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DisputeChallengedSuccessfully","inputs":[{"name":"disputeIndex","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"challenger","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeChallengedUnsuccessfully","inputs":[{"name":"disputeIndex","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"challenger","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCompleted","inputs":[{"name":"disputeIndex","type":"uint32","indexed":true,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"DisputeResponded","inputs":[{"name":"disputeResponse","type":"tuple","indexed":false,"internalType":"struct IDisputeManager.DisputeResponse","components":[{"name":"referenceDisputeIndex","type":"uint32","internalType":"uint32"},{"name":"numberSquared","type":"uint256","internalType":"uint256"}]},{"name":"disputeResponseMetadata","type":"tuple","indexed":false,"internalType":"struct IDisputeManager.DisputeResponseMetadata","components":[{"name":"disputeResponsedBlock","type":"uint32","internalType":"uint32"},{"name":"hashOfNonSigners","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewDisputeCreated","inputs":[{"name":"disputeIndex","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"dispute","type":"tuple","indexed":false,"internalType":"struct IDisputeManager.Dispute","components":[{"name":"numberToBeSquared","type":"uint256","internalType":"uint256"},{"name":"disputeCreatedBlock","type":"uint32","internalType":"uint32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"},{"name":"quorumThresholdPercentage","type":"uint32","internalType":"uint32"}]}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"newPausedStatus","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PauserRegistrySet","inputs":[{"name":"pauserRegistry","type":"address","indexed":false,"internalType":"contract IPauserRegistry"},{"name":"newPauserRegistry","type":"address","indexed":false,"internalType":"contract IPauserRegistry"}],"anonymous":false},{"type":"event","name":"StaleStakesForbiddenUpdate","inputs":[{"name":"value","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"newPausedStatus","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6101206040523480156200001257600080fd5b50604051620062c5380380620062c58339810160408190526200003591620001ea565b81806001600160a01b03166080816001600160a01b031681525050806001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200008f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b5919062000231565b6001600160a01b031660a0816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000133919062000231565b6001600160a01b031660c0816001600160a01b03168152505060a0516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000231565b6001600160a01b031660e0525063ffffffff16610100525062000258565b6001600160a01b0381168114620001e757600080fd5b50565b60008060408385031215620001fe57600080fd5b82516200020b81620001d1565b602084015190925063ffffffff811681146200022657600080fd5b809150509250929050565b6000602082840312156200024457600080fd5b81516200025181620001d1565b9392505050565b60805160a05160c05160e05161010051615fdb620002ea600039600081816102cc015281816105fd01526135aa0152600081816105c601526129df01526000818161046f015281816121dd0152612bc101526000818161049601528181612d970152612f590152600081816104d00152818161113e015281816126c9015281816128420152612a7c0152615fdb6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063683048351161013b578063c9ba3907116100b8578063ec50a2ef1161007c578063ec50a2ef146105fb578063f2fde38b14610621578063f63c5bab14610634578063f8c8765e1461063c578063fabc1cbc1461064f57600080fd5b8063c9ba39071461057f578063cefdc1d41461058d578063d5ad886d146105ae578063df5cf723146105c1578063eba4e01e146105e857600080fd5b80637afa1eed116100ff5780637afa1eed1461051b578063886f11951461052e5780638da5cb5b14610541578063914eea1b14610552578063b98d09081461057257600080fd5b806368304835146104915780636b532e9e146104b85780636d14a987146104cb5780636efb4636146104f2578063715018a61461051357600080fd5b80633563b0d1116101c9578063595c6a671161018d578063595c6a67146104175780635ac86ab71461041f5780635c155662146104425780635c975abb146104625780635df459461461046a57600080fd5b80633563b0d1146103945780633b12421d146103b4578063416c7e5e146103c45780634d2b57fe146103d75780634f739f74146103f757600080fd5b80631ad43189116102105780631ad43189146102c7578063245a7bfc146103035780632b0a2ea41461032e5780632bc70afc1461034157806331b36bd91461037457600080fd5b806304a274861461024257806310d67a2f14610275578063136439dd1461028a578063171f1d5b1461029d575b600080fd5b6102626102503660046149b2565b60cb6020526000908152604090205481565b6040519081526020015b60405180910390f35b6102886102833660046149e4565b610662565b005b610288610298366004614a01565b61071e565b6102b06102ab366004614b7f565b61085d565b60408051921515835290151560208301520161026c565b6102ee7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161026c565b60ce54610316906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b61028861033c366004614c18565b6109e7565b61036461034f3660046149b2565b60cc6020526000908152604090205460ff1681565b604051901515815260200161026c565b610387610382366004614c96565b610b8a565b60405161026c9190614d84565b6103a76103a2366004614d9e565b610ca6565b60405161026c9190614ef9565b60c9546102ee9063ffffffff1681565b6102886103d2366004614f1a565b61113c565b6103ea6103e5366004614f9d565b611273565b60405161026c9190614fec565b61040a610405366004615039565b611388565b60405161026c9190615132565b610288611aae565b61036461042d3660046151fc565b606654600160ff9092169190911b9081161490565b610455610450366004615219565b611b75565b60405161026c919061527c565b606654610262565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6102886104c6366004615342565b611d3d565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6105056105003660046155d5565b612316565b60405161026c929190615695565b61028861320e565b60cf54610316906001600160a01b031681565b606554610316906001600160a01b031681565b6033546001600160a01b0316610316565b6102626105603660046149b2565b60ca6020526000908152604090205481565b6097546103649060ff1681565b60c95463ffffffff166102ee565b6105a061059b3660046156de565b613222565b60405161026c929190615715565b6102886105bc366004615736565b6133b4565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6103166105f6366004614a01565b61383b565b7f00000000000000000000000000000000000000000000000000000000000000006102ee565b61028861062f3660046149e4565b613865565b6102ee606481565b61028861064a3660046157aa565b6138db565b61028861065d366004614a01565b613a2c565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190615806565b6001600160a01b0316336001600160a01b0316146107125760405162461bcd60e51b815260040161070990615823565b60405180910390fd5b61071b81613b88565b50565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a919061586d565b6107a65760405162461bcd60e51b81526004016107099061588a565b6066548181161461081f5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610709565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001878760000151886020015188600001516000600281106108a5576108a56158d2565b60200201518951600160200201518a602001516000600281106108ca576108ca6158d2565b60200201518b602001516001600281106108e6576108e66158d2565b602090810291909101518c518d8301516040516109439a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c61096691906158e8565b90506109d961097f6109788884613c7f565b8690613d16565b610987613daa565b6109cf6109c0856109ba604080518082018252600080825260209182015281518083019092526001825260029082015290565b90613c7f565b6109c98c613e6a565b90613d16565b886201d4c0613efa565b909890975095505050505050565b60cf546001600160a01b03163314610a4d5760405162461bcd60e51b8152602060048201526024808201527f446973707574652067656e657261746f72206d75737420626520746865206361604482015263363632b960e11b6064820152608401610709565b610a84604051806080016040528060008152602001600063ffffffff16815260200160608152602001600063ffffffff1681525090565b84815263ffffffff438116602080840191909152908516606083015260408051601f850183900483028101830190915283815290849084908190840183828082843760009201919091525050505060408083019190915251610aea90829060200161590a565b60408051601f19818403018152828252805160209182012060c9805463ffffffff908116600090815260ca90945293909220555416907fb34dae11be68e43298ceb1c3af16c51154aad41aa1648092b358f163acd3de0d90610b4d90849061590a565b60405180910390a260c954610b699063ffffffff1660016159ab565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b606081516001600160401b03811115610ba557610ba5614a1a565b604051908082528060200260200182016040528015610bce578160200160208202803683370190505b50905060005b8251811015610c9f57836001600160a01b03166313542a4e848381518110610bfe57610bfe6158d2565b60200260200101516040518263ffffffff1660e01b8152600401610c3191906001600160a01b0391909116815260200190565b602060405180830381865afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7291906159d3565b828281518110610c8457610c846158d2565b6020908102919091010152610c98816159ec565b9050610bd4565b5092915050565b60606000846001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c9190615806565b90506000856001600160a01b0316639e9923c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d729190615806565b90506000866001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd89190615806565b9050600086516001600160401b03811115610df557610df5614a1a565b604051908082528060200260200182016040528015610e2857816020015b6060815260200190600190039081610e135790505b50905060005b8751811015611130576000888281518110610e4b57610e4b6158d2565b0160200151604051638902624560e01b815260f89190911c6004820181905263ffffffff8a16602483015291506000906001600160a01b03871690638902624590604401600060405180830381865afa158015610eac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ed49190810190615a07565b905080516001600160401b03811115610eef57610eef614a1a565b604051908082528060200260200182016040528015610f3a57816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181610f0d5790505b50848481518110610f4d57610f4d6158d2565b602002602001018190525060005b815181101561111a576040518060600160405280876001600160a01b03166347b314e8858581518110610f9057610f906158d2565b60200260200101516040518263ffffffff1660e01b8152600401610fb691815260200190565b602060405180830381865afa158015610fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff79190615806565b6001600160a01b03168152602001838381518110611017576110176158d2565b60200260200101518152602001896001600160a01b031663fa28c627858581518110611045576110456158d2565b60209081029190910101516040516001600160e01b031960e084901b168152600481019190915260ff8816602482015263ffffffff8f166044820152606401602060405180830381865afa1580156110a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c59190615a97565b6001600160601b03168152508585815181106110e3576110e36158d2565b602002602001015182815181106110fc576110fc6158d2565b60200260200101819052508080611112906159ec565b915050610f5b565b5050508080611128906159ec565b915050610e2e565b50979650505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be9190615806565b6001600160a01b0316336001600160a01b03161461126a5760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a401610709565b61071b8161411e565b606081516001600160401b0381111561128e5761128e614a1a565b6040519080825280602002602001820160405280156112b7578160200160208202803683370190505b50905060005b8251811015610c9f57836001600160a01b031663296bb0648483815181106112e7576112e76158d2565b60200260200101516040518263ffffffff1660e01b815260040161130d91815260200190565b602060405180830381865afa15801561132a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134e9190615806565b828281518110611360576113606158d2565b6001600160a01b0390921660209283029190910190910152611381816159ec565b90506112bd565b6113b36040518060800160405280606081526020016060815260200160608152602001606081525090565b6000876001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114179190615806565b90506114446040518060800160405280606081526020016060815260200160608152602001606081525090565b6040516361c8a12f60e11b81526001600160a01b038a169063c391425e90611474908b9089908990600401615ac0565b600060405180830381865afa158015611491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114b99190810190615b0a565b81526040516340e03a8160e11b81526001600160a01b038316906381c07502906114eb908b908b908b90600401615bc1565b600060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115309190810190615b0a565b6040820152856001600160401b0381111561154d5761154d614a1a565b60405190808252806020026020018201604052801561158057816020015b606081526020019060019003908161156b5790505b50606082015260005b60ff81168711156119bf576000856001600160401b038111156115ae576115ae614a1a565b6040519080825280602002602001820160405280156115d7578160200160208202803683370190505b5083606001518360ff16815181106115f1576115f16158d2565b602002602001018190525060005b868110156118bf5760008c6001600160a01b03166304ec63518a8a8581811061162a5761162a6158d2565b905060200201358e88600001518681518110611648576116486158d2565b60200260200101516040518463ffffffff1660e01b81526004016116859392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190615bea565b90506001600160c01b03811661176a5760405162461bcd60e51b815260206004820152605c60248201527f4f70657261746f7253746174655265747269657665722e676574436865636b5360448201527f69676e617475726573496e64696365733a206f70657261746f72206d7573742060648201527f6265207265676973746572656420617420626c6f636b6e756d62657200000000608482015260a401610709565b8a8a8560ff1681811061177f5761177f6158d2565b6001600160c01b03841692013560f81c9190911c6001908116141590506118ac57856001600160a01b031663dd9846b98a8a858181106117c1576117c16158d2565b905060200201358d8d8860ff168181106117dd576117dd6158d2565b6040516001600160e01b031960e087901b1681526004810194909452919091013560f81c60248301525063ffffffff8f166044820152606401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190615c13565b85606001518560ff1681518110611870576118706158d2565b60200260200101518481518110611889576118896158d2565b63ffffffff90921660209283029190910190910152826118a8816159ec565b9350505b50806118b7816159ec565b9150506115ff565b506000816001600160401b038111156118da576118da614a1a565b604051908082528060200260200182016040528015611903578160200160208202803683370190505b50905060005b828110156119845784606001518460ff168151811061192a5761192a6158d2565b60200260200101518181518110611943576119436158d2565b602002602001015182828151811061195d5761195d6158d2565b63ffffffff909216602092830291909101909101528061197c816159ec565b915050611909565b508084606001518460ff168151811061199f5761199f6158d2565b6020026020010181905250505080806119b790615c30565b915050611589565b506000896001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a249190615806565b60405163354952a360e21b81529091506001600160a01b0382169063d5254a8c90611a57908b908b908e90600401615c50565b600060405180830381865afa158015611a74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a9c9190810190615b0a565b60208301525098975050505050505050565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a919061586d565b611b365760405162461bcd60e51b81526004016107099061588a565b600019606681905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60606000846001600160a01b031663c391425e84866040518363ffffffff1660e01b8152600401611ba7929190615c7a565b600060405180830381865afa158015611bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bec9190810190615b0a565b9050600084516001600160401b03811115611c0957611c09614a1a565b604051908082528060200260200182016040528015611c32578160200160208202803683370190505b50905060005b8551811015611d3357866001600160a01b03166304ec6351878381518110611c6257611c626158d2565b602002602001015187868581518110611c7d57611c7d6158d2565b60200260200101516040518463ffffffff1660e01b8152600401611cba9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa158015611cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfb9190615bea565b6001600160c01b0316828281518110611d1657611d166158d2565b602090810291909101015280611d2b816159ec565b915050611c38565b5095945050505050565b6000611d4c60208501856149b2565b63ffffffff8116600090815260cb6020526040902054909150853590611dc05760405162461bcd60e51b8152602060048201526024808201527f44697370757465206861736e2774206265656e20726573706f6e64656420746f604482015263081e595d60e21b6064820152608401610709565b8484604051602001611dd3929190615cb7565b60408051601f19818403018152918152815160209283012063ffffffff8516600090815260cb90935291205414611e74576040805162461bcd60e51b81526020600482015260248101919091527f4469737075746520726573706f6e736520646f6573206e6f74206d617463682060448201527f746865206f6e65207265636f7264656420696e2074686520636f6e74726163746064820152608401610709565b63ffffffff8216600090815260cc602052604090205460ff1615611f0f5760405162461bcd60e51b815260206004820152604660248201527f54686520726573706f6e736520746f207468697320646973707574652068617360448201527f20616c7265616479206265656e206368616c6c656e6765642073756363657373606482015265333ab6363c9760d11b608482015260a401610709565b6064611f1e60208601866149b2565b611f2891906159ab565b63ffffffff164363ffffffff161115611fa95760405162461bcd60e51b815260206004820152603a60248201527f546865206368616c6c656e676520706572696f6420666f72207468697320646960448201527f73707574652068617320616c726561647920657870697265642e0000000000006064820152608401610709565b6000611fb58280615ced565b905060208601358114600181141561200357604051339063ffffffff8616907f4a605edde300aa7e90bfea8e781d28f7e5e32a02bcc9aaf70e14a03e1db8328290600090a350505050612310565b600085516001600160401b0381111561201e5761201e614a1a565b604051908082528060200260200182016040528015612047578160200160208202803683370190505b50905060005b86518110156120b95761208a87828151811061206b5761206b6158d2565b6020026020010151805160009081526020918201519091526040902090565b82828151811061209c5761209c6158d2565b6020908102919091010152806120b1816159ec565b91505061204d565b5060006120cc60408b0160208c016149b2565b826040516020016120de929190615d0c565b604051602081830303815290604052805190602001209050876020013581146121885760405162461bcd60e51b815260206004820152605060248201527f546865207075626b657973206f66206e6f6e2d7369676e696e67206f7065726160448201527f746f727320737570706c69656420627920746865206368616c6c656e6765722060648201526f30b932903737ba1031b7b93932b1ba1760811b608482015260a401610709565b600087516001600160401b038111156121a3576121a3614a1a565b6040519080825280602002602001820160405280156121cc578160200160208202803683370190505b50905060005b88518110156122bf577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8bb9ae685838151811061221c5761221c6158d2565b60200260200101516040518263ffffffff1660e01b815260040161224291815260200190565b602060405180830381865afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122839190615806565b828281518110612295576122956158d2565b6001600160a01b0390921660209283029190910190910152806122b7816159ec565b9150506121d2565b5063ffffffff8716600081815260cc6020526040808220805460ff19166001179055513392917fb4dad22709114226336563a3749fe44eb5bfe6ea46987919b4eefecd11a542f591a3505050505050505b50505050565b604080518082019091526060808252602082015260008461238d5760405162461bcd60e51b81526020600482015260376024820152600080516020615f8683398151915260448201527f7265733a20656d7074792071756f72756d20696e7075740000000000000000006064820152608401610709565b604083015151851480156123a5575060a08301515185145b80156123b5575060c08301515185145b80156123c5575060e08301515185145b61242f5760405162461bcd60e51b81526020600482015260416024820152600080516020615f8683398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610709565b825151602084015151146124a75760405162461bcd60e51b815260206004820152604460248201819052600080516020615f86833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a401610709565b4363ffffffff168463ffffffff16106125165760405162461bcd60e51b815260206004820152603c6024820152600080516020615f8683398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b000000006064820152608401610709565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b0381111561255757612557614a1a565b604051908082528060200260200182016040528015612580578160200160208202803683370190505b506020820152866001600160401b0381111561259e5761259e614a1a565b6040519080825280602002602001820160405280156125c7578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b038111156125fb576125fb614a1a565b604051908082528060200260200182016040528015612624578160200160208202803683370190505b5081526020860151516001600160401b0381111561264457612644614a1a565b60405190808252806020026020018201604052801561266d578160200160208202803683370190505b508160200181905250600061273f8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa158015612716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273a9190615d54565b614165565b905060005b8760200151518110156129bb5761276a8860200151828151811061206b5761206b6158d2565b83602001518281518110612780576127806158d2565b602090810291909101015280156128405760208301516127a1600183615d71565b815181106127b1576127b16158d2565b602002602001015160001c836020015182815181106127d2576127d26158d2565b602002602001015160001c11612840576040805162461bcd60e51b8152602060048201526024810191909152600080516020615f8683398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f727465646064820152608401610709565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec635184602001518381518110612885576128856158d2565b60200260200101518b8b6000015185815181106128a4576128a46158d2565b60200260200101516040518463ffffffff1660e01b81526004016128e19392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129229190615bea565b6001600160c01b031683600001518281518110612941576129416158d2565b6020026020010181815250506129a761097861297b848660000151858151811061296d5761296d6158d2565b6020026020010151166141f8565b8a602001518481518110612991576129916158d2565b602002602001015161422390919063ffffffff16565b9450806129b3816159ec565b915050612744565b50506129c683614307565b60975490935060ff166000816129dd576000612a5f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5f91906159d3565b905060005b8a8110156130dd578215612bbf578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110612abb57612abb6158d2565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015612afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1f91906159d3565b612b299190615d88565b11612bbf5760405162461bcd60e51b81526020600482015260666024820152600080516020615f8683398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c401610709565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d84818110612c0057612c006158d2565b9050013560f81c60f81b60f81c8c8c60a001518581518110612c2457612c246158d2565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca49190615da0565b6001600160401b031916612cc78a60400151838151811061206b5761206b6158d2565b67ffffffffffffffff191614612d635760405162461bcd60e51b81526020600482015260616024820152600080516020615f8683398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c401610709565b612d9389604001518281518110612d7c57612d7c6158d2565b602002602001015187613d1690919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110612dd657612dd66158d2565b9050013560f81c60f81b60f81c8c8c60c001518581518110612dfa57612dfa6158d2565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7a9190615a97565b85602001518281518110612e9057612e906158d2565b6001600160601b03909216602092830291909101820152850151805182908110612ebc57612ebc6158d2565b602002602001015185600001518281518110612eda57612eda6158d2565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156130c857612f5286600001518281518110612f2457612f246158d2565b60200260200101518f8f86818110612f3e57612f3e6158d2565b600192013560f81c9290921c811614919050565b156130b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f86818110612f9857612f986158d2565b9050013560f81c60f81b60f81c8e89602001518581518110612fbc57612fbc6158d2565b60200260200101518f60e001518881518110612fda57612fda6158d2565b60200260200101518781518110612ff357612ff36158d2565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015613057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307b9190615a97565b875180518590811061308f5761308f6158d2565b602002602001018181516130a39190615dcb565b6001600160601b03169052506001909101905b806130c0816159ec565b915050612efe565b505080806130d5906159ec565b915050612a64565b5050506000806130f78c868a606001518b6080015161085d565b91509150816131685760405162461bcd60e51b81526020600482015260436024820152600080516020615f8683398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a401610709565b806131c95760405162461bcd60e51b81526020600482015260396024820152600080516020615f8683398151915260448201527f7265733a207369676e617475726520697320696e76616c6964000000000000006064820152608401610709565b505060008782602001516040516020016131e4929190615d0c565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6132166143a2565b61322060006143fc565b565b604080516001808252818301909252600091606091839160208083019080368337019050509050848160008151811061325d5761325d6158d2565b60209081029190910101526040516361c8a12f60e11b81526000906001600160a01b0388169063c391425e906132999088908690600401615c7a565b600060405180830381865afa1580156132b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132de9190810190615b0a565b6000815181106132f0576132f06158d2565b60209081029190910101516040516304ec635160e01b81526004810188905263ffffffff87811660248301529091166044820181905291506000906001600160a01b038916906304ec635190606401602060405180830381865afa15801561335c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133809190615bea565b6001600160c01b0316905060006133968261444e565b9050816133a48a838a610ca6565b9550955050505050935093915050565b60ce546001600160a01b0316331461340e5760405162461bcd60e51b815260206004820152601d60248201527f41676772656761746f72206d757374206265207468652063616c6c65720000006044820152606401610709565b600061342060408501602086016149b2565b90503660006134326040870187615df3565b9092509050600061344960808801606089016149b2565b905060ca600061345c60208901896149b2565b63ffffffff1663ffffffff16815260200190815260200160002054876040516020016134889190615e39565b6040516020818303038152906040528051906020012014613513576040805162461bcd60e51b81526020600482015260248101919091527f737570706c696564206469737075746520646f6573206e6f74206d617463682060448201527f746865206f6e65207265636f7264656420696e2074686520636f6e74726163746064820152608401610709565b600060cb8161352560208a018a6149b2565b63ffffffff1663ffffffff16815260200190815260200160002054146135a55760405162461bcd60e51b815260206004820152602f60248201527f41676772656761746f722068617320616c726561647920726573706f6e64656460448201526e20746f20746865206469737075746560881b6064820152608401610709565b6135cf7f0000000000000000000000000000000000000000000000000000000000000000856159ab565b63ffffffff164363ffffffff1611156136435760405162461bcd60e51b815260206004820152603060248201527f41676772656761746f722068617320726573706f6e64656420746f207468652060448201526f6469737075746520746f6f206c61746560801b6064820152608401610709565b6000866040516020016136569190615eda565b60405160208183030381529060405280519060200120905060008061367e8387878a8c612316565b9150915060005b8581101561377d578460ff16836020015182815181106136a7576136a76158d2565b60200260200101516136b99190615ee8565b6001600160601b03166064846000015183815181106136da576136da6158d2565b60200260200101516001600160601b03166136f59190615ced565b101561376b576040805162461bcd60e51b81526020600482015260248101919091527f5369676e61746f7269657320646f206e6f74206f776e206174206c656173742060448201527f7468726573686f6c642070657263656e74616765206f6620612071756f72756d6064820152608401610709565b80613775816159ec565b915050613685565b5060408051808201825263ffffffff431681526020808201849052915190916137aa918c91849101615f17565b6040516020818303038152906040528051906020012060cb60008c60000160208101906137d791906149b2565b63ffffffff1663ffffffff168152602001908152602001600020819055507f35371174acc108e74ddc50f4a0d36bcd1131f91115abcbd1d88602493c120f6f8a82604051613826929190615f17565b60405180910390a15050505050505050505050565b60cd818154811061384b57600080fd5b6000918252602090912001546001600160a01b0316905081565b61386d6143a2565b6001600160a01b0381166138d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610709565b61071b816143fc565b600054610100900460ff16158080156138fb5750600054600160ff909116105b806139155750303b158015613915575060005460ff166001145b6139785760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610709565b6000805460ff19166001179055801561399b576000805461ff0019166101001790555b6139a685600061451a565b6139af846143fc565b60ce80546001600160a01b038086166001600160a01b03199283161790925560cf8054928516929091169190911790558015613a25576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa39190615806565b6001600160a01b0316336001600160a01b031614613ad35760405162461bcd60e51b815260040161070990615823565b606654198119606654191614613b515760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610709565b606681905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610852565b6001600160a01b038116613c165760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610709565b606554604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1606580546001600160a01b0319166001600160a01b0392909216919091179055565b6040805180820190915260008082526020820152613c9b6148bb565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015613cce57613cd0565bfe5b5080613d0e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b6044820152606401610709565b505092915050565b6040805180820190915260008082526020820152613d326148d9565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015613cce575080613d0e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b6044820152606401610709565b613db26148f7565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082019091526000808252602082015260008080613e9a600080516020615f66833981519152866158e8565b90505b613ea681614604565b9093509150600080516020615f66833981519152828309831415613ee0576040805180820190915290815260208101919091529392505050565b600080516020615f66833981519152600182089050613e9d565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190613f2c61491c565b60005b60028110156140f1576000613f45826006615ced565b9050848260028110613f5957613f596158d2565b60200201515183613f6b836000615d88565b600c8110613f7b57613f7b6158d2565b6020020152848260028110613f9257613f926158d2565b60200201516020015183826001613fa99190615d88565b600c8110613fb957613fb96158d2565b6020020152838260028110613fd057613fd06158d2565b6020020151515183613fe3836002615d88565b600c8110613ff357613ff36158d2565b602002015283826002811061400a5761400a6158d2565b6020020151516001602002015183614023836003615d88565b600c8110614033576140336158d2565b602002015283826002811061404a5761404a6158d2565b602002015160200151600060028110614065576140656158d2565b602002015183614076836004615d88565b600c8110614086576140866158d2565b602002015283826002811061409d5761409d6158d2565b6020020151602001516001600281106140b8576140b86158d2565b6020020151836140c9836005615d88565b600c81106140d9576140d96158d2565b602002015250806140e9816159ec565b915050613f2f565b506140fa61493b565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6097805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc9060200160405180910390a150565b60008061417184614686565b9050808360ff166001901b116141ef5760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c7565006064820152608401610709565b90505b92915050565b6000805b82156141f25761420d600184615d71565b909216918061421b81615f43565b9150506141fc565b60408051808201909152600080825260208201526102008261ffff161061427f5760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b6044820152606401610709565b8161ffff16600114156142935750816141f2565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff16106142fc57600161ffff871660ff83161c811614156142df576142dc8484613d16565b93505b6142e98384613d16565b92506201fffe600192831b1691016142af565b509195945050505050565b6040805180820190915260008082526020820152815115801561432c57506020820151155b1561434a575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020615f66833981519152846020015161437d91906158e8565b61439590600080516020615f66833981519152615d71565b905292915050565b919050565b6033546001600160a01b031633146132205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610709565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060008061445c846141f8565b61ffff166001600160401b0381111561447757614477614a1a565b6040519080825280601f01601f1916602001820160405280156144a1576020820181803683370190505b5090506000805b8251821080156144b9575061010081105b15614510576001811b935085841615614500578060f81b8383815181106144e2576144e26158d2565b60200101906001600160f81b031916908160001a9053508160010191505b614509816159ec565b90506144a8565b5090949350505050565b6065546001600160a01b031615801561453b57506001600160a01b03821615155b6145bd5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a401610709565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a261460082613b88565b5050565b60008080600080516020615f668339815191526003600080516020615f6683398151915286600080516020615f6683398151915288890909089050600061467a827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020615f66833981519152614813565b91959194509092505050565b60006101008251111561470f5760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610709565b815161471d57506000919050565b60008083600081518110614733576147336158d2565b0160200151600160f89190911c81901b92505b845181101561480a57848181518110614761576147616158d2565b0160200151600160f89190911c1b91508282116147f65760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610709565b91811791614803816159ec565b9050614746565b50909392505050565b60008061481e61493b565b614826614959565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa9250828015613cce5750826148b05760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c7572650000000000006044820152606401610709565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061490a614977565b8152602001614917614977565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b63ffffffff8116811461071b57600080fd5b803561439d81614995565b6000602082840312156149c457600080fd5b81356141ef81614995565b6001600160a01b038116811461071b57600080fd5b6000602082840312156149f657600080fd5b81356141ef816149cf565b600060208284031215614a1357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614a5257614a52614a1a565b60405290565b60405161010081016001600160401b0381118282101715614a5257614a52614a1a565b604051601f8201601f191681016001600160401b0381118282101715614aa357614aa3614a1a565b604052919050565b600060408284031215614abd57600080fd5b614ac5614a30565b9050813581526020820135602082015292915050565b600082601f830112614aec57600080fd5b604051604081018181106001600160401b0382111715614b0e57614b0e614a1a565b8060405250806040840185811115614b2557600080fd5b845b818110156142fc578035835260209283019201614b27565b600060808284031215614b5157600080fd5b614b59614a30565b9050614b658383614adb565b8152614b748360408401614adb565b602082015292915050565b6000806000806101208587031215614b9657600080fd5b84359350614ba78660208701614aab565b9250614bb68660608701614b3f565b9150614bc58660e08701614aab565b905092959194509250565b60008083601f840112614be257600080fd5b5081356001600160401b03811115614bf957600080fd5b602083019150836020828501011115614c1157600080fd5b9250929050565b60008060008060608587031215614c2e57600080fd5b843593506020850135614c4081614995565b925060408501356001600160401b03811115614c5b57600080fd5b614c6787828801614bd0565b95989497509550505050565b60006001600160401b03821115614c8c57614c8c614a1a565b5060051b60200190565b60008060408385031215614ca957600080fd5b8235614cb4816149cf565b91506020838101356001600160401b03811115614cd057600080fd5b8401601f81018613614ce157600080fd5b8035614cf4614cef82614c73565b614a7b565b81815260059190911b82018301908381019088831115614d1357600080fd5b928401925b82841015614d3a578335614d2b816149cf565b82529284019290840190614d18565b80955050505050509250929050565b600081518084526020808501945080840160005b83811015614d7957815187529582019590820190600101614d5d565b509495945050505050565b602081526000614d976020830184614d49565b9392505050565b600080600060608486031215614db357600080fd5b8335614dbe816149cf565b92506020848101356001600160401b0380821115614ddb57600080fd5b818701915087601f830112614def57600080fd5b813581811115614e0157614e01614a1a565b614e13601f8201601f19168501614a7b565b91508082528884828501011115614e2957600080fd5b8084840185840137600084828401015250809450505050614e4c604085016149a7565b90509250925092565b600081518084526020808501808196508360051b810191508286016000805b86811015614eeb578385038a52825180518087529087019087870190845b81811015614ed657835180516001600160a01b031684528a8101518b8501526040908101516001600160601b03169084015292890192606090920191600101614e92565b50509a87019a95505091850191600101614e74565b509298975050505050505050565b602081526000614d976020830184614e55565b801515811461071b57600080fd5b600060208284031215614f2c57600080fd5b81356141ef81614f0c565b600082601f830112614f4857600080fd5b81356020614f58614cef83614c73565b82815260059290921b84018101918181019086841115614f7757600080fd5b8286015b84811015614f925780358352918301918301614f7b565b509695505050505050565b60008060408385031215614fb057600080fd5b8235614fbb816149cf565b915060208301356001600160401b03811115614fd657600080fd5b614fe285828601614f37565b9150509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561502d5783516001600160a01b031683529284019291840191600101615008565b50909695505050505050565b6000806000806000806080878903121561505257600080fd5b863561505d816149cf565b9550602087013561506d81614995565b945060408701356001600160401b038082111561508957600080fd5b6150958a838b01614bd0565b909650945060608901359150808211156150ae57600080fd5b818901915089601f8301126150c257600080fd5b8135818111156150d157600080fd5b8a60208260051b85010111156150e657600080fd5b6020830194508093505050509295509295509295565b600081518084526020808501945080840160005b83811015614d7957815163ffffffff1687529582019590820190600101615110565b60006020808352835160808285015261514e60a08501826150fc565b905081850151601f198086840301604087015261516b83836150fc565b9250604087015191508086840301606087015261518883836150fc565b60608801518782038301608089015280518083529194508501925084840190600581901b8501860160005b828110156151df57848783030184526151cd8287516150fc565b958801959388019391506001016151b3565b509998505050505050505050565b60ff8116811461071b57600080fd5b60006020828403121561520e57600080fd5b81356141ef816151ed565b60008060006060848603121561522e57600080fd5b8335615239816149cf565b925060208401356001600160401b0381111561525457600080fd5b61526086828701614f37565b925050604084013561527181614995565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561502d57835183529284019291840191600101615298565b6000608082840312156152c657600080fd5b50919050565b6000604082840312156152c657600080fd5b600082601f8301126152ef57600080fd5b813560206152ff614cef83614c73565b82815260069290921b8401810191818101908684111561531e57600080fd5b8286015b84811015614f92576153348882614aab565b835291830191604001615322565b60008060008060c0858703121561535857600080fd5b84356001600160401b038082111561536f57600080fd5b61537b888389016152b4565b955061538a88602089016152cc565b945061539988606089016152cc565b935060a08701359150808211156153af57600080fd5b506153bc878288016152de565b91505092959194509250565b600082601f8301126153d957600080fd5b813560206153e9614cef83614c73565b82815260059290921b8401810191818101908684111561540857600080fd5b8286015b84811015614f9257803561541f81614995565b835291830191830161540c565b600082601f83011261543d57600080fd5b8135602061544d614cef83614c73565b82815260059290921b8401810191818101908684111561546c57600080fd5b8286015b84811015614f925780356001600160401b0381111561548f5760008081fd5b61549d8986838b01016153c8565b845250918301918301615470565b600061018082840312156154be57600080fd5b6154c6614a58565b905081356001600160401b03808211156154df57600080fd5b6154eb858386016153c8565b8352602084013591508082111561550157600080fd5b61550d858386016152de565b6020840152604084013591508082111561552657600080fd5b615532858386016152de565b60408401526155448560608601614b3f565b60608401526155568560e08601614aab565b608084015261012084013591508082111561557057600080fd5b61557c858386016153c8565b60a084015261014084013591508082111561559657600080fd5b6155a2858386016153c8565b60c08401526101608401359150808211156155bc57600080fd5b506155c98482850161542c565b60e08301525092915050565b6000806000806000608086880312156155ed57600080fd5b8535945060208601356001600160401b038082111561560b57600080fd5b61561789838a01614bd0565b90965094506040880135915061562c82614995565b9092506060870135908082111561564257600080fd5b5061564f888289016154ab565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614d795781516001600160601b031687529582019590820190600101615670565b60408152600083516040808401526156b0608084018261565c565b90506020850151603f198483030160608501526156cd828261565c565b925050508260208301529392505050565b6000806000606084860312156156f357600080fd5b83356156fe816149cf565b925060208401359150604084013561527181614995565b82815260406020820152600061572e6040830184614e55565b949350505050565b60008060006080848603121561574b57600080fd5b83356001600160401b038082111561576257600080fd5b61576e878388016152b4565b945061577d87602088016152cc565b9350606086013591508082111561579357600080fd5b506157a0868287016154ab565b9150509250925092565b600080600080608085870312156157c057600080fd5b84356157cb816149cf565b935060208501356157db816149cf565b925060408501356157eb816149cf565b915060608501356157fb816149cf565b939692955090935050565b60006020828403121561581857600080fd5b81516141ef816149cf565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60006020828403121561587f57600080fd5b81516141ef81614f0c565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60008261590557634e487b7160e01b600052601260045260246000fd5b500690565b6000602080835283518184015263ffffffff8185015116604084015260408401516080606085015280518060a086015260005b818110156159595782810184015186820160c00152830161593d565b8181111561596b57600060c083880101525b50606086015163ffffffff811660808701529250601f01601f19169390930160c001949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8083168185168083038211156159ca576159ca615995565b01949350505050565b6000602082840312156159e557600080fd5b5051919050565b6000600019821415615a0057615a00615995565b5060010190565b60006020808385031215615a1a57600080fd5b82516001600160401b03811115615a3057600080fd5b8301601f81018513615a4157600080fd5b8051615a4f614cef82614c73565b81815260059190911b82018301908381019087831115615a6e57600080fd5b928401925b82841015615a8c57835182529284019290840190615a73565b979650505050505050565b600060208284031215615aa957600080fd5b81516001600160601b03811681146141ef57600080fd5b63ffffffff84168152604060208201819052810182905260006001600160fb1b03831115615aed57600080fd5b8260051b8085606085013760009201606001918252509392505050565b60006020808385031215615b1d57600080fd5b82516001600160401b03811115615b3357600080fd5b8301601f81018513615b4457600080fd5b8051615b52614cef82614c73565b81815260059190911b82018301908381019087831115615b7157600080fd5b928401925b82841015615a8c578351615b8981614995565b82529284019290840190615b76565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b63ffffffff84168152604060208201526000615be1604083018486615b98565b95945050505050565b600060208284031215615bfc57600080fd5b81516001600160c01b03811681146141ef57600080fd5b600060208284031215615c2557600080fd5b81516141ef81614995565b600060ff821660ff811415615c4757615c47615995565b60010192915050565b604081526000615c64604083018587615b98565b905063ffffffff83166020830152949350505050565b63ffffffff8316815260406020820152600061572e6040830184614d49565b8035615ca481614995565b63ffffffff168252602090810135910152565b60808101615cc58285615c99565b8235615cd081614995565b63ffffffff16604083015260209290920135606090910152919050565b6000816000190483118215151615615d0757615d07615995565b500290565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b83811015615d4757815185529382019390820190600101615d2b565b5092979650505050505050565b600060208284031215615d6657600080fd5b81516141ef816151ed565b600082821015615d8357615d83615995565b500390565b60008219821115615d9b57615d9b615995565b500190565b600060208284031215615db257600080fd5b815167ffffffffffffffff19811681146141ef57600080fd5b60006001600160601b0383811690831681811015615deb57615deb615995565b039392505050565b6000808335601e19843603018112615e0a57600080fd5b8301803591506001600160401b03821115615e2457600080fd5b602001915036819003821315614c1157600080fd5b602081528135602082015260006020830135615e5481614995565b63ffffffff81166040840152506040830135601e19843603018112615e7857600080fd5b830180356001600160401b03811115615e9057600080fd5b803603851315615e9f57600080fd5b60806060850152615eb760a085018260208501615b98565b915050615ec6606085016149a7565b63ffffffff81166080850152509392505050565b604081016141f28284615c99565b60006001600160601b0380831681851681830481118215151615615f0e57615f0e615995565b02949350505050565b60808101615f258285615c99565b63ffffffff8351166040830152602083015160608301529392505050565b600061ffff80831681811415615f5b57615f5b615995565b600101939250505056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220fd151841c0760ee83c8acdbb3e70041daab32c4ca3fce709e594de03cc2ef57964736f6c634300080c0033","sourceMap":"795:13557:156:-:0;;;2574:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2707:20;1732::110;-1:-1:-1;;;;;1710:42:110;;;-1:-1:-1;;;;;1710:42:110;;;;;1778:20;-1:-1:-1;;;;;1778:34:110;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1762:52:110;;;-1:-1:-1;;;;;1762:52:110;;;;;1841:20;-1:-1:-1;;;;;1841:35:110;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1824:54:110;;;-1:-1:-1;;;;;1824:54:110;;;;;1901:13;;-1:-1:-1;;;;;1901:24:110;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1888:39:110;;;-1:-1:-1;2739:56:156::1;;;::::0;-1:-1:-1;795:13557:156;;14:153:169;-1:-1:-1;;;;;111:31:169;;101:42;;91:70;;157:1;154;147:12;91:70;14:153;:::o;172:468::-;280:6;288;341:2;329:9;320:7;316:23;312:32;309:52;;;357:1;354;347:12;309:52;389:9;383:16;408:53;455:5;408:53;:::i;:::-;530:2;515:18;;509:25;480:5;;-1:-1:-1;578:10:169;565:24;;553:37;;543:65;;604:1;601;594:12;543:65;627:7;617:17;;;172:468;;;;;:::o;645:297::-;739:6;792:2;780:9;771:7;767:23;763:32;760:52;;;808:1;805;798:12;760:52;840:9;834:16;859:53;906:5;859:53;:::i;:::-;931:5;645:297;-1:-1:-1;;;645:297:169:o;1250:300::-;795:13557:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061023d5760003560e01c8063683048351161013b578063c9ba3907116100b8578063ec50a2ef1161007c578063ec50a2ef146105fb578063f2fde38b14610621578063f63c5bab14610634578063f8c8765e1461063c578063fabc1cbc1461064f57600080fd5b8063c9ba39071461057f578063cefdc1d41461058d578063d5ad886d146105ae578063df5cf723146105c1578063eba4e01e146105e857600080fd5b80637afa1eed116100ff5780637afa1eed1461051b578063886f11951461052e5780638da5cb5b14610541578063914eea1b14610552578063b98d09081461057257600080fd5b806368304835146104915780636b532e9e146104b85780636d14a987146104cb5780636efb4636146104f2578063715018a61461051357600080fd5b80633563b0d1116101c9578063595c6a671161018d578063595c6a67146104175780635ac86ab71461041f5780635c155662146104425780635c975abb146104625780635df459461461046a57600080fd5b80633563b0d1146103945780633b12421d146103b4578063416c7e5e146103c45780634d2b57fe146103d75780634f739f74146103f757600080fd5b80631ad43189116102105780631ad43189146102c7578063245a7bfc146103035780632b0a2ea41461032e5780632bc70afc1461034157806331b36bd91461037457600080fd5b806304a274861461024257806310d67a2f14610275578063136439dd1461028a578063171f1d5b1461029d575b600080fd5b6102626102503660046149b2565b60cb6020526000908152604090205481565b6040519081526020015b60405180910390f35b6102886102833660046149e4565b610662565b005b610288610298366004614a01565b61071e565b6102b06102ab366004614b7f565b61085d565b60408051921515835290151560208301520161026c565b6102ee7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161026c565b60ce54610316906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b61028861033c366004614c18565b6109e7565b61036461034f3660046149b2565b60cc6020526000908152604090205460ff1681565b604051901515815260200161026c565b610387610382366004614c96565b610b8a565b60405161026c9190614d84565b6103a76103a2366004614d9e565b610ca6565b60405161026c9190614ef9565b60c9546102ee9063ffffffff1681565b6102886103d2366004614f1a565b61113c565b6103ea6103e5366004614f9d565b611273565b60405161026c9190614fec565b61040a610405366004615039565b611388565b60405161026c9190615132565b610288611aae565b61036461042d3660046151fc565b606654600160ff9092169190911b9081161490565b610455610450366004615219565b611b75565b60405161026c919061527c565b606654610262565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6102886104c6366004615342565b611d3d565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6105056105003660046155d5565b612316565b60405161026c929190615695565b61028861320e565b60cf54610316906001600160a01b031681565b606554610316906001600160a01b031681565b6033546001600160a01b0316610316565b6102626105603660046149b2565b60ca6020526000908152604090205481565b6097546103649060ff1681565b60c95463ffffffff166102ee565b6105a061059b3660046156de565b613222565b60405161026c929190615715565b6102886105bc366004615736565b6133b4565b6103167f000000000000000000000000000000000000000000000000000000000000000081565b6103166105f6366004614a01565b61383b565b7f00000000000000000000000000000000000000000000000000000000000000006102ee565b61028861062f3660046149e4565b613865565b6102ee606481565b61028861064a3660046157aa565b6138db565b61028861065d366004614a01565b613a2c565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d99190615806565b6001600160a01b0316336001600160a01b0316146107125760405162461bcd60e51b815260040161070990615823565b60405180910390fd5b61071b81613b88565b50565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a919061586d565b6107a65760405162461bcd60e51b81526004016107099061588a565b6066548181161461081f5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610709565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001878760000151886020015188600001516000600281106108a5576108a56158d2565b60200201518951600160200201518a602001516000600281106108ca576108ca6158d2565b60200201518b602001516001600281106108e6576108e66158d2565b602090810291909101518c518d8301516040516109439a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c61096691906158e8565b90506109d961097f6109788884613c7f565b8690613d16565b610987613daa565b6109cf6109c0856109ba604080518082018252600080825260209182015281518083019092526001825260029082015290565b90613c7f565b6109c98c613e6a565b90613d16565b886201d4c0613efa565b909890975095505050505050565b60cf546001600160a01b03163314610a4d5760405162461bcd60e51b8152602060048201526024808201527f446973707574652067656e657261746f72206d75737420626520746865206361604482015263363632b960e11b6064820152608401610709565b610a84604051806080016040528060008152602001600063ffffffff16815260200160608152602001600063ffffffff1681525090565b84815263ffffffff438116602080840191909152908516606083015260408051601f850183900483028101830190915283815290849084908190840183828082843760009201919091525050505060408083019190915251610aea90829060200161590a565b60408051601f19818403018152828252805160209182012060c9805463ffffffff908116600090815260ca90945293909220555416907fb34dae11be68e43298ceb1c3af16c51154aad41aa1648092b358f163acd3de0d90610b4d90849061590a565b60405180910390a260c954610b699063ffffffff1660016159ab565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b606081516001600160401b03811115610ba557610ba5614a1a565b604051908082528060200260200182016040528015610bce578160200160208202803683370190505b50905060005b8251811015610c9f57836001600160a01b03166313542a4e848381518110610bfe57610bfe6158d2565b60200260200101516040518263ffffffff1660e01b8152600401610c3191906001600160a01b0391909116815260200190565b602060405180830381865afa158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7291906159d3565b828281518110610c8457610c846158d2565b6020908102919091010152610c98816159ec565b9050610bd4565b5092915050565b60606000846001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c9190615806565b90506000856001600160a01b0316639e9923c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d729190615806565b90506000866001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd89190615806565b9050600086516001600160401b03811115610df557610df5614a1a565b604051908082528060200260200182016040528015610e2857816020015b6060815260200190600190039081610e135790505b50905060005b8751811015611130576000888281518110610e4b57610e4b6158d2565b0160200151604051638902624560e01b815260f89190911c6004820181905263ffffffff8a16602483015291506000906001600160a01b03871690638902624590604401600060405180830381865afa158015610eac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ed49190810190615a07565b905080516001600160401b03811115610eef57610eef614a1a565b604051908082528060200260200182016040528015610f3a57816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181610f0d5790505b50848481518110610f4d57610f4d6158d2565b602002602001018190525060005b815181101561111a576040518060600160405280876001600160a01b03166347b314e8858581518110610f9057610f906158d2565b60200260200101516040518263ffffffff1660e01b8152600401610fb691815260200190565b602060405180830381865afa158015610fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff79190615806565b6001600160a01b03168152602001838381518110611017576110176158d2565b60200260200101518152602001896001600160a01b031663fa28c627858581518110611045576110456158d2565b60209081029190910101516040516001600160e01b031960e084901b168152600481019190915260ff8816602482015263ffffffff8f166044820152606401602060405180830381865afa1580156110a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c59190615a97565b6001600160601b03168152508585815181106110e3576110e36158d2565b602002602001015182815181106110fc576110fc6158d2565b60200260200101819052508080611112906159ec565b915050610f5b565b5050508080611128906159ec565b915050610e2e565b50979650505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be9190615806565b6001600160a01b0316336001600160a01b03161461126a5760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a401610709565b61071b8161411e565b606081516001600160401b0381111561128e5761128e614a1a565b6040519080825280602002602001820160405280156112b7578160200160208202803683370190505b50905060005b8251811015610c9f57836001600160a01b031663296bb0648483815181106112e7576112e76158d2565b60200260200101516040518263ffffffff1660e01b815260040161130d91815260200190565b602060405180830381865afa15801561132a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134e9190615806565b828281518110611360576113606158d2565b6001600160a01b0390921660209283029190910190910152611381816159ec565b90506112bd565b6113b36040518060800160405280606081526020016060815260200160608152602001606081525090565b6000876001600160a01b031663683048356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114179190615806565b90506114446040518060800160405280606081526020016060815260200160608152602001606081525090565b6040516361c8a12f60e11b81526001600160a01b038a169063c391425e90611474908b9089908990600401615ac0565b600060405180830381865afa158015611491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114b99190810190615b0a565b81526040516340e03a8160e11b81526001600160a01b038316906381c07502906114eb908b908b908b90600401615bc1565b600060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115309190810190615b0a565b6040820152856001600160401b0381111561154d5761154d614a1a565b60405190808252806020026020018201604052801561158057816020015b606081526020019060019003908161156b5790505b50606082015260005b60ff81168711156119bf576000856001600160401b038111156115ae576115ae614a1a565b6040519080825280602002602001820160405280156115d7578160200160208202803683370190505b5083606001518360ff16815181106115f1576115f16158d2565b602002602001018190525060005b868110156118bf5760008c6001600160a01b03166304ec63518a8a8581811061162a5761162a6158d2565b905060200201358e88600001518681518110611648576116486158d2565b60200260200101516040518463ffffffff1660e01b81526004016116859392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190615bea565b90506001600160c01b03811661176a5760405162461bcd60e51b815260206004820152605c60248201527f4f70657261746f7253746174655265747269657665722e676574436865636b5360448201527f69676e617475726573496e64696365733a206f70657261746f72206d7573742060648201527f6265207265676973746572656420617420626c6f636b6e756d62657200000000608482015260a401610709565b8a8a8560ff1681811061177f5761177f6158d2565b6001600160c01b03841692013560f81c9190911c6001908116141590506118ac57856001600160a01b031663dd9846b98a8a858181106117c1576117c16158d2565b905060200201358d8d8860ff168181106117dd576117dd6158d2565b6040516001600160e01b031960e087901b1681526004810194909452919091013560f81c60248301525063ffffffff8f166044820152606401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190615c13565b85606001518560ff1681518110611870576118706158d2565b60200260200101518481518110611889576118896158d2565b63ffffffff90921660209283029190910190910152826118a8816159ec565b9350505b50806118b7816159ec565b9150506115ff565b506000816001600160401b038111156118da576118da614a1a565b604051908082528060200260200182016040528015611903578160200160208202803683370190505b50905060005b828110156119845784606001518460ff168151811061192a5761192a6158d2565b60200260200101518181518110611943576119436158d2565b602002602001015182828151811061195d5761195d6158d2565b63ffffffff909216602092830291909101909101528061197c816159ec565b915050611909565b508084606001518460ff168151811061199f5761199f6158d2565b6020026020010181905250505080806119b790615c30565b915050611589565b506000896001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a249190615806565b60405163354952a360e21b81529091506001600160a01b0382169063d5254a8c90611a57908b908b908e90600401615c50565b600060405180830381865afa158015611a74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a9c9190810190615b0a565b60208301525098975050505050505050565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a919061586d565b611b365760405162461bcd60e51b81526004016107099061588a565b600019606681905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60606000846001600160a01b031663c391425e84866040518363ffffffff1660e01b8152600401611ba7929190615c7a565b600060405180830381865afa158015611bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bec9190810190615b0a565b9050600084516001600160401b03811115611c0957611c09614a1a565b604051908082528060200260200182016040528015611c32578160200160208202803683370190505b50905060005b8551811015611d3357866001600160a01b03166304ec6351878381518110611c6257611c626158d2565b602002602001015187868581518110611c7d57611c7d6158d2565b60200260200101516040518463ffffffff1660e01b8152600401611cba9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa158015611cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfb9190615bea565b6001600160c01b0316828281518110611d1657611d166158d2565b602090810291909101015280611d2b816159ec565b915050611c38565b5095945050505050565b6000611d4c60208501856149b2565b63ffffffff8116600090815260cb6020526040902054909150853590611dc05760405162461bcd60e51b8152602060048201526024808201527f44697370757465206861736e2774206265656e20726573706f6e64656420746f604482015263081e595d60e21b6064820152608401610709565b8484604051602001611dd3929190615cb7565b60408051601f19818403018152918152815160209283012063ffffffff8516600090815260cb90935291205414611e74576040805162461bcd60e51b81526020600482015260248101919091527f4469737075746520726573706f6e736520646f6573206e6f74206d617463682060448201527f746865206f6e65207265636f7264656420696e2074686520636f6e74726163746064820152608401610709565b63ffffffff8216600090815260cc602052604090205460ff1615611f0f5760405162461bcd60e51b815260206004820152604660248201527f54686520726573706f6e736520746f207468697320646973707574652068617360448201527f20616c7265616479206265656e206368616c6c656e6765642073756363657373606482015265333ab6363c9760d11b608482015260a401610709565b6064611f1e60208601866149b2565b611f2891906159ab565b63ffffffff164363ffffffff161115611fa95760405162461bcd60e51b815260206004820152603a60248201527f546865206368616c6c656e676520706572696f6420666f72207468697320646960448201527f73707574652068617320616c726561647920657870697265642e0000000000006064820152608401610709565b6000611fb58280615ced565b905060208601358114600181141561200357604051339063ffffffff8616907f4a605edde300aa7e90bfea8e781d28f7e5e32a02bcc9aaf70e14a03e1db8328290600090a350505050612310565b600085516001600160401b0381111561201e5761201e614a1a565b604051908082528060200260200182016040528015612047578160200160208202803683370190505b50905060005b86518110156120b95761208a87828151811061206b5761206b6158d2565b6020026020010151805160009081526020918201519091526040902090565b82828151811061209c5761209c6158d2565b6020908102919091010152806120b1816159ec565b91505061204d565b5060006120cc60408b0160208c016149b2565b826040516020016120de929190615d0c565b604051602081830303815290604052805190602001209050876020013581146121885760405162461bcd60e51b815260206004820152605060248201527f546865207075626b657973206f66206e6f6e2d7369676e696e67206f7065726160448201527f746f727320737570706c69656420627920746865206368616c6c656e6765722060648201526f30b932903737ba1031b7b93932b1ba1760811b608482015260a401610709565b600087516001600160401b038111156121a3576121a3614a1a565b6040519080825280602002602001820160405280156121cc578160200160208202803683370190505b50905060005b88518110156122bf577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8bb9ae685838151811061221c5761221c6158d2565b60200260200101516040518263ffffffff1660e01b815260040161224291815260200190565b602060405180830381865afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122839190615806565b828281518110612295576122956158d2565b6001600160a01b0390921660209283029190910190910152806122b7816159ec565b9150506121d2565b5063ffffffff8716600081815260cc6020526040808220805460ff19166001179055513392917fb4dad22709114226336563a3749fe44eb5bfe6ea46987919b4eefecd11a542f591a3505050505050505b50505050565b604080518082019091526060808252602082015260008461238d5760405162461bcd60e51b81526020600482015260376024820152600080516020615f8683398151915260448201527f7265733a20656d7074792071756f72756d20696e7075740000000000000000006064820152608401610709565b604083015151851480156123a5575060a08301515185145b80156123b5575060c08301515185145b80156123c5575060e08301515185145b61242f5760405162461bcd60e51b81526020600482015260416024820152600080516020615f8683398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610709565b825151602084015151146124a75760405162461bcd60e51b815260206004820152604460248201819052600080516020615f86833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a401610709565b4363ffffffff168463ffffffff16106125165760405162461bcd60e51b815260206004820152603c6024820152600080516020615f8683398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b000000006064820152608401610709565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b0381111561255757612557614a1a565b604051908082528060200260200182016040528015612580578160200160208202803683370190505b506020820152866001600160401b0381111561259e5761259e614a1a565b6040519080825280602002602001820160405280156125c7578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b038111156125fb576125fb614a1a565b604051908082528060200260200182016040528015612624578160200160208202803683370190505b5081526020860151516001600160401b0381111561264457612644614a1a565b60405190808252806020026020018201604052801561266d578160200160208202803683370190505b508160200181905250600061273f8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa158015612716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273a9190615d54565b614165565b905060005b8760200151518110156129bb5761276a8860200151828151811061206b5761206b6158d2565b83602001518281518110612780576127806158d2565b602090810291909101015280156128405760208301516127a1600183615d71565b815181106127b1576127b16158d2565b602002602001015160001c836020015182815181106127d2576127d26158d2565b602002602001015160001c11612840576040805162461bcd60e51b8152602060048201526024810191909152600080516020615f8683398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f727465646064820152608401610709565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec635184602001518381518110612885576128856158d2565b60200260200101518b8b6000015185815181106128a4576128a46158d2565b60200260200101516040518463ffffffff1660e01b81526004016128e19392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129229190615bea565b6001600160c01b031683600001518281518110612941576129416158d2565b6020026020010181815250506129a761097861297b848660000151858151811061296d5761296d6158d2565b6020026020010151166141f8565b8a602001518481518110612991576129916158d2565b602002602001015161422390919063ffffffff16565b9450806129b3816159ec565b915050612744565b50506129c683614307565b60975490935060ff166000816129dd576000612a5f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5f91906159d3565b905060005b8a8110156130dd578215612bbf578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110612abb57612abb6158d2565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015612afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1f91906159d3565b612b299190615d88565b11612bbf5760405162461bcd60e51b81526020600482015260666024820152600080516020615f8683398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c401610709565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d84818110612c0057612c006158d2565b9050013560f81c60f81b60f81c8c8c60a001518581518110612c2457612c246158d2565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ca49190615da0565b6001600160401b031916612cc78a60400151838151811061206b5761206b6158d2565b67ffffffffffffffff191614612d635760405162461bcd60e51b81526020600482015260616024820152600080516020615f8683398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c401610709565b612d9389604001518281518110612d7c57612d7c6158d2565b602002602001015187613d1690919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d84818110612dd657612dd66158d2565b9050013560f81c60f81b60f81c8c8c60c001518581518110612dfa57612dfa6158d2565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7a9190615a97565b85602001518281518110612e9057612e906158d2565b6001600160601b03909216602092830291909101820152850151805182908110612ebc57612ebc6158d2565b602002602001015185600001518281518110612eda57612eda6158d2565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156130c857612f5286600001518281518110612f2457612f246158d2565b60200260200101518f8f86818110612f3e57612f3e6158d2565b600192013560f81c9290921c811614919050565b156130b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f86818110612f9857612f986158d2565b9050013560f81c60f81b60f81c8e89602001518581518110612fbc57612fbc6158d2565b60200260200101518f60e001518881518110612fda57612fda6158d2565b60200260200101518781518110612ff357612ff36158d2565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015613057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307b9190615a97565b875180518590811061308f5761308f6158d2565b602002602001018181516130a39190615dcb565b6001600160601b03169052506001909101905b806130c0816159ec565b915050612efe565b505080806130d5906159ec565b915050612a64565b5050506000806130f78c868a606001518b6080015161085d565b91509150816131685760405162461bcd60e51b81526020600482015260436024820152600080516020615f8683398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a401610709565b806131c95760405162461bcd60e51b81526020600482015260396024820152600080516020615f8683398151915260448201527f7265733a207369676e617475726520697320696e76616c6964000000000000006064820152608401610709565b505060008782602001516040516020016131e4929190615d0c565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6132166143a2565b61322060006143fc565b565b604080516001808252818301909252600091606091839160208083019080368337019050509050848160008151811061325d5761325d6158d2565b60209081029190910101526040516361c8a12f60e11b81526000906001600160a01b0388169063c391425e906132999088908690600401615c7a565b600060405180830381865afa1580156132b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132de9190810190615b0a565b6000815181106132f0576132f06158d2565b60209081029190910101516040516304ec635160e01b81526004810188905263ffffffff87811660248301529091166044820181905291506000906001600160a01b038916906304ec635190606401602060405180830381865afa15801561335c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133809190615bea565b6001600160c01b0316905060006133968261444e565b9050816133a48a838a610ca6565b9550955050505050935093915050565b60ce546001600160a01b0316331461340e5760405162461bcd60e51b815260206004820152601d60248201527f41676772656761746f72206d757374206265207468652063616c6c65720000006044820152606401610709565b600061342060408501602086016149b2565b90503660006134326040870187615df3565b9092509050600061344960808801606089016149b2565b905060ca600061345c60208901896149b2565b63ffffffff1663ffffffff16815260200190815260200160002054876040516020016134889190615e39565b6040516020818303038152906040528051906020012014613513576040805162461bcd60e51b81526020600482015260248101919091527f737570706c696564206469737075746520646f6573206e6f74206d617463682060448201527f746865206f6e65207265636f7264656420696e2074686520636f6e74726163746064820152608401610709565b600060cb8161352560208a018a6149b2565b63ffffffff1663ffffffff16815260200190815260200160002054146135a55760405162461bcd60e51b815260206004820152602f60248201527f41676772656761746f722068617320616c726561647920726573706f6e64656460448201526e20746f20746865206469737075746560881b6064820152608401610709565b6135cf7f0000000000000000000000000000000000000000000000000000000000000000856159ab565b63ffffffff164363ffffffff1611156136435760405162461bcd60e51b815260206004820152603060248201527f41676772656761746f722068617320726573706f6e64656420746f207468652060448201526f6469737075746520746f6f206c61746560801b6064820152608401610709565b6000866040516020016136569190615eda565b60405160208183030381529060405280519060200120905060008061367e8387878a8c612316565b9150915060005b8581101561377d578460ff16836020015182815181106136a7576136a76158d2565b60200260200101516136b99190615ee8565b6001600160601b03166064846000015183815181106136da576136da6158d2565b60200260200101516001600160601b03166136f59190615ced565b101561376b576040805162461bcd60e51b81526020600482015260248101919091527f5369676e61746f7269657320646f206e6f74206f776e206174206c656173742060448201527f7468726573686f6c642070657263656e74616765206f6620612071756f72756d6064820152608401610709565b80613775816159ec565b915050613685565b5060408051808201825263ffffffff431681526020808201849052915190916137aa918c91849101615f17565b6040516020818303038152906040528051906020012060cb60008c60000160208101906137d791906149b2565b63ffffffff1663ffffffff168152602001908152602001600020819055507f35371174acc108e74ddc50f4a0d36bcd1131f91115abcbd1d88602493c120f6f8a82604051613826929190615f17565b60405180910390a15050505050505050505050565b60cd818154811061384b57600080fd5b6000918252602090912001546001600160a01b0316905081565b61386d6143a2565b6001600160a01b0381166138d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610709565b61071b816143fc565b600054610100900460ff16158080156138fb5750600054600160ff909116105b806139155750303b158015613915575060005460ff166001145b6139785760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610709565b6000805460ff19166001179055801561399b576000805461ff0019166101001790555b6139a685600061451a565b6139af846143fc565b60ce80546001600160a01b038086166001600160a01b03199283161790925560cf8054928516929091169190911790558015613a25576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aa39190615806565b6001600160a01b0316336001600160a01b031614613ad35760405162461bcd60e51b815260040161070990615823565b606654198119606654191614613b515760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610709565b606681905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610852565b6001600160a01b038116613c165760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610709565b606554604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1606580546001600160a01b0319166001600160a01b0392909216919091179055565b6040805180820190915260008082526020820152613c9b6148bb565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015613cce57613cd0565bfe5b5080613d0e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b6044820152606401610709565b505092915050565b6040805180820190915260008082526020820152613d326148d9565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015613cce575080613d0e5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b6044820152606401610709565b613db26148f7565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b604080518082019091526000808252602082015260008080613e9a600080516020615f66833981519152866158e8565b90505b613ea681614604565b9093509150600080516020615f66833981519152828309831415613ee0576040805180820190915290815260208101919091529392505050565b600080516020615f66833981519152600182089050613e9d565b604080518082018252868152602080820186905282518084019093528683528201849052600091829190613f2c61491c565b60005b60028110156140f1576000613f45826006615ced565b9050848260028110613f5957613f596158d2565b60200201515183613f6b836000615d88565b600c8110613f7b57613f7b6158d2565b6020020152848260028110613f9257613f926158d2565b60200201516020015183826001613fa99190615d88565b600c8110613fb957613fb96158d2565b6020020152838260028110613fd057613fd06158d2565b6020020151515183613fe3836002615d88565b600c8110613ff357613ff36158d2565b602002015283826002811061400a5761400a6158d2565b6020020151516001602002015183614023836003615d88565b600c8110614033576140336158d2565b602002015283826002811061404a5761404a6158d2565b602002015160200151600060028110614065576140656158d2565b602002015183614076836004615d88565b600c8110614086576140866158d2565b602002015283826002811061409d5761409d6158d2565b6020020151602001516001600281106140b8576140b86158d2565b6020020151836140c9836005615d88565b600c81106140d9576140d96158d2565b602002015250806140e9816159ec565b915050613f2f565b506140fa61493b565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6097805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc9060200160405180910390a150565b60008061417184614686565b9050808360ff166001901b116141ef5760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c7565006064820152608401610709565b90505b92915050565b6000805b82156141f25761420d600184615d71565b909216918061421b81615f43565b9150506141fc565b60408051808201909152600080825260208201526102008261ffff161061427f5760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b6044820152606401610709565b8161ffff16600114156142935750816141f2565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff16106142fc57600161ffff871660ff83161c811614156142df576142dc8484613d16565b93505b6142e98384613d16565b92506201fffe600192831b1691016142af565b509195945050505050565b6040805180820190915260008082526020820152815115801561432c57506020820151155b1561434a575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020615f66833981519152846020015161437d91906158e8565b61439590600080516020615f66833981519152615d71565b905292915050565b919050565b6033546001600160a01b031633146132205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610709565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060008061445c846141f8565b61ffff166001600160401b0381111561447757614477614a1a565b6040519080825280601f01601f1916602001820160405280156144a1576020820181803683370190505b5090506000805b8251821080156144b9575061010081105b15614510576001811b935085841615614500578060f81b8383815181106144e2576144e26158d2565b60200101906001600160f81b031916908160001a9053508160010191505b614509816159ec565b90506144a8565b5090949350505050565b6065546001600160a01b031615801561453b57506001600160a01b03821615155b6145bd5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a401610709565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a261460082613b88565b5050565b60008080600080516020615f668339815191526003600080516020615f6683398151915286600080516020615f6683398151915288890909089050600061467a827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52600080516020615f66833981519152614813565b91959194509092505050565b60006101008251111561470f5760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a401610709565b815161471d57506000919050565b60008083600081518110614733576147336158d2565b0160200151600160f89190911c81901b92505b845181101561480a57848181518110614761576147616158d2565b0160200151600160f89190911c1b91508282116147f65760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a401610709565b91811791614803816159ec565b9050614746565b50909392505050565b60008061481e61493b565b614826614959565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa9250828015613cce5750826148b05760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c7572650000000000006044820152606401610709565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061490a614977565b8152602001614917614977565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b63ffffffff8116811461071b57600080fd5b803561439d81614995565b6000602082840312156149c457600080fd5b81356141ef81614995565b6001600160a01b038116811461071b57600080fd5b6000602082840312156149f657600080fd5b81356141ef816149cf565b600060208284031215614a1357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614a5257614a52614a1a565b60405290565b60405161010081016001600160401b0381118282101715614a5257614a52614a1a565b604051601f8201601f191681016001600160401b0381118282101715614aa357614aa3614a1a565b604052919050565b600060408284031215614abd57600080fd5b614ac5614a30565b9050813581526020820135602082015292915050565b600082601f830112614aec57600080fd5b604051604081018181106001600160401b0382111715614b0e57614b0e614a1a565b8060405250806040840185811115614b2557600080fd5b845b818110156142fc578035835260209283019201614b27565b600060808284031215614b5157600080fd5b614b59614a30565b9050614b658383614adb565b8152614b748360408401614adb565b602082015292915050565b6000806000806101208587031215614b9657600080fd5b84359350614ba78660208701614aab565b9250614bb68660608701614b3f565b9150614bc58660e08701614aab565b905092959194509250565b60008083601f840112614be257600080fd5b5081356001600160401b03811115614bf957600080fd5b602083019150836020828501011115614c1157600080fd5b9250929050565b60008060008060608587031215614c2e57600080fd5b843593506020850135614c4081614995565b925060408501356001600160401b03811115614c5b57600080fd5b614c6787828801614bd0565b95989497509550505050565b60006001600160401b03821115614c8c57614c8c614a1a565b5060051b60200190565b60008060408385031215614ca957600080fd5b8235614cb4816149cf565b91506020838101356001600160401b03811115614cd057600080fd5b8401601f81018613614ce157600080fd5b8035614cf4614cef82614c73565b614a7b565b81815260059190911b82018301908381019088831115614d1357600080fd5b928401925b82841015614d3a578335614d2b816149cf565b82529284019290840190614d18565b80955050505050509250929050565b600081518084526020808501945080840160005b83811015614d7957815187529582019590820190600101614d5d565b509495945050505050565b602081526000614d976020830184614d49565b9392505050565b600080600060608486031215614db357600080fd5b8335614dbe816149cf565b92506020848101356001600160401b0380821115614ddb57600080fd5b818701915087601f830112614def57600080fd5b813581811115614e0157614e01614a1a565b614e13601f8201601f19168501614a7b565b91508082528884828501011115614e2957600080fd5b8084840185840137600084828401015250809450505050614e4c604085016149a7565b90509250925092565b600081518084526020808501808196508360051b810191508286016000805b86811015614eeb578385038a52825180518087529087019087870190845b81811015614ed657835180516001600160a01b031684528a8101518b8501526040908101516001600160601b03169084015292890192606090920191600101614e92565b50509a87019a95505091850191600101614e74565b509298975050505050505050565b602081526000614d976020830184614e55565b801515811461071b57600080fd5b600060208284031215614f2c57600080fd5b81356141ef81614f0c565b600082601f830112614f4857600080fd5b81356020614f58614cef83614c73565b82815260059290921b84018101918181019086841115614f7757600080fd5b8286015b84811015614f925780358352918301918301614f7b565b509695505050505050565b60008060408385031215614fb057600080fd5b8235614fbb816149cf565b915060208301356001600160401b03811115614fd657600080fd5b614fe285828601614f37565b9150509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561502d5783516001600160a01b031683529284019291840191600101615008565b50909695505050505050565b6000806000806000806080878903121561505257600080fd5b863561505d816149cf565b9550602087013561506d81614995565b945060408701356001600160401b038082111561508957600080fd5b6150958a838b01614bd0565b909650945060608901359150808211156150ae57600080fd5b818901915089601f8301126150c257600080fd5b8135818111156150d157600080fd5b8a60208260051b85010111156150e657600080fd5b6020830194508093505050509295509295509295565b600081518084526020808501945080840160005b83811015614d7957815163ffffffff1687529582019590820190600101615110565b60006020808352835160808285015261514e60a08501826150fc565b905081850151601f198086840301604087015261516b83836150fc565b9250604087015191508086840301606087015261518883836150fc565b60608801518782038301608089015280518083529194508501925084840190600581901b8501860160005b828110156151df57848783030184526151cd8287516150fc565b958801959388019391506001016151b3565b509998505050505050505050565b60ff8116811461071b57600080fd5b60006020828403121561520e57600080fd5b81356141ef816151ed565b60008060006060848603121561522e57600080fd5b8335615239816149cf565b925060208401356001600160401b0381111561525457600080fd5b61526086828701614f37565b925050604084013561527181614995565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561502d57835183529284019291840191600101615298565b6000608082840312156152c657600080fd5b50919050565b6000604082840312156152c657600080fd5b600082601f8301126152ef57600080fd5b813560206152ff614cef83614c73565b82815260069290921b8401810191818101908684111561531e57600080fd5b8286015b84811015614f92576153348882614aab565b835291830191604001615322565b60008060008060c0858703121561535857600080fd5b84356001600160401b038082111561536f57600080fd5b61537b888389016152b4565b955061538a88602089016152cc565b945061539988606089016152cc565b935060a08701359150808211156153af57600080fd5b506153bc878288016152de565b91505092959194509250565b600082601f8301126153d957600080fd5b813560206153e9614cef83614c73565b82815260059290921b8401810191818101908684111561540857600080fd5b8286015b84811015614f9257803561541f81614995565b835291830191830161540c565b600082601f83011261543d57600080fd5b8135602061544d614cef83614c73565b82815260059290921b8401810191818101908684111561546c57600080fd5b8286015b84811015614f925780356001600160401b0381111561548f5760008081fd5b61549d8986838b01016153c8565b845250918301918301615470565b600061018082840312156154be57600080fd5b6154c6614a58565b905081356001600160401b03808211156154df57600080fd5b6154eb858386016153c8565b8352602084013591508082111561550157600080fd5b61550d858386016152de565b6020840152604084013591508082111561552657600080fd5b615532858386016152de565b60408401526155448560608601614b3f565b60608401526155568560e08601614aab565b608084015261012084013591508082111561557057600080fd5b61557c858386016153c8565b60a084015261014084013591508082111561559657600080fd5b6155a2858386016153c8565b60c08401526101608401359150808211156155bc57600080fd5b506155c98482850161542c565b60e08301525092915050565b6000806000806000608086880312156155ed57600080fd5b8535945060208601356001600160401b038082111561560b57600080fd5b61561789838a01614bd0565b90965094506040880135915061562c82614995565b9092506060870135908082111561564257600080fd5b5061564f888289016154ab565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614d795781516001600160601b031687529582019590820190600101615670565b60408152600083516040808401526156b0608084018261565c565b90506020850151603f198483030160608501526156cd828261565c565b925050508260208301529392505050565b6000806000606084860312156156f357600080fd5b83356156fe816149cf565b925060208401359150604084013561527181614995565b82815260406020820152600061572e6040830184614e55565b949350505050565b60008060006080848603121561574b57600080fd5b83356001600160401b038082111561576257600080fd5b61576e878388016152b4565b945061577d87602088016152cc565b9350606086013591508082111561579357600080fd5b506157a0868287016154ab565b9150509250925092565b600080600080608085870312156157c057600080fd5b84356157cb816149cf565b935060208501356157db816149cf565b925060408501356157eb816149cf565b915060608501356157fb816149cf565b939692955090935050565b60006020828403121561581857600080fd5b81516141ef816149cf565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60006020828403121561587f57600080fd5b81516141ef81614f0c565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60008261590557634e487b7160e01b600052601260045260246000fd5b500690565b6000602080835283518184015263ffffffff8185015116604084015260408401516080606085015280518060a086015260005b818110156159595782810184015186820160c00152830161593d565b8181111561596b57600060c083880101525b50606086015163ffffffff811660808701529250601f01601f19169390930160c001949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8083168185168083038211156159ca576159ca615995565b01949350505050565b6000602082840312156159e557600080fd5b5051919050565b6000600019821415615a0057615a00615995565b5060010190565b60006020808385031215615a1a57600080fd5b82516001600160401b03811115615a3057600080fd5b8301601f81018513615a4157600080fd5b8051615a4f614cef82614c73565b81815260059190911b82018301908381019087831115615a6e57600080fd5b928401925b82841015615a8c57835182529284019290840190615a73565b979650505050505050565b600060208284031215615aa957600080fd5b81516001600160601b03811681146141ef57600080fd5b63ffffffff84168152604060208201819052810182905260006001600160fb1b03831115615aed57600080fd5b8260051b8085606085013760009201606001918252509392505050565b60006020808385031215615b1d57600080fd5b82516001600160401b03811115615b3357600080fd5b8301601f81018513615b4457600080fd5b8051615b52614cef82614c73565b81815260059190911b82018301908381019087831115615b7157600080fd5b928401925b82841015615a8c578351615b8981614995565b82529284019290840190615b76565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b63ffffffff84168152604060208201526000615be1604083018486615b98565b95945050505050565b600060208284031215615bfc57600080fd5b81516001600160c01b03811681146141ef57600080fd5b600060208284031215615c2557600080fd5b81516141ef81614995565b600060ff821660ff811415615c4757615c47615995565b60010192915050565b604081526000615c64604083018587615b98565b905063ffffffff83166020830152949350505050565b63ffffffff8316815260406020820152600061572e6040830184614d49565b8035615ca481614995565b63ffffffff168252602090810135910152565b60808101615cc58285615c99565b8235615cd081614995565b63ffffffff16604083015260209290920135606090910152919050565b6000816000190483118215151615615d0757615d07615995565b500290565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b83811015615d4757815185529382019390820190600101615d2b565b5092979650505050505050565b600060208284031215615d6657600080fd5b81516141ef816151ed565b600082821015615d8357615d83615995565b500390565b60008219821115615d9b57615d9b615995565b500190565b600060208284031215615db257600080fd5b815167ffffffffffffffff19811681146141ef57600080fd5b60006001600160601b0383811690831681811015615deb57615deb615995565b039392505050565b6000808335601e19843603018112615e0a57600080fd5b8301803591506001600160401b03821115615e2457600080fd5b602001915036819003821315614c1157600080fd5b602081528135602082015260006020830135615e5481614995565b63ffffffff81166040840152506040830135601e19843603018112615e7857600080fd5b830180356001600160401b03811115615e9057600080fd5b803603851315615e9f57600080fd5b60806060850152615eb760a085018260208501615b98565b915050615ec6606085016149a7565b63ffffffff81166080850152509392505050565b604081016141f28284615c99565b60006001600160601b0380831681851681830481118215151615615f0e57615f0e615995565b02949350505050565b60808101615f258285615c99565b63ffffffff8351166040830152602083015160608301529392505050565b600061ffff80831681811415615f5b57615f5b615995565b600101939250505056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220fd151841c0760ee83c8acdbb3e70041daab32c4ca3fce709e594de03cc2ef57964736f6c634300080c0033","sourceMap":"795:13557:156:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1778:53;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;673:25:169;;;661:2;646:18;1778:53:156;;;;;;;;5814:138:97;;;;;;:::i;:::-;;:::i;:::-;;3832:392;;;;;;:::i;:::-;;:::i;14649:1081:110:-;;;;;;:::i;:::-;;:::i;:::-;;;;4260:14:169;;4253:22;4235:41;;4319:14;;4312:22;4307:2;4292:18;;4285:50;4208:18;14649:1081:110;4073:268:169;1119:50:156;;;;;;;;4619:10:169;4607:23;;;4589:42;;4577:2;4562:18;1119:50:156;4445:192:169;2006:25:156;;;;;-1:-1:-1;;;;;2006:25:156;;;;;;-1:-1:-1;;;;;4806:32:169;;;4788:51;;4776:2;4761:18;2006:25:156;4642:203:169;3250:773:156;;;;;;:::i;:::-;;:::i;1838:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5982:14:169;;5975:22;5957:41;;5945:2;5930:18;1838:59:156;5817:187:169;10650:380:113;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3037:1255::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1348:30:156:-;;;;;;;;;2171:123:110;;;;;;:::i;:::-;;:::i;11441:390:113:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5476:3709::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4299:136:97:-;;;:::i;5594:149::-;;;;;;:::i;:::-;5712:7;;5683:1;:10;;;;;;;;5712:14;;;5711:24;;5594:149;9602:654:113;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5406:87:97:-;5479:7;;5406:87;;1122:47:110;;;;;1071:45;;;;;7451:6771:156;;;;;;:::i;:::-;;:::i;1008:57:110:-;;;;;4417:9750;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2071:101:37:-;;;:::i;2037:24:156:-;;;;;-1:-1:-1;;;;;2037:24:156;;;1825:37:97;;;;;-1:-1:-1;;;;;1825:37:97;;;1441:85:37;1513:6;;-1:-1:-1;;;;;1513:6:37;1441:85;;1623:50:156;;;;;;:::i;:::-;;;;;;;;;;;;;;1360:32:110;;;;;;;;;6954:96:156;7027:16;;;;6954:96;;1757:712:113;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;4087:2861:156:-;;;;;;:::i;:::-;;:::i;1175:46:110:-;;;;;1967:32:156;;;;;;:::i;:::-;;:::i;14228:122::-;14317:26;14228:122;;2321:198:37;;;;;;:::i;:::-;;:::i;1175:56:156:-;;1228:3;1175:56;;2808:345;;;;;;:::i;:::-;;:::i;4911:425:97:-;;;;;;:::i;:::-;;:::i;5814:138::-;2285:14;;;;;;;;;-1:-1:-1;;;;;2285:14:97;-1:-1:-1;;;;;2285:23:97;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2271:39:97;:10;-1:-1:-1;;;;;2271:39:97;;2263:94;;;;-1:-1:-1;;;2263:94:97;;;;;;;:::i;:::-;;;;;;;;;5908:37:::1;5927:17;5908:18;:37::i;:::-;5814:138:::0;:::o;3832:392::-;2125:14;;:35;;-1:-1:-1;;;2125:35:97;;2149:10;2125:35;;;4788:51:169;-1:-1:-1;;;;;2125:14:97;;;;:23;;4761:18:169;;2125:35:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2117:88;;;;-1:-1:-1;;;2117:88:97;;;;;;;:::i;:::-;4064:7:::1;::::0;4034:25;;::::1;4033:38;4025:107;;;::::0;-1:-1:-1;;;4025:107:97;;30825:2:169;4025:107:97::1;::::0;::::1;30807:21:169::0;30864:2;30844:18;;;30837:30;30903:34;30883:18;;;30876:62;30974:26;30954:18;;;30947:54;31018:19;;4025:107:97::1;30623:420:169::0;4025:107:97::1;4142:7;:25:::0;;;4182:35:::1;::::0;673:25:169;;;4189:10:97::1;::::0;4182:35:::1;::::0;661:2:169;646:18;4182:35:97::1;;;;;;;;3832:392:::0;:::o;14649:1081:110:-;14847:22;14871;14980:13;2037:77:129;15082:7:110;15111:3;:5;;;15138:3;:5;;;15165;:7;;;15173:1;15165:10;;;;;;;:::i;:::-;;;;;15197:7;;15205:1;15197:10;;;;15229:5;:7;;;15237:1;15229:10;;;;;;;:::i;:::-;;;;;15261:5;:7;;;15269:1;15261:10;;;;;;;:::i;:::-;;;;;;;;;;15293:7;;15322;;;;15044:303;;;;;;;;;;;31533:19:169;;;31577:2;31568:12;;31561:28;;;;31614:2;31605:12;;31598:28;;;;31651:2;31642:12;;31635:28;;;;31688:3;31679:13;;31672:29;;;;31726:3;31717:13;;31710:29;31764:3;31755:13;;31748:29;31802:3;31793:13;;31786:29;31840:3;31831:13;;31824:29;31878:3;31869:13;;31180:708;15044:303:110;;;;;;;;;;;;;15017:344;;;;;;14996:375;;:394;;;;:::i;:::-;14980:410;-1:-1:-1;15473:250:110;15504:33;15515:21;:3;14980:410;15515:14;:21::i;:::-;15504:5;;:10;:33::i;:::-;15551:22;:20;:22::i;:::-;15587:67;15616:37;15647:5;15616:19;-1:-1:-1;;;;;;;;;;;;;;;;;2392:13:129;;;;;;;;2400:1;2392:13;;2403:1;2392:13;;;;;2313:99;15616:19:110;:30;;:37::i;:::-;15587:23;15602:7;15587:14;:23::i;:::-;:28;;:67::i;:::-;15668:5;994:7;15473:17;:250::i;:::-;15432:291;;;;-1:-1:-1;14649:1081:110;-1:-1:-1;;;;;;14649:1081:110:o;3250:773:156:-;2500:9;;-1:-1:-1;;;;;2500:9:156;2486:10;:23;2478:72;;;;-1:-1:-1;;;2478:72:156;;32441:2:169;2478:72:156;;;32423:21:169;32480:2;32460:18;;;32453:30;32519:34;32499:18;;;32492:62;-1:-1:-1;;;32570:18:169;;;32563:34;32614:19;;2478:72:156;32239:400:169;2478:72:156;3476:25:::1;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3476:25:156::1;3511:48:::0;;;3569:53:::1;3609:12;3569:53:::0;::::1;:30;::::0;;::::1;:53:::0;;;;3632:64;;::::1;:36;::::0;::::1;:64:::0;3706:40:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;3733:13;;;;;;3706:40;::::1;3733:13:::0;;;;3706:40;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;;;3706:24:156::1;::::0;;::::1;:40:::0;;;;3882:22;::::1;::::0;3706:10;;3882:22:::1;;;:::i;:::-;;::::0;;-1:-1:-1;;3882:22:156;;::::1;::::0;;;;;;3872:33;;3882:22:::1;3872:33:::0;;::::1;::::0;3852:16:::1;::::0;;::::1;::::0;;::::1;3835:34;::::0;;;:16:::1;:34:::0;;;;;;;:70;3938:16;::::1;::::0;3920:47:::1;::::0;::::1;::::0;3956:10;;3920:47:::1;:::i;:::-;;;;;;;;3996:16;::::0;:20:::1;::::0;:16:::1;;::::0;:20:::1;:::i;:::-;3977:16;:39:::0;;-1:-1:-1;;3977:39:156::1;;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;3250:773:156:o;10650:380:113:-;10793:28;10861:9;:16;-1:-1:-1;;;;;10847:31:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10847:31:113;;10833:45;;10893:9;10888:136;10912:9;:16;10908:1;:20;10888:136;;;10966:19;-1:-1:-1;;;;;10966:33:113;;11000:9;11010:1;11000:12;;;;;;;;:::i;:::-;;;;;;;10966:47;;;;;;;;;;;;;;-1:-1:-1;;;;;4806:32:169;;;;4788:51;;4776:2;4761:18;;4642:203;10966:47:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10949:11;10961:1;10949:14;;;;;;;;:::i;:::-;;;;;;;;;;:64;10930:3;;;:::i;:::-;;;10888:136;;;;10650:380;;;;:::o;3037:1255::-;3205:19;3236:28;3267:19;-1:-1:-1;;;;;3267:33:113;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3236:66;;3312:28;3343:19;-1:-1:-1;;;;;3343:33:113;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3312:66;;3388:30;3421:19;-1:-1:-1;;;;;3421:34:113;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3388:69;;3468:29;3517:13;:20;-1:-1:-1;;;;;3500:38:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3468:70;;3553:9;3548:699;3572:13;:20;3568:1;:24;3548:699;;;3613:18;3640:13;3654:1;3640:16;;;;;;;;:::i;:::-;;;;;3702:69;;-1:-1:-1;;;3702:69:113;;3640:16;;;;;3702:69;;;35383:36:169;;;35467:10;35455:23;;35435:18;;;35428:51;3640:16:113;-1:-1:-1;;;;;;;;3702:42:113;;;;;35356:18:169;;3702:69:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3702:69:113;;;;;;;;;;;;:::i;:::-;3671:100;;3815:11;:18;-1:-1:-1;;;;;3800:34:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;3800:34:113;;-1:-1:-1;;3800:34:113;;;;;;;;;;;;3785:9;3795:1;3785:12;;;;;;;;:::i;:::-;;;;;;:49;;;;3853:9;3848:389;3872:11;:18;3868:1;:22;3848:389;;;3933:289;;;;;;;;3974:14;-1:-1:-1;;;;;3974:40:113;;4015:11;4027:1;4015:14;;;;;;;;:::i;:::-;;;;;;;3974:56;;;;;;;;;;;;;673:25:169;;661:2;646:18;;527:177;3974:56:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3933:289:113;;;;;4072:11;4084:1;4072:14;;;;;;;;:::i;:::-;;;;;;;3933:289;;;;4116:13;-1:-1:-1;;;;;4116:35:113;;4160:11;4172:1;4160:14;;;;;;;;:::i;:::-;;;;;;;;;;;4116:87;;-1:-1:-1;;;;;;4116:87:113;;;;;;;;;;36572:25:169;;;;36645:4;36633:17;;36613:18;;;36606:45;4116:87:113;36687:23:169;;36667:18;;;36660:51;36545:18;;4116:87:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3933:289:113;;;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;3928:1;3915:15;;;;;;;;:::i;:::-;;;;;;:307;;;;3892:3;;;;;:::i;:::-;;;;3848:389;;;;3599:648;;3594:3;;;;;:::i;:::-;;;;3548:699;;;-1:-1:-1;4276:9:113;3037:1255;-1:-1:-1;;;;;;;3037:1255:113:o;2171:123:110:-;1476:19;-1:-1:-1;;;;;1476:25:110;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1462:41:110;:10;-1:-1:-1;;;;;1462:41:110;;1441:180;;;;-1:-1:-1;;;1441:180:110;;37225:2:169;1441:180:110;;;37207:21:169;37264:2;37244:18;;;37237:30;37303:34;37283:18;;;37276:62;37374:34;37354:18;;;37347:62;37446:30;37425:19;;;37418:59;37494:19;;1441:180:110;37023:496:169;1441:180:110;2256:31:::1;2281:5;2256:24;:31::i;11441:390:113:-:0;11590:26;11654:11;:18;-1:-1:-1;;;;;11640:33:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11640:33:113;;11628:45;;11688:9;11683:142;11707:11;:18;11703:1;:22;11683:142;;;11761:19;-1:-1:-1;;;;;11761:37:113;;11799:11;11811:1;11799:14;;;;;;;;:::i;:::-;;;;;;;11761:53;;;;;;;;;;;;;673:25:169;;661:2;646:18;;527:177;11761:53:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11746:9;11756:1;11746:12;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11746:68:113;;;:12;;;;;;;;;;;:68;11727:3;;;:::i;:::-;;;11683:142;;5476:3709;5716:29;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5716:29:113;5757:28;5788:19;-1:-1:-1;;;;;5788:33:113;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5757:66;;5833:52;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5833:52:113;6065:99;;-1:-1:-1;;;6065:99:113;;-1:-1:-1;;;;;6065:55:113;;;;;:99;;6121:20;;6143;;;;6065:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6065:99:113;;;;;;;;;;;;:::i;:::-;6011:153;;6322:84;;-1:-1:-1;;;6322:84:113;;-1:-1:-1;;;;;6322:47:113;;;;;:84;;6370:20;;6392:13;;;;6322:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6322:84:113;;;;;;;;;;;;:::i;:::-;6279:40;;;:127;6487:13;-1:-1:-1;;;;;6472:36:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6425:44:113;;;:83;6523:23;6518:2307;6552:40;;;;-1:-1:-1;6518:2307:113;;;6629:30;6883:20;-1:-1:-1;;;;;6870:41:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6870:41:113;;6804:22;:44;;;6849:17;6804:63;;;;;;;;;;:::i;:::-;;;;;;:107;;;;6931:6;6926:1405;6943:31;;;6926:1405;;;7091:29;7144:19;-1:-1:-1;;;;;7144:55:113;;7225:20;;7246:1;7225:23;;;;;;;:::i;:::-;;;;;;;7275:20;7322:22;:51;;;7374:1;7322:54;;;;;;;;:::i;:::-;;;;;;;7144:254;;;;;;;;;;;;;;;;39865:25:169;;;39909:10;39955:15;;;39950:2;39935:18;;39928:43;40007:15;40002:2;39987:18;;39980:43;39853:2;39838:18;;39666:363;7144:254:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7091:307;-1:-1:-1;;;;;;7441:26:113;;7433:131;;;;-1:-1:-1;;;7433:131:113;;40531:2:169;7433:131:113;;;40513:21:169;40570:2;40550:18;;;40543:30;40609:34;40589:18;;;40582:62;40680:34;40660:18;;;40653:62;40752:30;40731:19;;;40724:59;40800:19;;7433:131:113;40329:496:169;7433:131:113;7750:13;;7764:17;7750:32;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7719:64:113;;7750:32;;;;;7719:64;;;;7787:1;7718:70;;;:75;7714:603;;-1:-1:-1;7714:603:113;;8024:13;-1:-1:-1;;;;;8024:46:113;;8096:20;;8117:1;8096:23;;;;;;;:::i;:::-;;;;;;;8151:13;;8165:17;8151:32;;;;;;;;;:::i;:::-;8024:228;;-1:-1:-1;;;;;;8024:228:113;;;;;;;;;;36572:25:169;;;;8151:32:113;;;;;;;36613:18:169;;;36606:45;-1:-1:-1;8024:228:113;36687:23:169;;36667:18;;;36660:51;36545:18;;8024:228:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7934:22;:44;;;7979:17;7934:63;;;;;;;;;;:::i;:::-;;;;;;;7998:22;7934:87;;;;;;;;:::i;:::-;:318;;;;:87;;;;;;;;;;;:318;8274:24;;;;:::i;:::-;;;;7714:603;-1:-1:-1;6976:3:113;;;;:::i;:::-;;;;6926:1405;;;;8421:46;8483:22;-1:-1:-1;;;;;8470:36:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8470:36:113;;8421:85;;8525:6;8520:185;8541:22;8537:1;:26;8520:185;;;8624:22;:44;;;8669:17;8624:63;;;;;;;;;;:::i;:::-;;;;;;;8688:1;8624:66;;;;;;;;:::i;:::-;;;;;;;8588:30;8619:1;8588:33;;;;;;;;:::i;:::-;:102;;;;:33;;;;;;;;;;;:102;8565:3;;;;:::i;:::-;;;;8520:185;;;;8784:30;8718:22;:44;;;8763:17;8718:63;;;;;;;;;;:::i;:::-;;;;;;:96;;;;6615:2210;;6594:19;;;;;:::i;:::-;;;;6518:2307;;;;8835:30;8868:19;-1:-1:-1;;;;;8868:34:113;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9060:78;;-1:-1:-1;;;9060:78:113;;8835:69;;-1:-1:-1;;;;;;9060:41:113;;;;;:78;;9102:13;;;;9117:20;;9060:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9060:78:113;;;;;;;;;;;;:::i;:::-;9018:39;;;:120;-1:-1:-1;9018:39:113;5476:3709;-1:-1:-1;;;;;;;;5476:3709:113:o;4299:136:97:-;2125:14;;:35;;-1:-1:-1;;;2125:35:97;;2149:10;2125:35;;;4788:51:169;-1:-1:-1;;;;;2125:14:97;;;;:23;;4761:18:169;;2125:35:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2117:88;;;;-1:-1:-1;;;2117:88:97;;;;;;;:::i;:::-;-1:-1:-1;;4349:7:97::1;:27:::0;;;4391:37:::1;::::0;673:25:169;;;4398:10:97::1;::::0;4391:37:::1;::::0;661:2:169;646:18;4391:37:97::1;;;;;;;4299:136::o:0;9602:654:113:-;9786:16;9814:35;9852:19;-1:-1:-1;;;;;9852:55:113;;9908:11;9921;9852:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9852:81:113;;;;;;;;;;;;:::i;:::-;9814:119;;9943:30;9990:11;:18;-1:-1:-1;;;;;9976:33:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9976:33:113;;9943:66;;10024:9;10019:201;10043:11;:18;10039:1;:22;10019:201;;;10101:19;-1:-1:-1;;;;;10101:55:113;;10157:11;10169:1;10157:14;;;;;;;;:::i;:::-;;;;;;;10173:11;10186:19;10206:1;10186:22;;;;;;;;:::i;:::-;;;;;;;10101:108;;;;;;;;;;;;;;;;39865:25:169;;;39909:10;39955:15;;;39950:2;39935:18;;39928:43;40007:15;40002:2;39987:18;;39980:43;39853:2;39838:18;;39666:363;10101:108:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10082:127:113;:13;10096:1;10082:16;;;;;;;;:::i;:::-;;;;;;;;;;:127;10063:3;;;;:::i;:::-;;;;10019:201;;;-1:-1:-1;10236:13:113;9602:654;-1:-1:-1;;;;;9602:654:113:o;7451:6771:156:-;7721:28;7752:37;;;;:15;:37;:::i;:::-;7914:42;;;7799:25;7914:42;;;:19;:42;;;;;;7721:68;;-1:-1:-1;7827:25:156;;;7893:139;;;;-1:-1:-1;;;7893:139:156;;42154:2:169;7893:139:156;;;42136:21:169;42193:2;42173:18;;;42166:30;42232:34;42212:18;;;42205:62;-1:-1:-1;;;42283:18:169;;;42276:34;42327:19;;7893:139:156;41952:400:169;7893:139:156;8146:15;8163:23;8135:52;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8135:52:156;;;;;;;;;8125:63;;8135:52;8125:63;;;;8063:42;;;;;;;:19;:42;;;;;;:125;8042:236;;;;;-1:-1:-1;;;8042:236:156;;43443:2:169;8042:236:156;;;43425:21:169;43462:18;;;43455:30;;;;43521:34;43501:18;;;43494:62;43592:34;43572:18;;;43565:62;43644:19;;8042:236:156;43241:428:169;8042:236:156;8309:51;;;;;;;:28;:51;;;;;;;;:60;8288:177;;;;-1:-1:-1;;;8288:177:156;;43876:2:169;8288:177:156;;;43858:21:169;43915:2;43895:18;;;43888:30;43954:34;43934:18;;;43927:62;44025:34;44005:18;;;43998:62;-1:-1:-1;;;44076:19:169;;;44069:37;44123:19;;8288:177:156;43674:474:169;8288:177:156;1228:3;8537:45;;;;:23;:45;:::i;:::-;:95;;;;:::i;:::-;8497:135;;8504:12;8497:135;;;;8476:240;;;;-1:-1:-1;;;8476:240:156;;44355:2:169;8476:240:156;;;44337:21:169;44394:2;44374:18;;;44367:30;44433:34;44413:18;;;44406:62;44504:28;44484:18;;;44477:56;44550:19;;8476:240:156;44153:422:169;8476:240:156;8791:27;8821:37;8841:17;;8821:37;:::i;:::-;8791:67;-1:-1:-1;8929:29:156;;;;8894:64;;9064:4;9043:25;;9039:147;;;9089:66;;9144:10;;9089:66;;;;;;;;;9169:7;;;;;;9039:147;9321:53;9404:28;:35;-1:-1:-1;;;;;9377:72:156;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9377:72:156;;9321:128;;9464:6;9459:205;9480:28;:35;9476:1;:39;9459:205;;;9608:45;:28;9637:1;9608:31;;;;;;;;:::i;:::-;;;;;;;10534:9:129;;10473:16;10524:20;;;10580:4;10576:13;;;10570:20;10557:34;;;10629:4;10616:18;;;10404:246;9608:45:156;9536:36;9590:1;9536:69;;;;;;;;:::i;:::-;;;;;;;;;;:117;9517:3;;;;:::i;:::-;;;;9459:205;;;-1:-1:-1;10350:27:156;10437;;;;;;;;:::i;:::-;10482:36;10403:129;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10380:162;;;;;;10350:192;;10596:23;:40;;;10573:19;:63;10552:190;;;;-1:-1:-1;;;10552:190:156;;45604:2:169;10552:190:156;;;45586:21:169;45643:2;45623:18;;;45616:30;45682:34;45662:18;;;45655:62;45753:34;45733:18;;;45726:62;-1:-1:-1;;;45804:19:169;;;45797:47;45861:19;;10552:190:156;45402:484:169;10552:190:156;10809:46;10885:28;:35;-1:-1:-1;;;;;10858:72:156;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10858:72:156;;10809:121;;10945:6;10940:254;10961:28;:35;10957:1;:39;10940:254;;;11092:14;-1:-1:-1;;;;;11052:90:156;;11143:36;11180:1;11143:39;;;;;;;;:::i;:::-;;;;;;;11052:131;;;;;;;;;;;;;673:25:169;;661:2;646:18;;527:177;11052:131:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11017:29;11047:1;11017:32;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11017:166:156;;;:32;;;;;;;;;;;:166;10998:3;;;;:::i;:::-;;;;10940:254;;;-1:-1:-1;14077:51:156;;;;;;;:28;:51;;;;;;:58;;-1:-1:-1;;14077:58:156;14131:4;14077:58;;;14151:64;14204:10;;14077:51;14151:64;;;7711:6511;;;;;;;7451:6771;;;;;:::o;4417:9750:110:-;-1:-1:-1;;;;;;;;;;;;;;;;;4646:7:110;4686:25;4665:127;;;;-1:-1:-1;;;4665:127:110;;46093:2:169;4665:127:110;;;46075:21:169;46132:2;46112:18;;;46105:30;-1:-1:-1;;;;;;;;;;;46151:18:169;;;46144:62;46242:25;46222:18;;;46215:53;46285:19;;4665:127:110;45891:419:169;4665:127:110;4849:17;;;;:24;4825:48;;4824:126;;;;-1:-1:-1;4919:23:110;;;;:30;4895:54;;4824:126;:203;;;;-1:-1:-1;4995:24:110;;;;:31;4971:55;;4824:203;:284;;;;-1:-1:-1;5072:28:110;;;;:35;5048:59;;4824:284;4803:396;;;;-1:-1:-1;;;4803:396:110;;46517:2:169;4803:396:110;;;46499:21:169;46556:2;46536:18;;;46529:30;-1:-1:-1;;;;;;;;;;;46575:18:169;;;46568:62;46666:34;46646:18;;;46639:62;-1:-1:-1;;;46717:19:169;;;46710:32;46759:19;;4803:396:110;46315:469:169;4803:396:110;5281:35;;:42;5231:23;;;;:30;:92;5210:207;;;;-1:-1:-1;;;5210:207:110;;46991:2:169;5210:207:110;;;46973:21:169;47030:2;47010:18;;;47003:30;;;-1:-1:-1;;;;;;;;;;;47049:18:169;;;47042:62;47140:34;47120:18;;;47113:62;-1:-1:-1;;;47191:19:169;;;47184:35;47236:19;;5210:207:110;46789:472:169;5210:207:110;5479:12;5449:43;;:20;:43;;;5428:150;;;;-1:-1:-1;;;5428:150:110;;47468:2:169;5428:150:110;;;47450:21:169;47507:2;47487:18;;;47480:30;-1:-1:-1;;;;;;;;;;;47526:18:169;;;47519:62;47617:30;47597:18;;;47590:58;47665:19;;5428:150:110;47266:424:169;5428:150:110;6095:19;;;;;;;;6068:24;6095:19;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;6095:19:110;6451:13;-1:-1:-1;;;;;6438:34:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6438:34:110;-1:-1:-1;6404:31:110;;;:68;6530:13;-1:-1:-1;;;;;6517:34:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6517:34:110;-1:-1:-1;6482:69:110;;-1:-1:-1;;;;;;;;;;;;;;;;;6657:6:110;:23;;;:30;-1:-1:-1;;;;;6630:67:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6630:67:110;-1:-1:-1;6603:94:110;;6747:23;;;;:30;-1:-1:-1;;;;;6733:45:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6733:45:110;;6707:10;:23;;:71;;;;6957:27;6987:133;7042:13;;6987:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7073:33:110;;;-1:-1:-1;;;7073:33:110;;;;-1:-1:-1;;;;;7073:19:110;:31;;-1:-1:-1;7073:31:110;;-1:-1:-1;7073:33:110;;;;;;;;;;;;;;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6987:37;:133::i;:::-;6957:163;;7140:9;7135:1728;7159:6;:23;;;:30;7155:1;:34;7135:1728;;;7451:82;:6;:44;;;7496:1;7451:47;;;;;;;;:::i;:82::-;7422:10;:23;;;7446:1;7422:26;;;;;;;;:::i;:::-;;;;;;;;;;:111;7555:6;;7551:305;;7692:23;;;;7716:5;7720:1;7716;:5;:::i;:::-;7692:30;;;;;;;;:::i;:::-;;;;;;;7684:39;;7626:10;:23;;;7650:1;7626:26;;;;;;;;:::i;:::-;;;;;;;7618:35;;:105;7585:252;;;;;-1:-1:-1;;;7585:252:110;;48279:2:169;7585:252:110;;;48261:21:169;48298:18;;;48291:30;;;;-1:-1:-1;;;;;;;;;;;48337:18:169;;;48330:62;48428:34;48408:18;;;48401:62;48480:19;;7585:252:110;48077:428:169;7585:252:110;7996:19;-1:-1:-1;;;;;7996:76:110;;8111:10;:23;;;8135:1;8111:26;;;;;;;;:::i;:::-;;;;;;;8176:20;8229:6;:35;;;8265:1;8229:38;;;;;;;;:::i;:::-;;;;;;;7996:294;;;;;;;;;;;;;;;;39865:25:169;;;39909:10;39955:15;;;39950:2;39935:18;;39928:43;40007:15;40002:2;39987:18;;39980:43;39853:2;39838:18;;39666:363;7996:294:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7966:324:110;:10;:24;;;7991:1;7966:27;;;;;;;;:::i;:::-;;;;;;:324;;;;;8581:267;8611:219;8679:129;8763:19;8733:10;:24;;;8758:1;8733:27;;;;;;;;:::i;:::-;;;;;;;:49;8679:24;:129::i;:::-;8611:6;:23;;;8635:1;8611:26;;;;;;;;:::i;:::-;;;;;;;:42;;:219;;;;:::i;8581:267::-;8575:273;-1:-1:-1;7191:3:110;;;;:::i;:::-;;;;7135:1728;;;;6789:2084;9146:12;:3;:10;:12::i;:::-;9490:20;;9140:18;;-1:-1:-1;9490:20:110;;9461:26;9490:20;9556:97;;9652:1;9556:97;;;9596:10;-1:-1:-1;;;;;9596:35:110;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9524:129;;9673:9;9668:3451;9688:24;;;9668:3451;;;9896:21;9892:478;;;10179:20;9974:225;;10127:21;9974:19;-1:-1:-1;;;;;9974:43:110;;10053:13;;10067:1;10053:16;;;;;;;:::i;:::-;9974:122;;;;;;-1:-1:-1;;;;;;9974:122:110;;;10053:16;;;;;9974:122;;;48841:36:169;-1:-1:-1;48814:18:169;;9974:122:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:174;;;;:::i;:::-;:225;9941:410;;;;-1:-1:-1;;;9941:410:110;;49223:2:169;9941:410:110;;;49205:21:169;49262:3;49242:18;;;49235:31;-1:-1:-1;;;;;;;;;;;49282:18:169;;;49275:62;49373:34;49353:18;;;49346:62;49445:34;49424:19;;;49417:63;-1:-1:-1;;;49496:19:169;;;49489:37;49543:19;;9941:410:110;49021:547:169;9941:410:110;10638:14;-1:-1:-1;;;;;10638:46:110;;10735:13;;10749:1;10735:16;;;;;;;:::i;:::-;;;;;;;;;10729:23;;10795:20;10852:6;:23;;;10876:1;10852:26;;;;;;;;:::i;:::-;;;;;;;;;;;10638:267;;-1:-1:-1;;;;;;10638:267:110;;;;;;;49798:4:169;49786:17;;;10638:267:110;;;49768:36:169;10638:267:110;49869:15:169;;;49849:18;;;49842:43;49921:15;49901:18;;;49894:43;49741:18;;10638:267:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10567:338:110;;10575:34;:6;:17;;;10593:1;10575:20;;;;;;;;:::i;:34::-;-1:-1:-1;;10567:338:110;;10538:506;;;;-1:-1:-1;;;10538:506:110;;50449:2:169;10538:506:110;;;50431:21:169;50488:2;50468:18;;;50461:30;-1:-1:-1;;;;;;;;;;;50507:18:169;;;50500:62;50598:34;50578:18;;;50571:62;50670:34;50649:19;;;50642:63;-1:-1:-1;;;50721:19:169;;;50714:32;50763:19;;10538:506:110;50247:541:169;10538:506:110;11068:30;11077:6;:17;;;11095:1;11077:20;;;;;;;;:::i;:::-;;;;;;;11068:3;:8;;:30;;;;:::i;:::-;11062:36;;11252:13;-1:-1:-1;;;;;11252:70:110;;11369:13;;11383:1;11369:16;;;;;;;:::i;:::-;;;;;;;;;11363:23;;11425:20;11478:6;:24;;;11503:1;11478:27;;;;;;;;:::i;:::-;;;;;;;;;;;11252:276;;-1:-1:-1;;;;;;11252:276:110;;;;;;;49798:4:169;49786:17;;;11252:276:110;;;49768:36:169;11252:276:110;49869:15:169;;;49849:18;;;49842:43;49921:15;49901:18;;;49894:43;49741:18;;11252:276:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11215:11;:31;;;11247:1;11215:34;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11215:313:110;;;:34;;;;;;;;;;:313;11584:52;;;:55;;11637:1;;11584:55;;;;;;:::i;:::-;;;;;;;11546:11;:32;;;11579:1;11546:35;;;;;;;;:::i;:::-;;;;;;:93;-1:-1:-1;;;;;11546:93:110;;;-1:-1:-1;;;;;11546:93:110;;;;;11726:31;12009:9;12004:1101;12028:6;:23;;;:30;12024:1;:34;12004:1101;;;12225:153;12272:10;:24;;;12297:1;12272:27;;;;;;;;:::i;:::-;;;;;;;12335:13;;12349:1;12335:16;;;;;;;:::i;:::-;7404:1:130;12335:16:110;;;;;7387:13:130;;;;7386:19;;7380:26;;;-1:-1:-1;7292:121:130;12225:153:110;12196:891;;;12466:13;-1:-1:-1;;;;;12466:72:110;;12593:13;;12607:1;12593:16;;;;;;;:::i;:::-;;;;;;;;;12587:23;;12657:20;12723:10;:23;;;12747:1;12723:26;;;;;;;;:::i;:::-;;;;;;;12790:6;:28;;;12819:1;12790:31;;;;;;;;:::i;:::-;;;;;;;12859:23;12790:126;;;;;;;;:::i;:::-;;;;;;;;;;;12466:481;;-1:-1:-1;;;;;;12466:481:110;;;;;;;51047:4:169;51035:17;;;12466:481:110;;;51017:36:169;12466:481:110;51118:15:169;;;51098:18;;;51091:43;51150:18;;;51143:34;;;;51213:15;51193:18;;;51186:43;50989:19;;12466:481:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12427:32;;:35;;12460:1;;12427:35;;;;;;:::i;:::-;;;;;;:520;;;;;;;:::i;:::-;-1:-1:-1;;;;;12427:520:110;;;-1:-1:-1;13013:25:110;;;;;12196:891;12060:3;;;;:::i;:::-;;;;12004:1101;;;;9719:3400;9714:3;;;;;:::i;:::-;;;;9668:3451;;;;9447:3682;;13206:22;13246:21;13284:170;13336:7;13365:3;13390:6;:12;;;13424:6;:12;;;13284:30;:170::i;:::-;13188:266;;;;13493:17;13468:143;;;;-1:-1:-1;;;13468:143:110;;51684:2:169;13468:143:110;;;51666:21:169;51723:2;51703:18;;;51696:30;-1:-1:-1;;;;;;;;;;;51742:18:169;;;51735:62;51833:34;51813:18;;;51806:62;-1:-1:-1;;;51884:19:169;;;51877:34;51928:19;;13468:143:110;51482:471:169;13468:143:110;13650:16;13625:132;;;;-1:-1:-1;;;13625:132:110;;52160:2:169;13625:132:110;;;52142:21:169;52199:2;52179:18;;;52172:30;-1:-1:-1;;;;;;;;;;;52218:18:169;;;52211:62;52309:27;52289:18;;;52282:55;52354:19;;13625:132:110;51958:421:169;13625:132:110;13138:630;;13842:27;13912:20;13934:10;:23;;;13895:63;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;13895:63:110;;;;;;13872:96;;13895:63;13872:96;;;;14127:11;;13872:96;;-1:-1:-1;4417:9750:110;;-1:-1:-1;;;;;;;;;4417:9750:110:o;2071:101:37:-;1334:13;:11;:13::i;:::-;2135:30:::1;2162:1;2135:18;:30::i;:::-;2071:101::o:0;1757:712:113:-;1991:16;;;2005:1;1991:16;;;;;;;;;1920:7;;1929:19;;1920:7;;1991:16;;;;;;;;;;;-1:-1:-1;1991:16:113;1960:47;;2034:10;2017:11;2029:1;2017:14;;;;;;;;:::i;:::-;;;;;;;;;;:27;2070:81;;-1:-1:-1;;;2070:81:113;;2054:13;;-1:-1:-1;;;;;2070:55:113;;;;;:81;;2126:11;;2139;;2070:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:81:113;;;;;;;;;;;;:::i;:::-;2152:1;2070:84;;;;;;;;:::i;:::-;;;;;;;;;;;2192:87;;-1:-1:-1;;;2192:87:113;;;;;52584:25:169;;;2054:100:113;52645:23:169;;;52625:18;;;52618:51;2054:100:113;;;52685:18:169;;;52678:34;;;2054:100:113;-1:-1:-1;2169:20:113;;-1:-1:-1;;;;;2192:55:113;;;;;52557:18:169;;2192:87:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2169:110:113;;;2290:26;2319:44;2350:12;2319:30;:44::i;:::-;2290:73;;2382:12;2396:65;2413:19;2434:13;2449:11;2396:16;:65::i;:::-;2374:88;;;;;;;;1757:712;;;;;;:::o;4087:2861:156:-;2146:10;;-1:-1:-1;;;;;2146:10:156;2132;:24;2124:66;;;;-1:-1:-1;;;2124:66:156;;52925:2:169;2124:66:156;;;52907:21:169;52964:2;52944:18;;;52937:30;53003:31;52983:18;;;52976:59;53052:18;;2124:66:156;52723:353:169;2124:66:156;4309:26:::1;4338:27;::::0;;;::::1;::::0;::::1;;:::i;:::-;4309:56:::0;-1:-1:-1;4375:28:156::1;;4406:21;;::::0;::::1;:7:::0;:21:::1;:::i;:::-;4375:52:::0;;-1:-1:-1;4375:52:156;-1:-1:-1;4437:32:156::1;4472:33;::::0;;;::::1;::::0;::::1;;:::i;:::-;4437:68:::0;-1:-1:-1;4689:16:156::1;:55;4706:37;;::::0;::::1;:15:::0;:37:::1;:::i;:::-;4689:55;;;;;;;;;;;;;;;;4660:7;4649:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;4639:30;;;;;;:105;4618:216;;;::::0;;-1:-1:-1;;;4618:216:156;;54890:2:169;4618:216:156::1;::::0;::::1;54872:21:169::0;54909:18;;;54902:30;;;;54968:34;54948:18;;;54941:62;55039:34;55019:18;;;55012:62;55091:19;;4618:216:156::1;54688:428:169::0;4618:216:156::1;4966:1;4896:19;4966:1:::0;4916:37:::1;;::::0;::::1;:15:::0;:37:::1;:::i;:::-;4896:58;;;;;;;;;;;;;;;;:72;4875:166;;;::::0;-1:-1:-1;;;4875:166:156;;55323:2:169;4875:166:156::1;::::0;::::1;55305:21:169::0;55362:2;55342:18;;;55335:30;55401:34;55381:18;;;55374:62;-1:-1:-1;;;55452:18:169;;;55445:45;55507:19;;4875:166:156::1;55121:411:169::0;4875:166:156::1;5112:48;5134:26;5112:19:::0;:48:::1;:::i;:::-;5072:88;;5079:12;5072:88;;;;5051:183;;;::::0;-1:-1:-1;;;5051:183:156;;55739:2:169;5051:183:156::1;::::0;::::1;55721:21:169::0;55778:2;55758:18;;;55751:30;55817:34;55797:18;;;55790:62;-1:-1:-1;;;55868:18:169;;;55861:46;55924:19;;5051:183:156::1;55537:412:169::0;5051:183:156::1;5365:15;5404;5393:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;5383:38;;;;;;5365:56;;5481:42;5537:24:::0;5574:167:::1;5607:7;5632:13;;5663:19;5700:27;5574:15;:167::i;:::-;5467:274;;;;5842:6;5837:591;5854:24:::0;;::::1;5837:591;;;6293:25;6220:99;;:17;:37;;;6258:1;6220:40;;;;;;;;:::i;:::-;;;;;;;:99;;;;:::i;:::-;-1:-1:-1::0;;;;;6110:209:156::1;1288:3;6110:17;:38;;;6149:1;6110:41;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;6110:86:156::1;;;;;:::i;:::-;:209;;6085:332;;;::::0;;-1:-1:-1;;;6085:332:156;;56727:2:169;6085:332:156::1;::::0;::::1;56709:21:169::0;56746:18;;;56739:30;;;;56805:34;56785:18;;;56778:62;56876:34;56856:18;;;56849:62;56928:19;;6085:332:156::1;56525:428:169::0;6085:332:156::1;5880:3:::0;::::1;::::0;::::1;:::i;:::-;;;;5837:591;;;-1:-1:-1::0;6495:97:156::1;::::0;;;;::::1;::::0;;::::1;6539:12;6495:97;::::0;;::::1;::::0;;::::1;::::0;;;6741:52;;6495:97;;6741:52:::1;::::0;6752:15;;6495:97;;6741:52:::1;;:::i;:::-;;;;;;;;;;;;;6718:85;;;;;;6657:19;:58;6677:15;:37;;;;;;;;;;:::i;:::-;6657:58;;;;;;;;;;;;;;;:146;;;;6845:58;6862:15;6879:23;6845:58;;;;;;;:::i;:::-;;;;;;;;4299:2649;;;;;;;;4087:2861:::0;;;:::o;1967:32::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1967:32:156;;-1:-1:-1;1967:32:156;:::o;2321:198:37:-;1334:13;:11;:13::i;:::-;-1:-1:-1;;;;;2409:22:37;::::1;2401:73;;;::::0;-1:-1:-1;;;2401:73:37;;57689:2:169;2401:73:37::1;::::0;::::1;57671:21:169::0;57728:2;57708:18;;;57701:30;57767:34;57747:18;;;57740:62;-1:-1:-1;;;57818:18:169;;;57811:36;57864:19;;2401:73:37::1;57487:402:169::0;2401:73:37::1;2484:28;2503:8;2484:18;:28::i;2808:345:156:-:0;3111:19:38;3134:13;;;;;;3133:14;;3179:34;;;;-1:-1:-1;3197:12:38;;3212:1;3197:12;;;;:16;3179:34;3178:108;;;-1:-1:-1;3258:4:38;1476:19:40;:23;;;3219:66:38;;-1:-1:-1;3268:12:38;;;;;:17;3219:66;3157:201;;;;-1:-1:-1;;;3157:201:38;;58096:2:169;3157:201:38;;;58078:21:169;58135:2;58115:18;;;58108:30;58174:34;58154:18;;;58147:62;-1:-1:-1;;;58225:18:169;;;58218:44;58279:19;;3157:201:38;57894:410:169;3157:201:38;3368:12;:16;;-1:-1:-1;;3368:16:38;3383:1;3368:16;;;3394:65;;;;3428:13;:20;;-1:-1:-1;;3428:20:38;;;;;3394:65;2991:47:156::1;3009:15;2000:1:97;2991:17:156;:47::i;:::-;3048:32;3067:12;3048:18;:32::i;:::-;3090:10;:24:::0;;-1:-1:-1;;;;;3090:24:156;;::::1;-1:-1:-1::0;;;;;;3090:24:156;;::::1;;::::0;;;3124:9:::1;:22:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;3479:99:38;;;;3529:5;3513:21;;-1:-1:-1;;3513:21:38;;;3553:14;;-1:-1:-1;48841:36:169;;3553:14:38;;48829:2:169;48814:18;3553:14:38;;;;;;;3479:99;3101:483;2808:345:156;;;;:::o;4911:425:97:-;2285:14;;;;;;;;;-1:-1:-1;;;;;2285:14:97;-1:-1:-1;;;;;2285:23:97;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2271:39:97;:10;-1:-1:-1;;;;;2271:39:97;;2263:94;;;;-1:-1:-1;;;2263:94:97;;;;;;;:::i;:::-;5164:7:::1;;5163:8;5141:15;5140:16;5128:7;;5127:8;5126:31;5125:47;5104:138;;;::::0;-1:-1:-1;;;5104:138:97;;58710:2:169;5104:138:97::1;::::0;::::1;58692:21:169::0;58749:2;58729:18;;;58722:30;58788:34;58768:18;;;58761:62;58859:26;58839:18;;;58832:54;58903:19;;5104:138:97::1;58508:420:169::0;5104:138:97::1;5252:7;:25:::0;;;5292:37:::1;::::0;673:25:169;;;5301:10:97::1;::::0;5292:37:::1;::::0;661:2:169;646:18;5292:37:97::1;527:177:169::0;6012:360:97;-1:-1:-1;;;;;6115:40:97;;6094:160;;;;-1:-1:-1;;;6094:160:97;;59135:2:169;6094:160:97;;;59117:21:169;59174:2;59154:18;;;59147:30;59213:34;59193:18;;;59186:62;59284:34;59264:18;;;59257:62;-1:-1:-1;;;59335:19:169;;;59328:40;59385:19;;6094:160:97;58933:477:169;6094:160:97;6287:14;;6269:52;;;-1:-1:-1;;;;;6287:14:97;;;59677:34:169;;59747:15;;;59742:2;59727:18;;59720:43;6269:52:97;;59612:18:169;6269:52:97;;;;;;;6331:14;:34;;-1:-1:-1;;;;;;6331:34:97;-1:-1:-1;;;;;6331:34:97;;;;;;;;;;6012:360::o;7084:580:129:-;-1:-1:-1;;;;;;;;;;;;;;;;;7184:23:129;;:::i;:::-;7228:3;;7217:14;;:8;7252:3;;;;7241:8;;;:14;7265:8;;;;:12;;;-1:-1:-1;;7452:1:129;7446:4;7217:14;7436:1;7429:4;7422:5;7418:16;7407:53;7396:64;-1:-1:-1;7396:64:129;7557:48;;;;7530:75;;7557:48;7582:9;7530:75;;7632:7;7624:33;;;;-1:-1:-1;;;7624:33:129;;59976:2:169;7624:33:129;;;59958:21:169;60015:2;59995:18;;;59988:30;-1:-1:-1;;;60034:18:169;;;60027:43;60087:18;;7624:33:129;59774:337:169;7624:33:129;7174:490;;7084:580;;;;:::o;4823:615::-;-1:-1:-1;;;;;;;;;;;;;;;;;4926:23:129;;:::i;:::-;4970:4;;4959:15;;:8;4995:4;;;;4984:8;;;:15;5020:4;;5009:8;;;;:15;;;;5045:4;;;;5034:8;;;:15;-1:-1:-1;;5225:1:129;5219:4;4959:15;5209:1;5202:4;5195:5;5191:16;5180:53;5169:64;-1:-1:-1;5169:64:129;5330:48;;;;5303:75;5406:7;5398:33;;;;-1:-1:-1;;;5398:33:129;;60318:2:169;5398:33:129;;;60300:21:169;60357:2;60337:18;;;60330:30;-1:-1:-1;;;60376:18:169;;;60369:43;60429:18;;5398:33:129;60116:337:169;4070:128:129;4119:14;;:::i;:::-;-1:-1:-1;4152:39:129;;;;;;;;3635:77;4152:39;;;;;;3752:77;4152:39;;;;;;;;;;;;;;3869:77;4152:39;;3986:77;4152:39;;;;;;;;;;;;;;;4070:128::o;11044:451::-;-1:-1:-1;;;;;;;;;;;;;;;;;11123:12:129;;;11185:24;-1:-1:-1;;;;;;;;;;;11193:2:129;11185:24;:::i;:::-;11173:36;;11220:239;11259:13;11270:1;11259:10;:13::i;:::-;11247:25;;-1:-1:-1;11247:25:129;-1:-1:-1;;;;;;;;;;;;11336:1:129;11333;11326:24;11318:4;:32;11314:92;;;11378:13;;;;;;;;;;;;;;;;;;;;11044:451;-1:-1:-1;;;11044:451:129:o;11314:92::-;-1:-1:-1;;;;;;;;;;;11434:1:129;11431;11424:24;11420:28;;11220:239;;9189:1112;9397:31;;;;;;;;;;;;;;;;;;9438;;;;;;;;;;;;;;;;9375:4;;;;9397:31;9480:24;;:::i;:::-;9520:9;9515:302;9539:1;9535;:5;9515:302;;;9561:9;9573:5;:1;9577;9573:5;:::i;:::-;9561:17;;9607:2;9610:1;9607:5;;;;;;;:::i;:::-;;;;;:7;9592:5;9598;:1;9607:7;9598:5;:::i;:::-;9592:12;;;;;;;:::i;:::-;;;;:22;9643:2;9646:1;9643:5;;;;;;;:::i;:::-;;;;;:7;;;9628:5;9634:1;9638;9634:5;;;;:::i;:::-;9628:12;;;;;;;:::i;:::-;;;;:22;9679:2;9682:1;9679:5;;;;;;;:::i;:::-;;;;;:7;:10;9664:5;9670;:1;9674;9670:5;:::i;:::-;9664:12;;;;;;;:::i;:::-;;;;:25;9718:2;9721:1;9718:5;;;;;;;:::i;:::-;;;;;:7;9726:1;9718:10;;;;9703:5;9709;:1;9713;9709:5;:::i;:::-;9703:12;;;;;;;:::i;:::-;;;;:25;9757:2;9760:1;9757:5;;;;;;;:::i;:::-;;;;;:7;;;9765:1;9757:10;;;;;;;:::i;:::-;;;;;9742:5;9748;:1;9752;9748:5;:::i;:::-;9742:12;;;;;;;:::i;:::-;;;;:25;9796:2;9799:1;9796:5;;;;;;;:::i;:::-;;;;;:7;;;9804:1;9796:10;;;;;;;:::i;:::-;;;;;9781:5;9787;:1;9791;9787:5;:::i;:::-;9781:12;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;9542:3:129;;;;:::i;:::-;;;;9515:302;;;;9827:21;;:::i;:::-;9858:12;10032:4;10027:3;10012:13;10005:5;10002:1;9990:10;9979:58;10282:6;;9968:69;;10282:11;;;;-1:-1:-1;10265:29:129;;-1:-1:-1;;;;;;;;;;9189:1112:129:o;15736:148:110:-;15801:20;:28;;-1:-1:-1;;15801:28:110;;;;;;;;;;15844:33;;5957:41:169;;;15844:33:110;;5945:2:169;5930:18;15844:33:110;;;;;;;15736:148;:::o;3308:360:130:-;3419:7;3438:14;3455:44;3481:17;3455:25;:44::i;:::-;3438:61;;3541:6;3524:13;3519:18;;:1;:18;;3518:29;3510:127;;;;-1:-1:-1;;;3510:127:130;;60660:2:169;3510:127:130;;;60642:21:169;60699:2;60679:18;;;60672:30;60738:34;60718:18;;;60711:62;60809:33;60789:18;;;60782:61;60860:19;;3510:127:130;60458:427:169;3510:127:130;3655:6;-1:-1:-1;3308:360:130;;;;;:::o;6797:406::-;6853:6;;6897:209;6904:5;;6897:209;;6931:5;6935:1;6931;:5;:::i;:::-;6925:12;;;;7020:7;;;;:::i;:::-;;;;6897:209;;5698:1197:129;-1:-1:-1;;;;;;;;;;;;;;;;;5824:4:129;5820:1;:8;;;5812:37;;;;-1:-1:-1;;;5812:37:129;;61294:2:169;5812:37:129;;;61276:21:169;61333:2;61313:18;;;61306:30;-1:-1:-1;;;61352:18:169;;;61345:46;61408:18;;5812:37:129;61092:340:169;5812:37:129;5893:1;:6;;5898:1;5893:6;5890:44;;;-1:-1:-1;5922:1:129;5915:8;;5890:44;6016:19;;;;;;;;;5989:24;6016:19;;;;;;;;;6145:1;;6208;;6337:481;6348:1;6343:6;;:1;:6;;;6337:481;;6493:1;6483:6;;;;;;;6482:12;;:17;6478:84;;;6529:14;6534:3;6539;6529:4;:14::i;:::-;6523:20;;6478:84;6644:14;6649:3;6654;6644:4;:14::i;:::-;6638:20;-1:-1:-1;6765:7:129;6771:1;6765:7;;;;;6790:3;6337:481;;;-1:-1:-1;6885:3:129;;5698:1197;-1:-1:-1;;;;;5698:1197:129:o;4461:295::-;-1:-1:-1;;;;;;;;;;;;;;;;;4600:3:129;;:8;:20;;;;-1:-1:-1;4612:3:129;;;;:8;4600:20;4596:154;;;-1:-1:-1;;4643:13:129;;;;;;;;;-1:-1:-1;4643:13:129;;;;;;;;4461:295::o;4596:154::-;4694:45;;;;;;;;4702:1;:3;;;4694:45;;;;-1:-1:-1;;;;;;;;;;;4721:1:129;:3;;;:16;;;;:::i;:::-;4707:31;;-1:-1:-1;;;;;;;;;;;4707:31:129;:::i;:::-;4694:45;;4687:52;4461:295;-1:-1:-1;;4461:295:129:o;4596:154::-;4461:295;;;:::o;1599:130:37:-;1513:6;;-1:-1:-1;;;;;1513:6:37;929:10:41;1662:23:37;1654:68;;;;-1:-1:-1;;;1654:68:37;;61639:2:169;1654:68:37;;;61621:21:169;;;61658:18;;;61651:30;61717:34;61697:18;;;61690:62;61769:18;;1654:68:37;61437:356:169;2673:187:37;2765:6;;;-1:-1:-1;;;;;2781:17:37;;;-1:-1:-1;;;;;;2781:17:37;;;;;;;2813:40;;2765:6;;;2781:17;2765:6;;2813:40;;2746:16;;2813:40;2736:124;2673:187;:::o;5465:1257:130:-;5532:12;5650:15;5728:23;5764:20;5777:6;5764:12;:20::i;:::-;5754:31;;-1:-1:-1;;;;;5754:31:130;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5754:31:130;;5728:57;;5841:18;6093:9;6088:601;6122:10;:17;6109:10;:30;6108:45;;;;;6149:3;6145:1;:7;6108:45;6088:601;;;6252:1;:6;;;-1:-1:-1;6339:16:130;;;:21;6335:344;;6524:1;6511:16;;6486:10;6497;6486:22;;;;;;;;:::i;:::-;;;;:41;-1:-1:-1;;;;;6486:41:130;;;;;;;;;6650:12;;;;;6335:344;6155:3;;;:::i;:::-;;;6088:601;;;-1:-1:-1;6705:10:130;;5465:1257;-1:-1:-1;;;;5465:1257:130:o;2943:441:97:-;3077:14;;-1:-1:-1;;;;;3077:14:97;3069:37;:79;;;;-1:-1:-1;;;;;;3110:38:97;;;;3069:79;3048:197;;;;-1:-1:-1;;;3048:197:97;;62000:2:169;3048:197:97;;;61982:21:169;62039:2;62019:18;;;62012:30;62078:34;62058:18;;;62051:62;62149:34;62129:18;;;62122:62;-1:-1:-1;;;62200:19:169;;;62193:38;62248:19;;3048:197:97;61798:475:169;3048:197:97;3255:7;:26;;;3296:36;;673:25:169;;;3303:10:97;;3296:36;;661:2:169;646:18;3296:36:97;;;;;;;3342:35;3361:15;3342:18;:35::i;:::-;2943:441;;:::o;11616:433:129:-;11670:7;;;-1:-1:-1;;;;;;;;;;;11801:1:129;-1:-1:-1;;;;;;;;;;;11785:1:129;-1:-1:-1;;;;;;;;;;;11769:1:129;11766;11759:24;11752:47;11745:70;11730:85;;11912:9;11924:91;11931:4;11937:65;-1:-1:-1;;;;;;;;;;;11924:6:129;:91::i;:::-;12034:4;;11912:103;;-1:-1:-1;11616:433:129;;-1:-1:-1;;;11616:433:129:o;1188:1693:130:-;1278:7;571:3;1409:17;:24;:49;;1401:142;;;;-1:-1:-1;;;1401:142:130;;62480:2:169;1401:142:130;;;62462:21:169;62519:2;62499:18;;;62492:30;;;62558:34;62538:18;;;62531:62;62629:34;62609:18;;;62602:62;-1:-1:-1;;;62680:19:169;;;62673:35;62725:19;;1401:142:130;62278:472:169;1401:142:130;1619:24;;1615:77;;-1:-1:-1;1679:1:130;;1188:1693;-1:-1:-1;1188:1693:130:o;1615:77::-;1770:14;1873:15;2180:17;2198:1;2180:20;;;;;;;;:::i;:::-;;;;;2169:1;2180:20;;;;;2169:32;;;;-1:-1:-1;2284:568:130;2308:17;:24;2304:1;:28;2284:568;;;2480:17;2498:1;2480:20;;;;;;;;:::i;:::-;;;;;2469:1;2480:20;;;;;2469:32;;-1:-1:-1;2665:16:130;;;2657:100;;;;-1:-1:-1;;;2657:100:130;;62957:2:169;2657:100:130;;;62939:21:169;62996:2;62976:18;;;62969:30;63035:34;63015:18;;;63008:62;63106:34;63086:18;;;63079:62;-1:-1:-1;;;63157:19:169;;;63150:38;63205:19;;2657:100:130;62755:475:169;2657:100:130;2824:16;;;;2334:3;;;:::i;:::-;;;2284:568;;;-1:-1:-1;2868:6:130;;1188:1693;-1:-1:-1;;;1188:1693:130:o;12055:874:129:-;12146:14;12172:12;12194:24;;:::i;:::-;12228:20;;:::i;:::-;12269:4;12258:15;;;12341:8;;;:15;;;12425:8;;;:15;;;12509:8;;;:16;;;12535:8;;;:20;;;12565:8;;;:19;;;12673:6;12667:4;12258:15;12571:1;12650:4;12643:5;12639:16;12628:58;12617:69;-1:-1:-1;12617:69:129;12783:48;;;;12756:75;12858:7;12850:46;;;;-1:-1:-1;;;12850:46:129;;63437:2:169;12850:46:129;;;63419:21:169;63476:2;63456:18;;;63449:30;63515:28;63495:18;;;63488:56;63561:18;;12850:46:129;63235:350:169;12850:46:129;-1:-1:-1;12913:9:129;;;-1:-1:-1;;;;;12055:874:129:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:121:169:-;99:10;92:5;88:22;81:5;78:33;68:61;;125:1;122;115:12;140:132;207:20;;236:30;207:20;236:30;:::i;277:245::-;335:6;388:2;376:9;367:7;363:23;359:32;356:52;;;404:1;401;394:12;356:52;443:9;430:23;462:30;486:5;462:30;:::i;709:148::-;-1:-1:-1;;;;;801:31:169;;791:42;;781:70;;847:1;844;837:12;862:289;946:6;999:2;987:9;978:7;974:23;970:32;967:52;;;1015:1;1012;1005:12;967:52;1054:9;1041:23;1073:48;1115:5;1073:48;:::i;1156:180::-;1215:6;1268:2;1256:9;1247:7;1243:23;1239:32;1236:52;;;1284:1;1281;1274:12;1236:52;-1:-1:-1;1307:23:169;;1156:180;-1:-1:-1;1156:180:169:o;1341:127::-;1402:10;1397:3;1393:20;1390:1;1383:31;1433:4;1430:1;1423:15;1457:4;1454:1;1447:15;1473:257;1545:4;1539:11;;;1577:17;;-1:-1:-1;;;;;1609:34:169;;1645:22;;;1606:62;1603:88;;;1671:18;;:::i;:::-;1707:4;1700:24;1473:257;:::o;1735:255::-;1807:2;1801:9;1849:6;1837:19;;-1:-1:-1;;;;;1871:34:169;;1907:22;;;1868:62;1865:88;;;1933:18;;:::i;1995:275::-;2066:2;2060:9;2131:2;2112:13;;-1:-1:-1;;2108:27:169;2096:40;;-1:-1:-1;;;;;2151:34:169;;2187:22;;;2148:62;2145:88;;;2213:18;;:::i;:::-;2249:2;2242:22;1995:275;;-1:-1:-1;1995:275:169:o;2275:282::-;2329:5;2377:4;2365:9;2360:3;2356:19;2352:30;2349:50;;;2395:1;2392;2385:12;2349:50;2417:22;;:::i;:::-;2408:31;;2475:9;2462:23;2455:5;2448:38;2546:2;2535:9;2531:18;2518:32;2513:2;2506:5;2502:14;2495:56;2275:282;;;;:::o;2562:646::-;2612:5;2665:3;2658:4;2650:6;2646:17;2642:27;2632:55;;2683:1;2680;2673:12;2632:55;2716:2;2710:9;2758:2;2750:6;2746:15;2827:6;2815:10;2812:22;-1:-1:-1;;;;;2779:10:169;2776:34;2773:62;2770:88;;;2838:18;;:::i;:::-;2878:10;2874:2;2867:22;;2909:6;2950:2;2942:6;2938:15;2976:3;2968:6;2965:15;2962:35;;;2993:1;2990;2983:12;2962:35;3017:6;3032:146;3048:6;3043:3;3040:15;3032:146;;;3116:17;;3104:30;;3163:4;3154:14;;;;3065;3032:146;;3213:320;3267:5;3315:4;3303:9;3298:3;3294:19;3290:30;3287:50;;;3333:1;3330;3323:12;3287:50;3355:22;;:::i;:::-;3346:31;;3400:40;3436:3;3425:9;3400:40;:::i;:::-;3393:5;3386:55;3475:51;3522:3;3515:4;3504:9;3500:20;3475:51;:::i;:::-;3468:4;3461:5;3457:16;3450:77;3213:320;;;;:::o;3538:530::-;3702:6;3710;3718;3726;3779:3;3767:9;3758:7;3754:23;3750:33;3747:53;;;3796:1;3793;3786:12;3747:53;3832:9;3819:23;3809:33;;3861:54;3907:7;3902:2;3891:9;3887:18;3861:54;:::i;:::-;3851:64;;3934:54;3980:7;3975:2;3964:9;3960:18;3934:54;:::i;:::-;3924:64;;4007:55;4054:7;4048:3;4037:9;4033:19;4007:55;:::i;:::-;3997:65;;3538:530;;;;;;;:::o;4850:347::-;4901:8;4911:6;4965:3;4958:4;4950:6;4946:17;4942:27;4932:55;;4983:1;4980;4973:12;4932:55;-1:-1:-1;5006:20:169;;-1:-1:-1;;;;;5038:30:169;;5035:50;;;5081:1;5078;5071:12;5035:50;5118:4;5110:6;5106:17;5094:29;;5170:3;5163:4;5154:6;5146;5142:19;5138:30;5135:39;5132:59;;;5187:1;5184;5177:12;5132:59;4850:347;;;;;:::o;5202:610::-;5289:6;5297;5305;5313;5366:2;5354:9;5345:7;5341:23;5337:32;5334:52;;;5382:1;5379;5372:12;5334:52;5418:9;5405:23;5395:33;;5478:2;5467:9;5463:18;5450:32;5491:30;5515:5;5491:30;:::i;:::-;5540:5;-1:-1:-1;5596:2:169;5581:18;;5568:32;-1:-1:-1;;;;;5612:30:169;;5609:50;;;5655:1;5652;5645:12;5609:50;5694:58;5744:7;5735:6;5724:9;5720:22;5694:58;:::i;:::-;5202:610;;;;-1:-1:-1;5771:8:169;-1:-1:-1;;;;5202:610:169:o;6009:183::-;6069:4;-1:-1:-1;;;;;6094:6:169;6091:30;6088:56;;;6124:18;;:::i;:::-;-1:-1:-1;6169:1:169;6165:14;6181:4;6161:25;;6009:183::o;6197:1171::-;6320:6;6328;6381:2;6369:9;6360:7;6356:23;6352:32;6349:52;;;6397:1;6394;6387:12;6349:52;6436:9;6423:23;6455:48;6497:5;6455:48;:::i;:::-;6522:5;-1:-1:-1;6546:2:169;6584:18;;;6571:32;-1:-1:-1;;;;;6615:30:169;;6612:50;;;6658:1;6655;6648:12;6612:50;6681:22;;6734:4;6726:13;;6722:27;-1:-1:-1;6712:55:169;;6763:1;6760;6753:12;6712:55;6799:2;6786:16;6822:60;6838:43;6878:2;6838:43;:::i;:::-;6822:60;:::i;:::-;6916:15;;;6998:1;6994:10;;;;6986:19;;6982:28;;;6947:12;;;;7022:19;;;7019:39;;;7054:1;7051;7044:12;7019:39;7078:11;;;;7098:240;7114:6;7109:3;7106:15;7098:240;;;7196:3;7183:17;7213:50;7255:7;7213:50;:::i;:::-;7276:20;;7131:12;;;;7316;;;;7098:240;;;7357:5;7347:15;;;;;;;6197:1171;;;;;:::o;7373:435::-;7426:3;7464:5;7458:12;7491:6;7486:3;7479:19;7517:4;7546:2;7541:3;7537:12;7530:19;;7583:2;7576:5;7572:14;7604:1;7614:169;7628:6;7625:1;7622:13;7614:169;;;7689:13;;7677:26;;7723:12;;;;7758:15;;;;7650:1;7643:9;7614:169;;;-1:-1:-1;7799:3:169;;7373:435;-1:-1:-1;;;;;7373:435:169:o;7813:261::-;7992:2;7981:9;7974:21;7955:4;8012:56;8064:2;8053:9;8049:18;8041:6;8012:56;:::i;:::-;8004:64;7813:261;-1:-1:-1;;;7813:261:169:o;8079:1017::-;8194:6;8202;8210;8263:2;8251:9;8242:7;8238:23;8234:32;8231:52;;;8279:1;8276;8269:12;8231:52;8318:9;8305:23;8337:48;8379:5;8337:48;:::i;:::-;8404:5;-1:-1:-1;8428:2:169;8466:18;;;8453:32;-1:-1:-1;;;;;8534:14:169;;;8531:34;;;8561:1;8558;8551:12;8531:34;8599:6;8588:9;8584:22;8574:32;;8644:7;8637:4;8633:2;8629:13;8625:27;8615:55;;8666:1;8663;8656:12;8615:55;8702:2;8689:16;8724:2;8720;8717:10;8714:36;;;8730:18;;:::i;:::-;8772:53;8815:2;8796:13;;-1:-1:-1;;8792:27:169;8788:36;;8772:53;:::i;:::-;8759:66;;8848:2;8841:5;8834:17;8888:7;8883:2;8878;8874;8870:11;8866:20;8863:33;8860:53;;;8909:1;8906;8899:12;8860:53;8964:2;8959;8955;8951:11;8946:2;8939:5;8935:14;8922:45;9008:1;9003:2;8998;8991:5;8987:14;8983:23;8976:34;;9029:5;9019:15;;;;;9053:37;9086:2;9075:9;9071:18;9053:37;:::i;:::-;9043:47;;8079:1017;;;;;:::o;9101:1336::-;9172:3;9210:5;9204:12;9237:6;9232:3;9225:19;9263:4;9304:2;9299:3;9295:12;9329:11;9356;9349:18;;9406:6;9403:1;9399:14;9392:5;9388:26;9376:38;;9448:2;9441:5;9437:14;9469:1;9490;9500:911;9516:6;9511:3;9508:15;9500:911;;;9581:16;;;9569:29;;9621:13;;9693:9;;9715:22;;;9801:11;;;;9759:13;;;;9836:1;9850:455;9866:8;9861:3;9858:17;9850:455;;;9939:15;;9989:9;;-1:-1:-1;;;;;9985:35:169;9971:50;;10067:11;;;10061:18;10045:14;;;10038:42;10107:4;10161:11;;;10155:18;-1:-1:-1;;;;;10151:51:169;10135:14;;;10128:75;10274:17;;;;10240:4;10229:16;;;;10017:1;9885:11;9850:455;;;-1:-1:-1;;10389:12:169;;;;10326:5;-1:-1:-1;;10354:15:169;;;;9542:1;9533:11;9500:911;;;-1:-1:-1;10427:4:169;;9101:1336;-1:-1:-1;;;;;;;;9101:1336:169:o;10442:383::-;10725:2;10714:9;10707:21;10688:4;10745:74;10815:2;10804:9;10800:18;10792:6;10745:74;:::i;10830:118::-;10916:5;10909:13;10902:21;10895:5;10892:32;10882:60;;10938:1;10935;10928:12;10953:241;11009:6;11062:2;11050:9;11041:7;11037:23;11033:32;11030:52;;;11078:1;11075;11068:12;11030:52;11117:9;11104:23;11136:28;11158:5;11136:28;:::i;11199:662::-;11253:5;11306:3;11299:4;11291:6;11287:17;11283:27;11273:55;;11324:1;11321;11314:12;11273:55;11360:6;11347:20;11386:4;11410:60;11426:43;11466:2;11426:43;:::i;11410:60::-;11504:15;;;11590:1;11586:10;;;;11574:23;;11570:32;;;11535:12;;;;11614:15;;;11611:35;;;11642:1;11639;11632:12;11611:35;11678:2;11670:6;11666:15;11690:142;11706:6;11701:3;11698:15;11690:142;;;11772:17;;11760:30;;11810:12;;;;11723;;11690:142;;;-1:-1:-1;11850:5:169;11199:662;-1:-1:-1;;;;;;11199:662:169:o;11866:530::-;11989:6;11997;12050:2;12038:9;12029:7;12025:23;12021:32;12018:52;;;12066:1;12063;12056:12;12018:52;12105:9;12092:23;12124:48;12166:5;12124:48;:::i;:::-;12191:5;-1:-1:-1;12247:2:169;12232:18;;12219:32;-1:-1:-1;;;;;12263:30:169;;12260:50;;;12306:1;12303;12296:12;12260:50;12329:61;12382:7;12373:6;12362:9;12358:22;12329:61;:::i;:::-;12319:71;;;11866:530;;;;;:::o;12401:658::-;12572:2;12624:21;;;12694:13;;12597:18;;;12716:22;;;12543:4;;12572:2;12795:15;;;;12769:2;12754:18;;;12543:4;12838:195;12852:6;12849:1;12846:13;12838:195;;;12917:13;;-1:-1:-1;;;;;12913:39:169;12901:52;;13008:15;;;;12973:12;;;;12949:1;12867:9;12838:195;;;-1:-1:-1;13050:3:169;;12401:658;-1:-1:-1;;;;;;12401:658:169:o;13064:1224::-;13217:6;13225;13233;13241;13249;13257;13310:3;13298:9;13289:7;13285:23;13281:33;13278:53;;;13327:1;13324;13317:12;13278:53;13366:9;13353:23;13385:48;13427:5;13385:48;:::i;:::-;13452:5;-1:-1:-1;13509:2:169;13494:18;;13481:32;13522;13481;13522;:::i;:::-;13573:7;-1:-1:-1;13631:2:169;13616:18;;13603:32;-1:-1:-1;;;;;13684:14:169;;;13681:34;;;13711:1;13708;13701:12;13681:34;13750:58;13800:7;13791:6;13780:9;13776:22;13750:58;:::i;:::-;13827:8;;-1:-1:-1;13724:84:169;-1:-1:-1;13915:2:169;13900:18;;13887:32;;-1:-1:-1;13931:16:169;;;13928:36;;;13960:1;13957;13950:12;13928:36;13998:8;13987:9;13983:24;13973:34;;14045:7;14038:4;14034:2;14030:13;14026:27;14016:55;;14067:1;14064;14057:12;14016:55;14107:2;14094:16;14133:2;14125:6;14122:14;14119:34;;;14149:1;14146;14139:12;14119:34;14202:7;14197:2;14187:6;14184:1;14180:14;14176:2;14172:23;14168:32;14165:45;14162:65;;;14223:1;14220;14213:12;14162:65;14254:2;14250;14246:11;14236:21;;14276:6;14266:16;;;;;13064:1224;;;;;;;;:::o;14293:451::-;14345:3;14383:5;14377:12;14410:6;14405:3;14398:19;14436:4;14465:2;14460:3;14456:12;14449:19;;14502:2;14495:5;14491:14;14523:1;14533:186;14547:6;14544:1;14541:13;14533:186;;;14612:13;;14627:10;14608:30;14596:43;;14659:12;;;;14694:15;;;;14569:1;14562:9;14533:186;;14749:1493;14923:4;14952:2;14981;14970:9;14963:21;15019:6;15013:13;15062:4;15057:2;15046:9;15042:18;15035:32;15090:62;15147:3;15136:9;15132:19;15118:12;15090:62;:::i;:::-;15076:76;;15201:2;15193:6;15189:15;15183:22;15228:2;15224:7;15295:2;15283:9;15275:6;15271:22;15267:31;15262:2;15251:9;15247:18;15240:59;15322:51;15366:6;15350:14;15322:51;:::i;:::-;15308:65;;15422:2;15414:6;15410:15;15404:22;15382:44;;15490:2;15478:9;15470:6;15466:22;15462:31;15457:2;15446:9;15442:18;15435:59;15517:51;15561:6;15545:14;15517:51;:::i;:::-;15617:2;15605:15;;15599:22;15663;;;15659:31;;15652:4;15637:20;;15630:61;15740:21;;15770:22;;;15503:65;;-1:-1:-1;15905:23:169;;;-1:-1:-1;15808:15:169;;;;15866:1;15862:14;;;15850:27;;15846:36;;15946:1;15956:257;15970:6;15967:1;15964:13;15956:257;;;16056:2;16047:6;16039;16035:19;16031:28;16026:3;16019:41;16083:50;16126:6;16117;16111:13;16083:50;:::i;:::-;16156:15;;;;16191:12;;;;16073:60;-1:-1:-1;15992:1:169;15985:9;15956:257;;;-1:-1:-1;16230:6:169;14749:1493;-1:-1:-1;;;;;;;;;14749:1493:169:o;16247:114::-;16331:4;16324:5;16320:16;16313:5;16310:27;16300:55;;16351:1;16348;16341:12;16366:243;16423:6;16476:2;16464:9;16455:7;16451:23;16447:32;16444:52;;;16492:1;16489;16482:12;16444:52;16531:9;16518:23;16550:29;16573:5;16550:29;:::i;16614:669::-;16745:6;16753;16761;16814:2;16802:9;16793:7;16789:23;16785:32;16782:52;;;16830:1;16827;16820:12;16782:52;16869:9;16856:23;16888:48;16930:5;16888:48;:::i;:::-;16955:5;-1:-1:-1;17011:2:169;16996:18;;16983:32;-1:-1:-1;;;;;17027:30:169;;17024:50;;;17070:1;17067;17060:12;17024:50;17093:61;17146:7;17137:6;17126:9;17122:22;17093:61;:::i;:::-;17083:71;;;17206:2;17195:9;17191:18;17178:32;17219;17243:7;17219:32;:::i;:::-;17270:7;17260:17;;;16614:669;;;;;:::o;17288:632::-;17459:2;17511:21;;;17581:13;;17484:18;;;17603:22;;;17430:4;;17459:2;17682:15;;;;17656:2;17641:18;;;17430:4;17725:169;17739:6;17736:1;17733:13;17725:169;;;17800:13;;17788:26;;17869:15;;;;17834:12;;;;17761:1;17754:9;17725:169;;18572:156;18632:5;18677:3;18668:6;18663:3;18659:16;18655:26;18652:46;;;18694:1;18691;18684:12;18652:46;-1:-1:-1;18716:6:169;18572:156;-1:-1:-1;18572:156:169:o;18733:163::-;18801:5;18846:2;18837:6;18832:3;18828:16;18824:25;18821:45;;;18862:1;18859;18852:12;18901:689;18962:5;19015:3;19008:4;19000:6;18996:17;18992:27;18982:55;;19033:1;19030;19023:12;18982:55;19069:6;19056:20;19095:4;19119:60;19135:43;19175:2;19135:43;:::i;19119:60::-;19213:15;;;19299:1;19295:10;;;;19283:23;;19279:32;;;19244:12;;;;19323:15;;;19320:35;;;19351:1;19348;19341:12;19320:35;19387:2;19379:6;19375:15;19399:162;19415:6;19410:3;19407:15;19399:162;;;19483:35;19514:3;19509;19483:35;:::i;:::-;19471:48;;19539:12;;;;19441:4;19432:14;19399:162;;19595:933;19840:6;19848;19856;19864;19917:3;19905:9;19896:7;19892:23;19888:33;19885:53;;;19934:1;19931;19924:12;19885:53;19974:9;19961:23;-1:-1:-1;;;;;20044:2:169;20036:6;20033:14;20030:34;;;20060:1;20057;20050:12;20030:34;20083:67;20142:7;20133:6;20122:9;20118:22;20083:67;:::i;:::-;20073:77;;20169:71;20232:7;20227:2;20216:9;20212:18;20169:71;:::i;:::-;20159:81;;20259:71;20322:7;20317:2;20306:9;20302:18;20259:71;:::i;:::-;20249:81;;20383:3;20372:9;20368:19;20355:33;20339:49;;20413:2;20403:8;20400:16;20397:36;;;20429:1;20426;20419:12;20397:36;;20452:70;20514:7;20503:8;20492:9;20488:24;20452:70;:::i;:::-;20442:80;;;19595:933;;;;;;;:::o;20771:735::-;20824:5;20877:3;20870:4;20862:6;20858:17;20854:27;20844:55;;20895:1;20892;20885:12;20844:55;20931:6;20918:20;20957:4;20981:60;20997:43;21037:2;20997:43;:::i;20981:60::-;21075:15;;;21161:1;21157:10;;;;21145:23;;21141:32;;;21106:12;;;;21185:15;;;21182:35;;;21213:1;21210;21203:12;21182:35;21249:2;21241:6;21237:15;21261:216;21277:6;21272:3;21269:15;21261:216;;;21357:3;21344:17;21374:30;21398:5;21374:30;:::i;:::-;21417:18;;21455:12;;;;21294;;21261:216;;21511:908;21574:5;21627:3;21620:4;21612:6;21608:17;21604:27;21594:55;;21645:1;21642;21635:12;21594:55;21681:6;21668:20;21707:4;21731:60;21747:43;21787:2;21747:43;:::i;21731:60::-;21825:15;;;21911:1;21907:10;;;;21895:23;;21891:32;;;21856:12;;;;21935:15;;;21932:35;;;21963:1;21960;21953:12;21932:35;21999:2;21991:6;21987:15;22011:379;22027:6;22022:3;22019:15;22011:379;;;22113:3;22100:17;-1:-1:-1;;;;;22136:11:169;22133:35;22130:125;;;22209:1;22238:2;22234;22227:14;22130:125;22280:67;22343:3;22338:2;22324:11;22316:6;22312:24;22308:33;22280:67;:::i;:::-;22268:80;;-1:-1:-1;22368:12:169;;;;22044;;22011:379;;22424:1566;22498:5;22546:6;22534:9;22529:3;22525:19;22521:32;22518:52;;;22566:1;22563;22556:12;22518:52;22588:22;;:::i;:::-;22579:31;;22646:9;22633:23;-1:-1:-1;;;;;22716:2:169;22708:6;22705:14;22702:34;;;22732:1;22729;22722:12;22702:34;22759:56;22811:3;22802:6;22791:9;22787:22;22759:56;:::i;:::-;22752:5;22745:71;22869:2;22858:9;22854:18;22841:32;22825:48;;22898:2;22888:8;22885:16;22882:36;;;22914:1;22911;22904:12;22882:36;22950:66;23012:3;23001:8;22990:9;22986:24;22950:66;:::i;:::-;22945:2;22938:5;22934:14;22927:90;23070:2;23059:9;23055:18;23042:32;23026:48;;23099:2;23089:8;23086:16;23083:36;;;23115:1;23112;23105:12;23083:36;23151:66;23213:3;23202:8;23191:9;23187:24;23151:66;:::i;:::-;23146:2;23139:5;23135:14;23128:90;23250:50;23296:3;23291:2;23280:9;23276:18;23250:50;:::i;:::-;23245:2;23238:5;23234:14;23227:74;23335:51;23382:3;23376;23365:9;23361:19;23335:51;:::i;:::-;23328:4;23321:5;23317:16;23310:77;23440:3;23429:9;23425:19;23412:33;23396:49;;23470:2;23460:8;23457:16;23454:36;;;23486:1;23483;23476:12;23454:36;23524:58;23578:3;23567:8;23556:9;23552:24;23524:58;:::i;:::-;23517:4;23510:5;23506:16;23499:84;23636:3;23625:9;23621:19;23608:33;23592:49;;23666:2;23656:8;23653:16;23650:36;;;23682:1;23679;23672:12;23650:36;23720:58;23774:3;23763:8;23752:9;23748:24;23720:58;:::i;:::-;23713:4;23706:5;23702:16;23695:84;23832:3;23821:9;23817:19;23804:33;23788:49;;23862:2;23852:8;23849:16;23846:36;;;23878:1;23875;23868:12;23846:36;;23915:68;23979:3;23968:8;23957:9;23953:24;23915:68;:::i;:::-;23909:3;23902:5;23898:15;23891:93;;22424:1566;;;;:::o;23995:896::-;24137:6;24145;24153;24161;24169;24222:3;24210:9;24201:7;24197:23;24193:33;24190:53;;;24239:1;24236;24229:12;24190:53;24275:9;24262:23;24252:33;;24336:2;24325:9;24321:18;24308:32;-1:-1:-1;;;;;24400:2:169;24392:6;24389:14;24386:34;;;24416:1;24413;24406:12;24386:34;24455:58;24505:7;24496:6;24485:9;24481:22;24455:58;:::i;:::-;24532:8;;-1:-1:-1;24429:84:169;-1:-1:-1;24617:2:169;24602:18;;24589:32;;-1:-1:-1;24630:30:169;24589:32;24630:30;:::i;:::-;24679:5;;-1:-1:-1;24737:2:169;24722:18;;24709:32;;24753:16;;;24750:36;;;24782:1;24779;24772:12;24750:36;;24805:80;24877:7;24866:8;24855:9;24851:24;24805:80;:::i;:::-;24795:90;;;23995:896;;;;;;;;:::o;24896:467::-;24948:3;24986:5;24980:12;25013:6;25008:3;25001:19;25039:4;25068:2;25063:3;25059:12;25052:19;;25105:2;25098:5;25094:14;25126:1;25136:202;25150:6;25147:1;25144:13;25136:202;;;25215:13;;-1:-1:-1;;;;;25211:46:169;25199:59;;25278:12;;;;25313:15;;;;25172:1;25165:9;25136:202;;25368:645;25597:2;25586:9;25579:21;25560:4;25635:6;25629:13;25678:2;25673;25662:9;25658:18;25651:30;25704:62;25761:3;25750:9;25746:19;25732:12;25704:62;:::i;:::-;25690:76;;25815:4;25807:6;25803:17;25797:24;25889:2;25885:7;25873:9;25865:6;25861:22;25857:36;25852:2;25841:9;25837:18;25830:64;25911:51;25955:6;25939:14;25911:51;:::i;:::-;25903:59;;;;26000:6;25993:4;25982:9;25978:20;25971:36;25368:645;;;;;:::o;26251:501::-;26357:6;26365;26373;26426:2;26414:9;26405:7;26401:23;26397:32;26394:52;;;26442:1;26439;26432:12;26394:52;26481:9;26468:23;26500:48;26542:5;26500:48;:::i;:::-;26567:5;-1:-1:-1;26619:2:169;26604:18;;26591:32;;-1:-1:-1;26675:2:169;26660:18;;26647:32;26688;26647;26688;:::i;26757:454::-;27068:6;27057:9;27050:25;27111:2;27106;27095:9;27091:18;27084:30;27031:4;27131:74;27201:2;27190:9;27186:18;27178:6;27131:74;:::i;:::-;27123:82;26757:454;-1:-1:-1;;;;26757:454:169:o;27216:786::-;27403:6;27411;27419;27472:3;27460:9;27451:7;27447:23;27443:33;27440:53;;;27489:1;27486;27479:12;27440:53;27529:9;27516:23;-1:-1:-1;;;;;27599:2:169;27591:6;27588:14;27585:34;;;27615:1;27612;27605:12;27585:34;27638:67;27697:7;27688:6;27677:9;27673:22;27638:67;:::i;:::-;27628:77;;27724:71;27787:7;27782:2;27771:9;27767:18;27724:71;:::i;:::-;27714:81;;27848:2;27837:9;27833:18;27820:32;27804:48;;27877:2;27867:8;27864:16;27861:36;;;27893:1;27890;27883:12;27861:36;;27916:80;27988:7;27977:8;27966:9;27962:24;27916:80;:::i;:::-;27906:90;;;27216:786;;;;;:::o;28511:764::-;28622:6;28630;28638;28646;28699:3;28687:9;28678:7;28674:23;28670:33;28667:53;;;28716:1;28713;28706:12;28667:53;28755:9;28742:23;28774:48;28816:5;28774:48;:::i;:::-;28841:5;-1:-1:-1;28898:2:169;28883:18;;28870:32;28911:50;28870:32;28911:50;:::i;:::-;28980:7;-1:-1:-1;29039:2:169;29024:18;;29011:32;29052:50;29011:32;29052:50;:::i;:::-;29121:7;-1:-1:-1;29180:2:169;29165:18;;29152:32;29193:50;29152:32;29193:50;:::i;:::-;28511:764;;;;-1:-1:-1;28511:764:169;;-1:-1:-1;;28511:764:169:o;29280:268::-;29350:6;29403:2;29391:9;29382:7;29378:23;29374:32;29371:52;;;29419:1;29416;29409:12;29371:52;29451:9;29445:16;29470:48;29512:5;29470:48;:::i;29553:406::-;29755:2;29737:21;;;29794:2;29774:18;;;29767:30;29833:34;29828:2;29813:18;;29806:62;-1:-1:-1;;;29899:2:169;29884:18;;29877:40;29949:3;29934:19;;29553:406::o;29964:245::-;30031:6;30084:2;30072:9;30063:7;30059:23;30055:32;30052:52;;;30100:1;30097;30090:12;30052:52;30132:9;30126:16;30151:28;30173:5;30151:28;:::i;30214:404::-;30416:2;30398:21;;;30455:2;30435:18;;;30428:30;30494:34;30489:2;30474:18;;30467:62;-1:-1:-1;;;30560:2:169;30545:18;;30538:38;30608:3;30593:19;;30214:404::o;31048:127::-;31109:10;31104:3;31100:20;31097:1;31090:31;31140:4;31137:1;31130:15;31164:4;31161:1;31154:15;32025:209;32057:1;32083;32073:132;;32127:10;32122:3;32118:20;32115:1;32108:31;32162:4;32159:1;32152:15;32190:4;32187:1;32180:15;32073:132;-1:-1:-1;32219:9:169;;32025:209::o;32644:980::-;32788:4;32817:2;32846;32835:9;32828:21;32891:6;32885:13;32880:2;32869:9;32865:18;32858:41;32963:10;32957:2;32949:6;32945:15;32939:22;32935:39;32930:2;32919:9;32915:18;32908:67;33022:2;33014:6;33010:15;33004:22;33062:4;33057:2;33046:9;33042:18;33035:32;33096:12;33090:19;33146:6;33140:3;33129:9;33125:19;33118:35;33171:1;33181:147;33195:6;33192:1;33189:13;33181:147;;;33291:20;;;33287:29;;33281:36;33256:17;;;33275:3;33252:27;33245:73;33210:10;;33181:147;;;33346:6;33343:1;33340:13;33337:92;;;33417:1;33411:3;33402:6;33391:9;33387:22;33383:32;33376:43;33337:92;-1:-1:-1;33478:2:169;33466:15;;33460:22;4422:10;4411:22;;33540:4;33525:20;;4399:35;33460:22;-1:-1:-1;33607:2:169;33586:15;-1:-1:-1;;33582:29:169;33567:45;;;;33614:3;33563:55;;32644:980;-1:-1:-1;;;;32644:980:169:o;33629:127::-;33690:10;33685:3;33681:20;33678:1;33671:31;33721:4;33718:1;33711:15;33745:4;33742:1;33735:15;33761:228;33800:3;33828:10;33865:2;33862:1;33858:10;33895:2;33892:1;33888:10;33926:3;33922:2;33918:12;33913:3;33910:21;33907:47;;;33934:18;;:::i;:::-;33970:13;;33761:228;-1:-1:-1;;;;33761:228:169:o;33994:184::-;34064:6;34117:2;34105:9;34096:7;34092:23;34088:32;34085:52;;;34133:1;34130;34123:12;34085:52;-1:-1:-1;34156:16:169;;33994:184;-1:-1:-1;33994:184:169:o;34183:135::-;34222:3;-1:-1:-1;;34243:17:169;;34240:43;;;34263:18;;:::i;:::-;-1:-1:-1;34310:1:169;34299:13;;34183:135::o;35490:881::-;35585:6;35616:2;35659;35647:9;35638:7;35634:23;35630:32;35627:52;;;35675:1;35672;35665:12;35627:52;35708:9;35702:16;-1:-1:-1;;;;;35733:6:169;35730:30;35727:50;;;35773:1;35770;35763:12;35727:50;35796:22;;35849:4;35841:13;;35837:27;-1:-1:-1;35827:55:169;;35878:1;35875;35868:12;35827:55;35907:2;35901:9;35930:60;35946:43;35986:2;35946:43;:::i;35930:60::-;36024:15;;;36106:1;36102:10;;;;36094:19;;36090:28;;;36055:12;;;;36130:19;;;36127:39;;;36162:1;36159;36152:12;36127:39;36186:11;;;;36206:135;36222:6;36217:3;36214:15;36206:135;;;36288:10;;36276:23;;36239:12;;;;36319;;;;36206:135;;;36360:5;35490:881;-1:-1:-1;;;;;;;35490:881:169:o;36722:296::-;36791:6;36844:2;36832:9;36823:7;36819:23;36815:32;36812:52;;;36860:1;36857;36850:12;36812:52;36892:9;36886:16;-1:-1:-1;;;;;36935:5:169;36931:38;36924:5;36921:49;36911:77;;36984:1;36981;36974:12;37524:572;37751:10;37739:23;;37721:42;;37799:2;37794;37779:18;;37772:30;;;37818:18;;37811:34;;;-1:-1:-1;;;;;;37857:31:169;;37854:51;;;37901:1;37898;37891:12;37854:51;37935:6;37932:1;37928:14;37992:6;37984;37979:2;37968:9;37964:18;37951:48;38069:1;38022:22;;38046:2;38018:31;38058:13;;;-1:-1:-1;38018:31:169;37524:572;-1:-1:-1;;;37524:572:169:o;38101:954::-;38195:6;38226:2;38269;38257:9;38248:7;38244:23;38240:32;38237:52;;;38285:1;38282;38275:12;38237:52;38318:9;38312:16;-1:-1:-1;;;;;38343:6:169;38340:30;38337:50;;;38383:1;38380;38373:12;38337:50;38406:22;;38459:4;38451:13;;38447:27;-1:-1:-1;38437:55:169;;38488:1;38485;38478:12;38437:55;38517:2;38511:9;38540:60;38556:43;38596:2;38556:43;:::i;38540:60::-;38634:15;;;38716:1;38712:10;;;;38704:19;;38700:28;;;38665:12;;;;38740:19;;;38737:39;;;38772:1;38769;38762:12;38737:39;38796:11;;;;38816:209;38832:6;38827:3;38824:15;38816:209;;;38905:3;38899:10;38922:30;38946:5;38922:30;:::i;:::-;38965:18;;38849:12;;;;39003;;;;38816:209;;39060:266;39148:6;39143:3;39136:19;39200:6;39193:5;39186:4;39181:3;39177:14;39164:43;-1:-1:-1;39252:1:169;39227:16;;;39245:4;39223:27;;;39216:38;;;;39308:2;39287:15;;;-1:-1:-1;;39283:29:169;39274:39;;;39270:50;;39060:266::o;39331:330::-;39526:10;39518:6;39514:23;39503:9;39496:42;39574:2;39569;39558:9;39554:18;39547:30;39477:4;39594:61;39651:2;39640:9;39636:18;39628:6;39620;39594:61;:::i;:::-;39586:69;39331:330;-1:-1:-1;;;;;39331:330:169:o;40034:290::-;40104:6;40157:2;40145:9;40136:7;40132:23;40128:32;40125:52;;;40173:1;40170;40163:12;40125:52;40199:16;;-1:-1:-1;;;;;40244:31:169;;40234:42;;40224:70;;40290:1;40287;40280:12;40830:249;40899:6;40952:2;40940:9;40931:7;40927:23;40923:32;40920:52;;;40968:1;40965;40958:12;40920:52;41000:9;40994:16;41019:30;41043:5;41019:30;:::i;41084:175::-;41121:3;41165:4;41158:5;41154:16;41194:4;41185:7;41182:17;41179:43;;;41202:18;;:::i;:::-;41251:1;41238:15;;41084:175;-1:-1:-1;;41084:175:169:o;41264:331::-;41448:2;41437:9;41430:21;41411:4;41468:61;41525:2;41514:9;41510:18;41502:6;41494;41468:61;:::i;:::-;41460:69;;41577:10;41569:6;41565:23;41560:2;41549:9;41545:18;41538:51;41264:331;;;;;;:::o;41600:347::-;41817:10;41809:6;41805:23;41794:9;41787:42;41865:2;41860;41849:9;41845:18;41838:30;41768:4;41885:56;41937:2;41926:9;41922:18;41914:6;41885:56;:::i;42357:268::-;42463:5;42450:19;42478:32;42502:7;42478:32;:::i;:::-;42544:10;42531:24;42519:37;;42612:4;42601:16;;;42588:30;42572:14;;42565:54;42357:268::o;42630:606::-;42948:3;42933:19;;42961:61;42937:9;43004:6;42961:61;:::i;:::-;43057:6;43044:20;43073:30;43097:5;43073:30;:::i;:::-;43150:10;43139:22;43134:2;43119:18;;43112:50;43223:4;43211:17;;;;43198:31;43193:2;43178:18;;;43171:59;42630:606;;-1:-1:-1;42630:606:169:o;44580:168::-;44620:7;44686:1;44682;44678:6;44674:14;44671:1;44668:21;44663:1;44656:9;44649:17;44645:45;44642:71;;;44693:18;;:::i;:::-;-1:-1:-1;44733:9:169;;44580:168::o;44753:644::-;45001:10;44996:3;44992:20;44983:6;44978:3;44974:16;44970:43;44965:3;44958:56;44940:3;45045:1;45040:3;45036:11;45076:6;45070:13;45125:4;45164:2;45156:6;45152:15;45185:1;45195:175;45209:6;45206:1;45203:13;45195:175;;;45272:13;;45258:28;;45308:14;;;;45345:15;;;;45231:1;45224:9;45195:175;;;-1:-1:-1;45386:5:169;;44753:644;-1:-1:-1;;;;;;;44753:644:169:o;47695:247::-;47763:6;47816:2;47804:9;47795:7;47791:23;47787:32;47784:52;;;47832:1;47829;47822:12;47784:52;47864:9;47858:16;47883:29;47906:5;47883:29;:::i;47947:125::-;47987:4;48015:1;48012;48009:8;48006:34;;;48020:18;;:::i;:::-;-1:-1:-1;48057:9:169;;47947:125::o;48888:128::-;48928:3;48959:1;48955:6;48952:1;48949:13;48946:39;;;48965:18;;:::i;:::-;-1:-1:-1;49001:9:169;;48888:128::o;49948:294::-;50018:6;50071:2;50059:9;50050:7;50046:23;50042:32;50039:52;;;50087:1;50084;50077:12;50039:52;50113:16;;-1:-1:-1;;50158:35:169;;50148:46;;50138:74;;50208:1;50205;50198:12;51240:237;51279:4;-1:-1:-1;;;;;51384:10:169;;;;51354;;51406:12;;;51403:38;;;51421:18;;:::i;:::-;51458:13;;51240:237;-1:-1:-1;;;51240:237:169:o;53081:521::-;53158:4;53164:6;53224:11;53211:25;53318:2;53314:7;53303:8;53287:14;53283:29;53279:43;53259:18;53255:68;53245:96;;53337:1;53334;53327:12;53245:96;53364:33;;53416:20;;;-1:-1:-1;;;;;;53448:30:169;;53445:50;;;53491:1;53488;53481:12;53445:50;53524:4;53512:17;;-1:-1:-1;53555:14:169;53551:27;;;53541:38;;53538:58;;;53592:1;53589;53582:12;53607:1076;53790:2;53779:9;53772:21;53842:6;53829:20;53824:2;53813:9;53809:18;53802:48;53753:4;53897:2;53889:6;53885:15;53872:29;53910:30;53934:5;53910:30;:::i;:::-;53987:10;53980:5;53976:22;53971:2;53960:9;53956:18;53949:50;;54059:2;54051:6;54047:15;54034:29;54143:2;54139:7;54130:6;54114:14;54110:27;54106:41;54086:18;54082:66;54072:94;;54162:1;54159;54152:12;54072:94;54190:31;;54244:21;;-1:-1:-1;;;;;54277:30:169;;54274:50;;;54320:1;54317;54310:12;54274:50;54368:6;54352:14;54348:27;54340:6;54336:40;54333:60;;;54389:1;54386;54379:12;54333:60;54429:4;54424:2;54413:9;54409:18;54402:32;54457:72;54524:3;54513:9;54509:19;54501:6;54496:2;54487:7;54483:16;54457:72;:::i;:::-;54443:86;;;54558:34;54588:2;54580:6;54576:15;54558:34;:::i;:::-;4422:10;4411:22;;54648:4;54633:20;;4399:35;-1:-1:-1;54671:6:169;53607:1076;-1:-1:-1;;;53607:1076:169:o;55954:283::-;56158:2;56143:18;;56170:61;56147:9;56213:6;56170:61;:::i;56242:278::-;56281:7;-1:-1:-1;;;;;56366:2:169;56363:1;56359:10;56396:2;56393:1;56389:10;56452:3;56448:2;56444:12;56439:3;56436:21;56429:3;56422:11;56415:19;56411:47;56408:73;;;56461:18;;:::i;:::-;56501:13;;56242:278;-1:-1:-1;;;;56242:278:169:o;56958:524::-;57274:3;57259:19;;57287:61;57263:9;57330:6;57287:61;:::i;:::-;57403:10;57394:6;57388:13;57384:30;57379:2;57368:9;57364:18;57357:58;57469:4;57461:6;57457:17;57451:24;57446:2;57435:9;57431:18;57424:52;56958:524;;;;;:::o;60890:197::-;60928:3;60956:6;60997:2;60990:5;60986:14;61024:2;61015:7;61012:15;61009:41;;;61030:18;;:::i;:::-;61079:1;61066:15;;60890:197;-1:-1:-1;;;60890:197:169:o","linkReferences":{},"immutableReferences":{"32802":[{"start":1232,"length":32},{"start":4414,"length":32},{"start":9929,"length":32},{"start":10306,"length":32},{"start":10876,"length":32}],"32805":[{"start":1174,"length":32},{"start":11671,"length":32},{"start":12121,"length":32}],"32808":[{"start":1135,"length":32},{"start":8669,"length":32},{"start":11201,"length":32}],"32811":[{"start":1478,"length":32},{"start":10719,"length":32}],"90466":[{"start":716,"length":32},{"start":1533,"length":32},{"start":13738,"length":32}]}},"methodIdentifiers":{"TASK_CHALLENGE_WINDOW_BLOCK()":"f63c5bab","TASK_RESPONSE_WINDOW_BLOCK()":"1ad43189","aggregator()":"245a7bfc","allDisputeHashes(uint32)":"914eea1b","allDisputeResponses(uint32)":"04a27486","blsApkRegistry()":"5df45946","checkSignatures(bytes32,bytes,uint32,(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))":"6efb4636","createNewDispute(uint256,uint32,bytes)":"2b0a2ea4","delegation()":"df5cf723","disputeNumber()":"c9ba3907","disputeSuccesfullyChallenged(uint32)":"2bc70afc","fermahOperators(uint256)":"eba4e01e","generator()":"7afa1eed","getBatchOperatorFromId(address,bytes32[])":"4d2b57fe","getBatchOperatorId(address,address[])":"31b36bd9","getCheckSignaturesIndices(address,uint32,bytes,bytes32[])":"4f739f74","getDisputeResponseWindowBlock()":"ec50a2ef","getOperatorState(address,bytes,uint32)":"3563b0d1","getOperatorState(address,bytes32,uint32)":"cefdc1d4","getQuorumBitmapsAtBlockNumber(address,bytes32[],uint32)":"5c155662","initialize(address,address,address,address)":"f8c8765e","latestDisputeNum()":"3b12421d","owner()":"8da5cb5b","pause(uint256)":"136439dd","pauseAll()":"595c6a67","paused()":"5c975abb","paused(uint8)":"5ac86ab7","pauserRegistry()":"886f1195","raiseAndResolveChallenge((uint256,uint32,bytes,uint32),(uint32,uint256),(uint32,bytes32),(uint256,uint256)[])":"6b532e9e","registryCoordinator()":"6d14a987","renounceOwnership()":"715018a6","respondToDispute((uint256,uint32,bytes,uint32),(uint32,uint256),(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))":"d5ad886d","setPauserRegistry(address)":"10d67a2f","setStaleStakesForbidden(bool)":"416c7e5e","stakeRegistry()":"68304835","staleStakesForbidden()":"b98d0908","transferOwnership(address)":"f2fde38b","trySignatureAndApkVerification(bytes32,(uint256,uint256),(uint256[2],uint256[2]),(uint256,uint256))":"171f1d5b","unpause(uint256)":"fabc1cbc"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"_registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_disputeResponseWindowBlock\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"disputeIndex\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"DisputeChallengedSuccessfully\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"disputeIndex\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"name\":\"DisputeChallengedUnsuccessfully\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"disputeIndex\",\"type\":\"uint32\"}],\"name\":\"DisputeCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"referenceDisputeIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"numberSquared\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct IDisputeManager.DisputeResponse\",\"name\":\"disputeResponse\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"disputeResponsedBlock\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"hashOfNonSigners\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct IDisputeManager.DisputeResponseMetadata\",\"name\":\"disputeResponseMetadata\",\"type\":\"tuple\"}],\"name\":\"DisputeResponded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"disputeIndex\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberToBeSquared\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"disputeCreatedBlock\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"quorumThresholdPercentage\",\"type\":\"uint32\"}],\"indexed\":false,\"internalType\":\"struct IDisputeManager.Dispute\",\"name\":\"dispute\",\"type\":\"tuple\"}],\"name\":\"NewDisputeCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newPausedStatus\",\"type\":\"uint256\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IPauserRegistry\",\"name\":\"pauserRegistry\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IPauserRegistry\",\"name\":\"newPauserRegistry\",\"type\":\"address\"}],\"name\":\"PauserRegistrySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"StaleStakesForbiddenUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newPausedStatus\",\"type\":\"uint256\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"TASK_CHALLENGE_WINDOW_BLOCK\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TASK_RESPONSE_WINDOW_BLOCK\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"allDisputeHashes\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"allDisputeResponses\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blsApkRegistry\",\"outputs\":[{\"internalType\":\"contract IBLSApkRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"referenceBlockNumber\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"uint32[]\",\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"quorumApks\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"X\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"Y\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct BN254.G2Point\",\"name\":\"apkG2\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma\",\"type\":\"tuple\"},{\"internalType\":\"uint32[]\",\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[]\",\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[][]\",\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\"}],\"internalType\":\"struct IBLSSignatureChecker.NonSignerStakesAndSignature\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"checkSignatures\",\"outputs\":[{\"components\":[{\"internalType\":\"uint96[]\",\"name\":\"signedStakeForQuorum\",\"type\":\"uint96[]\"},{\"internalType\":\"uint96[]\",\"name\":\"totalStakeForQuorum\",\"type\":\"uint96[]\"}],\"internalType\":\"struct IBLSSignatureChecker.QuorumStakeTotals\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberToBeSquared\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"quorumThresholdPercentage\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"}],\"name\":\"createNewDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegation\",\"outputs\":[{\"internalType\":\"contract IDelegationManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeNumber\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"disputeSuccesfullyChallenged\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"fermahOperators\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"generator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"operatorIds\",\"type\":\"bytes32[]\"}],\"name\":\"getBatchOperatorFromId\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"name\":\"getBatchOperatorId\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"operatorIds\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"referenceBlockNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"nonSignerOperatorIds\",\"type\":\"bytes32[]\"}],\"name\":\"getCheckSignaturesIndices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32[]\",\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[]\",\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[]\",\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[][]\",\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\"}],\"internalType\":\"struct OperatorStateRetriever.CheckSignaturesIndices\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDisputeResponseWindowBlock\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"blockNumber\",\"type\":\"uint32\"}],\"name\":\"getOperatorState\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"internalType\":\"uint96\",\"name\":\"stake\",\"type\":\"uint96\"}],\"internalType\":\"struct OperatorStateRetriever.Operator[][]\",\"name\":\"\",\"type\":\"tuple[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"blockNumber\",\"type\":\"uint32\"}],\"name\":\"getOperatorState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"internalType\":\"uint96\",\"name\":\"stake\",\"type\":\"uint96\"}],\"internalType\":\"struct OperatorStateRetriever.Operator[][]\",\"name\":\"\",\"type\":\"tuple[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"registryCoordinator\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"operatorIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint32\",\"name\":\"blockNumber\",\"type\":\"uint32\"}],\"name\":\"getQuorumBitmapsAtBlockNumber\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPauserRegistry\",\"name\":\"_pauserRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aggregator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_generator\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestDisputeNum\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPausedStatus\",\"type\":\"uint256\"}],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauserRegistry\",\"outputs\":[{\"internalType\":\"contract IPauserRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberToBeSquared\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"disputeCreatedBlock\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"quorumThresholdPercentage\",\"type\":\"uint32\"}],\"internalType\":\"struct IDisputeManager.Dispute\",\"name\":\"dispute\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"referenceDisputeIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"numberSquared\",\"type\":\"uint256\"}],\"internalType\":\"struct IDisputeManager.DisputeResponse\",\"name\":\"disputeResponse\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"disputeResponsedBlock\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"hashOfNonSigners\",\"type\":\"bytes32\"}],\"internalType\":\"struct IDisputeManager.DisputeResponseMetadata\",\"name\":\"disputeResponseMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"pubkeysOfNonSigningOperators\",\"type\":\"tuple[]\"}],\"name\":\"raiseAndResolveChallenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCoordinator\",\"outputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberToBeSquared\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"disputeCreatedBlock\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"quorumThresholdPercentage\",\"type\":\"uint32\"}],\"internalType\":\"struct IDisputeManager.Dispute\",\"name\":\"dispute\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"referenceDisputeIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"numberSquared\",\"type\":\"uint256\"}],\"internalType\":\"struct IDisputeManager.DisputeResponse\",\"name\":\"disputeResponse\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint32[]\",\"name\":\"nonSignerQuorumBitmapIndices\",\"type\":\"uint32[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"nonSignerPubkeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"quorumApks\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"X\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"Y\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct BN254.G2Point\",\"name\":\"apkG2\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma\",\"type\":\"tuple\"},{\"internalType\":\"uint32[]\",\"name\":\"quorumApkIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[]\",\"name\":\"totalStakeIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"uint32[][]\",\"name\":\"nonSignerStakeIndices\",\"type\":\"uint32[][]\"}],\"internalType\":\"struct IBLSSignatureChecker.NonSignerStakesAndSignature\",\"name\":\"nonSignerStakesAndSignature\",\"type\":\"tuple\"}],\"name\":\"respondToDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPauserRegistry\",\"name\":\"newPauserRegistry\",\"type\":\"address\"}],\"name\":\"setPauserRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"setStaleStakesForbidden\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeRegistry\",\"outputs\":[{\"internalType\":\"contract IStakeRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"staleStakesForbidden\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point\",\"name\":\"apk\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"X\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"Y\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct BN254.G2Point\",\"name\":\"apkG2\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Y\",\"type\":\"uint256\"}],\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma\",\"type\":\"tuple\"}],\"name\":\"trySignatureAndApkVerification\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"pairingSuccessful\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"siganatureIsValid\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPausedStatus\",\"type\":\"uint256\"}],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"checkSignatures(bytes32,bytes,uint32,(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))\":{\"details\":\"Before signature verification, the function verifies operator stake information. This includes ensuring that the provided `referenceBlockNumber` is correct, i.e., ensure that the stake returned from the specified block number is recent enough and that the stake is either the most recent update for the total stake (of the operator) or latest before the referenceBlockNumber.NOTE: Be careful to ensure `msgHash` is collision-resistant! This method does not hash `msgHash` in any way, so if an attacker is able to pass in an arbitrary value, they may be able to tamper with signature verification.\",\"params\":{\"msgHash\":\"is the hash being signed\",\"params\":\"is the struct containing information on nonsigners, stakes, quorum apks, and the aggregate signature\",\"quorumNumbers\":\"is the bytes array of quorum numbers that are being signed for\",\"referenceBlockNumber\":\"is the block number at which the stake information is being verified\"},\"returns\":{\"_0\":\"quorumStakeTotals is the struct containing the total and signed stake for each quorum\",\"_1\":\"signatoryRecordHash is the hash of the signatory record, which is used for fraud proofs\"}},\"getBatchOperatorFromId(address,bytes32[])\":{\"details\":\"if an operator is not registered, the operator address will be 0\",\"params\":{\"operators\":\"is the array of operatorIds to get corresponding operator addresses for\",\"registryCoordinator\":\"is the AVS registry coordinator to fetch the operator information from\"}},\"getBatchOperatorId(address,address[])\":{\"details\":\"if an operator is not registered, the operatorId will be 0\",\"params\":{\"operators\":\"is the array of operator address to get corresponding operatorIds for\",\"registryCoordinator\":\"is the AVS registry coordinator to fetch the operator information from\"}},\"getCheckSignaturesIndices(address,uint32,bytes,bytes32[])\":{\"params\":{\"nonSignerOperatorIds\":\"are the ids of the nonsigning operators\",\"quorumNumbers\":\"are the ids of the quorums to get the operator state for\",\"referenceBlockNumber\":\"is the block number to get the indices for\",\"registryCoordinator\":\"is the registry coordinator to fetch the AVS registry information from\"},\"returns\":{\"_0\":\"1) the indices of the quorumBitmaps for each of the operators in the @param nonSignerOperatorIds array at the given blocknumber 2) the indices of the total stakes entries for the given quorums at the given blocknumber 3) the indices of the stakes of each of the nonsigners in each of the quorums they were a part of (for each nonsigner, an array of length the number of quorums they were a part of that are also part of the provided quorumNumbers) at the given blocknumber 4) the indices of the quorum apks for each of the provided quorums at the given blocknumber\"}},\"getOperatorState(address,bytes,uint32)\":{\"params\":{\"blockNumber\":\"is the block number to get the operator state for\",\"quorumNumbers\":\"are the ids of the quorums to get the operator state for\",\"registryCoordinator\":\"is the registry coordinator to fetch the AVS registry information from\"},\"returns\":{\"_0\":\"2d array of Operators. For each quorum, an ordered list of Operators\"}},\"getOperatorState(address,bytes32,uint32)\":{\"params\":{\"blockNumber\":\"is the block number to get the operator state for\",\"operatorId\":\"the id of the operator to fetch the quorums lists \",\"registryCoordinator\":\"is the registry coordinator to fetch the AVS registry information from\"},\"returns\":{\"_0\":\"1) the quorumBitmap of the operator at the given blockNumber 2) 2d array of Operator structs. For each quorum the provided operator was a part of at `blockNumber`, an ordered list of operators.\"}},\"getQuorumBitmapsAtBlockNumber(address,bytes32[],uint32)\":{\"params\":{\"blockNumber\":\"is the block number to get the quorumBitmaps for\",\"operatorIds\":\"are the ids of the operators to get the quorumBitmaps for\",\"registryCoordinator\":\"is the AVS registry coordinator to fetch the operator information from\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pause(uint256)\":{\"details\":\"This function can only pause functionality, and thus cannot 'unflip' any bit in `_paused` from 1 to 0.\",\"params\":{\"newPausedStatus\":\"represents the new value for `_paused` to take, which means it may flip several bits at once.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setStaleStakesForbidden(bool)\":{\"params\":{\"value\":\"to toggle staleStakesForbidden\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"trySignatureAndApkVerification(bytes32,(uint256,uint256),(uint256[2],uint256[2]),(uint256,uint256))\":{\"params\":{\"apk\":\"is the claimed G1 public key\",\"apkG2\":\"is provided G2 public key\",\"msgHash\":\"is the hash being signed\",\"sigma\":\"is the G1 point signature\"},\"returns\":{\"pairingSuccessful\":\"is true if the pairing precompile call was successful\",\"siganatureIsValid\":\"is true if the signature is valid\"}},\"unpause(uint256)\":{\"details\":\"This function can only unpause functionality, and thus cannot 'flip' any bit in `_paused` from 0 to 1.\",\"params\":{\"newPausedStatus\":\"represents the new value for `_paused` to take, which means it may flip several bits at once.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Paused(address,uint256)\":{\"notice\":\"Emitted when the pause is triggered by `account`, and changed to `newPausedStatus`.\"},\"PauserRegistrySet(address,address)\":{\"notice\":\"Emitted when the `pauserRegistry` is set to `newPauserRegistry`.\"},\"StaleStakesForbiddenUpdate(bool)\":{\"notice\":\"Emitted when `staleStakesForbiddenUpdate` is set\"},\"Unpaused(address,uint256)\":{\"notice\":\"Emitted when the pause is lifted by `account`, and changed to `newPausedStatus`.\"}},\"kind\":\"user\",\"methods\":{\"checkSignatures(bytes32,bytes,uint32,(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))\":{\"notice\":\"This function is called by disperser when it has aggregated all the signatures of the operators that are part of the quorum for a particular taskNumber and is asserting them into onchain. The function checks that the claim for aggregated signatures are valid. The thesis of this procedure entails: - getting the aggregated pubkey of all registered nodes at the time of pre-commit by the disperser (represented by apk in the parameters), - subtracting the pubkeys of all the signers not in the quorum (nonSignerPubkeys) and storing the output in apk to get aggregated pubkey of all operators that are part of quorum. - use this aggregated pubkey to verify the aggregated signature under BLS scheme.\"},\"disputeNumber()\":{\"notice\":\"Returns the current 'disputeNumber' for the middleware\"},\"getBatchOperatorFromId(address,bytes32[])\":{\"notice\":\"This function returns the operator addresses for each of the operators in the operatorIds array\"},\"getBatchOperatorId(address,address[])\":{\"notice\":\"This function returns the operatorIds for each of the operators in the operators array\"},\"getCheckSignaturesIndices(address,uint32,bytes,bytes32[])\":{\"notice\":\"this is called by the AVS operator to get the relevant indices for the checkSignatures function if they are not running an indexer \"},\"getDisputeResponseWindowBlock()\":{\"notice\":\"Returns the TASK_RESPONSE_WINDOW_BLOCK\"},\"getOperatorState(address,bytes,uint32)\":{\"notice\":\"returns the ordered list of operators (id and stake) for each quorum. The AVS coordinator may call this function directly to get the operator state for a given block number\"},\"getOperatorState(address,bytes32,uint32)\":{\"notice\":\"This function is intended to to be called by AVS operators every time a new task is created (i.e.) the AVS coordinator makes a request to AVS operators. Since all of the crucial information is kept onchain, operators don't need to run indexers to fetch the data.\"},\"getQuorumBitmapsAtBlockNumber(address,bytes32[],uint32)\":{\"notice\":\"this function returns the quorumBitmaps for each of the operators in the operatorIds array at the given blocknumber\"},\"pause(uint256)\":{\"notice\":\"This function is used to pause an EigenLayer contract's functionality. It is permissioned to the `pauser` address, which is expected to be a low threshold multisig.\"},\"pauseAll()\":{\"notice\":\"Alias for `pause(type(uint256).max)`.\"},\"paused()\":{\"notice\":\"Returns the current paused status as a uint256.\"},\"paused(uint8)\":{\"notice\":\"Returns 'true' if the `indexed`th bit of `_paused` is 1, and 'false' otherwise\"},\"pauserRegistry()\":{\"notice\":\"Address of the `PauserRegistry` contract that this contract defers to for determining access control (for pausing).\"},\"setPauserRegistry(address)\":{\"notice\":\"Allows the unpauser to set a new pauser registry\"},\"setStaleStakesForbidden(bool)\":{\"notice\":\"/** RegistryCoordinator owner can either enforce or not that operator stakes are staler than the delegation.minWithdrawalDelayBlocks() window.\"},\"staleStakesForbidden()\":{\"notice\":\"If true, check the staleness of the operator stakes and that its within the delegation withdrawalDelayBlocks window.\"},\"trySignatureAndApkVerification(bytes32,(uint256,uint256),(uint256[2],uint256[2]),(uint256,uint256))\":{\"notice\":\"trySignatureAndApkVerification verifies a BLS aggregate signature and the veracity of a calculated G1 Public key\"},\"unpause(uint256)\":{\"notice\":\"This function is used to unpause an EigenLayer contract's functionality. It is permissioned to the `unpauser` address, which is expected to be a high threshold multisig or governance contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/DisputeManager.sol\":\"DisputeManager\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@credible-squaring/=src/\",\":@eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-contracts/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/\"]},\"sources\":{\"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009\",\"dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f\",\"dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574\",\"dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0x02d8b32309a9d0498619104b8f27446e8f4b2d983af183a974b2cd882be0d8b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0e01584eb126890a97b9b642ccc5e60eb12453d1a84027b280b647c3408fc4cf\",\"dweb:/ipfs/QmUR5vv26QffXyCrk7CHMi2SVerjZ5EMgbcEhKrMtMNf6f\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b\",\"dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/eigenlayer-contracts/src/contracts/libraries/EIP1271SignatureUtils.sol\":{\"keccak256\":\"0xe92d584c47c5828e026a8082af3da38a853e3942c4da7deb705d6470a41afab3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1c436c578781fd7d3dffdb24e906819422819f5e9a71d39ee63166a3d5cb3373\",\"dweb:/ipfs/QmP7bJhYqLpwqk2Xq4tqDCUMi2nFAhxxW3Pz36ctE1sbdD\"]},\"lib/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0x53a08f01d778b91604dc1d27d4805fa99b9a2993f26e6079a1d8701699dc9f21\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8fd5dd22dcb1fb4f803843b920501679f252ccf100a06acbad7a22452cdc1173\",\"dweb:/ipfs/QmeyoJoTN3Gi7Q4Fk4y89UTDDnyPFmSbdu8N7Vyijwjx2s\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e\",\"dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x84ac2d2f343df1e683da7a12bbcf70db542a7a7a0cea90a5d70fcb5e5d035481\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73ae8e0c6f975052973265113d762629002ce33987b1933c2a378667e2816f2f\",\"dweb:/ipfs/QmQAootkVfoe4PLaYbT4Xob2dJRm3bZfbCffEHRbCYXNPF\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol\":{\"keccak256\":\"0x6688fad58b9ec0286d40fa957152e575d5d8bd4c3aa80985efdb11b44f776ae7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc00ab7f133cdaafd212a5cc6a16c8d37319721105d130c8e5af0c4e8f170ba\",\"dweb:/ipfs/QmVmf6LVMfFiEkvKYLzSv3bGHzymEW93AcUuFrNUdY3NtT\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f\",\"dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574\",\"dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0x53a08f01d778b91604dc1d27d4805fa99b9a2993f26e6079a1d8701699dc9f21\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8fd5dd22dcb1fb4f803843b920501679f252ccf100a06acbad7a22452cdc1173\",\"dweb:/ipfs/QmeyoJoTN3Gi7Q4Fk4y89UTDDnyPFmSbdu8N7Vyijwjx2s\"]},\"lib/eigenlayer-middleware/src/BLSApkRegistry.sol\":{\"keccak256\":\"0x42c4c6e5a85c918938ca0775c659abcaab3707e847b02e81db4f2632f7d6b17c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://916cc022ccc17b8d4b85d16e7ac77ed98ed7006bdf9695298476312c2d71ebad\",\"dweb:/ipfs/QmXEcAWg1KZ7vd9b2LDpkq2X6zsRWtfVjZjQGNG7iJKWRW\"]},\"lib/eigenlayer-middleware/src/BLSApkRegistryStorage.sol\":{\"keccak256\":\"0xf61107c6cf909dc5745f6718b0e93ce2c4bdd947112bb3a18246d350b46edef3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b15007adf4937aeb7540d79fb566086d7510f36545a6d9d57c46fdd4f0625122\",\"dweb:/ipfs/QmVQa9GbCVcVCa9DHaQrNZpnVe1G6wznhctuPgTQLTTcVA\"]},\"lib/eigenlayer-middleware/src/BLSSignatureChecker.sol\":{\"keccak256\":\"0x0a2b3c95fb4de28406dcb0bab74538bce57606224aab18a30dd338747628b6bd\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://82fbb6423fb54d8ca7f4099ccb15b77e23cb009b31605b5113dd6851a960d803\",\"dweb:/ipfs/QmcEsEcFyNCwArMZGiyDcBeuLxAMswhnhNY2zGX5Zh7xdJ\"]},\"lib/eigenlayer-middleware/src/OperatorStateRetriever.sol\":{\"keccak256\":\"0x5573c9b7416d08e8b2f3e2e238ca4ba7a0c0fd4e6c6f8d4f7eca5487f26a042a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://98c9e6ec2b3478f3a962d57e280ddb69a93be7035ed7a4cdb775d29b763053af\",\"dweb:/ipfs/QmaMHNFsddfP7fKxaVwn8foWqwp7ySwaD5Lof19bsmsdvg\"]},\"lib/eigenlayer-middleware/src/RegistryCoordinator.sol\":{\"keccak256\":\"0x4173c492c600c2eb3df612dd757193f17b1f5093d3b74c9a53d665419ef93603\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c6e8c9024b6376fddcf8b02785342852edbedcaad5fb9981a42c5dc2fcae49d2\",\"dweb:/ipfs/QmbNq7gkkxQCUCoAUeiiQjjmG4gMGr4D7PEiPgo61EcVLt\"]},\"lib/eigenlayer-middleware/src/RegistryCoordinatorStorage.sol\":{\"keccak256\":\"0x75cde4bc83b4f19a95b9447c9faf5aadbf4c579d7acb6ab0cfaef1b674777130\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://46aca5d4c2ca28e58486279fa33117f070129435dbd6ade35903d576a5aac1da\",\"dweb:/ipfs/QmUnobvB1qDf9LCCuN89DqLW3mCTmx3nzdzeUjj9BVQctQ\"]},\"lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol\":{\"keccak256\":\"0x91c233280d6707404c65b7989c3fec6997c40cb3ab7d6c2e3f021102a0e2750d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f2033dbb94acab37f3505734d8aad1481fbceedaa4742871f07506243a195aeb\",\"dweb:/ipfs/QmXWJNkhUxfMhGfuFWw4UAU6nvw9qP9aswisQJLnZUUCzs\"]},\"lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol\":{\"keccak256\":\"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f\",\"dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY\"]},\"lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol\":{\"keccak256\":\"0x6c66bc2b0b2f5aabd2b90ca02d5b6696fc02d75a53567b16d8d81dd956fd7b1b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://284f9cc3f8eade3b022ab8c527aaa35bdd5e0355607abf6d5ef66fb2c9ce90cd\",\"dweb:/ipfs/QmYi856BQNY6G2FTqAGY9qzWPp27QmiytwnfNtfwPN7Cqm\"]},\"lib/eigenlayer-middleware/src/interfaces/ISocketUpdater.sol\":{\"keccak256\":\"0x2f209d4556d493b7b9d30a48eb98b9ee17f823ff677e9c656ebd6ed454b3626e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1f1a7930cf8acf19684bcc39ea958d354586846f6dac0fd6a10e69a30eebea25\",\"dweb:/ipfs/QmNsuiA1KKx22mf2YxYvK8CeuqUsgPNfUR7ijvnpBZWETw\"]},\"lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]},\"lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol\":{\"keccak256\":\"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04\",\"dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g\"]},\"src/DisputeManager.sol\":{\"keccak256\":\"0xfaa8ffdb19541c2c457a8ffd60d508b2b0d3651051fcca599592904132c8d63d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://818343fc35dd755c8f52c419b96489dd87b7a43134e7d6781aa6349f2304534d\",\"dweb:/ipfs/QmeVP1gYFtKkgJXZBiGJM7RVJoGNgFUjuxQhVUHmsWF9jY\"]},\"src/IDisputeManager.sol\":{\"keccak256\":\"0x032af8d07e1d4066430b8e06cf8fbe197959391484037904c55a0e4542978823\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8be626edb470b4cfa47ff24bffbc26271192728ef00249478333f0a2b8ebaf5b\",\"dweb:/ipfs/QmT81aNCaC9P3iMdzs7fcM7YzRVXDKJTnCBLY8aFKSC4zi\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"_registryCoordinator","type":"address"},{"internalType":"uint32","name":"_disputeResponseWindowBlock","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint32","name":"disputeIndex","type":"uint32","indexed":true},{"internalType":"address","name":"challenger","type":"address","indexed":true}],"type":"event","name":"DisputeChallengedSuccessfully","anonymous":false},{"inputs":[{"internalType":"uint32","name":"disputeIndex","type":"uint32","indexed":true},{"internalType":"address","name":"challenger","type":"address","indexed":true}],"type":"event","name":"DisputeChallengedUnsuccessfully","anonymous":false},{"inputs":[{"internalType":"uint32","name":"disputeIndex","type":"uint32","indexed":true}],"type":"event","name":"DisputeCompleted","anonymous":false},{"inputs":[{"internalType":"struct IDisputeManager.DisputeResponse","name":"disputeResponse","type":"tuple","components":[{"internalType":"uint32","name":"referenceDisputeIndex","type":"uint32"},{"internalType":"uint256","name":"numberSquared","type":"uint256"}],"indexed":false},{"internalType":"struct IDisputeManager.DisputeResponseMetadata","name":"disputeResponseMetadata","type":"tuple","components":[{"internalType":"uint32","name":"disputeResponsedBlock","type":"uint32"},{"internalType":"bytes32","name":"hashOfNonSigners","type":"bytes32"}],"indexed":false}],"type":"event","name":"DisputeResponded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint32","name":"disputeIndex","type":"uint32","indexed":true},{"internalType":"struct IDisputeManager.Dispute","name":"dispute","type":"tuple","components":[{"internalType":"uint256","name":"numberToBeSquared","type":"uint256"},{"internalType":"uint32","name":"disputeCreatedBlock","type":"uint32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"uint32","name":"quorumThresholdPercentage","type":"uint32"}],"indexed":false}],"type":"event","name":"NewDisputeCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"newPausedStatus","type":"uint256","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"contract IPauserRegistry","name":"pauserRegistry","type":"address","indexed":false},{"internalType":"contract IPauserRegistry","name":"newPauserRegistry","type":"address","indexed":false}],"type":"event","name":"PauserRegistrySet","anonymous":false},{"inputs":[{"internalType":"bool","name":"value","type":"bool","indexed":false}],"type":"event","name":"StaleStakesForbiddenUpdate","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"newPausedStatus","type":"uint256","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"TASK_CHALLENGE_WINDOW_BLOCK","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TASK_RESPONSE_WINDOW_BLOCK","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function","name":"allDisputeHashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function","name":"allDisputeResponses","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blsApkRegistry","outputs":[{"internalType":"contract IBLSApkRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"msgHash","type":"bytes32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"uint32","name":"referenceBlockNumber","type":"uint32"},{"internalType":"struct IBLSSignatureChecker.NonSignerStakesAndSignature","name":"params","type":"tuple","components":[{"internalType":"uint32[]","name":"nonSignerQuorumBitmapIndices","type":"uint32[]"},{"internalType":"struct BN254.G1Point[]","name":"nonSignerPubkeys","type":"tuple[]","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"struct BN254.G1Point[]","name":"quorumApks","type":"tuple[]","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"struct BN254.G2Point","name":"apkG2","type":"tuple","components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}]},{"internalType":"struct BN254.G1Point","name":"sigma","type":"tuple","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"uint32[]","name":"quorumApkIndices","type":"uint32[]"},{"internalType":"uint32[]","name":"totalStakeIndices","type":"uint32[]"},{"internalType":"uint32[][]","name":"nonSignerStakeIndices","type":"uint32[][]"}]}],"stateMutability":"view","type":"function","name":"checkSignatures","outputs":[{"internalType":"struct IBLSSignatureChecker.QuorumStakeTotals","name":"","type":"tuple","components":[{"internalType":"uint96[]","name":"signedStakeForQuorum","type":"uint96[]"},{"internalType":"uint96[]","name":"totalStakeForQuorum","type":"uint96[]"}]},{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"numberToBeSquared","type":"uint256"},{"internalType":"uint32","name":"quorumThresholdPercentage","type":"uint32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"createNewDispute"},{"inputs":[],"stateMutability":"view","type":"function","name":"delegation","outputs":[{"internalType":"contract IDelegationManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeNumber","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function","name":"disputeSuccesfullyChallenged","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"fermahOperators","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"generator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"bytes32[]","name":"operatorIds","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getBatchOperatorFromId","outputs":[{"internalType":"address[]","name":"operators","type":"address[]"}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"address[]","name":"operators","type":"address[]"}],"stateMutability":"view","type":"function","name":"getBatchOperatorId","outputs":[{"internalType":"bytes32[]","name":"operatorIds","type":"bytes32[]"}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"uint32","name":"referenceBlockNumber","type":"uint32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"bytes32[]","name":"nonSignerOperatorIds","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getCheckSignaturesIndices","outputs":[{"internalType":"struct OperatorStateRetriever.CheckSignaturesIndices","name":"","type":"tuple","components":[{"internalType":"uint32[]","name":"nonSignerQuorumBitmapIndices","type":"uint32[]"},{"internalType":"uint32[]","name":"quorumApkIndices","type":"uint32[]"},{"internalType":"uint32[]","name":"totalStakeIndices","type":"uint32[]"},{"internalType":"uint32[][]","name":"nonSignerStakeIndices","type":"uint32[][]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDisputeResponseWindowBlock","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"uint32","name":"blockNumber","type":"uint32"}],"stateMutability":"view","type":"function","name":"getOperatorState","outputs":[{"internalType":"struct OperatorStateRetriever.Operator[][]","name":"","type":"tuple[][]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bytes32","name":"operatorId","type":"bytes32"},{"internalType":"uint96","name":"stake","type":"uint96"}]}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"bytes32","name":"operatorId","type":"bytes32"},{"internalType":"uint32","name":"blockNumber","type":"uint32"}],"stateMutability":"view","type":"function","name":"getOperatorState","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"struct OperatorStateRetriever.Operator[][]","name":"","type":"tuple[][]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bytes32","name":"operatorId","type":"bytes32"},{"internalType":"uint96","name":"stake","type":"uint96"}]}]},{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"registryCoordinator","type":"address"},{"internalType":"bytes32[]","name":"operatorIds","type":"bytes32[]"},{"internalType":"uint32","name":"blockNumber","type":"uint32"}],"stateMutability":"view","type":"function","name":"getQuorumBitmapsAtBlockNumber","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"contract IPauserRegistry","name":"_pauserRegistry","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"address","name":"_generator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"latestDisputeNum","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"pause"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseAll"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"}],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pauserRegistry","outputs":[{"internalType":"contract IPauserRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"struct IDisputeManager.Dispute","name":"dispute","type":"tuple","components":[{"internalType":"uint256","name":"numberToBeSquared","type":"uint256"},{"internalType":"uint32","name":"disputeCreatedBlock","type":"uint32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"uint32","name":"quorumThresholdPercentage","type":"uint32"}]},{"internalType":"struct IDisputeManager.DisputeResponse","name":"disputeResponse","type":"tuple","components":[{"internalType":"uint32","name":"referenceDisputeIndex","type":"uint32"},{"internalType":"uint256","name":"numberSquared","type":"uint256"}]},{"internalType":"struct IDisputeManager.DisputeResponseMetadata","name":"disputeResponseMetadata","type":"tuple","components":[{"internalType":"uint32","name":"disputeResponsedBlock","type":"uint32"},{"internalType":"bytes32","name":"hashOfNonSigners","type":"bytes32"}]},{"internalType":"struct BN254.G1Point[]","name":"pubkeysOfNonSigningOperators","type":"tuple[]","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"raiseAndResolveChallenge"},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCoordinator","outputs":[{"internalType":"contract IRegistryCoordinator","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"struct IDisputeManager.Dispute","name":"dispute","type":"tuple","components":[{"internalType":"uint256","name":"numberToBeSquared","type":"uint256"},{"internalType":"uint32","name":"disputeCreatedBlock","type":"uint32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"},{"internalType":"uint32","name":"quorumThresholdPercentage","type":"uint32"}]},{"internalType":"struct IDisputeManager.DisputeResponse","name":"disputeResponse","type":"tuple","components":[{"internalType":"uint32","name":"referenceDisputeIndex","type":"uint32"},{"internalType":"uint256","name":"numberSquared","type":"uint256"}]},{"internalType":"struct IBLSSignatureChecker.NonSignerStakesAndSignature","name":"nonSignerStakesAndSignature","type":"tuple","components":[{"internalType":"uint32[]","name":"nonSignerQuorumBitmapIndices","type":"uint32[]"},{"internalType":"struct BN254.G1Point[]","name":"nonSignerPubkeys","type":"tuple[]","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"struct BN254.G1Point[]","name":"quorumApks","type":"tuple[]","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"struct BN254.G2Point","name":"apkG2","type":"tuple","components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}]},{"internalType":"struct BN254.G1Point","name":"sigma","type":"tuple","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"uint32[]","name":"quorumApkIndices","type":"uint32[]"},{"internalType":"uint32[]","name":"totalStakeIndices","type":"uint32[]"},{"internalType":"uint32[][]","name":"nonSignerStakeIndices","type":"uint32[][]"}]}],"stateMutability":"nonpayable","type":"function","name":"respondToDispute"},{"inputs":[{"internalType":"contract IPauserRegistry","name":"newPauserRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPauserRegistry"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setStaleStakesForbidden"},{"inputs":[],"stateMutability":"view","type":"function","name":"stakeRegistry","outputs":[{"internalType":"contract IStakeRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"staleStakesForbidden","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"bytes32","name":"msgHash","type":"bytes32"},{"internalType":"struct BN254.G1Point","name":"apk","type":"tuple","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]},{"internalType":"struct BN254.G2Point","name":"apkG2","type":"tuple","components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}]},{"internalType":"struct BN254.G1Point","name":"sigma","type":"tuple","components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}]}],"stateMutability":"view","type":"function","name":"trySignatureAndApkVerification","outputs":[{"internalType":"bool","name":"pairingSuccessful","type":"bool"},{"internalType":"bool","name":"siganatureIsValid","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unpause"}],"devdoc":{"kind":"dev","methods":{"checkSignatures(bytes32,bytes,uint32,(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))":{"details":"Before signature verification, the function verifies operator stake information. This includes ensuring that the provided `referenceBlockNumber` is correct, i.e., ensure that the stake returned from the specified block number is recent enough and that the stake is either the most recent update for the total stake (of the operator) or latest before the referenceBlockNumber.NOTE: Be careful to ensure `msgHash` is collision-resistant! This method does not hash `msgHash` in any way, so if an attacker is able to pass in an arbitrary value, they may be able to tamper with signature verification.","params":{"msgHash":"is the hash being signed","params":"is the struct containing information on nonsigners, stakes, quorum apks, and the aggregate signature","quorumNumbers":"is the bytes array of quorum numbers that are being signed for","referenceBlockNumber":"is the block number at which the stake information is being verified"},"returns":{"_0":"quorumStakeTotals is the struct containing the total and signed stake for each quorum","_1":"signatoryRecordHash is the hash of the signatory record, which is used for fraud proofs"}},"getBatchOperatorFromId(address,bytes32[])":{"details":"if an operator is not registered, the operator address will be 0","params":{"operators":"is the array of operatorIds to get corresponding operator addresses for","registryCoordinator":"is the AVS registry coordinator to fetch the operator information from"}},"getBatchOperatorId(address,address[])":{"details":"if an operator is not registered, the operatorId will be 0","params":{"operators":"is the array of operator address to get corresponding operatorIds for","registryCoordinator":"is the AVS registry coordinator to fetch the operator information from"}},"getCheckSignaturesIndices(address,uint32,bytes,bytes32[])":{"params":{"nonSignerOperatorIds":"are the ids of the nonsigning operators","quorumNumbers":"are the ids of the quorums to get the operator state for","referenceBlockNumber":"is the block number to get the indices for","registryCoordinator":"is the registry coordinator to fetch the AVS registry information from"},"returns":{"_0":"1) the indices of the quorumBitmaps for each of the operators in the @param nonSignerOperatorIds array at the given blocknumber 2) the indices of the total stakes entries for the given quorums at the given blocknumber 3) the indices of the stakes of each of the nonsigners in each of the quorums they were a part of (for each nonsigner, an array of length the number of quorums they were a part of that are also part of the provided quorumNumbers) at the given blocknumber 4) the indices of the quorum apks for each of the provided quorums at the given blocknumber"}},"getOperatorState(address,bytes,uint32)":{"params":{"blockNumber":"is the block number to get the operator state for","quorumNumbers":"are the ids of the quorums to get the operator state for","registryCoordinator":"is the registry coordinator to fetch the AVS registry information from"},"returns":{"_0":"2d array of Operators. For each quorum, an ordered list of Operators"}},"getOperatorState(address,bytes32,uint32)":{"params":{"blockNumber":"is the block number to get the operator state for","operatorId":"the id of the operator to fetch the quorums lists ","registryCoordinator":"is the registry coordinator to fetch the AVS registry information from"},"returns":{"_0":"1) the quorumBitmap of the operator at the given blockNumber 2) 2d array of Operator structs. For each quorum the provided operator was a part of at `blockNumber`, an ordered list of operators."}},"getQuorumBitmapsAtBlockNumber(address,bytes32[],uint32)":{"params":{"blockNumber":"is the block number to get the quorumBitmaps for","operatorIds":"are the ids of the operators to get the quorumBitmaps for","registryCoordinator":"is the AVS registry coordinator to fetch the operator information from"}},"owner()":{"details":"Returns the address of the current owner."},"pause(uint256)":{"details":"This function can only pause functionality, and thus cannot 'unflip' any bit in `_paused` from 1 to 0.","params":{"newPausedStatus":"represents the new value for `_paused` to take, which means it may flip several bits at once."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setStaleStakesForbidden(bool)":{"params":{"value":"to toggle staleStakesForbidden"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"trySignatureAndApkVerification(bytes32,(uint256,uint256),(uint256[2],uint256[2]),(uint256,uint256))":{"params":{"apk":"is the claimed G1 public key","apkG2":"is provided G2 public key","msgHash":"is the hash being signed","sigma":"is the G1 point signature"},"returns":{"pairingSuccessful":"is true if the pairing precompile call was successful","siganatureIsValid":"is true if the signature is valid"}},"unpause(uint256)":{"details":"This function can only unpause functionality, and thus cannot 'flip' any bit in `_paused` from 0 to 1.","params":{"newPausedStatus":"represents the new value for `_paused` to take, which means it may flip several bits at once."}}},"version":1},"userdoc":{"kind":"user","methods":{"checkSignatures(bytes32,bytes,uint32,(uint32[],(uint256,uint256)[],(uint256,uint256)[],(uint256[2],uint256[2]),(uint256,uint256),uint32[],uint32[],uint32[][]))":{"notice":"This function is called by disperser when it has aggregated all the signatures of the operators that are part of the quorum for a particular taskNumber and is asserting them into onchain. The function checks that the claim for aggregated signatures are valid. The thesis of this procedure entails: - getting the aggregated pubkey of all registered nodes at the time of pre-commit by the disperser (represented by apk in the parameters), - subtracting the pubkeys of all the signers not in the quorum (nonSignerPubkeys) and storing the output in apk to get aggregated pubkey of all operators that are part of quorum. - use this aggregated pubkey to verify the aggregated signature under BLS scheme."},"disputeNumber()":{"notice":"Returns the current 'disputeNumber' for the middleware"},"getBatchOperatorFromId(address,bytes32[])":{"notice":"This function returns the operator addresses for each of the operators in the operatorIds array"},"getBatchOperatorId(address,address[])":{"notice":"This function returns the operatorIds for each of the operators in the operators array"},"getCheckSignaturesIndices(address,uint32,bytes,bytes32[])":{"notice":"this is called by the AVS operator to get the relevant indices for the checkSignatures function if they are not running an indexer "},"getDisputeResponseWindowBlock()":{"notice":"Returns the TASK_RESPONSE_WINDOW_BLOCK"},"getOperatorState(address,bytes,uint32)":{"notice":"returns the ordered list of operators (id and stake) for each quorum. The AVS coordinator may call this function directly to get the operator state for a given block number"},"getOperatorState(address,bytes32,uint32)":{"notice":"This function is intended to to be called by AVS operators every time a new task is created (i.e.) the AVS coordinator makes a request to AVS operators. Since all of the crucial information is kept onchain, operators don't need to run indexers to fetch the data."},"getQuorumBitmapsAtBlockNumber(address,bytes32[],uint32)":{"notice":"this function returns the quorumBitmaps for each of the operators in the operatorIds array at the given blocknumber"},"pause(uint256)":{"notice":"This function is used to pause an EigenLayer contract's functionality. It is permissioned to the `pauser` address, which is expected to be a low threshold multisig."},"pauseAll()":{"notice":"Alias for `pause(type(uint256).max)`."},"paused()":{"notice":"Returns the current paused status as a uint256."},"paused(uint8)":{"notice":"Returns 'true' if the `indexed`th bit of `_paused` is 1, and 'false' otherwise"},"pauserRegistry()":{"notice":"Address of the `PauserRegistry` contract that this contract defers to for determining access control (for pausing)."},"setPauserRegistry(address)":{"notice":"Allows the unpauser to set a new pauser registry"},"setStaleStakesForbidden(bool)":{"notice":"/** RegistryCoordinator owner can either enforce or not that operator stakes are staler than the delegation.minWithdrawalDelayBlocks() window."},"staleStakesForbidden()":{"notice":"If true, check the staleness of the operator stakes and that its within the delegation withdrawalDelayBlocks window."},"trySignatureAndApkVerification(bytes32,(uint256,uint256),(uint256[2],uint256[2]),(uint256,uint256))":{"notice":"trySignatureAndApkVerification verifies a BLS aggregate signature and the veracity of a calculated G1 Public key"},"unpause(uint256)":{"notice":"This function is used to unpause an EigenLayer contract's functionality. It is permissioned to the `unpauser` address, which is expected to be a high threshold multisig or governance contract."}},"version":1}},"settings":{"remappings":["@credible-squaring/=src/","@eigenlayer-middleware/=lib/eigenlayer-middleware/","@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-contracts/","eigenlayer-middleware/=lib/eigenlayer-middleware/","erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/","openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/DisputeManager.sol":"DisputeManager"},"evmVersion":"london","libraries":{}},"sources":{"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1","urls":["bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009","dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b","urls":["bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f","dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474","urls":["bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574","dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0x02d8b32309a9d0498619104b8f27446e8f4b2d983af183a974b2cd882be0d8b6","urls":["bzz-raw://0e01584eb126890a97b9b642ccc5e60eb12453d1a84027b280b647c3408fc4cf","dweb:/ipfs/QmUR5vv26QffXyCrk7CHMi2SVerjZ5EMgbcEhKrMtMNf6f"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4","urls":["bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b","dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/libraries/EIP1271SignatureUtils.sol":{"keccak256":"0xe92d584c47c5828e026a8082af3da38a853e3942c4da7deb705d6470a41afab3","urls":["bzz-raw://1c436c578781fd7d3dffdb24e906819422819f5e9a71d39ee63166a3d5cb3373","dweb:/ipfs/QmP7bJhYqLpwqk2Xq4tqDCUMi2nFAhxxW3Pz36ctE1sbdD"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0x53a08f01d778b91604dc1d27d4805fa99b9a2993f26e6079a1d8701699dc9f21","urls":["bzz-raw://8fd5dd22dcb1fb4f803843b920501679f252ccf100a06acbad7a22452cdc1173","dweb:/ipfs/QmeyoJoTN3Gi7Q4Fk4y89UTDDnyPFmSbdu8N7Vyijwjx2s"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol":{"keccak256":"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544","urls":["bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e","dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10","urls":["bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487","dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3","urls":["bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638","dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x84ac2d2f343df1e683da7a12bbcf70db542a7a7a0cea90a5d70fcb5e5d035481","urls":["bzz-raw://73ae8e0c6f975052973265113d762629002ce33987b1933c2a378667e2816f2f","dweb:/ipfs/QmQAootkVfoe4PLaYbT4Xob2dJRm3bZfbCffEHRbCYXNPF"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol":{"keccak256":"0x6688fad58b9ec0286d40fa957152e575d5d8bd4c3aa80985efdb11b44f776ae7","urls":["bzz-raw://8bc00ab7f133cdaafd212a5cc6a16c8d37319721105d130c8e5af0c4e8f170ba","dweb:/ipfs/QmVmf6LVMfFiEkvKYLzSv3bGHzymEW93AcUuFrNUdY3NtT"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b","urls":["bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f","dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474","urls":["bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574","dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0x53a08f01d778b91604dc1d27d4805fa99b9a2993f26e6079a1d8701699dc9f21","urls":["bzz-raw://8fd5dd22dcb1fb4f803843b920501679f252ccf100a06acbad7a22452cdc1173","dweb:/ipfs/QmeyoJoTN3Gi7Q4Fk4y89UTDDnyPFmSbdu8N7Vyijwjx2s"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/BLSApkRegistry.sol":{"keccak256":"0x42c4c6e5a85c918938ca0775c659abcaab3707e847b02e81db4f2632f7d6b17c","urls":["bzz-raw://916cc022ccc17b8d4b85d16e7ac77ed98ed7006bdf9695298476312c2d71ebad","dweb:/ipfs/QmXEcAWg1KZ7vd9b2LDpkq2X6zsRWtfVjZjQGNG7iJKWRW"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/BLSApkRegistryStorage.sol":{"keccak256":"0xf61107c6cf909dc5745f6718b0e93ce2c4bdd947112bb3a18246d350b46edef3","urls":["bzz-raw://b15007adf4937aeb7540d79fb566086d7510f36545a6d9d57c46fdd4f0625122","dweb:/ipfs/QmVQa9GbCVcVCa9DHaQrNZpnVe1G6wznhctuPgTQLTTcVA"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/BLSSignatureChecker.sol":{"keccak256":"0x0a2b3c95fb4de28406dcb0bab74538bce57606224aab18a30dd338747628b6bd","urls":["bzz-raw://82fbb6423fb54d8ca7f4099ccb15b77e23cb009b31605b5113dd6851a960d803","dweb:/ipfs/QmcEsEcFyNCwArMZGiyDcBeuLxAMswhnhNY2zGX5Zh7xdJ"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/OperatorStateRetriever.sol":{"keccak256":"0x5573c9b7416d08e8b2f3e2e238ca4ba7a0c0fd4e6c6f8d4f7eca5487f26a042a","urls":["bzz-raw://98c9e6ec2b3478f3a962d57e280ddb69a93be7035ed7a4cdb775d29b763053af","dweb:/ipfs/QmaMHNFsddfP7fKxaVwn8foWqwp7ySwaD5Lof19bsmsdvg"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/RegistryCoordinator.sol":{"keccak256":"0x4173c492c600c2eb3df612dd757193f17b1f5093d3b74c9a53d665419ef93603","urls":["bzz-raw://c6e8c9024b6376fddcf8b02785342852edbedcaad5fb9981a42c5dc2fcae49d2","dweb:/ipfs/QmbNq7gkkxQCUCoAUeiiQjjmG4gMGr4D7PEiPgo61EcVLt"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/RegistryCoordinatorStorage.sol":{"keccak256":"0x75cde4bc83b4f19a95b9447c9faf5aadbf4c579d7acb6ab0cfaef1b674777130","urls":["bzz-raw://46aca5d4c2ca28e58486279fa33117f070129435dbd6ade35903d576a5aac1da","dweb:/ipfs/QmUnobvB1qDf9LCCuN89DqLW3mCTmx3nzdzeUjj9BVQctQ"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol":{"keccak256":"0x91c233280d6707404c65b7989c3fec6997c40cb3ab7d6c2e3f021102a0e2750d","urls":["bzz-raw://f2033dbb94acab37f3505734d8aad1481fbceedaa4742871f07506243a195aeb","dweb:/ipfs/QmXWJNkhUxfMhGfuFWw4UAU6nvw9qP9aswisQJLnZUUCzs"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol":{"keccak256":"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a","urls":["bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f","dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol":{"keccak256":"0x6c66bc2b0b2f5aabd2b90ca02d5b6696fc02d75a53567b16d8d81dd956fd7b1b","urls":["bzz-raw://284f9cc3f8eade3b022ab8c527aaa35bdd5e0355607abf6d5ef66fb2c9ce90cd","dweb:/ipfs/QmYi856BQNY6G2FTqAGY9qzWPp27QmiytwnfNtfwPN7Cqm"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/ISocketUpdater.sol":{"keccak256":"0x2f209d4556d493b7b9d30a48eb98b9ee17f823ff677e9c656ebd6ed454b3626e","urls":["bzz-raw://1f1a7930cf8acf19684bcc39ea958d354586846f6dac0fd6a10e69a30eebea25","dweb:/ipfs/QmNsuiA1KKx22mf2YxYvK8CeuqUsgPNfUR7ijvnpBZWETw"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"},"lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol":{"keccak256":"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5","urls":["bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04","dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g"],"license":"MIT"},"src/DisputeManager.sol":{"keccak256":"0xfaa8ffdb19541c2c457a8ffd60d508b2b0d3651051fcca599592904132c8d63d","urls":["bzz-raw://818343fc35dd755c8f52c419b96489dd87b7a43134e7d6781aa6349f2304534d","dweb:/ipfs/QmeVP1gYFtKkgJXZBiGJM7RVJoGNgFUjuxQhVUHmsWF9jY"],"license":"UNLICENSED"},"src/IDisputeManager.sol":{"keccak256":"0x032af8d07e1d4066430b8e06cf8fbe197959391484037904c55a0e4542978823","urls":["bzz-raw://8be626edb470b4cfa47ff24bffbc26271192728ef00249478333f0a2b8ebaf5b","dweb:/ipfs/QmT81aNCaC9P3iMdzs7fcM7YzRVXDKJTnCBLY8aFKSC4zi"],"license":"UNLICENSED"}},"version":1},"id":156}