@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +14 -6
- package/test/agent-export.e2e.test.ts +376 -0
- package/test/agent-orchestration.e2e.test.ts +1568 -0
- package/test/agent-restart-recovery.e2e.test.ts +149 -0
- package/test/agent-runtime.e2e.test.ts +1515 -0
- package/test/anvil-contracts.e2e.test.ts +533 -0
- package/test/anvil-helper.ts +285 -0
- package/test/api-auth-live.e2e.test.ts +519 -0
- package/test/api-auth.e2e.test.ts +1039 -0
- package/test/api-server.e2e.test.ts +4582 -0
- package/test/apps-e2e.e2e.test.ts +1108 -0
- package/test/auth-modules.e2e.test.ts +71 -0
- package/test/cloud-auth-state.e2e.test.ts +145 -0
- package/test/cloud-persistence.e2e.test.ts +260 -0
- package/test/cloud-providers.e2e.test.ts +781 -0
- package/test/config-hot-reload.e2e.test.ts +131 -0
- package/test/contract-deployer.ts +151 -0
- package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
- package/test/contracts/MockMiladyCollection.sol +195 -0
- package/test/contracts/cache/solidity-files-cache.json +1 -0
- package/test/contracts/foundry.toml +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
- package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
- package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
- package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
- package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
- package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
- package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
- package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
- package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
- package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
- package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
- package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
- package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
- package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
- package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
- package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
- package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
- package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
- package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
- package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
- package/test/contracts/out/Address.sol/Address.json +1 -0
- package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
- package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
- package/test/contracts/out/Base.sol/CommonBase.json +1 -0
- package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
- package/test/contracts/out/Base.sol/TestBase.json +1 -0
- package/test/contracts/out/Base64.sol/Base64.json +1 -0
- package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
- package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
- package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
- package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
- package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
- package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
- package/test/contracts/out/Clones.sol/Clones.json +1 -0
- package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
- package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
- package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
- package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
- package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
- package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
- package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
- package/test/contracts/out/Context.sol/Context.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
- package/test/contracts/out/Counters.sol/Counters.json +1 -0
- package/test/contracts/out/Create2.sol/Create2.json +1 -0
- package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
- package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
- package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
- package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
- package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
- package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
- package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
- package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
- package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
- package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
- package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
- package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
- package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
- package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
- package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
- package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
- package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
- package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
- package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
- package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
- package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
- package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
- package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
- package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
- package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
- package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
- package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
- package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
- package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
- package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
- package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
- package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
- package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
- package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
- package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
- package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
- package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
- package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
- package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
- package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
- package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
- package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
- package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
- package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
- package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
- package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
- package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
- package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
- package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
- package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
- package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
- package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
- package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
- package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
- package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
- package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
- package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
- package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
- package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
- package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
- package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
- package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
- package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
- package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
- package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
- package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
- package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
- package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
- package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
- package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
- package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
- package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
- package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
- package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
- package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
- package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
- package/test/contracts/out/Governor.sol/Governor.json +1 -0
- package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
- package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
- package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
- package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
- package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
- package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
- package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
- package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
- package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
- package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
- package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
- package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
- package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
- package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
- package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
- package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
- package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
- package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
- package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
- package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
- package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
- package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
- package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
- package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
- package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
- package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
- package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
- package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
- package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
- package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
- package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
- package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
- package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
- package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
- package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
- package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
- package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
- package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
- package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
- package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
- package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
- package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
- package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
- package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
- package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
- package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
- package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
- package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
- package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
- package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
- package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
- package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
- package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
- package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
- package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
- package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
- package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
- package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
- package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
- package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
- package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
- package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
- package/test/contracts/out/Math.sol/Math.json +1 -0
- package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
- package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
- package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
- package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
- package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
- package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
- package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
- package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
- package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
- package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
- package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
- package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
- package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
- package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
- package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
- package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
- package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
- package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
- package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
- package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
- package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
- package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
- package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
- package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
- package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
- package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
- package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
- package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
- package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
- package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
- package/test/contracts/out/Script.sol/Script.json +1 -0
- package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
- package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
- package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
- package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
- package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
- package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
- package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
- package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
- package/test/contracts/out/StdError.sol/stdError.json +1 -0
- package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
- package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
- package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
- package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
- package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
- package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
- package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
- package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
- package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
- package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
- package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
- package/test/contracts/out/Strings.sol/Strings.json +1 -0
- package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
- package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
- package/test/contracts/out/Timers.sol/Timers.json +1 -0
- package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
- package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
- package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
- package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
- package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
- package/test/contracts/out/Vm.sol/Vm.json +1 -0
- package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
- package/test/contracts/out/Votes.sol/Votes.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
- package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
- package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
- package/test/contracts/out/console.sol/console.json +1 -0
- package/test/contracts/out/console2.sol/console2.json +1 -0
- package/test/contracts/out/demo.sol/DemoTest.json +1 -0
- package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
- package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
- package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
- package/test/contracts/out/receivers.sol/Receiver.json +1 -0
- package/test/contracts/out/test.sol/DSTest.json +1 -0
- package/test/contracts/out/test.sol/Test.json +1 -0
- package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
- package/test/database-api.e2e.test.ts +666 -0
- package/test/debug-anvil.ts +44 -0
- package/test/deferred-restart.e2e.test.ts +368 -0
- package/test/discord-connector.e2e.test.ts +463 -0
- package/test/e2e-global-setup.ts +29 -0
- package/test/e2e-validation.e2e.test.ts +1588 -0
- package/test/health-endpoint.e2e.test.ts +95 -0
- package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
- package/test/knowledge-live.e2e.test.ts +405 -0
- package/test/mcp-config.e2e.test.ts +630 -0
- package/test/native-modules.e2e.test.ts +470 -0
- package/test/permissions-api.e2e.test.ts +637 -0
- package/test/plugin-install.e2e.test.ts +645 -0
- package/test/plugin-lifecycle.e2e.test.ts +617 -0
- package/test/plugin-management.e2e.test.ts +308 -0
- package/test/provider-switch.e2e.test.ts +322 -0
- package/test/scripts/test-force.ts +139 -0
- package/test/scripts/test-parallel.mjs +192 -0
- package/test/scripts/validate-all-features.sh +557 -0
- package/test/setup.ts +122 -0
- package/test/signal-connector.e2e.test.ts +229 -0
- package/test/skills-marketplace-api.e2e.test.ts +585 -0
- package/test/skills-marketplace-services.e2e.test.ts +518 -0
- package/test/skills-marketplace.e2e.test.ts +268 -0
- package/test/stubs/coding-agent-module.ts +18 -0
- package/test/stubs/electron-module.ts +17 -0
- package/test/stubs/empty-module.mjs +4 -0
- package/test/stubs/pi-ai-module.ts +12 -0
- package/test/subscription-auth.e2e.test.ts +747 -0
- package/test/terminal-execution.e2e.test.ts +134 -0
- package/test/terminal-run-limits.e2e.test.ts +132 -0
- package/test/test-env.ts +156 -0
- package/test/trajectory-collection.e2e.test.ts +800 -0
- package/test/trajectory-database.e2e.test.ts +209 -0
- package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
- package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
- package/test/trigger-execution-flow.e2e.test.ts +132 -0
- package/test/trigger-runtime.e2e.test.ts +247 -0
- package/test/wallet-api.e2e.test.ts +1295 -0
- package/test/wallet-live.e2e.test.ts +428 -0
- package/vitest.e2e.config.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"contract IVotes"},{"name":"_timelock","type":"address","internalType":"contract TimelockController"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"COUNTING_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"EXTENDED_BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"cancel","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVote","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReason","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParams","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParamsBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotesWithParams","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hasVoted","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hashProposal","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposalDeadline","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalEta","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalProposer","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proposalSnapshot","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"proposalVotes","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"againstVotes","type":"uint256","internalType":"uint256"},{"name":"forVotes","type":"uint256","internalType":"uint256"},{"name":"abstainVotes","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"propose","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"description","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"queue","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"quorum","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumNumerator","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"quorumNumerator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"relay","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"state","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IGovernor.ProposalState"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"timelock","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC5805"}],"stateMutability":"view"},{"type":"function","name":"updateQuorumNumerator","inputs":[{"name":"newQuorumNumerator","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTimelock","inputs":[{"name":"newTimelock","type":"address","internalType":"contract TimelockController"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"votingDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"votingPeriod","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"ProposalCanceled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposer","type":"address","indexed":false,"internalType":"address"},{"name":"targets","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"values","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"signatures","type":"string[]","indexed":false,"internalType":"string[]"},{"name":"calldatas","type":"bytes[]","indexed":false,"internalType":"bytes[]"},{"name":"voteStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"voteEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"description","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ProposalExecuted","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalQueued","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"eta","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"QuorumNumeratorUpdated","inputs":[{"name":"oldQuorumNumerator","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newQuorumNumerator","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TimelockChange","inputs":[{"name":"oldTimelock","type":"address","indexed":false,"internalType":"address"},{"name":"newTimelock","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VoteCast","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"VoteCastWithParams","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"},{"name":"params","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Empty","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x61018060405234801562000011575f80fd5b5060405162004d4538038062004d458339810160408190526200003491620007e6565b600482826040518060400160405280600a81526020016926bca3b7bb32b93737b960b11b815250806200006c6200015d60201b60201c565b62000078825f62000178565b610120526200008981600162000178565b61014052815160208084019190912060e052815190820120610100524660a0526200011660e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c05260026200012d8282620008c3565b506200013b905081620001b0565b506001600160a01b031661016052620001548162000219565b50505062000a43565b6040805180820190915260018152603160f81b602082015290565b5f60208351101562000197576200018f8362000399565b9050620001aa565b81620001a48482620008c3565b5060ff90505b92915050565b600654604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600680546001600160a01b0319166001600160a01b0392909216919091179055565b6064811115620002a25760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a4015b60405180910390fd5b5f620002ad620003db565b90508015801590620002bf5750600954155b156200032557604080518082019091525f815260099060208101620002e48462000409565b6001600160e01b0390811690915282546001810184555f938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b6200035a620003456200033762000477565b65ffffffffffff16620004ed565b620003508462000409565b6009919062000553565b505060408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b5f80829050601f81511115620003c6578260405163305a27a960e01b81526004016200029991906200098b565b8051620003d382620009d8565b179392505050565b6009545f90156200040057620003f260096200056f565b6001600160e01b0316905090565b6008545b905090565b5f6001600160e01b03821115620004735760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840162000299565b5090565b5f610160516001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620004d8575060408051601f3d908101601f19168201909252620004d591810190620009fc565b60015b620004e8576200040443620005ba565b919050565b5f63ffffffff821115620004735760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840162000299565b5f806200056285858562000622565b915091505b935093915050565b80545f908015620005b15762000599836200058c60018462000a23565b5f91825260209091200190565b5464010000000090046001600160e01b0316620005b3565b5f5b9392505050565b5f65ffffffffffff821115620004735760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840162000299565b82545f908190801562000774575f62000642876200058c60018562000a23565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b031660208401529192509087161015620006c65760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b6579730000000000604482015260640162000299565b805163ffffffff808816911603620007145784620006eb886200058c60018662000a23565b80546001600160e01b03929092166401000000000263ffffffff90921691909117905562000763565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216640100000000029216919091179101555b602001519250839150620005679050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a81529182209551925190931664010000000002919093161792019190915590508162000567565b6001600160a01b0381168114620007e3575f80fd5b50565b5f8060408385031215620007f8575f80fd5b82516200080581620007ce565b60208401519092506200081881620007ce565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200084c57607f821691505b6020821081036200086b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620008be575f81815260208120601f850160051c81016020861015620008995750805b601f850160051c820191505b81811015620008ba57828155600101620008a5565b5050505b505050565b81516001600160401b03811115620008df57620008df62000823565b620008f781620008f0845462000837565b8462000871565b602080601f8311600181146200092d575f8415620009155750858301515b5f19600386901b1c1916600185901b178555620008ba565b5f85815260208120601f198616915b828110156200095d578886015182559484019460019091019084016200093c565b50858210156200097b57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f6020808352835180828501525f5b81811015620009b8578581018301518582016040015282016200099a565b505f604082860101526040601f19601f8301168501019250505092915050565b805160208083015191908110156200086b575f1960209190910360031b1b16919050565b5f6020828403121562000a0d575f80fd5b815165ffffffffffff81168114620005b3575f80fd5b81810381811115620001aa57634e487b7160e01b5f52601160045260245ffd5b60805160a05160c05160e0516101005161012051610140516101605161428a62000abb5f395f818161092a01528181610ff6015281816112b401528181611e570152611f9501525f61126201525f61123801525f61218e01525f61216601525f6120c101525f6120eb01525f612115015261428a5ff3fe608060405260043610610257575f3560e01c806360c4247f1161013f578063bc197c81116100b3578063dd4e2ba511610078578063dd4e2ba514610838578063deaaa7cc1461087d578063eb9019d4146108b0578063f23a6e61146108cf578063f8ce560a146108fa578063fc0c546a14610919575f80fd5b8063bc197c8114610787578063c01f9e37146107b2578063c28bc2fa146107e9578063c59057e4146107fc578063d33219b41461081b575f80fd5b806397c3d3341161010457806397c3d334146106e85780639a802a6d146106fb578063a7713a701461071a578063a890c9101461072e578063ab58fb8e1461074d578063b58131b01461076c575f80fd5b806360c4247f146106395780637b3c71d3146106585780637d5e81e21461067757806384b0196e1461069657806391ddadf4146106bd575f80fd5b80632fe3e261116101d6578063452115d61161019b578063452115d61461054c5780634bf5d7e91461056b578063544ffc9c1461057f57806354fd4d50146105d257806356781388146105fb5780635f398a141461061a575f80fd5b80632fe3e261146104735780633932abb1146104a65780633bccf4fd146104b95780633e4f49e6146104d85780634385963214610504575f80fd5b8063143489d01161021c578063143489d014610377578063150b7a02146103ca578063160cbed71461040d5780632656227d1461042c5780632d63f6931461043f575f80fd5b806301ffc9a7146102c657806302a251a3146102fa578063034201811461031857806306f3f9e61461033757806306fdde0314610356575f80fd5b366102c2573061026561094c565b6001600160a01b0316146102c05760405162461bcd60e51b815260206004820152601f60248201527f476f7665726e6f723a206d7573742073656e6420746f206578656375746f720060448201526064015b60405180910390fd5b005b5f80fd5b3480156102d1575f80fd5b506102e56102e036600461338d565b610964565b60405190151581526020015b60405180910390f35b348015610305575f80fd5b5061b2fa5b6040519081526020016102f1565b348015610323575f80fd5b5061030a6103323660046134cb565b610974565b348015610342575f80fd5b506102c061035136600461356a565b610a6a565b348015610361575f80fd5b5061036a610af3565b6040516102f191906135ce565b348015610382575f80fd5b506103b261039136600461356a565b5f90815260036020526040902054600160401b90046001600160a01b031690565b6040516001600160a01b0390911681526020016102f1565b3480156103d5575f80fd5b506103f46103e43660046135f4565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102f1565b348015610418575f80fd5b5061030a6104273660046137bc565b610b83565b61030a61043a3660046137bc565b610d77565b34801561044a575f80fd5b5061030a61045936600461356a565b5f908152600360205260409020546001600160401b031690565b34801561047e575f80fd5b5061030a7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b3480156104b1575f80fd5b50600161030a565b3480156104c4575f80fd5b5061030a6104d3366004613845565b610e66565b3480156104e3575f80fd5b506104f76104f236600461356a565b610eda565b6040516102f191906138a3565b34801561050f575f80fd5b506102e561051e3660046138c9565b5f828152600a602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b348015610557575f80fd5b5061030a6105663660046137bc565b610ee4565b348015610576575f80fd5b5061036a610ff2565b34801561058a575f80fd5b506105b761059936600461356a565b5f908152600a60205260409020805460018201546002909201549092565b604080519384526020840192909252908201526060016102f1565b3480156105dd575f80fd5b506040805180820190915260018152603160f81b602082015261036a565b348015610606575f80fd5b5061030a6106153660046138f7565b6110b2565b348015610625575f80fd5b5061030a610634366004613921565b6110d9565b348015610644575f80fd5b5061030a61065336600461356a565b611121565b348015610663575f80fd5b5061030a61067236600461399e565b6111cf565b348015610682575f80fd5b5061030a6106913660046139f3565b611215565b3480156106a1575f80fd5b506106aa61122b565b6040516102f19796959493929190613ad8565b3480156106c8575f80fd5b506106d16112b1565b60405165ffffffffffff90911681526020016102f1565b3480156106f3575f80fd5b50606461030a565b348015610706575f80fd5b5061030a610715366004613b39565b611339565b348015610725575f80fd5b5061030a61134f565b348015610739575f80fd5b506102c0610748366004613b8d565b611378565b348015610758575f80fd5b5061030a61076736600461356a565b6113fe565b348015610777575f80fd5b50683635c9adc5dea0000061030a565b348015610792575f80fd5b506103f46107a1366004613ba8565b63bc197c8160e01b95945050505050565b3480156107bd575f80fd5b5061030a6107cc36600461356a565b5f908152600360205260409020600101546001600160401b031690565b6102c06107f7366004613c34565b611494565b348015610807575f80fd5b5061030a6108163660046137bc565b61159e565b348015610826575f80fd5b506006546001600160a01b03166103b2565b348015610843575f80fd5b506040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e9082015261036a565b348015610888575f80fd5b5061030a7f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b3480156108bb575f80fd5b5061030a6108ca366004613c73565b6115d7565b3480156108da575f80fd5b506103f46108e9366004613c9d565b63f23a6e6160e01b95945050505050565b348015610905575f80fd5b5061030a61091436600461356a565b6115f6565b348015610924575f80fd5b506103b27f000000000000000000000000000000000000000000000000000000000000000081565b5f61095f6006546001600160a01b031690565b905090565b5f61096e82611600565b92915050565b5f80610a17610a0f7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c6040516109af929190613d00565b60405180910390208b805190602001206040516020016109f4959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611624565b868686611650565b9050610a5c8a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d925061166c915050565b9a9950505050505050505050565b610a7261094c565b6001600160a01b0316336001600160a01b031614610aa25760405162461bcd60e51b81526004016102b790613d0f565b30610aab61094c565b6001600160a01b031614610ae7575f8036604051610aca929190613d00565b604051809103902090505b80610ae060046117be565b03610ad557505b610af08161183b565b50565b606060028054610b0290613d46565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e90613d46565b8015610b795780601f10610b5057610100808354040283529160200191610b79565b820191905f5260205f20905b815481529060010190602001808311610b5c57829003601f168201915b5050505050905090565b5f80610b918686868661159e565b90506004610b9e82610eda565b6007811115610baf57610baf61388f565b14610bcc5760405162461bcd60e51b81526004016102b790613d7e565b6006546040805163793d064960e11b815290515f926001600160a01b03169163f27a0c929160048083019260209291908290030181865afa158015610c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c379190613dbf565b60065460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790610c70908a908a908a905f908b90600401613e60565b602060405180830381865afa158015610c8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caf9190613dbf565b5f838152600760205260408082209290925560065491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb091610cf9918b918b918b91908b908990600401613ead565b5f604051808303815f87803b158015610d10575f80fd5b505af1158015610d22573d5f803e3d5ffd5b505050507f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892828242610d549190613f18565b604080519283526020830191909152015b60405180910390a15095945050505050565b5f80610d858686868661159e565b90505f610d9182610eda565b90506004816007811115610da757610da761388f565b1480610dc457506005816007811115610dc257610dc261388f565b145b610de05760405162461bcd60e51b81526004016102b790613d7e565b5f8281526003602052604090819020600201805460ff19166001179055517f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90610e2d9084815260200190565b60405180910390a1610e4282888888886119a6565b610e4f8288888888611a47565b610e5c8288888888611a54565b5095945050505050565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff851660608201525f908190610eb390610a0f906080016109f4565b9050610ecf87828860405180602001604052805f815250611a8c565b979650505050505050565b5f61096e82611aad565b5f80610ef28686868661159e565b90505f610efe82610eda565b6007811115610f0f57610f0f61388f565b14610f5c5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e6f723a20746f6f206c61746520746f2063616e63656c0000000060448201526064016102b7565b5f81815260036020526040902054600160401b90046001600160a01b0316336001600160a01b031614610fdc5760405162461bcd60e51b815260206004820152602260248201527f476f7665726e6f723a206f6e6c792070726f706f7365722063616e2063616e63604482015261195b60f21b60648201526084016102b7565b610fe886868686611bf1565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561107157506040513d5f823e601f3d908101601f1916820160405261106e9190810190613f2b565b60015b6110ad575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b5f803390506110d184828560405180602001604052805f815250611a8c565b949350505050565b5f80339050610ecf87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a925061166c915050565b6009545f90808203611137575050600854919050565b5f6009611145600184613f93565b8154811061115557611155613fa6565b5f9182526020918290206040805180820190915291015463ffffffff8116808352600160201b9091046001600160e01b031692820192909252915084106111aa57602001516001600160e01b03169392505050565b6111be6111b685611bfe565b600990611c66565b6001600160e01b0316949350505050565b5f80339050610fe886828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611a8c92505050565b5f61122285858585611d13565b95945050505050565b5f6060808280808361125d7f000000000000000000000000000000000000000000000000000000000000000083611d20565b6112887f00000000000000000000000000000000000000000000000000000000000000006001611d20565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561132c575060408051601f3d908101601f1916820190925261132991810190613fba565b60015b6110ad5761095f43611dc9565b5f611345848484611e2f565b90505b9392505050565b6009545f9015611371576113636009611ec2565b6001600160e01b0316905090565b5060085490565b61138061094c565b6001600160a01b0316336001600160a01b0316146113b05760405162461bcd60e51b81526004016102b790613d0f565b306113b961094c565b6001600160a01b0316146113f5575f80366040516113d8929190613d00565b604051809103902090505b806113ee60046117be565b036113e357505b610af081611ef1565b6006545f8281526007602052604080822054905163d45c443560e01b81526004810191909152909182916001600160a01b039091169063d45c443590602401602060405180830381865afa158015611458573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147c9190613dbf565b90508060011461148c5780611348565b5f9392505050565b61149c61094c565b6001600160a01b0316336001600160a01b0316146114cc5760405162461bcd60e51b81526004016102b790613d0f565b306114d561094c565b6001600160a01b031614611511575f80366040516114f4929190613d00565b604051809103902090505b8061150a60046117be565b036114ff57505b5f80856001600160a01b031685858560405161152e929190613d00565b5f6040518083038185875af1925050503d805f8114611568576040519150601f19603f3d011682016040523d82523d5f602084013e61156d565b606091505b5091509150611595828260405180606001604052806028815260200161422d60289139611f5a565b50505050505050565b5f848484846040516020016115b69493929190613fdf565b60408051601f19818403018152919052805160209091012095945050505050565b5f61134883836115f160408051602081019091525f815290565b611e2f565b5f61096e82611f73565b5f6001600160e01b03198216636e665ced60e01b148061096e575061096e8261201a565b5f61096e6116306120b5565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f61165f878787876121de565b91509150610e5c8161229b565b5f858152600360205260408120600161168488610eda565b60078111156116955761169561388f565b146116ee5760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b60648201526084016102b7565b80545f906117079088906001600160401b031686611e2f565b905061171688888884886123e4565b83515f0361176a57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda48988848960405161175d9493929190614029565b60405180910390a2610ecf565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb871289888489896040516117ab959493929190614050565b60405180910390a2979650505050505050565b5f6117d88254600f81810b600160801b909204900b131590565b156117f657604051631ed9509560e11b815260040160405180910390fd5b508054600f0b5f818152600180840160205260408220805492905583546fffffffffffffffffffffffffffffffff191692016001600160801b03169190911790915590565b60648111156118be5760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a4016102b7565b5f6118c761134f565b905080158015906118d85750600954155b1561193a57604080518082019091525f8152600990602081016118fa84612557565b6001600160e01b0390811690915282546001810184555f93845260209384902083519490930151909116600160201b0263ffffffff909316929092179101555b6119676119556119486112b1565b65ffffffffffff16611bfe565b61195e84612557565b600991906125bf565b505060408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b306119af61094c565b6001600160a01b031614611a40575f5b8451811015611a3e57306001600160a01b03168582815181106119e4576119e4613fa6565b60200260200101516001600160a01b031603611a2e57611a2e838281518110611a0f57611a0f613fa6565b60200260200101518051906020012060046125d990919063ffffffff16565b611a3781614095565b90506119bf565b505b5050505050565b611a408585858585612614565b30611a5d61094c565b6001600160a01b031614611a4057600454600f81810b600160801b909204900b1315611a40575f600455611a40565b5f61122285858585611aa860408051602081019091525f815290565b61166c565b5f80611ab883612683565b90506004816007811115611ace57611ace61388f565b14611ad95792915050565b5f8381526007602052604090205480611af3575092915050565b600654604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015611b3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5e91906140ad565b15611b6d575060079392505050565b600654604051632c258a9f60e11b8152600481018390526001600160a01b039091169063584b153e90602401602060405180830381865afa158015611bb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd891906140ad565b15611be7575060059392505050565b5060029392505050565b5f611222858585856127bd565b5f63ffffffff821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016102b7565b5090565b81545f9081816005811115611cc0575f611c7f84612866565b611c899085613f93565b5f8881526020902090915081015463ffffffff9081169087161015611cb057809150611cbe565b611cbb816001613f18565b92505b505b5f611ccd8787858561294a565b90508015611d0757611cf187611ce4600184613f93565b5f91825260209091200190565b54600160201b90046001600160e01b0316610ecf565b5f979650505050505050565b5f611222858585856129a5565b606060ff8314611d3a57611d3383612d6a565b905061096e565b818054611d4690613d46565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7290613d46565b8015611dbd5780601f10611d9457610100808354040283529160200191611dbd565b820191905f5260205f20905b815481529060010190602001808311611da057829003601f168201915b5050505050905061096e565b5f65ffffffffffff821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b60648201526084016102b7565b604051630748d63560e31b81526001600160a01b038481166004830152602482018490525f917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa158015611e9e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113459190613dbf565b80545f90801561148c57611edb83611ce4600184613f93565b54600160201b90046001600160e01b0316611348565b600654604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600680546001600160a01b0319166001600160a01b0392909216919091179055565b60608315611f69575081611348565b6113488383612da7565b5f6064611f7f83611121565b604051632394e7a360e21b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e539e8c90602401602060405180830381865afa158015611fe2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120069190613dbf565b61201091906140cc565b61096e91906140f7565b5f63288ace0360e11b6318df743f60e31b63bf26d89760e01b6379dd796f60e01b6001600160e01b0319861682148061205f57506001600160e01b0319868116908216145b8061207657506001600160e01b0319868116908516145b8061209157506001600160e01b03198616630271189760e51b145b80610fe857506301ffc9a760e01b6001600160e01b03198716149695505050505050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561210d57507f000000000000000000000000000000000000000000000000000000000000000046145b1561213757507f000000000000000000000000000000000000000000000000000000000000000090565b61095f604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561221357505f90506003612292565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612264573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661228c575f60019250925050612292565b91505f90505b94509492505050565b5f8160048111156122ae576122ae61388f565b036122b65750565b60018160048111156122ca576122ca61388f565b036123175760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016102b7565b600281600481111561232b5761232b61388f565b036123785760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016102b7565b600381600481111561238c5761238c61388f565b03610af05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016102b7565b5f858152600a602090815260408083206001600160a01b0388168452600381019092529091205460ff161561246b5760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c726561604482015266191e4818d85cdd60ca1b60648201526084016102b7565b6001600160a01b0385165f9081526003820160205260409020805460ff1916600117905560ff84166124b45782815f015f8282546124a99190613f18565b90915550611a3e9050565b5f1960ff8516016124d25782816001015f8282546124a99190613f18565b60011960ff8516016124f15782816002015f8282546124a99190613f18565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616044820152746c756520666f7220656e756d20566f74655479706560581b60648201526084016102b7565b5f6001600160e01b03821115611c625760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016102b7565b5f806125cc858585612dd1565b915091505b935093915050565b8154600160801b90819004600f0b5f818152600180860160205260409091209390935583546001600160801b03908116939091011602179055565b60065460405163e38335e560e01b81526001600160a01b039091169063e38335e590349061264e908890889088905f908990600401613e60565b5f604051808303818588803b158015612665575f80fd5b505af1158015612677573d5f803e3d5ffd5b50505050505050505050565b5f818152600360205260408120600281015460ff16156126a65750600792915050565b6002810154610100900460ff16156126c15750600292915050565b5f838152600360205260408120546001600160401b0316908190036127285760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c20696400000060448201526064016102b7565b5f6127316112b1565b65ffffffffffff16905080821061274c57505f949350505050565b5f858152600360205260409020600101546001600160401b03168181106127795750600195945050505050565b61278286612f6c565b80156127a057505f868152600a602052604090208054600190910154115b156127b15750600495945050505050565b50600395945050505050565b5f806127cb86868686612fb6565b5f8181526007602052604090205490915015611222576006545f828152600760205260409081902054905163c4d252f560e01b81526001600160a01b039092169163c4d252f5916128229160040190815260200190565b5f604051808303815f87803b158015612839575f80fd5b505af115801561284b573d5f803e3d5ffd5b5050505f828152600760205260408120555095945050505050565b5f815f0361287557505f919050565b5f6001612881846130bf565b901c6001901b9050600181848161289a5761289a6140e3565b048201901c905060018184816128b2576128b26140e3565b048201901c905060018184816128ca576128ca6140e3565b048201901c905060018184816128e2576128e26140e3565b048201901c905060018184816128fa576128fa6140e3565b048201901c90506001818481612912576129126140e3565b048201901c9050600181848161292a5761292a6140e3565b048201901c905061134881828581612944576129446140e3565b04613152565b5f5b8183101561299d575f61295f8484613167565b5f8781526020902090915063ffffffff86169082015463ffffffff16111561298957809250612997565b612994816001613f18565b93505b5061294c565b509392505050565b5f336129b18184613181565b6129fd5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f736572207265737472696374656400000060448201526064016102b7565b5f612a066112b1565b65ffffffffffff169050683635c9adc5dea00000612a29836108ca600185613f93565b1015612a915760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b60648201526084016102b7565b5f612aa5888888888051906020012061159e565b90508651885114612ac85760405162461bcd60e51b81526004016102b790614116565b8551885114612ae95760405162461bcd60e51b81526004016102b790614116565b5f885111612b395760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c000000000000000060448201526064016102b7565b5f818152600360205260409020546001600160401b031615612ba75760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b60648201526084016102b7565b5f612bb3600184613f18565b90505f612bc261b2fa83613f18565b90506040518060e00160405280612bd88461326f565b6001600160401b031681526001600160a01b03871660208201525f6040820152606001612c048361326f565b6001600160401b0390811682525f60208084018290526040808501839052606094850183905288835260038252918290208551815492870151878501519186166001600160e01b031990941693909317600160401b6001600160a01b039094168402176001600160e01b0316600160e01b60e09290921c91909102178155938501516080860151908416921c0217600183015560a08301516002909201805460c09094015161ffff1990941692151561ff00191692909217610100931515939093029290921790558a517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091859188918e918e91811115612d0757612d07613408565b604051908082528060200260200182016040528015612d3a57816020015b6060815260200190600190039081612d255790505b508d88888f604051612d5499989796959493929190614157565b60405180910390a1509098975050505050505050565b60605f612d76836132d6565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b815115612db75781518083602001fd5b8060405162461bcd60e51b81526004016102b791906135ce565b82545f9081908015612f14575f612ded87611ce4600185613f93565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b031660208401529192509087161015612e6e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b657973000000000060448201526064016102b7565b805163ffffffff808816911603612eb65784612e8f88611ce4600186613f93565b80546001600160e01b0392909216600160201b0263ffffffff909216919091179055612f04565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216600160201b029216919091179101555b6020015192508391506125d19050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b0291909316179201919091559050816125d1565b5f818152600a6020526040812060028101546001820154612f8d9190613f18565b5f84815260036020526040902054612fad906001600160401b03166115f6565b11159392505050565b5f80612fc48686868661159e565b90505f612fd082610eda565b90506002816007811115612fe657612fe661388f565b14158015613006575060068160078111156130035761300361388f565b14155b8015613024575060078160078111156130215761302161388f565b14155b6130705760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f742061637469766500000060448201526064016102b7565b5f8281526003602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610d659084815260200190565b5f80608083901c156130d357608092831c92015b604083901c156130e557604092831c92015b602083901c156130f757602092831c92015b601083901c1561310957601092831c92015b600883901c1561311b57600892831c92015b600483901c1561312d57600492831c92015b600283901c1561313f57600292831c92015b600183901c1561096e5760010192915050565b5f8183106131605781611348565b5090919050565b5f61317560028484186140f7565b61134890848416613f18565b80515f90603481101561319857600191505061096e565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b146131cb5760019250505061096e565b5f806131d8602885613f93565b90505b8381101561324e575f8061320e8884815181106131fa576131fa613fa6565b01602001516001600160f81b0319166132fd565b9150915081613226576001965050505050505061096e565b8060ff166004856001600160a01b0316901b17935050508061324790614095565b90506131db565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6001600160401b03821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b60648201526084016102b7565b5f60ff8216601f81111561096e57604051632cd44ac360e21b815260040160405180910390fd5b5f8060f883901c602f811180156133175750603a8160ff16105b1561332c57600194602f199091019350915050565b8060ff166040108015613342575060478160ff16105b15613357576001946036199091019350915050565b8060ff16606010801561336d575060678160ff16105b15613382576001946056199091019350915050565b505f93849350915050565b5f6020828403121561339d575f80fd5b81356001600160e01b031981168114611348575f80fd5b803560ff811681146110ad575f80fd5b5f8083601f8401126133d4575f80fd5b5081356001600160401b038111156133ea575f80fd5b602083019150836020828501011115613401575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561344457613444613408565b604052919050565b5f6001600160401b0382111561346457613464613408565b50601f01601f191660200190565b5f61348461347f8461344c565b61341c565b9050828152838383011115613497575f80fd5b828260208301375f602084830101529392505050565b5f82601f8301126134bc575f80fd5b61134883833560208501613472565b5f805f805f805f8060e0898b0312156134e2575f80fd5b883597506134f260208a016133b4565b965060408901356001600160401b038082111561350d575f80fd5b6135198c838d016133c4565b909850965060608b0135915080821115613531575f80fd5b5061353e8b828c016134ad565b94505061354d60808a016133b4565b925060a0890135915060c089013590509295985092959890939650565b5f6020828403121561357a575f80fd5b5035919050565b5f5b8381101561359b578181015183820152602001613583565b50505f910152565b5f81518084526135ba816020860160208601613581565b601f01601f19169290920160200192915050565b602081525f61134860208301846135a3565b6001600160a01b0381168114610af0575f80fd5b5f805f8060808587031215613607575f80fd5b8435613612816135e0565b93506020850135613622816135e0565b92506040850135915060608501356001600160401b03811115613643575f80fd5b61364f878288016134ad565b91505092959194509250565b5f6001600160401b0382111561367357613673613408565b5060051b60200190565b5f82601f83011261368c575f80fd5b8135602061369c61347f8361365b565b82815260059290921b840181019181810190868411156136ba575f80fd5b8286015b848110156136de5780356136d1816135e0565b83529183019183016136be565b509695505050505050565b5f82601f8301126136f8575f80fd5b8135602061370861347f8361365b565b82815260059290921b84018101918181019086841115613726575f80fd5b8286015b848110156136de578035835291830191830161372a565b5f82601f830112613750575f80fd5b8135602061376061347f8361365b565b82815260059290921b8401810191818101908684111561377e575f80fd5b8286015b848110156136de5780356001600160401b038111156137a0575f8081fd5b6137ae8986838b01016134ad565b845250918301918301613782565b5f805f80608085870312156137cf575f80fd5b84356001600160401b03808211156137e5575f80fd5b6137f18883890161367d565b95506020870135915080821115613806575f80fd5b613812888389016136e9565b94506040870135915080821115613827575f80fd5b5061383487828801613741565b949793965093946060013593505050565b5f805f805f60a08688031215613859575f80fd5b85359450613869602087016133b4565b9350613877604087016133b4565b94979396509394606081013594506080013592915050565b634e487b7160e01b5f52602160045260245ffd5b60208101600883106138c357634e487b7160e01b5f52602160045260245ffd5b91905290565b5f80604083850312156138da575f80fd5b8235915060208301356138ec816135e0565b809150509250929050565b5f8060408385031215613908575f80fd5b82359150613918602084016133b4565b90509250929050565b5f805f805f60808688031215613935575f80fd5b85359450613945602087016133b4565b935060408601356001600160401b0380821115613960575f80fd5b61396c89838a016133c4565b90955093506060880135915080821115613984575f80fd5b50613991888289016134ad565b9150509295509295909350565b5f805f80606085870312156139b1575f80fd5b843593506139c1602086016133b4565b925060408501356001600160401b038111156139db575f80fd5b6139e7878288016133c4565b95989497509550505050565b5f805f8060808587031215613a06575f80fd5b84356001600160401b0380821115613a1c575f80fd5b613a288883890161367d565b95506020870135915080821115613a3d575f80fd5b613a49888389016136e9565b94506040870135915080821115613a5e575f80fd5b613a6a88838901613741565b93506060870135915080821115613a7f575f80fd5b508501601f81018713613a90575f80fd5b61364f87823560208401613472565b5f8151808452602080850194508084015f5b83811015613acd57815187529582019590820190600101613ab1565b509495945050505050565b60ff60f81b8816815260e060208201525f613af660e08301896135a3565b8281036040840152613b0881896135a3565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050610a5c8185613a9f565b5f805f60608486031215613b4b575f80fd5b8335613b56816135e0565b92506020840135915060408401356001600160401b03811115613b77575f80fd5b613b83868287016134ad565b9150509250925092565b5f60208284031215613b9d575f80fd5b8135611348816135e0565b5f805f805f60a08688031215613bbc575f80fd5b8535613bc7816135e0565b94506020860135613bd7816135e0565b935060408601356001600160401b0380821115613bf2575f80fd5b613bfe89838a016136e9565b94506060880135915080821115613c13575f80fd5b613c1f89838a016136e9565b93506080880135915080821115613984575f80fd5b5f805f8060608587031215613c47575f80fd5b8435613c52816135e0565b93506020850135925060408501356001600160401b038111156139db575f80fd5b5f8060408385031215613c84575f80fd5b8235613c8f816135e0565b946020939093013593505050565b5f805f805f60a08688031215613cb1575f80fd5b8535613cbc816135e0565b94506020860135613ccc816135e0565b9350604086013592506060860135915060808601356001600160401b03811115613cf4575f80fd5b613991888289016134ad565b818382375f9101908152919050565b60208082526018908201527f476f7665726e6f723a206f6e6c79476f7665726e616e63650000000000000000604082015260600190565b600181811c90821680613d5a57607f821691505b602082108103613d7857634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526021908201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756040820152601b60fa1b606082015260800190565b5f60208284031215613dcf575f80fd5b5051919050565b5f8151808452602080850194508084015f5b83811015613acd5781516001600160a01b031687529582019590820190600101613de8565b5f81518084526020808501808196508360051b810191508286015f5b85811015613e53578284038952613e418483516135a3565b98850198935090840190600101613e29565b5091979650505050505050565b60a081525f613e7260a0830188613dd6565b8281036020840152613e848188613a9f565b90508281036040840152613e988187613e0d565b60608401959095525050608001529392505050565b60c081525f613ebf60c0830189613dd6565b8281036020840152613ed18189613a9f565b90508281036040840152613ee58188613e0d565b60608401969096525050608081019290925260a0909101529392505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561096e5761096e613f04565b5f60208284031215613f3b575f80fd5b81516001600160401b03811115613f50575f80fd5b8201601f81018413613f60575f80fd5b8051613f6e61347f8261344c565b818152856020838501011115613f82575f80fd5b611222826020830160208601613581565b8181038181111561096e5761096e613f04565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613fca575f80fd5b815165ffffffffffff81168114611348575f80fd5b608081525f613ff16080830187613dd6565b82810360208401526140038187613a9f565b905082810360408401526140178186613e0d565b91505082606083015295945050505050565b84815260ff84166020820152826040820152608060608201525f610fe860808301846135a3565b85815260ff8516602082015283604082015260a060608201525f61407760a08301856135a3565b828103608084015261408981856135a3565b98975050505050505050565b5f600182016140a6576140a6613f04565b5060010190565b5f602082840312156140bd575f80fd5b81518015158114611348575f80fd5b808202811582820484141761096e5761096e613f04565b634e487b7160e01b5f52601260045260245ffd5b5f8261411157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526021908201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746040820152600d60fb1b606082015260800190565b5f6101208b8352602060018060a01b038c168185015281604085015261417f8285018c613dd6565b91508382036060850152614193828b613a9f565b915083820360808501528189518084528284019150828160051b850101838c015f5b838110156141e357601f198784030185526141d18383516135a3565b948601949250908501906001016141b5565b505086810360a08801526141f7818c613e0d565b9450505050508560c08401528460e084015282810361010084015261421c81856135a3565b9c9b50505050505050505050505056fe476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765a2646970667358221220989ac018749dfa3cb3a1464b5057ce2e3c2bb4b6fcb562843128bdd85495b81864736f6c63430008140033","sourceMap":"423:2431:151:-:0;;;606:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;758:1;722:6;785:9;3771:88:24;;;;;;;;;;;;;-1:-1:-1;;;3771:88:24;;;3811:5;3818:9;:7;;;:9;;:::i;:::-;3251:45:233;:4;3282:13;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;3586:25:310;3627:18;;;3620:34;;;;3670:18;;;3663:34;4106:13:233;3713:18:310;;;3706:34;4129:4:233;3756:19:310;;;3749:61;4018:7:233;;3558:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:233;3575:27;;3839:5:24::1;:13;3847:5:::0;3839;:13:::1;:::i;:::-;-1:-1:-1::0;1780:32:34;;-1:-1:-1;1796:15:34;1780;:32::i;:::-;-1:-1:-1;;;;;;511:39:35;;;1300:44:37;1323:20;1300:22;:44::i;:::-;1248:103;606:192:151;;423:2431;;5525:99:24;5607:10;;;;;;;;;;;;-1:-1:-1;;;5607:10:24;;;;;5525:99::o;2895:341:228:-;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:228;;-1:-1:-1;3014:216:228;2895:341;;;;:::o;6409:176:34:-;6512:9;;6489:56;;;-1:-1:-1;;;;;6512:9:34;;;4033:34:310;;4103:15;;;4098:2;4083:18;;4076:43;6489:56:34;;3968:18:310;6489:56:34;;;;;;;6555:9;:23;;-1:-1:-1;;;;;;6555:23:34;-1:-1:-1;;;;;6555:23:34;;;;;;;;;;6409:176::o;3592:930:37:-;2606:3;3700:18;:41;;3679:155;;;;-1:-1:-1;;;3679:155:37;;4332:2:310;3679:155:37;;;4314:21:310;4371:2;4351:18;;;4344:30;4410:34;4390:18;;;4383:62;4481:34;4461:18;;;4454:62;-1:-1:-1;;;4532:19:310;;;4525:34;4576:19;;3679:155:37;;;;;;;;;3845:26;3874:17;:15;:17::i;:::-;3845:46;-1:-1:-1;4025:23:37;;;;;:75;;-1:-1:-1;4052:23:37;:43;:48;4025:75;4021:263;;;4175:84;;;;;;;;;4116:36;4175:84;;4116:23;;4175:84;;;4219:38;4238:18;4219;:38::i;:::-;-1:-1:-1;;;;;4175:84:37;;;;;;4116:157;;;;;;;-1:-1:-1;4116:157:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4021:263;4341:96;4370:26;4388:7;:5;:7::i;:::-;4370:26;;:17;:26::i;:::-;4398:38;4417:18;4398;:38::i;:::-;4341:23;;:96;:28;:96::i;:::-;-1:-1:-1;;4453:62:37;;;4780:25:310;;;4836:2;4821:18;;4814:34;;;4453:62:37;;4753:18:310;4453:62:37;;;;;;;3669:853;3592:930;:::o;1689:286:228:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:228;;;;;;;;:::i;1817:72::-;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:228:o;1448:191:37:-;1530:23;:43;1504:7;;1530:48;:102;;1600:32;:23;:30;:32::i;:::-;-1:-1:-1;;;;;1530:102:37;1523:109;;1448:191;:::o;1530:102::-;1581:16;;1530:102;1523:109;;1448:191;:::o;2836:192:248:-;2893:7;-1:-1:-1;;;;;2920:26:248;;;2912:78;;;;-1:-1:-1;;;2912:78:248;;5916:2:310;2912:78:248;;;5898:21:310;5955:2;5935:18;;;5928:30;5994:34;5974:18;;;5967:62;-1:-1:-1;;;6045:18:310;;;6038:37;6092:19;;2912:78:248;5714:403:310;2912:78:248;-1:-1:-1;3015:5:248;2836:192::o;734:235:35:-;789:6;811:5;;-1:-1:-1;;;;;811:11:35;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;811:13:35;;;;;;;;-1:-1:-1;;811:13:35;;;;;;;;;;;;:::i;:::-;;;807:156;;921:31;939:12;921:17;:31::i;807:156::-;873:9;734:235;-1:-1:-1;734:235:35:o;15264:187:248:-;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:248;;6613:2:310;15338:76:248;;;6595:21:310;6652:2;6632:18;;;6625:30;6691:34;6671:18;;;6664:62;-1:-1:-1;;;6742:18:310;;;6735:36;6788:19;;15338:76:248;6411:402:310;8063:162:223;8145:7;;8180:38;8188:4;8207:3;8212:5;8180:7;:38::i;:::-;8173:45;;;;8063:162;;;;;;;:::o;10152:206::-;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;;14047:28;;13826:265;10303:41;:48;;;;-1:-1:-1;;;;;10303:48:223;10288:63;;;10299:1;10288:63;10281:70;10152:206;-1:-1:-1;;;10152:206:223:o;14240:187:248:-;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:248;;7250:2:310;14314:76:248;;;7232:21:310;7289:2;7269:18;;;7262:30;7328:34;7308:18;;;7301:62;-1:-1:-1;;;7379:18:310;;;7372:36;7425:19;;14314:76:248;7048:402:310;11288:836:223;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:56:223;;;;;;;-1:-1:-1;11656:16:223;;;-1:-1:-1;11656:16:223;11648:56;;;;-1:-1:-1;;;11648:56:223;;7657:2:310;11648:56:223;;;7639:21:310;7696:2;7676:18;;;7669:30;7735:29;7715:18;;;7708:57;7782:18;;11648:56:223;7455:351:310;11648:56:223;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:223;;;;;;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:223;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:223;;;;;;;;;;;;;;;;;;;;;;;;;11764:189;11974:11;;;;-1:-1:-1;11987:5:223;;-1:-1:-1;11966:27:223;;-1:-1:-1;11966:27:223;11443:675;-1:-1:-1;;12034:41:223;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:223;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:223;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12068:5:223;12090:17;;14:139:310;-1:-1:-1;;;;;97:31:310;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:443::-;279:6;287;340:2;328:9;319:7;315:23;311:32;308:52;;;356:1;353;346:12;308:52;388:9;382:16;407:39;440:5;407:39;:::i;:::-;515:2;500:18;;494:25;465:5;;-1:-1:-1;528:41:310;494:25;528:41;:::i;:::-;588:7;578:17;;;158:443;;;;;:::o;606:127::-;667:10;662:3;658:20;655:1;648:31;698:4;695:1;688:15;722:4;719:1;712:15;738:380;817:1;813:12;;;;860;;;881:61;;935:4;927:6;923:17;913:27;;881:61;988:2;980:6;977:14;957:18;954:38;951:161;;1034:10;1029:3;1025:20;1022:1;1015:31;1069:4;1066:1;1059:15;1097:4;1094:1;1087:15;951:161;;738:380;;;:::o;1249:545::-;1351:2;1346:3;1343:11;1340:448;;;1387:1;1412:5;1408:2;1401:17;1457:4;1453:2;1443:19;1527:2;1515:10;1511:19;1508:1;1504:27;1498:4;1494:38;1563:4;1551:10;1548:20;1545:47;;;-1:-1:-1;1586:4:310;1545:47;1641:2;1636:3;1632:12;1629:1;1625:20;1619:4;1615:31;1605:41;;1696:82;1714:2;1707:5;1704:13;1696:82;;;1759:17;;;1740:1;1729:13;1696:82;;;1700:3;;;1340:448;1249:545;;;:::o;1970:1352::-;2090:10;;-1:-1:-1;;;;;2112:30:310;;2109:56;;;2145:18;;:::i;:::-;2174:97;2264:6;2224:38;2256:4;2250:11;2224:38;:::i;:::-;2218:4;2174:97;:::i;:::-;2326:4;;2390:2;2379:14;;2407:1;2402:663;;;;3109:1;3126:6;3123:89;;;-1:-1:-1;3178:19:310;;;3172:26;3123:89;-1:-1:-1;;1927:1:310;1923:11;;;1919:24;1915:29;1905:40;1951:1;1947:11;;;1902:57;3225:81;;2372:944;;2402:663;1196:1;1189:14;;;1233:4;1220:18;;-1:-1:-1;;2438:20:310;;;2556:236;2570:7;2567:1;2564:14;2556:236;;;2659:19;;;2653:26;2638:42;;2751:27;;;;2719:1;2707:14;;;;2586:19;;2556:236;;;2560:3;2820:6;2811:7;2808:19;2805:201;;;2881:19;;;2875:26;-1:-1:-1;;2964:1:310;2960:14;;;2976:3;2956:24;2952:37;2948:42;2933:58;2918:74;;2805:201;-1:-1:-1;;;;;3052:1:310;3036:14;;;3032:22;3019:36;;-1:-1:-1;1970:1352:310:o;4859:548::-;4971:4;5000:2;5029;5018:9;5011:21;5061:6;5055:13;5104:6;5099:2;5088:9;5084:18;5077:34;5129:1;5139:140;5153:6;5150:1;5147:13;5139:140;;;5248:14;;;5244:23;;5238:30;5214:17;;;5233:2;5210:26;5203:66;5168:10;;5139:140;;;5143:3;5328:1;5323:2;5314:6;5303:9;5299:22;5295:31;5288:42;5398:2;5391;5387:7;5382:2;5374:6;5370:15;5366:29;5355:9;5351:45;5347:54;5339:62;;;;4859:548;;;;:::o;5412:297::-;5530:12;;5577:4;5566:16;;;5560:23;;5530:12;5595:16;;5592:111;;;-1:-1:-1;;5669:4:310;5665:17;;;;5662:1;5658:25;5654:38;5643:50;;5412:297;-1:-1:-1;5412:297:310:o;6122:284::-;6191:6;6244:2;6232:9;6223:7;6219:23;6215:32;6212:52;;;6260:1;6257;6250:12;6212:52;6292:9;6286:16;6342:14;6335:5;6331:26;6324:5;6321:37;6311:65;;6372:1;6369;6362:12;6818:225;6885:9;;;6906:11;;;6903:134;;;6959:10;6954:3;6950:20;6947:1;6940:31;6994:4;6991:1;6984:15;7022:4;7019:1;7012:15;7455:351;423:2431:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610257575f3560e01c806360c4247f1161013f578063bc197c81116100b3578063dd4e2ba511610078578063dd4e2ba514610838578063deaaa7cc1461087d578063eb9019d4146108b0578063f23a6e61146108cf578063f8ce560a146108fa578063fc0c546a14610919575f80fd5b8063bc197c8114610787578063c01f9e37146107b2578063c28bc2fa146107e9578063c59057e4146107fc578063d33219b41461081b575f80fd5b806397c3d3341161010457806397c3d334146106e85780639a802a6d146106fb578063a7713a701461071a578063a890c9101461072e578063ab58fb8e1461074d578063b58131b01461076c575f80fd5b806360c4247f146106395780637b3c71d3146106585780637d5e81e21461067757806384b0196e1461069657806391ddadf4146106bd575f80fd5b80632fe3e261116101d6578063452115d61161019b578063452115d61461054c5780634bf5d7e91461056b578063544ffc9c1461057f57806354fd4d50146105d257806356781388146105fb5780635f398a141461061a575f80fd5b80632fe3e261146104735780633932abb1146104a65780633bccf4fd146104b95780633e4f49e6146104d85780634385963214610504575f80fd5b8063143489d01161021c578063143489d014610377578063150b7a02146103ca578063160cbed71461040d5780632656227d1461042c5780632d63f6931461043f575f80fd5b806301ffc9a7146102c657806302a251a3146102fa578063034201811461031857806306f3f9e61461033757806306fdde0314610356575f80fd5b366102c2573061026561094c565b6001600160a01b0316146102c05760405162461bcd60e51b815260206004820152601f60248201527f476f7665726e6f723a206d7573742073656e6420746f206578656375746f720060448201526064015b60405180910390fd5b005b5f80fd5b3480156102d1575f80fd5b506102e56102e036600461338d565b610964565b60405190151581526020015b60405180910390f35b348015610305575f80fd5b5061b2fa5b6040519081526020016102f1565b348015610323575f80fd5b5061030a6103323660046134cb565b610974565b348015610342575f80fd5b506102c061035136600461356a565b610a6a565b348015610361575f80fd5b5061036a610af3565b6040516102f191906135ce565b348015610382575f80fd5b506103b261039136600461356a565b5f90815260036020526040902054600160401b90046001600160a01b031690565b6040516001600160a01b0390911681526020016102f1565b3480156103d5575f80fd5b506103f46103e43660046135f4565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102f1565b348015610418575f80fd5b5061030a6104273660046137bc565b610b83565b61030a61043a3660046137bc565b610d77565b34801561044a575f80fd5b5061030a61045936600461356a565b5f908152600360205260409020546001600160401b031690565b34801561047e575f80fd5b5061030a7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b3480156104b1575f80fd5b50600161030a565b3480156104c4575f80fd5b5061030a6104d3366004613845565b610e66565b3480156104e3575f80fd5b506104f76104f236600461356a565b610eda565b6040516102f191906138a3565b34801561050f575f80fd5b506102e561051e3660046138c9565b5f828152600a602090815260408083206001600160a01b038516845260030190915290205460ff1692915050565b348015610557575f80fd5b5061030a6105663660046137bc565b610ee4565b348015610576575f80fd5b5061036a610ff2565b34801561058a575f80fd5b506105b761059936600461356a565b5f908152600a60205260409020805460018201546002909201549092565b604080519384526020840192909252908201526060016102f1565b3480156105dd575f80fd5b506040805180820190915260018152603160f81b602082015261036a565b348015610606575f80fd5b5061030a6106153660046138f7565b6110b2565b348015610625575f80fd5b5061030a610634366004613921565b6110d9565b348015610644575f80fd5b5061030a61065336600461356a565b611121565b348015610663575f80fd5b5061030a61067236600461399e565b6111cf565b348015610682575f80fd5b5061030a6106913660046139f3565b611215565b3480156106a1575f80fd5b506106aa61122b565b6040516102f19796959493929190613ad8565b3480156106c8575f80fd5b506106d16112b1565b60405165ffffffffffff90911681526020016102f1565b3480156106f3575f80fd5b50606461030a565b348015610706575f80fd5b5061030a610715366004613b39565b611339565b348015610725575f80fd5b5061030a61134f565b348015610739575f80fd5b506102c0610748366004613b8d565b611378565b348015610758575f80fd5b5061030a61076736600461356a565b6113fe565b348015610777575f80fd5b50683635c9adc5dea0000061030a565b348015610792575f80fd5b506103f46107a1366004613ba8565b63bc197c8160e01b95945050505050565b3480156107bd575f80fd5b5061030a6107cc36600461356a565b5f908152600360205260409020600101546001600160401b031690565b6102c06107f7366004613c34565b611494565b348015610807575f80fd5b5061030a6108163660046137bc565b61159e565b348015610826575f80fd5b506006546001600160a01b03166103b2565b348015610843575f80fd5b506040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e9082015261036a565b348015610888575f80fd5b5061030a7f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b3480156108bb575f80fd5b5061030a6108ca366004613c73565b6115d7565b3480156108da575f80fd5b506103f46108e9366004613c9d565b63f23a6e6160e01b95945050505050565b348015610905575f80fd5b5061030a61091436600461356a565b6115f6565b348015610924575f80fd5b506103b27f000000000000000000000000000000000000000000000000000000000000000081565b5f61095f6006546001600160a01b031690565b905090565b5f61096e82611600565b92915050565b5f80610a17610a0f7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c6040516109af929190613d00565b60405180910390208b805190602001206040516020016109f4959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611624565b868686611650565b9050610a5c8a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d925061166c915050565b9a9950505050505050505050565b610a7261094c565b6001600160a01b0316336001600160a01b031614610aa25760405162461bcd60e51b81526004016102b790613d0f565b30610aab61094c565b6001600160a01b031614610ae7575f8036604051610aca929190613d00565b604051809103902090505b80610ae060046117be565b03610ad557505b610af08161183b565b50565b606060028054610b0290613d46565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e90613d46565b8015610b795780601f10610b5057610100808354040283529160200191610b79565b820191905f5260205f20905b815481529060010190602001808311610b5c57829003601f168201915b5050505050905090565b5f80610b918686868661159e565b90506004610b9e82610eda565b6007811115610baf57610baf61388f565b14610bcc5760405162461bcd60e51b81526004016102b790613d7e565b6006546040805163793d064960e11b815290515f926001600160a01b03169163f27a0c929160048083019260209291908290030181865afa158015610c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c379190613dbf565b60065460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790610c70908a908a908a905f908b90600401613e60565b602060405180830381865afa158015610c8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caf9190613dbf565b5f838152600760205260408082209290925560065491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb091610cf9918b918b918b91908b908990600401613ead565b5f604051808303815f87803b158015610d10575f80fd5b505af1158015610d22573d5f803e3d5ffd5b505050507f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892828242610d549190613f18565b604080519283526020830191909152015b60405180910390a15095945050505050565b5f80610d858686868661159e565b90505f610d9182610eda565b90506004816007811115610da757610da761388f565b1480610dc457506005816007811115610dc257610dc261388f565b145b610de05760405162461bcd60e51b81526004016102b790613d7e565b5f8281526003602052604090819020600201805460ff19166001179055517f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90610e2d9084815260200190565b60405180910390a1610e4282888888886119a6565b610e4f8288888888611a47565b610e5c8288888888611a54565b5095945050505050565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff851660608201525f908190610eb390610a0f906080016109f4565b9050610ecf87828860405180602001604052805f815250611a8c565b979650505050505050565b5f61096e82611aad565b5f80610ef28686868661159e565b90505f610efe82610eda565b6007811115610f0f57610f0f61388f565b14610f5c5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e6f723a20746f6f206c61746520746f2063616e63656c0000000060448201526064016102b7565b5f81815260036020526040902054600160401b90046001600160a01b0316336001600160a01b031614610fdc5760405162461bcd60e51b815260206004820152602260248201527f476f7665726e6f723a206f6e6c792070726f706f7365722063616e2063616e63604482015261195b60f21b60648201526084016102b7565b610fe886868686611bf1565b9695505050505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634bf5d7e96040518163ffffffff1660e01b81526004015f60405180830381865afa92505050801561107157506040513d5f823e601f3d908101601f1916820160405261106e9190810190613f2b565b60015b6110ad575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b5f803390506110d184828560405180602001604052805f815250611a8c565b949350505050565b5f80339050610ecf87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a925061166c915050565b6009545f90808203611137575050600854919050565b5f6009611145600184613f93565b8154811061115557611155613fa6565b5f9182526020918290206040805180820190915291015463ffffffff8116808352600160201b9091046001600160e01b031692820192909252915084106111aa57602001516001600160e01b03169392505050565b6111be6111b685611bfe565b600990611c66565b6001600160e01b0316949350505050565b5f80339050610fe886828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611a8c92505050565b5f61122285858585611d13565b95945050505050565b5f6060808280808361125d7f000000000000000000000000000000000000000000000000000000000000000083611d20565b6112887f00000000000000000000000000000000000000000000000000000000000000006001611d20565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561132c575060408051601f3d908101601f1916820190925261132991810190613fba565b60015b6110ad5761095f43611dc9565b5f611345848484611e2f565b90505b9392505050565b6009545f9015611371576113636009611ec2565b6001600160e01b0316905090565b5060085490565b61138061094c565b6001600160a01b0316336001600160a01b0316146113b05760405162461bcd60e51b81526004016102b790613d0f565b306113b961094c565b6001600160a01b0316146113f5575f80366040516113d8929190613d00565b604051809103902090505b806113ee60046117be565b036113e357505b610af081611ef1565b6006545f8281526007602052604080822054905163d45c443560e01b81526004810191909152909182916001600160a01b039091169063d45c443590602401602060405180830381865afa158015611458573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147c9190613dbf565b90508060011461148c5780611348565b5f9392505050565b61149c61094c565b6001600160a01b0316336001600160a01b0316146114cc5760405162461bcd60e51b81526004016102b790613d0f565b306114d561094c565b6001600160a01b031614611511575f80366040516114f4929190613d00565b604051809103902090505b8061150a60046117be565b036114ff57505b5f80856001600160a01b031685858560405161152e929190613d00565b5f6040518083038185875af1925050503d805f8114611568576040519150601f19603f3d011682016040523d82523d5f602084013e61156d565b606091505b5091509150611595828260405180606001604052806028815260200161422d60289139611f5a565b50505050505050565b5f848484846040516020016115b69493929190613fdf565b60408051601f19818403018152919052805160209091012095945050505050565b5f61134883836115f160408051602081019091525f815290565b611e2f565b5f61096e82611f73565b5f6001600160e01b03198216636e665ced60e01b148061096e575061096e8261201a565b5f61096e6116306120b5565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f61165f878787876121de565b91509150610e5c8161229b565b5f858152600360205260408120600161168488610eda565b60078111156116955761169561388f565b146116ee5760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b60648201526084016102b7565b80545f906117079088906001600160401b031686611e2f565b905061171688888884886123e4565b83515f0361176a57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda48988848960405161175d9493929190614029565b60405180910390a2610ecf565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb871289888489896040516117ab959493929190614050565b60405180910390a2979650505050505050565b5f6117d88254600f81810b600160801b909204900b131590565b156117f657604051631ed9509560e11b815260040160405180910390fd5b508054600f0b5f818152600180840160205260408220805492905583546fffffffffffffffffffffffffffffffff191692016001600160801b03169190911790915590565b60648111156118be5760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a4016102b7565b5f6118c761134f565b905080158015906118d85750600954155b1561193a57604080518082019091525f8152600990602081016118fa84612557565b6001600160e01b0390811690915282546001810184555f93845260209384902083519490930151909116600160201b0263ffffffff909316929092179101555b6119676119556119486112b1565b65ffffffffffff16611bfe565b61195e84612557565b600991906125bf565b505060408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b306119af61094c565b6001600160a01b031614611a40575f5b8451811015611a3e57306001600160a01b03168582815181106119e4576119e4613fa6565b60200260200101516001600160a01b031603611a2e57611a2e838281518110611a0f57611a0f613fa6565b60200260200101518051906020012060046125d990919063ffffffff16565b611a3781614095565b90506119bf565b505b5050505050565b611a408585858585612614565b30611a5d61094c565b6001600160a01b031614611a4057600454600f81810b600160801b909204900b1315611a40575f600455611a40565b5f61122285858585611aa860408051602081019091525f815290565b61166c565b5f80611ab883612683565b90506004816007811115611ace57611ace61388f565b14611ad95792915050565b5f8381526007602052604090205480611af3575092915050565b600654604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015611b3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b5e91906140ad565b15611b6d575060079392505050565b600654604051632c258a9f60e11b8152600481018390526001600160a01b039091169063584b153e90602401602060405180830381865afa158015611bb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd891906140ad565b15611be7575060059392505050565b5060029392505050565b5f611222858585856127bd565b5f63ffffffff821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016102b7565b5090565b81545f9081816005811115611cc0575f611c7f84612866565b611c899085613f93565b5f8881526020902090915081015463ffffffff9081169087161015611cb057809150611cbe565b611cbb816001613f18565b92505b505b5f611ccd8787858561294a565b90508015611d0757611cf187611ce4600184613f93565b5f91825260209091200190565b54600160201b90046001600160e01b0316610ecf565b5f979650505050505050565b5f611222858585856129a5565b606060ff8314611d3a57611d3383612d6a565b905061096e565b818054611d4690613d46565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7290613d46565b8015611dbd5780601f10611d9457610100808354040283529160200191611dbd565b820191905f5260205f20905b815481529060010190602001808311611da057829003601f168201915b5050505050905061096e565b5f65ffffffffffff821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b60648201526084016102b7565b604051630748d63560e31b81526001600160a01b038481166004830152602482018490525f917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa158015611e9e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113459190613dbf565b80545f90801561148c57611edb83611ce4600184613f93565b54600160201b90046001600160e01b0316611348565b600654604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600680546001600160a01b0319166001600160a01b0392909216919091179055565b60608315611f69575081611348565b6113488383612da7565b5f6064611f7f83611121565b604051632394e7a360e21b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e539e8c90602401602060405180830381865afa158015611fe2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120069190613dbf565b61201091906140cc565b61096e91906140f7565b5f63288ace0360e11b6318df743f60e31b63bf26d89760e01b6379dd796f60e01b6001600160e01b0319861682148061205f57506001600160e01b0319868116908216145b8061207657506001600160e01b0319868116908516145b8061209157506001600160e01b03198616630271189760e51b145b80610fe857506301ffc9a760e01b6001600160e01b03198716149695505050505050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561210d57507f000000000000000000000000000000000000000000000000000000000000000046145b1561213757507f000000000000000000000000000000000000000000000000000000000000000090565b61095f604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561221357505f90506003612292565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612264573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661228c575f60019250925050612292565b91505f90505b94509492505050565b5f8160048111156122ae576122ae61388f565b036122b65750565b60018160048111156122ca576122ca61388f565b036123175760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016102b7565b600281600481111561232b5761232b61388f565b036123785760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016102b7565b600381600481111561238c5761238c61388f565b03610af05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016102b7565b5f858152600a602090815260408083206001600160a01b0388168452600381019092529091205460ff161561246b5760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c726561604482015266191e4818d85cdd60ca1b60648201526084016102b7565b6001600160a01b0385165f9081526003820160205260409020805460ff1916600117905560ff84166124b45782815f015f8282546124a99190613f18565b90915550611a3e9050565b5f1960ff8516016124d25782816001015f8282546124a99190613f18565b60011960ff8516016124f15782816002015f8282546124a99190613f18565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616044820152746c756520666f7220656e756d20566f74655479706560581b60648201526084016102b7565b5f6001600160e01b03821115611c625760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016102b7565b5f806125cc858585612dd1565b915091505b935093915050565b8154600160801b90819004600f0b5f818152600180860160205260409091209390935583546001600160801b03908116939091011602179055565b60065460405163e38335e560e01b81526001600160a01b039091169063e38335e590349061264e908890889088905f908990600401613e60565b5f604051808303818588803b158015612665575f80fd5b505af1158015612677573d5f803e3d5ffd5b50505050505050505050565b5f818152600360205260408120600281015460ff16156126a65750600792915050565b6002810154610100900460ff16156126c15750600292915050565b5f838152600360205260408120546001600160401b0316908190036127285760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c20696400000060448201526064016102b7565b5f6127316112b1565b65ffffffffffff16905080821061274c57505f949350505050565b5f858152600360205260409020600101546001600160401b03168181106127795750600195945050505050565b61278286612f6c565b80156127a057505f868152600a602052604090208054600190910154115b156127b15750600495945050505050565b50600395945050505050565b5f806127cb86868686612fb6565b5f8181526007602052604090205490915015611222576006545f828152600760205260409081902054905163c4d252f560e01b81526001600160a01b039092169163c4d252f5916128229160040190815260200190565b5f604051808303815f87803b158015612839575f80fd5b505af115801561284b573d5f803e3d5ffd5b5050505f828152600760205260408120555095945050505050565b5f815f0361287557505f919050565b5f6001612881846130bf565b901c6001901b9050600181848161289a5761289a6140e3565b048201901c905060018184816128b2576128b26140e3565b048201901c905060018184816128ca576128ca6140e3565b048201901c905060018184816128e2576128e26140e3565b048201901c905060018184816128fa576128fa6140e3565b048201901c90506001818481612912576129126140e3565b048201901c9050600181848161292a5761292a6140e3565b048201901c905061134881828581612944576129446140e3565b04613152565b5f5b8183101561299d575f61295f8484613167565b5f8781526020902090915063ffffffff86169082015463ffffffff16111561298957809250612997565b612994816001613f18565b93505b5061294c565b509392505050565b5f336129b18184613181565b6129fd5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f736572207265737472696374656400000060448201526064016102b7565b5f612a066112b1565b65ffffffffffff169050683635c9adc5dea00000612a29836108ca600185613f93565b1015612a915760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b60648201526084016102b7565b5f612aa5888888888051906020012061159e565b90508651885114612ac85760405162461bcd60e51b81526004016102b790614116565b8551885114612ae95760405162461bcd60e51b81526004016102b790614116565b5f885111612b395760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c000000000000000060448201526064016102b7565b5f818152600360205260409020546001600160401b031615612ba75760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b60648201526084016102b7565b5f612bb3600184613f18565b90505f612bc261b2fa83613f18565b90506040518060e00160405280612bd88461326f565b6001600160401b031681526001600160a01b03871660208201525f6040820152606001612c048361326f565b6001600160401b0390811682525f60208084018290526040808501839052606094850183905288835260038252918290208551815492870151878501519186166001600160e01b031990941693909317600160401b6001600160a01b039094168402176001600160e01b0316600160e01b60e09290921c91909102178155938501516080860151908416921c0217600183015560a08301516002909201805460c09094015161ffff1990941692151561ff00191692909217610100931515939093029290921790558a517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091859188918e918e91811115612d0757612d07613408565b604051908082528060200260200182016040528015612d3a57816020015b6060815260200190600190039081612d255790505b508d88888f604051612d5499989796959493929190614157565b60405180910390a1509098975050505050505050565b60605f612d76836132d6565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b815115612db75781518083602001fd5b8060405162461bcd60e51b81526004016102b791906135ce565b82545f9081908015612f14575f612ded87611ce4600185613f93565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b031660208401529192509087161015612e6e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b657973000000000060448201526064016102b7565b805163ffffffff808816911603612eb65784612e8f88611ce4600186613f93565b80546001600160e01b0392909216600160201b0263ffffffff909216919091179055612f04565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d555f8d81529190912094519151909216600160201b029216919091179101555b6020015192508391506125d19050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b0291909316179201919091559050816125d1565b5f818152600a6020526040812060028101546001820154612f8d9190613f18565b5f84815260036020526040902054612fad906001600160401b03166115f6565b11159392505050565b5f80612fc48686868661159e565b90505f612fd082610eda565b90506002816007811115612fe657612fe661388f565b14158015613006575060068160078111156130035761300361388f565b14155b8015613024575060078160078111156130215761302161388f565b14155b6130705760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f742061637469766500000060448201526064016102b7565b5f8281526003602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90610d659084815260200190565b5f80608083901c156130d357608092831c92015b604083901c156130e557604092831c92015b602083901c156130f757602092831c92015b601083901c1561310957601092831c92015b600883901c1561311b57600892831c92015b600483901c1561312d57600492831c92015b600283901c1561313f57600292831c92015b600183901c1561096e5760010192915050565b5f8183106131605781611348565b5090919050565b5f61317560028484186140f7565b61134890848416613f18565b80515f90603481101561319857600191505061096e565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b146131cb5760019250505061096e565b5f806131d8602885613f93565b90505b8381101561324e575f8061320e8884815181106131fa576131fa613fa6565b01602001516001600160f81b0319166132fd565b9150915081613226576001965050505050505061096e565b8060ff166004856001600160a01b0316901b17935050508061324790614095565b90506131db565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6001600160401b03821115611c625760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b60648201526084016102b7565b5f60ff8216601f81111561096e57604051632cd44ac360e21b815260040160405180910390fd5b5f8060f883901c602f811180156133175750603a8160ff16105b1561332c57600194602f199091019350915050565b8060ff166040108015613342575060478160ff16105b15613357576001946036199091019350915050565b8060ff16606010801561336d575060678160ff16105b15613382576001946056199091019350915050565b505f93849350915050565b5f6020828403121561339d575f80fd5b81356001600160e01b031981168114611348575f80fd5b803560ff811681146110ad575f80fd5b5f8083601f8401126133d4575f80fd5b5081356001600160401b038111156133ea575f80fd5b602083019150836020828501011115613401575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561344457613444613408565b604052919050565b5f6001600160401b0382111561346457613464613408565b50601f01601f191660200190565b5f61348461347f8461344c565b61341c565b9050828152838383011115613497575f80fd5b828260208301375f602084830101529392505050565b5f82601f8301126134bc575f80fd5b61134883833560208501613472565b5f805f805f805f8060e0898b0312156134e2575f80fd5b883597506134f260208a016133b4565b965060408901356001600160401b038082111561350d575f80fd5b6135198c838d016133c4565b909850965060608b0135915080821115613531575f80fd5b5061353e8b828c016134ad565b94505061354d60808a016133b4565b925060a0890135915060c089013590509295985092959890939650565b5f6020828403121561357a575f80fd5b5035919050565b5f5b8381101561359b578181015183820152602001613583565b50505f910152565b5f81518084526135ba816020860160208601613581565b601f01601f19169290920160200192915050565b602081525f61134860208301846135a3565b6001600160a01b0381168114610af0575f80fd5b5f805f8060808587031215613607575f80fd5b8435613612816135e0565b93506020850135613622816135e0565b92506040850135915060608501356001600160401b03811115613643575f80fd5b61364f878288016134ad565b91505092959194509250565b5f6001600160401b0382111561367357613673613408565b5060051b60200190565b5f82601f83011261368c575f80fd5b8135602061369c61347f8361365b565b82815260059290921b840181019181810190868411156136ba575f80fd5b8286015b848110156136de5780356136d1816135e0565b83529183019183016136be565b509695505050505050565b5f82601f8301126136f8575f80fd5b8135602061370861347f8361365b565b82815260059290921b84018101918181019086841115613726575f80fd5b8286015b848110156136de578035835291830191830161372a565b5f82601f830112613750575f80fd5b8135602061376061347f8361365b565b82815260059290921b8401810191818101908684111561377e575f80fd5b8286015b848110156136de5780356001600160401b038111156137a0575f8081fd5b6137ae8986838b01016134ad565b845250918301918301613782565b5f805f80608085870312156137cf575f80fd5b84356001600160401b03808211156137e5575f80fd5b6137f18883890161367d565b95506020870135915080821115613806575f80fd5b613812888389016136e9565b94506040870135915080821115613827575f80fd5b5061383487828801613741565b949793965093946060013593505050565b5f805f805f60a08688031215613859575f80fd5b85359450613869602087016133b4565b9350613877604087016133b4565b94979396509394606081013594506080013592915050565b634e487b7160e01b5f52602160045260245ffd5b60208101600883106138c357634e487b7160e01b5f52602160045260245ffd5b91905290565b5f80604083850312156138da575f80fd5b8235915060208301356138ec816135e0565b809150509250929050565b5f8060408385031215613908575f80fd5b82359150613918602084016133b4565b90509250929050565b5f805f805f60808688031215613935575f80fd5b85359450613945602087016133b4565b935060408601356001600160401b0380821115613960575f80fd5b61396c89838a016133c4565b90955093506060880135915080821115613984575f80fd5b50613991888289016134ad565b9150509295509295909350565b5f805f80606085870312156139b1575f80fd5b843593506139c1602086016133b4565b925060408501356001600160401b038111156139db575f80fd5b6139e7878288016133c4565b95989497509550505050565b5f805f8060808587031215613a06575f80fd5b84356001600160401b0380821115613a1c575f80fd5b613a288883890161367d565b95506020870135915080821115613a3d575f80fd5b613a49888389016136e9565b94506040870135915080821115613a5e575f80fd5b613a6a88838901613741565b93506060870135915080821115613a7f575f80fd5b508501601f81018713613a90575f80fd5b61364f87823560208401613472565b5f8151808452602080850194508084015f5b83811015613acd57815187529582019590820190600101613ab1565b509495945050505050565b60ff60f81b8816815260e060208201525f613af660e08301896135a3565b8281036040840152613b0881896135a3565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050610a5c8185613a9f565b5f805f60608486031215613b4b575f80fd5b8335613b56816135e0565b92506020840135915060408401356001600160401b03811115613b77575f80fd5b613b83868287016134ad565b9150509250925092565b5f60208284031215613b9d575f80fd5b8135611348816135e0565b5f805f805f60a08688031215613bbc575f80fd5b8535613bc7816135e0565b94506020860135613bd7816135e0565b935060408601356001600160401b0380821115613bf2575f80fd5b613bfe89838a016136e9565b94506060880135915080821115613c13575f80fd5b613c1f89838a016136e9565b93506080880135915080821115613984575f80fd5b5f805f8060608587031215613c47575f80fd5b8435613c52816135e0565b93506020850135925060408501356001600160401b038111156139db575f80fd5b5f8060408385031215613c84575f80fd5b8235613c8f816135e0565b946020939093013593505050565b5f805f805f60a08688031215613cb1575f80fd5b8535613cbc816135e0565b94506020860135613ccc816135e0565b9350604086013592506060860135915060808601356001600160401b03811115613cf4575f80fd5b613991888289016134ad565b818382375f9101908152919050565b60208082526018908201527f476f7665726e6f723a206f6e6c79476f7665726e616e63650000000000000000604082015260600190565b600181811c90821680613d5a57607f821691505b602082108103613d7857634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526021908201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756040820152601b60fa1b606082015260800190565b5f60208284031215613dcf575f80fd5b5051919050565b5f8151808452602080850194508084015f5b83811015613acd5781516001600160a01b031687529582019590820190600101613de8565b5f81518084526020808501808196508360051b810191508286015f5b85811015613e53578284038952613e418483516135a3565b98850198935090840190600101613e29565b5091979650505050505050565b60a081525f613e7260a0830188613dd6565b8281036020840152613e848188613a9f565b90508281036040840152613e988187613e0d565b60608401959095525050608001529392505050565b60c081525f613ebf60c0830189613dd6565b8281036020840152613ed18189613a9f565b90508281036040840152613ee58188613e0d565b60608401969096525050608081019290925260a0909101529392505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561096e5761096e613f04565b5f60208284031215613f3b575f80fd5b81516001600160401b03811115613f50575f80fd5b8201601f81018413613f60575f80fd5b8051613f6e61347f8261344c565b818152856020838501011115613f82575f80fd5b611222826020830160208601613581565b8181038181111561096e5761096e613f04565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613fca575f80fd5b815165ffffffffffff81168114611348575f80fd5b608081525f613ff16080830187613dd6565b82810360208401526140038187613a9f565b905082810360408401526140178186613e0d565b91505082606083015295945050505050565b84815260ff84166020820152826040820152608060608201525f610fe860808301846135a3565b85815260ff8516602082015283604082015260a060608201525f61407760a08301856135a3565b828103608084015261408981856135a3565b98975050505050505050565b5f600182016140a6576140a6613f04565b5060010190565b5f602082840312156140bd575f80fd5b81518015158114611348575f80fd5b808202811582820484141761096e5761096e613f04565b634e487b7160e01b5f52601260045260245ffd5b5f8261411157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526021908201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746040820152600d60fb1b606082015260800190565b5f6101208b8352602060018060a01b038c168185015281604085015261417f8285018c613dd6565b91508382036060850152614193828b613a9f565b915083820360808501528189518084528284019150828160051b850101838c015f5b838110156141e357601f198784030185526141d18383516135a3565b948601949250908501906001016141b5565b505086810360a08801526141f7818c613e0d565b9450505050508560c08401528460e084015282810361010084015261421c81856135a3565b9c9b50505050505050505050505056fe476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765a2646970667358221220989ac018749dfa3cb3a1464b5057ce2e3c2bb4b6fcb562843128bdd85495b81864736f6c63430008140033","sourceMap":"423:2431:151:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4079:4:24;4056:11;:9;:11::i;:::-;-1:-1:-1;;;;;4056:28:24;;4048:72;;;;-1:-1:-1;;;4048:72:24;;216:2:310;4048:72:24;;;198:21:310;255:2;235:18;;;228:30;294:33;274:18;;;267:61;345:18;;4048:72:24;;;;;;;;;423:2431:151;;;;;2660:192;;;;;;;;;;-1:-1:-1;2660:192:151;;;;;:::i;:::-;;:::i;:::-;;;830:14:310;;823:22;805:41;;793:2;778:18;2660:192:151;;;;;;;;908:102;;;;;;;;;;-1:-1:-1;988:5:151;908:102;;;1003:25:310;;;991:2;976:18;908:102:151;857:177:310;18399:784:24;;;;;;;;;;-1:-1:-1;18399:784:24;;;;;:::i;:::-;;:::i;3221:150:37:-;;;;;;;;;;-1:-1:-1;3221:150:37;;;;;:::i;:::-;;:::i;5368:98:24:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8660:148::-;;;;;;;;;;-1:-1:-1;8660:148:24;;;;;:::i;:::-;8744:7;8770:22;;;:10;:22;;;;;:31;-1:-1:-1;;;8770:31:24;;-1:-1:-1;;;;;8770:31:24;;8660:148;;;;-1:-1:-1;;;;;4810:32:310;;;4792:51;;4780:2;4765:18;8660:148:24;4646:203:310;21891:162:24;;;;;;;;;;-1:-1:-1;21891:162:24;;;;;:::i;:::-;-1:-1:-1;;;21891:162:24;;;;;;;;;;-1:-1:-1;;;;;;5822:33:310;;;5804:52;;5792:2;5777:18;21891:162:24;5660:202:310;3633:739:34;;;;;;;;;;-1:-1:-1;3633:739:34;;;;;:::i;:::-;;:::i;12140:885:24:-;;;;;;:::i;:::-;;:::i;8211:149::-;;;;;;;;;;-1:-1:-1;8211:149:24;;;;;:::i;:::-;8295:7;8321:22;;;:10;:22;;;;;:32;-1:-1:-1;;;;;8321:32:24;;8211:149;1235:147;;;;;;;;;;;;1294:88;1235:147;;804:98:151;;;;;;;;;;-1:-1:-1;883:1:151;804:98;;17888:427:24;;;;;;;;;;-1:-1:-1;17888:427:24;;;;;:::i;:::-;;:::i;1374:162:151:-;;;;;;;;;;-1:-1:-1;1374:162:151;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1039:167:29:-;;;;;;;;;;-1:-1:-1;1039:167:29;;;;;:::i;:::-;1132:4;1155:26;;;:14;:26;;;;;;;;-1:-1:-1;;;;;1155:44:29;;;;:35;;:44;;;;;;;;1039:167;;;;;13083:559:24;;;;;;;;;;-1:-1:-1;13083:559:24;;;;;:::i;:::-;;:::i;1124:259:35:-;;;;;;;;;;;;;:::i;1278:321:29:-;;;;;;;;;;-1:-1:-1;1278:321:29;;;;;:::i;:::-;1364:20;1472:26;;;:14;:26;;;;;1516:25;;1543:21;;;;1566:25;;;;;1516;;1278:321;;;;;10907:25:310;;;10963:2;10948:18;;10941:34;;;;10991:18;;;10984:34;10895:2;10880:18;1278:321:29;10705:319:310;5525:99:24;;;;;;;;;;-1:-1:-1;5607:10:24;;;;;;;;;;;;-1:-1:-1;;;5607:10:24;;;;5525:99;;16898:198;;;;;;;;;;-1:-1:-1;16898:198:24;;;;;:::i;:::-;;:::i;17511:312::-;;;;;;;;;;-1:-1:-1;17511:312:24;;;;;:::i;:::-;;:::i;1752:664:37:-;;;;;;;;;;-1:-1:-1;1752:664:37;;;;;:::i;:::-;;:::i;17166:266:24:-;;;;;;;;;;-1:-1:-1;17166:266:24;;;;;:::i;:::-;;:::i;1542:319:151:-;;;;;;;;;;-1:-1:-1;1542:319:151;;;;;:::i;:::-;;:::i;5021:633:233:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;734:235:35:-;;;;;;;;;;;;;:::i;:::-;;;15313:14:310;15301:27;;;15283:46;;15271:2;15256:18;734:235:35;15139:196:310;2522:94:37;;;;;;;;;;-1:-1:-1;2606:3:37;2522:94;;16615:223:24;;;;;;;;;;-1:-1:-1;16615:223:24;;;;;:::i;:::-;;:::i;1448:191:37:-;;;;;;;;;;;;;:::i;6270:133:34:-;;;;;;;;;;-1:-1:-1;6270:133:34;;;;;:::i;:::-;;:::i;3294:259::-;;;;;;;;;;-1:-1:-1;3294:259:34;;;;;:::i;:::-;;:::i;1016:99:151:-;;;;;;;;;;-1:-1:-1;1101:7:151;1016:99;;22429:247:24;;;;;;;;;;-1:-1:-1;22429:247:24;;;;;:::i;:::-;-1:-1:-1;;;22429:247:24;;;;;;;;8428:147;;;;;;;;;;-1:-1:-1;8428:147:24;;;;;:::i;:::-;8512:7;8538:22;;;:10;:22;;;;;:30;;;-1:-1:-1;;;;;8538:30:24;;8428:147;21235:296;;;;;;:::i;:::-;;:::i;6569:308::-;;;;;;;;;;-1:-1:-1;6569:308:24;;;;;:::i;:::-;;:::i;3097:109:34:-;;;;;;;;;;-1:-1:-1;3189:9:34;;-1:-1:-1;;;;;3189:9:34;3097:109;;843:136:29;;;;;;;;;;-1:-1:-1;931:41:29;;;;;;;;;;;;;;;;;;843:136;;1134:95:24;;;;;;;;;;;;1176:53;1134:95;;16373:172;;;;;;;;;;-1:-1:-1;16373:172:24;;;;;:::i;:::-;;:::i;22129:219::-;;;;;;;;;;-1:-1:-1;22129:219:24;;;;;:::i;:::-;-1:-1:-1;;;22129:219:24;;;;;;;;1189:179:151;;;;;;;;;;-1:-1:-1;1189:179:151;;;;;:::i;:::-;;:::i;430:31:35:-;;;;;;;;;;;;;;;2516:138:151;2604:7;2630:17;3189:9:34;;-1:-1:-1;;;;;3189:9:34;;3097:109;2630:17:151;2623:24;;2516:138;:::o;2660:192::-;2786:4;2809:36;2833:11;2809:23;:36::i;:::-;2802:43;2660:192;-1:-1:-1;;2660:192:151:o;18399:784:24:-;18647:7;18666:13;18682:423;18709:341;1294:88;18860:10;18896:7;18945:6;;18929:24;;;;;;;:::i;:::-;;;;;;;;18989:6;18979:17;;;;;;18774:244;;;;;;;;;;;19657:25:310;;;19713:2;19698:18;;19691:34;;;;19773:4;19761:17;;;;19756:2;19741:18;;19734:45;19810:2;19795:18;;19788:34;19853:3;19838:19;;19831:35;19644:3;19629:19;;19402:470;18774:244:24;;;;;;;;;;;;;18743:293;;;;;;18709:16;:341::i;:::-;19064:1;19079;19094;18682:13;:423::i;:::-;18666:439;;19123:53;19133:10;19145:5;19152:7;19161:6;;19123:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19169:6:24;;-1:-1:-1;19123:9:24;;-1:-1:-1;;19123:53:24:i;:::-;19116:60;18399:784;-1:-1:-1;;;;;;;;;;18399:784:24:o;3221:150:37:-;3353:11:24;:9;:11::i;:::-;-1:-1:-1;;;;;3337:27:24;734:10:224;-1:-1:-1;;;;;3337:27:24;;3329:64;;;;-1:-1:-1;;;3329:64:24;;;;;;;:::i;:::-;3430:4;3407:11;:9;:11::i;:::-;-1:-1:-1;;;;;3407:28:24;;3403:277;;3451:19;;808:14:224;3473:21:24;;;;;;;:::i;:::-;;;;;;;;3451:43;;3618:52;3655:11;3625:26;:15;:24;:26::i;:::-;:41;3618:52;;3437:243;3403:277;3322:42:37::1;3345:18;3322:22;:42::i;:::-;3221:150:::0;:::o;5368:98:24:-;5422:13;5454:5;5447:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5368:98;:::o;3633:739:34:-;3821:7;3840:18;3861:57;3874:7;3883:6;3891:9;3902:15;3861:12;:57::i;:::-;3840:78;-1:-1:-1;3958:23:34;3937:17;3943:10;3937:5;:17::i;:::-;:44;;;;;;;;:::i;:::-;;3929:90;;;;-1:-1:-1;;;3929:90:34;;;;;;;:::i;:::-;4046:9;;:23;;;-1:-1:-1;;;4046:23:34;;;;4030:13;;-1:-1:-1;;;;;4046:9:34;;:21;;:23;;;;;;;;;;;;;;:9;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4106:9;;:76;;-1:-1:-1;;;4106:76:34;;4030:39;;-1:-1:-1;;;;;;4106:9:34;;:28;;:76;;4135:7;;4144:6;;4152:9;;4106;;4166:15;;4106:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4079:24;;;;:12;:24;;;;;;:103;;;;4192:9;;:78;;-1:-1:-1;;;4192:78:34;;-1:-1:-1;;;;;4192:9:34;;;;:23;;:78;;4216:7;;4225:6;;4233:9;;4079:24;4247:15;;4264:5;;4192:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4286:51;4301:10;4331:5;4313:15;:23;;;;:::i;:::-;4286:51;;;24675:25:310;;;24731:2;24716:18;;24709:34;;;;24648:18;4286:51:34;;;;;;;;-1:-1:-1;4355:10:34;3633:739;-1:-1:-1;;;;;3633:739:34:o;12140:885:24:-;12338:7;12357:18;12378:57;12391:7;12400:6;12408:9;12419:15;12378:12;:57::i;:::-;12357:78;;12446:26;12475:17;12481:10;12475:5;:17::i;:::-;12446:46;-1:-1:-1;12539:23:24;12523:12;:39;;;;;;;;:::i;:::-;;:79;;;-1:-1:-1;12582:20:24;12566:12;:36;;;;;;;;:::i;:::-;;12523:79;12502:159;;;;-1:-1:-1;;;12502:159:24;;;;;;;:::i;:::-;12671:22;;;;:10;:22;;;;;;;:31;;:38;;-1:-1:-1;;12671:38:24;12705:4;12671:38;;;12725:28;;;;;12682:10;1003:25:310;;991:2;976:18;;857:177;12725:28:24;;;;;;;;12764:71;12779:10;12791:7;12800:6;12808:9;12819:15;12764:14;:71::i;:::-;12845:65;12854:10;12866:7;12875:6;12883:9;12894:15;12845:8;:65::i;:::-;12920:70;12934:10;12946:7;12955:6;12963:9;12974:15;12920:13;:70::i;:::-;-1:-1:-1;13008:10:24;12140:885;-1:-1:-1;;;;;12140:885:24:o;17888:427::-;18145:48;;;1176:53;18145:48;;;24952:25:310;24993:18;;;24986:34;;;25068:4;25056:17;;25036:18;;;25029:45;18056:7:24;;;;18091:159;;18118:77;;24925:18:310;;18145:48:24;24754:326:310;18091:159:24;18075:175;;18267:41;18277:10;18289:5;18296:7;18267:41;;;;;;;;;;;;:9;:41::i;:::-;18260:48;17888:427;-1:-1:-1;;;;;;;17888:427:24:o;1374:162:151:-;1474:13;1506:23;1518:10;1506:11;:23::i;13083:559:24:-;13272:7;13291:18;13312:57;13325:7;13334:6;13342:9;13353:15;13312:12;:57::i;:::-;13291:78;-1:-1:-1;13408:21:24;13387:17;13393:10;13387:5;:17::i;:::-;:42;;;;;;;;:::i;:::-;;13379:83;;;;-1:-1:-1;;;13379:83:24;;25287:2:310;13379:83:24;;;25269:21:310;25326:2;25306:18;;;25299:30;25365;25345:18;;;25338:58;25413:18;;13379:83:24;25085:352:310;13379:83:24;13496:22;;;;:10;:22;;;;;:31;-1:-1:-1;;;13496:31:24;;-1:-1:-1;;;;;13496:31:24;734:10:224;-1:-1:-1;;;;;13480:47:24;;13472:94;;;;-1:-1:-1;;;13472:94:24;;25644:2:310;13472:94:24;;;25626:21:310;25683:2;25663:18;;;25656:30;25722:34;25702:18;;;25695:62;-1:-1:-1;;;25773:18:310;;;25766:32;25815:19;;13472:94:24;25442:398:310;13472:94:24;13583:52;13591:7;13600:6;13608:9;13619:15;13583:7;:52::i;:::-;13576:59;13083:559;-1:-1:-1;;;;;;13083:559:24:o;1124:259:35:-;1184:13;1213:5;-1:-1:-1;;;;;1213:16:35;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1213:18:35;;;;;;;;;;;;:::i;:::-;;;1209:168;;-1:-1:-1;1328:38:35;;;;;;;;;;;;;;;;;;1124:259::o;1209:168::-;1287:9;1124:259;-1:-1:-1;1124:259:35:o;16898:198:24:-;16984:7;;734:10:224;17003:28:24;;17048:41;17058:10;17070:5;17077:7;17048:41;;;;;;;;;;;;:9;:41::i;:::-;17041:48;16898:198;-1:-1:-1;;;;16898:198:24:o;17511:312::-;17699:7;;734:10:224;17718:28:24;;17763:53;17773:10;17785:5;17792:7;17801:6;;17763:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17809:6:24;;-1:-1:-1;17763:9:24;;-1:-1:-1;;17763:53:24:i;1752:664:37:-;1917:23;:43;1825:7;;1974:11;;;1970:65;;-1:-1:-1;;2008:16:37;;;1752:664;-1:-1:-1;1752:664:37:o;1970:65::-;2103:39;2145:23;2182:10;2191:1;2182:6;:10;:::i;:::-;2145:48;;;;;;;;:::i;:::-;;;;;;;;;;2103:90;;;;;;;;;2145:48;;2103:90;;;;;;;-1:-1:-1;;;2103:90:37;;;-1:-1:-1;;;;;2103:90:37;;;;;;;;;-1:-1:-1;;;2203:75:37;;2254:13;;;-1:-1:-1;;;;;2247:20:37;;1752:664;-1:-1:-1;;;1752:664:37:o;2203:75::-;2338:71;2380:28;2398:9;2380:17;:28::i;:::-;2338:23;;:41;:71::i;:::-;-1:-1:-1;;;;;2331:78:37;;1752:664;-1:-1:-1;;;;1752:664:37:o;17166:266:24:-;17316:7;;734:10:224;17335:28:24;;17380:45;17390:10;17402:5;17409:7;17418:6;;17380:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17380:9:24;;-1:-1:-1;;;17380:45:24:i;1542:319:151:-;1774:7;1800:54;1814:7;1823:6;1831:9;1842:11;1800:13;:54::i;:::-;1793:61;1542:319;-1:-1:-1;;;;;1542:319:151:o;5021:633:233:-;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5136:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:233;;;-1:-1:-1;5376:271:233;;-1:-1:-1;5543:13:233;;-1:-1:-1;5578:4:233;;-1:-1:-1;5605:1:233;-1:-1:-1;5621:16:233;-1:-1:-1;5376:271:233;-1:-1:-1;5021:633:233:o;734:235:35:-;789:6;811:5;-1:-1:-1;;;;;811:11:35;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;811:13:35;;;;;;;;-1:-1:-1;;811:13:35;;;;;;;;;;;;:::i;:::-;;;807:156;;921:31;939:12;921:17;:31::i;16615:223:24:-;16768:7;16794:37;16804:7;16813:9;16824:6;16794:9;:37::i;:::-;16787:44;;16615:223;;;;;;:::o;1448:191:37:-;1530:23;:43;1504:7;;1530:48;:102;;1600:32;:23;:30;:32::i;:::-;-1:-1:-1;;;;;1530:102:37;2623:24:151;;2516:138;:::o;1530:102:37:-;-1:-1:-1;1581:16:37;;;1448:191::o;6270:133:34:-;3353:11:24;:9;:11::i;:::-;-1:-1:-1;;;;;3337:27:24;734:10:224;-1:-1:-1;;;;;3337:27:24;;3329:64;;;;-1:-1:-1;;;3329:64:24;;;;;;;:::i;:::-;3430:4;3407:11;:9;:11::i;:::-;-1:-1:-1;;;;;3407:28:24;;3403:277;;3451:19;;808:14:224;3473:21:24;;;;;;;:::i;:::-;;;;;;;;3451:43;;3618:52;3655:11;3625:26;:15;:24;:26::i;:::-;:41;3618:52;;3437:243;3403:277;6368:28:34::1;6384:11;6368:15;:28::i;3294:259::-:0;3406:9;;3373:7;3429:24;;;:12;:24;;;;;;;3406:48;;-1:-1:-1;;;3406:48:34;;;;;1003:25:310;;;;3373:7:34;;;;-1:-1:-1;;;;;3406:9:34;;;;:22;;976:18:310;;3406:48:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3392:62;;3471:3;3478:1;3471:8;:18;;3486:3;3471:18;;;3482:1;3464:25;3294:259;-1:-1:-1;;;3294:259:34:o;21235:296:24:-;3353:11;:9;:11::i;:::-;-1:-1:-1;;;;;3337:27:24;734:10:224;-1:-1:-1;;;;;3337:27:24;;3329:64;;;;-1:-1:-1;;;3329:64:24;;;;;;;:::i;:::-;3430:4;3407:11;:9;:11::i;:::-;-1:-1:-1;;;;;3407:28:24;;3403:277;;3451:19;;808:14:224;3473:21:24;;;;;;;:::i;:::-;;;;;;;;3451:43;;3618:52;3655:11;3625:26;:15;:24;:26::i;:::-;:41;3618:52;;3437:243;3403:277;21353:12:::1;21367:23:::0;21394:6:::1;-1:-1:-1::0;;;;;21394:11:24::1;21413:5;21420:4;;21394:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21352:73;;;;21435:89;21460:7;21469:10;21435:89;;;;;;;;;;;;;;;;;:24;:89::i;:::-;;21342:189;;21235:296:::0;;;;:::o;6569:308::-;6769:7;6824;6833:6;6841:9;6852:15;6813:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6813:55:24;;;;;;;;;6803:66;;6813:55;6803:66;;;;;6569:308;-1:-1:-1;;;;;6569:308:24:o;16373:172::-;16465:7;16491:47;16501:7;16510:9;16521:16;10184:9;;;;;;;;;-1:-1:-1;10184:9:24;;;10103:97;16521:16;16491:9;:47::i;1189:179:151:-;1310:7;1336:25;1349:11;1336:12;:25::i;1886:224:34:-;1990:4;-1:-1:-1;;;;;;2013:50:34;;-1:-1:-1;;;2013:50:34;;:90;;;2067:36;2091:11;2067:23;:36::i;4768:165:233:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:232;8530:11;-1:-1:-1;;;8554:23:232;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;20029:755:24:-;20215:7;20266:22;;;:10;:22;;;;;20327:20;20306:17;20312:10;20306:5;:17::i;:::-;:41;;;;;;;;:::i;:::-;;20298:89;;;;-1:-1:-1;;;20298:89:24;;28017:2:310;20298:89:24;;;27999:21:310;28056:2;28036:18;;;28029:30;28095:34;28075:18;;;28068:62;-1:-1:-1;;;28146:18:310;;;28139:33;28189:19;;20298:89:24;27815:399:310;20298:89:24;20434:18;;20398:14;;20415:46;;20425:7;;-1:-1:-1;;;;;20434:18:24;20454:6;20415:9;:46::i;:::-;20398:63;;20471:56;20482:10;20494:7;20503;20512:6;20520;20471:10;:56::i;:::-;20542:6;:13;20559:1;20542:18;20538:216;;20590:7;-1:-1:-1;;;;;20581:54:24;;20599:10;20611:7;20620:6;20628;20581:54;;;;;;;;;:::i;:::-;;;;;;;;20538:216;;;20690:7;-1:-1:-1;;;;;20671:72:24;;20699:10;20711:7;20720:6;20728;20736;20671:72;;;;;;;;;;:::i;:::-;;;;;;;;20771:6;20029:755;-1:-1:-1;;;;;;;20029:755:24:o;3295:324:253:-;3359:13;3388:12;3394:5;5888:12;;;;;-1:-1:-1;;;5874:10:253;;;;;:26;;;5785:122;3388:12;3384:32;;;3409:7;;-1:-1:-1;;;3409:7:253;;;;;;;;;;;3384:32;-1:-1:-1;3446:12:253;;;;3426:17;3476:23;;;3446:12;3476:11;;;:23;;;;;;;3509:30;;;3573:29;;-1:-1:-1;;3573:29:253;3588:14;;-1:-1:-1;;;;;3573:29:253;;;;;;;;3476:23;3295:324::o;3592:930:37:-;2606:3;3700:18;:41;;3679:155;;;;-1:-1:-1;;;3679:155:37;;29477:2:310;3679:155:37;;;29459:21:310;29516:2;29496:18;;;29489:30;29555:34;29535:18;;;29528:62;29626:34;29606:18;;;29599:62;-1:-1:-1;;;29677:19:310;;;29670:34;29721:19;;3679:155:37;29275:471:310;3679:155:37;3845:26;3874:17;:15;:17::i;:::-;3845:46;-1:-1:-1;4025:23:37;;;;;:75;;-1:-1:-1;4052:23:37;:43;:48;4025:75;4021:263;;;4175:84;;;;;;;;;4116:36;4175:84;;4116:23;;4175:84;;;4219:38;4238:18;4219;:38::i;:::-;-1:-1:-1;;;;;4175:84:37;;;;;;4116:157;;;;;;;-1:-1:-1;4116:157:37;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4116:157:37;;;;;;;;;;;;4021:263;4341:96;4370:26;4388:7;:5;:7::i;:::-;4370:26;;:17;:26::i;:::-;4398:38;4417:18;4398;:38::i;:::-;4341:23;;:96;:28;:96::i;:::-;-1:-1:-1;;4453:62:37;;;24675:25:310;;;24731:2;24716:18;;24709:34;;;4453:62:37;;24648:18:310;4453:62:37;;;;;;;3669:853;3592:930;:::o;14378:499:24:-;14640:4;14617:11;:9;:11::i;:::-;-1:-1:-1;;;;;14617:28:24;;14613:258;;14666:9;14661:200;14685:7;:14;14681:1;:18;14661:200;;;14750:4;-1:-1:-1;;;;;14728:27:24;:7;14736:1;14728:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14728:27:24;;14724:123;;14779:49;14814:9;14824:1;14814:12;;;;;;;;:::i;:::-;;;;;;;14804:23;;;;;;14779:15;:24;;:49;;;;:::i;:::-;14701:3;;;:::i;:::-;;;14661:200;;;;14613:258;14378:499;;;;;:::o;1867:327:151:-;2116:71;2131:10;2143:7;2152:6;2160:9;2171:15;2116:14;:71::i;14946:396:24:-;15219:4;15196:11;:9;:11::i;:::-;-1:-1:-1;;;;;15196:28:24;;15192:144;;15245:15;5888:12:253;;;;;-1:-1:-1;;;5874:10:253;;;;;:26;;15240:86:24;;5244:1:253;15288:15:24;5255:14:253;15288:23:24;5167:109:253;19492:255:24;19649:7;19675:65;19685:10;19697:7;19706;19715:6;19723:16;10184:9;;;;;;;;;-1:-1:-1;10184:9:24;;;10103:97;19723:16;19675:9;:65::i;2239:771:34:-;2333:13;2358:26;2387:23;2399:10;2387:11;:23::i;:::-;2358:52;-1:-1:-1;2441:23:34;2425:12;:39;;;;;;;;:::i;:::-;;2421:89;;2487:12;2239:771;-1:-1:-1;;2239:771:34:o;2421:89::-;2620:15;2638:24;;;:12;:24;;;;;;;2672:332;;-1:-1:-1;2720:12:34;2239:771;-1:-1:-1;;2239:771:34:o;2672:332::-;2753:9;;:34;;-1:-1:-1;;;2753:34:34;;;;;1003:25:310;;;-1:-1:-1;;;;;2753:9:34;;;;:25;;976:18:310;;2753:34:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2749:255;;;-1:-1:-1;2810:22:34;;2239:771;-1:-1:-1;;;2239:771:34:o;2749:255::-;2853:9;;:37;;-1:-1:-1;;;2853:37:34;;;;;1003:25:310;;;-1:-1:-1;;;;;2853:9:34;;;;:28;;976:18:310;;2853:37:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2849:155;;;-1:-1:-1;2913:20:34;;2239:771;-1:-1:-1;;;2239:771:34:o;2849:155::-;-1:-1:-1;2971:22:34;;2239:771;-1:-1:-1;;;2239:771:34:o;2200:310:151:-;2419:7;2445:58;2459:7;2468:6;2476:9;2487:15;2445:13;:58::i;15264:187:248:-;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:248;;30375:2:310;15338:76:248;;;30357:21:310;30414:2;30394:18;;;30387:30;30453:34;30433:18;;;30426:62;-1:-1:-1;;;30504:18:310;;;30497:36;30550:19;;15338:76:248;30173:402:310;15338:76:248;-1:-1:-1;15438:5:248;15264:187::o;9426:606:223:-;9544:24;;9511:7;;;9544:24;9643:1;9637:7;;9633:234;;;9660:11;9680:14;9690:3;9680:9;:14::i;:::-;9674:20;;:3;:20;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;9660:34;;-1:-1:-1;14047:28:223;;9718:42;;;;;9712:48;;;;9708:149;;;9787:3;9780:10;;9708:149;;;9835:7;:3;9841:1;9835:7;:::i;:::-;9829:13;;9708:149;9646:221;9633:234;9877:11;9891:53;9910:4;9929:3;9934;9939:4;9891:18;:53::i;:::-;9877:67;-1:-1:-1;9962:8:223;;:63;;9977:41;9991:4;10010:7;10016:1;10010:3;:7;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;;14047:28;;13826:265;9977:41;:48;-1:-1:-1;;;9977:48:223;;-1:-1:-1;;;;;9977:48:223;9962:63;;;9973:1;9955:70;9426:606;-1:-1:-1;;;;;;;9426:606:223:o;398:279:31:-;590:7;616:54;630:7;639:6;647:9;658:11;616:13;:54::i;3367:268:228:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:248;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:248;;30782:2:310;14314:76:248;;;30764:21:310;30821:2;30801:18;;;30794:30;30860:34;30840:18;;;30833:62;-1:-1:-1;;;30911:18:310;;;30904:36;30957:19;;14314:76:248;30580:402:310;1508:221:35;1684:38;;-1:-1:-1;;;1684:38:35;;-1:-1:-1;;;;;31179:32:310;;;1684:38:35;;;31161:51:310;31228:18;;;31221:34;;;1658:7:35;;1684:5;:18;;;;;;31134::310;;1684:38:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10152:206:223:-;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;10303:41::-;:48;-1:-1:-1;;;10303:48:223;;-1:-1:-1;;;;;10303:48:223;10288:63;;6409:176:34;6512:9;;6489:56;;;-1:-1:-1;;;;;6512:9:34;;;31478:34:310;;31548:15;;;31543:2;31528:18;;31521:43;6489:56:34;;31413:18:310;6489:56:34;;;;;;;6555:9;:23;;-1:-1:-1;;;;;;6555:23:34;-1:-1:-1;;;;;6555:23:34;;;;;;;;;;6409:176::o;8520:295:220:-;8666:12;8694:7;8690:119;;;-1:-1:-1;8724:10:220;8717:17;;8690:119;8765:33;8773:10;8785:12;8765:7;:33::i;2751:194:37:-;2824:7;2606:3;2889:26;2905:9;2889:15;:26::i;:::-;2851:35;;-1:-1:-1;;;2851:35:37;;;;;1003:25:310;;;2851:5:37;-1:-1:-1;;;;;2851:24:37;;;;976:18:310;;2851:35:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;:::i;:::-;2850:88;;;;:::i;4194:1118:24:-;4296:4;-1:-1:-1;;;;;;;;;;;;;;;;;;5071:27:24;;;;;:70;;-1:-1:-1;;;;;;;5114:27:24;;;;;;;5071:70;:117;;;-1:-1:-1;;;;;;;5157:31:24;;;;;;;5071:117;:182;;;-1:-1:-1;;;;;;;5204:49:24;;-1:-1:-1;;;5204:49:24;5071:182;:234;;;-1:-1:-1;;;;;;;;;;937:40:240;;;5052:253:24;4194:1118;-1:-1:-1;;;;;;4194:1118:24:o;3695:262:233:-;3748:7;3779:4;-1:-1:-1;;;;;3788:11:233;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:233;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;39278:25:310;4077:11:233;39319:18:310;;;39312:34;;;;4090:14:233;39362:18:310;;;39355:34;4106:13:233;39405:18:310;;;39398:34;4129:4:233;39448:19:310;;;39441:61;4018:7:233;;39250:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;5009:1456:232;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:232;;-1:-1:-1;6123:30:232;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;32329:25:310;;;32402:4;32390:17;;32370:18;;;32363:45;;;;32424:18;;;32417:34;;;32467:18;;;32460:34;;;6276:24:232;;32301:19:310;;6276:24:232;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:232;;-1:-1:-1;;6276:24:232;;;-1:-1:-1;;;;;;;6314:20:232;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:232;;-1:-1:-1;5009:1456:232;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:232;;32707:2:310;788:34:232;;;32689:21:310;32746:2;32726:18;;;32719:30;32785:26;32765:18;;;32758:54;32829:18;;788:34:232;32505:348:310;730:345:232;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:232;;33060:2:310;903:41:232;;;33042:21:310;33099:2;33079:18;;;33072:30;33138:33;33118:18;;;33111:61;33189:18;;903:41:232;32858:355:310;839:236:232;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:232;;33420:2:310;1020:44:232;;;33402:21:310;33459:2;33439:18;;;33432:30;33498:34;33478:18;;;33471:62;-1:-1:-1;;;33549:18:310;;;33542:32;33591:19;;1020:44:232;33218:398:310;2450:812:29;2644:33;2680:26;;;:14;:26;;;;;;;;-1:-1:-1;;;;;2726:30:29;;;;:21;;;:30;;;;;;;;;2725:31;2717:83;;;;-1:-1:-1;;;2717:83:29;;33823:2:310;2717:83:29;;;33805:21:310;33862:2;33842:18;;;33835:30;33901:34;33881:18;;;33874:62;-1:-1:-1;;;33952:18:310;;;33945:37;33999:19;;2717:83:29;33621:403:310;2717:83:29;-1:-1:-1;;;;;2810:30:29;;;;;;:21;;;:30;;;;;:37;;-1:-1:-1;;2810:37:29;2843:4;2810:37;;;2862:34;;;2858:398;;2941:6;2912:12;:25;;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;2858:398:29;;-1:-1:-1;2858:398:29;;-1:-1:-1;;2968:30:29;;;;2964:292;;3039:6;3014:12;:21;;;:31;;;;;;;:::i;2964:292::-;-1:-1:-1;;3066:34:29;;;;3062:194;;3145:6;3116:12;:25;;;:35;;;;;;;:::i;3062:194::-;3182:63;;-1:-1:-1;;;3182:63:29;;34231:2:310;3182:63:29;;;34213:21:310;34270:2;34250:18;;;34243:30;34309:34;34289:18;;;34282:62;-1:-1:-1;;;34360:18:310;;;34353:51;34421:19;;3182:63:29;34029:417:310;2836:192:248;2893:7;-1:-1:-1;;;;;2920:26:248;;;2912:78;;;;-1:-1:-1;;;2912:78:248;;34653:2:310;2912:78:248;;;34635:21:310;34692:2;34672:18;;;34665:30;34731:34;34711:18;;;34704:62;-1:-1:-1;;;34782:18:310;;;34775:37;34829:19;;2912:78:248;34451:403:310;8063:162:223;8145:7;;8180:38;8188:4;8207:3;8212:5;8180:7;:38::i;:::-;8173:45;;;;8063:162;;;;;;;:::o;2096:226:253:-;2195:10;;-1:-1:-1;;;2195:10:253;;;;;;2176:16;2215:22;;;:11;;;;:22;;;;;;:30;;;;2279:26;;-1:-1:-1;;;;;2279:26:253;;;2292:13;;;;2279:26;;;;;2096:226::o;4493:323:34:-;4721:9;;:88;;-1:-1:-1;;;4721:88:34;;-1:-1:-1;;;;;4721:9:34;;;;:22;;4751:9;;4721:88;;4762:7;;4771:6;;4779:9;;4721;;4793:15;;4721:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4493:323;;;;;:::o;6934:967:24:-;7007:13;7064:22;;;:10;:22;;;;;7101:17;;;;;;7097:77;;;-1:-1:-1;7141:22:24;;6934:967;-1:-1:-1;;6934:967:24:o;7097:77::-;7188:17;;;;;;;;;7184:77;;;-1:-1:-1;7228:22:24;;6934:967;-1:-1:-1;;6934:967:24:o;7184:77::-;7271:16;8321:22;;;:10;:22;;;;;:32;-1:-1:-1;;;;;8321:32:24;;7333:13;;;7329:83;;7362:39;;-1:-1:-1;;;7362:39:24;;35061:2:310;7362:39:24;;;35043:21:310;35100:2;35080:18;;;35073:30;35139:31;35119:18;;;35112:59;35188:18;;7362:39:24;34859:353:310;7329:83:24;7422:24;7449:7;:5;:7::i;:::-;7422:34;;;;7483:16;7471:8;:28;7467:87;;-1:-1:-1;7522:21:24;;6934:967;-1:-1:-1;;;;6934:967:24:o;7467:87::-;7564:16;8538:22;;;:10;:22;;;;;:30;;;-1:-1:-1;;;;;8538:30:24;7626:28;;;7622:86;;-1:-1:-1;7677:20:24;;6934:967;-1:-1:-1;;;;;6934:967:24:o;7622:86::-;7722:26;7737:10;7722:14;:26::i;:::-;:56;;;;-1:-1:-1;2158:4:29;2210:26;;;:14;:26;;;;;2278:25;;2254:21;;;;;:49;7752:26:24;7718:177;;;-1:-1:-1;7801:23:24;;6934:967;-1:-1:-1;;;;;6934:967:24:o;7718:177::-;-1:-1:-1;7862:22:24;;6934:967;-1:-1:-1;;;;;6934:967:24:o;5224:482:34:-;5416:7;5435:18;5456:58;5470:7;5479:6;5487:9;5498:15;5456:13;:58::i;:::-;5529:24;;;;:12;:24;;;;;;5435:79;;-1:-1:-1;5529:29:34;5525:147;;5574:9;;;5591:24;;;:12;:24;;;;;;;;5574:42;;-1:-1:-1;;;5574:42:34;;-1:-1:-1;;;;;5574:9:34;;;;:16;;:42;;;;1003:25:310;;;991:2;976:18;;857:177;5574:42:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5637:24:34;;;;:12;:24;;;;;5630:31;-1:-1:-1;5689:10:34;5224:482;-1:-1:-1;;;;;5224:482:34:o;6530:1642:247:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:247;;6530:1642;-1:-1:-1;6530:1642:247:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;12470:433:223:-;12627:7;12646:230;12659:4;12653:3;:10;12646:230;;;12679:11;12693:23;12706:3;12711:4;12693:12;:23::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;12679:37;;-1:-1:-1;12734:35:223;;;;14047:28;;12734:29;;;:35;12730:136;;;12796:3;12789:10;;12730:136;;;12844:7;:3;12850:1;12844:7;:::i;:::-;12838:13;;12730:136;12665:211;12646:230;;;-1:-1:-1;12892:4:223;12470:433;-1:-1:-1;;;12470:433:223:o;10356:1725:24:-;10548:7;734:10:224;10616:53:24;734:10:224;10657:11:24;10616:30;:53::i;:::-;10608:95;;;;-1:-1:-1;;;10608:95:24;;35419:2:310;10608:95:24;;;35401:21:310;35458:2;35438:18;;;35431:30;35497:31;35477:18;;;35470:59;35546:18;;10608:95:24;35217:353:310;10608:95:24;10714:24;10741:7;:5;:7::i;:::-;10714:34;;;-1:-1:-1;1101:7:151;10779:40:24;10788:8;10798:20;10817:1;10798:16;:20;:::i;10779:40::-;:63;;10758:159;;;;-1:-1:-1;;;10758:159:24;;35777:2:310;10758:159:24;;;35759:21:310;35816:2;35796:18;;;35789:30;35855:34;35835:18;;;35828:62;-1:-1:-1;;;35906:18:310;;;35899:47;35963:19;;10758:159:24;35575:413:310;10758:159:24;10928:18;10949:71;10962:7;10971:6;10979:9;11006:11;10990:29;;;;;;10949:12;:71::i;:::-;10928:92;;11057:6;:13;11039:7;:14;:31;11031:77;;;;-1:-1:-1;;;11031:77:24;;;;;;;:::i;:::-;11144:9;:16;11126:7;:14;:34;11118:80;;;;-1:-1:-1;;;11118:80:24;;;;;;;:::i;:::-;11233:1;11216:7;:14;:18;11208:55;;;;-1:-1:-1;;;11208:55:24;;36597:2:310;11208:55:24;;;36579:21:310;36636:2;36616:18;;;36609:30;36675:26;36655:18;;;36648:54;36719:18;;11208:55:24;36395:348:310;11208:55:24;11281:22;;;;:10;:22;;;;;:32;-1:-1:-1;;;;;11281:32:24;:37;11273:83;;;;-1:-1:-1;;;11273:83:24;;36950:2:310;11273:83:24;;;36932:21:310;36989:2;36969:18;;;36962:30;37028:34;37008:18;;;37001:62;-1:-1:-1;;;37079:18:310;;;37072:31;37120:19;;11273:83:24;36748:397:310;11273:83:24;11367:16;11386:32;883:1:151;11386:16:24;:32;:::i;:::-;11367:51;-1:-1:-1;11428:16:24;11447:25;988:5:151;11367:51:24;11447:25;:::i;:::-;11428:44;;11508:276;;;;;;;;11578:27;11596:8;11578:17;:27::i;:::-;-1:-1:-1;;;;;11508:276:24;;;-1:-1:-1;;;;;11508:276:24;;;;;;-1:-1:-1;11508:276:24;;;;;;11628:27;11646:8;11628:17;:27::i;:::-;-1:-1:-1;;;;;11508:276:24;;;;;11772:1;11508:276;;;;;;;;;;;;;;;;;;;;;11483:22;;;:10;:22;;;;;;:301;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11483:301:24;;;;;;;-1:-1:-1;;;;;;;;11483:301:24;;;;;;-1:-1:-1;;;;;11483:301:24;-1:-1:-1;;;11483:301:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11483:301:24;;;;;;;;;;;;;;;;;;-1:-1:-1;;11483:301:24;;;;;;-1:-1:-1;;11483:301:24;;;;;;;;;;;;;;;;;;;11929:14;;11800:246;;11483:22;;11853:8;;11929:14;;11896:6;;11916:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11958:9;11981:8;12003;12025:11;11800:246;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;12064:10:24;;10356:1725;-1:-1:-1;;;;;;;;10356:1725:24:o;2059:405:228:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:228;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:228;;;-1:-1:-1;2416:4:228;2407:14;;2400:28;;;;-1:-1:-1;2371:16:228;2059:405::o;8821:540:220:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:220;;;;;;;;:::i;11288:836:223:-;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11522:56:223;;;-1:-1:-1;;;;;11522:56:223;;;;;;;-1:-1:-1;11656:16:223;;;-1:-1:-1;11656:16:223;11648:56;;;;-1:-1:-1;;;11648:56:223;;39715:2:310;11648:56:223;;;39697:21:310;39754:2;39734:18;;;39727:30;39793:29;39773:18;;;39766:57;39840:18;;11648:56:223;39513:351:310;11648:56:223;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:223;;;;-1:-1:-1;;;11804:43:223;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:223;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:223;;;;;;;;;;;;;;-1:-1:-1;;;11886:52:223;;;;;;;;;;11764:189;11974:11;;;;-1:-1:-1;11987:5:223;;-1:-1:-1;11966:27:223;;-1:-1:-1;11966:27:223;11443:675;-1:-1:-1;;12034:41:223;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:223;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:223;;;;;;;;;;;;;-1:-1:-1;;;12024:52:223;;;;;;;;;;;;-1:-1:-1;;12068:5:223;12090:17;;1664:276:29;1748:4;1800:26;;;:14;:26;;;;;1908:25;;;;1884:21;;;;:49;;1908:25;1884:49;:::i;:::-;8295:7:24;8321:22;;;:10;:22;;;;;:32;1844:36:29;;-1:-1:-1;;;;;8321:32:24;1189:179:151;:::i;1844:36:29:-;:89;;;1664:276;-1:-1:-1;;;1664:276:29:o;15609:704:24:-;15792:7;15811:18;15832:57;15845:7;15854:6;15862:9;15873:15;15832:12;:57::i;:::-;15811:78;;15900:26;15929:17;15935:10;15929:5;:17::i;:::-;15900:46;-1:-1:-1;15994:22:24;15978:12;:38;;;;;;;;:::i;:::-;;;:95;;;;-1:-1:-1;16052:21:24;16036:12;:37;;;;;;;;:::i;:::-;;;15978:95;:153;;;;-1:-1:-1;16109:22:24;16093:12;:38;;;;;;;;:::i;:::-;;;15978:153;15957:229;;;;-1:-1:-1;;;15957:229:24;;40071:2:310;15957:229:24;;;40053:21:310;40110:2;40090:18;;;40083:30;40149:31;40129:18;;;40122:59;40198:18;;15957:229:24;39869:353:310;15957:229:24;16196:22;;;;:10;:22;;;;;;;:31;;:38;;-1:-1:-1;;16196:38:24;;;;;16250:28;;;;;16207:10;1003:25:310;;991:2;976:18;;857:177;8633:983:247;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:247:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:247;;588:104;-1:-1:-1;588:104:247:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;23803:1638:24:-;23971:25;;23941:4;;24083:2;24077:8;;24073:50;;;24108:4;24101:11;;;;;24073:50;24741:30;;;-1:-1:-1;;24741:30:24;24735:37;-1:-1:-1;;;;;;24872:33:24;;-1:-1:-1;;;24872:33:24;24868:75;;24928:4;24921:11;;;;;;24868:75;25020:17;;25068:8;25074:2;25068:3;:8;:::i;:::-;25056:20;;25051:336;25082:3;25078:1;:7;25051:336;;;25107:10;25119:11;25134:36;25154:11;25167:1;25148:21;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;25148:21:24;25134:13;:36::i;:::-;25106:64;;;;25276:5;25271:56;;25308:4;25301:11;;;;;;;;;;25271:56;25371:5;25352:24;;25366:1;25353:9;-1:-1:-1;;;;;25353:14:24;;;25352:24;25340:36;;25092:295;;25087:3;;;;:::i;:::-;;;25051:336;;;;25425:8;-1:-1:-1;;;;;25404:30:24;:9;-1:-1:-1;;;;;25404:30:24;;25397:37;;;;;23803:1638;;;;:::o;13216:187:248:-;13272:6;-1:-1:-1;;;;;13298:25:248;;;13290:76;;;;-1:-1:-1;;;13290:76:248;;40429:2:310;13290:76:248;;;40411:21:310;40468:2;40448:18;;;40441:30;40507:34;40487:18;;;40480:62;-1:-1:-1;;;40558:18:310;;;40551:36;40604:19;;13290:76:248;40227:402:310;2536:245:228;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:228;;;;;;;;;;;25678:593:24;25736:4;;25769:11;;;;25842:2;:6;-1:-1:-1;25842:16:24;;;;;25856:2;25852:1;:6;;;25842:16;25838:417;;;25886:4;;-1:-1:-1;;25892:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;25838:417::-;25965:1;25960:6;;:2;:6;:16;;;;;25974:2;25970:1;:6;;;25960:16;25956:299;;;26004:4;;-1:-1:-1;;26010:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;25956:299::-;26083:1;26078:6;;:2;:6;:17;;;;;26092:3;26088:1;:7;;;26078:17;26074:181;;;26123:4;;-1:-1:-1;;26129:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;26074:181::-;-1:-1:-1;26231:5:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;374:286:310:-;432:6;485:2;473:9;464:7;460:23;456:32;453:52;;;501:1;498;491:12;453:52;527:23;;-1:-1:-1;;;;;;579:32:310;;569:43;;559:71;;626:1;623;616:12;1039:156;1105:20;;1165:4;1154:16;;1144:27;;1134:55;;1185:1;1182;1175:12;1200:348;1252:8;1262:6;1316:3;1309:4;1301:6;1297:17;1293:27;1283:55;;1334:1;1331;1324:12;1283:55;-1:-1:-1;1357:20:310;;-1:-1:-1;;;;;1389:30:310;;1386:50;;;1432:1;1429;1422:12;1386:50;1469:4;1461:6;1457:17;1445:29;;1521:3;1514:4;1505:6;1497;1493:19;1489:30;1486:39;1483:59;;;1538:1;1535;1528:12;1483:59;1200:348;;;;;:::o;1553:127::-;1614:10;1609:3;1605:20;1602:1;1595:31;1645:4;1642:1;1635:15;1669:4;1666:1;1659:15;1685:275;1756:2;1750:9;1821:2;1802:13;;-1:-1:-1;;1798:27:310;1786:40;;-1:-1:-1;;;;;1841:34:310;;1877:22;;;1838:62;1835:88;;;1903:18;;:::i;:::-;1939:2;1932:22;1685:275;;-1:-1:-1;1685:275:310:o;1965:186::-;2013:4;-1:-1:-1;;;;;2038:6:310;2035:30;2032:56;;;2068:18;;:::i;:::-;-1:-1:-1;2134:2:310;2113:15;-1:-1:-1;;2109:29:310;2140:4;2105:40;;1965:186::o;2156:336::-;2220:5;2249:52;2265:35;2293:6;2265:35;:::i;:::-;2249:52;:::i;:::-;2240:61;;2324:6;2317:5;2310:21;2364:3;2355:6;2350:3;2346:16;2343:25;2340:45;;;2381:1;2378;2371:12;2340:45;2430:6;2425:3;2418:4;2411:5;2407:16;2394:43;2484:1;2477:4;2468:6;2461:5;2457:18;2453:29;2446:40;2156:336;;;;;:::o;2497:220::-;2539:5;2592:3;2585:4;2577:6;2573:17;2569:27;2559:55;;2610:1;2607;2600:12;2559:55;2632:79;2707:3;2698:6;2685:20;2678:4;2670:6;2666:17;2632:79;:::i;2722:978::-;2852:6;2860;2868;2876;2884;2892;2900;2908;2961:3;2949:9;2940:7;2936:23;2932:33;2929:53;;;2978:1;2975;2968:12;2929:53;3014:9;3001:23;2991:33;;3043:36;3075:2;3064:9;3060:18;3043:36;:::i;:::-;3033:46;;3130:2;3119:9;3115:18;3102:32;-1:-1:-1;;;;;3194:2:310;3186:6;3183:14;3180:34;;;3210:1;3207;3200:12;3180:34;3249:59;3300:7;3291:6;3280:9;3276:22;3249:59;:::i;:::-;3327:8;;-1:-1:-1;3223:85:310;-1:-1:-1;3415:2:310;3400:18;;3387:32;;-1:-1:-1;3431:16:310;;;3428:36;;;3460:1;3457;3450:12;3428:36;;3483:51;3526:7;3515:8;3504:9;3500:24;3483:51;:::i;:::-;3473:61;;;3553:37;3585:3;3574:9;3570:19;3553:37;:::i;:::-;3543:47;;3637:3;3626:9;3622:19;3609:33;3599:43;;3689:3;3678:9;3674:19;3661:33;3651:43;;2722:978;;;;;;;;;;;:::o;3705:180::-;3764:6;3817:2;3805:9;3796:7;3792:23;3788:32;3785:52;;;3833:1;3830;3823:12;3785:52;-1:-1:-1;3856:23:310;;3705:180;-1:-1:-1;3705:180:310:o;3890:250::-;3975:1;3985:113;3999:6;3996:1;3993:13;3985:113;;;4075:11;;;4069:18;4056:11;;;4049:39;4021:2;4014:10;3985:113;;;-1:-1:-1;;4132:1:310;4114:16;;4107:27;3890:250::o;4145:271::-;4187:3;4225:5;4219:12;4252:6;4247:3;4240:19;4268:76;4337:6;4330:4;4325:3;4321:14;4314:4;4307:5;4303:16;4268:76;:::i;:::-;4398:2;4377:15;-1:-1:-1;;4373:29:310;4364:39;;;;4405:4;4360:50;;4145:271;-1:-1:-1;;4145:271:310:o;4421:220::-;4570:2;4559:9;4552:21;4533:4;4590:45;4631:2;4620:9;4616:18;4608:6;4590:45;:::i;4854:131::-;-1:-1:-1;;;;;4929:31:310;;4919:42;;4909:70;;4975:1;4972;4965:12;4990:665;5085:6;5093;5101;5109;5162:3;5150:9;5141:7;5137:23;5133:33;5130:53;;;5179:1;5176;5169:12;5130:53;5218:9;5205:23;5237:31;5262:5;5237:31;:::i;:::-;5287:5;-1:-1:-1;5344:2:310;5329:18;;5316:32;5357:33;5316:32;5357:33;:::i;:::-;5409:7;-1:-1:-1;5463:2:310;5448:18;;5435:32;;-1:-1:-1;5518:2:310;5503:18;;5490:32;-1:-1:-1;;;;;5534:30:310;;5531:50;;;5577:1;5574;5567:12;5531:50;5600:49;5641:7;5632:6;5621:9;5617:22;5600:49;:::i;:::-;5590:59;;;4990:665;;;;;;;:::o;5867:183::-;5927:4;-1:-1:-1;;;;;5952:6:310;5949:30;5946:56;;;5982:18;;:::i;:::-;-1:-1:-1;6027:1:310;6023:14;6039:4;6019:25;;5867:183::o;6055:737::-;6109:5;6162:3;6155:4;6147:6;6143:17;6139:27;6129:55;;6180:1;6177;6170:12;6129:55;6216:6;6203:20;6242:4;6266:60;6282:43;6322:2;6282:43;:::i;6266:60::-;6360:15;;;6446:1;6442:10;;;;6430:23;;6426:32;;;6391:12;;;;6470:15;;;6467:35;;;6498:1;6495;6488:12;6467:35;6534:2;6526:6;6522:15;6546:217;6562:6;6557:3;6554:15;6546:217;;;6642:3;6629:17;6659:31;6684:5;6659:31;:::i;:::-;6703:18;;6741:12;;;;6579;;6546:217;;;-1:-1:-1;6781:5:310;6055:737;-1:-1:-1;;;;;;6055:737:310:o;6797:662::-;6851:5;6904:3;6897:4;6889:6;6885:17;6881:27;6871:55;;6922:1;6919;6912:12;6871:55;6958:6;6945:20;6984:4;7008:60;7024:43;7064:2;7024:43;:::i;7008:60::-;7102:15;;;7188:1;7184:10;;;;7172:23;;7168:32;;;7133:12;;;;7212:15;;;7209:35;;;7240:1;7237;7230:12;7209:35;7276:2;7268:6;7264:15;7288:142;7304:6;7299:3;7296:15;7288:142;;;7370:17;;7358:30;;7408:12;;;;7321;;7288:142;;7464:886;7516:5;7569:3;7562:4;7554:6;7550:17;7546:27;7536:55;;7587:1;7584;7577:12;7536:55;7623:6;7610:20;7649:4;7673:60;7689:43;7729:2;7689:43;:::i;7673:60::-;7767:15;;;7853:1;7849:10;;;;7837:23;;7833:32;;;7798:12;;;;7877:15;;;7874:35;;;7905:1;7902;7895:12;7874:35;7941:2;7933:6;7929:15;7953:368;7969:6;7964:3;7961:15;7953:368;;;8055:3;8042:17;-1:-1:-1;;;;;8078:11:310;8075:35;8072:125;;;8151:1;8180:2;8176;8169:14;8072:125;8222:56;8274:3;8269:2;8255:11;8247:6;8243:24;8239:33;8222:56;:::i;:::-;8210:69;;-1:-1:-1;8299:12:310;;;;7986;;7953:368;;8355:897;8525:6;8533;8541;8549;8602:3;8590:9;8581:7;8577:23;8573:33;8570:53;;;8619:1;8616;8609:12;8570:53;8659:9;8646:23;-1:-1:-1;;;;;8729:2:310;8721:6;8718:14;8715:34;;;8745:1;8742;8735:12;8715:34;8768:61;8821:7;8812:6;8801:9;8797:22;8768:61;:::i;:::-;8758:71;;8882:2;8871:9;8867:18;8854:32;8838:48;;8911:2;8901:8;8898:16;8895:36;;;8927:1;8924;8917:12;8895:36;8950:63;9005:7;8994:8;8983:9;8979:24;8950:63;:::i;:::-;8940:73;;9066:2;9055:9;9051:18;9038:32;9022:48;;9095:2;9085:8;9082:16;9079:36;;;9111:1;9108;9101:12;9079:36;;9134:61;9187:7;9176:8;9165:9;9161:24;9134:61;:::i;:::-;8355:897;;;;-1:-1:-1;9124:71:310;;9242:2;9227:18;9214:32;;-1:-1:-1;;;8355:897:310:o;9439:458::-;9530:6;9538;9546;9554;9562;9615:3;9603:9;9594:7;9590:23;9586:33;9583:53;;;9632:1;9629;9622:12;9583:53;9668:9;9655:23;9645:33;;9697:36;9729:2;9718:9;9714:18;9697:36;:::i;:::-;9687:46;;9752:36;9784:2;9773:9;9769:18;9752:36;:::i;:::-;9439:458;;;;-1:-1:-1;9742:46:310;;9835:2;9820:18;;9807:32;;-1:-1:-1;9886:3:310;9871:19;9858:33;;9439:458;-1:-1:-1;;9439:458:310:o;9902:127::-;9963:10;9958:3;9954:20;9951:1;9944:31;9994:4;9991:1;9984:15;10018:4;10015:1;10008:15;10034:346;10184:2;10169:18;;10217:1;10206:13;;10196:144;;10262:10;10257:3;10253:20;10250:1;10243:31;10297:4;10294:1;10287:15;10325:4;10322:1;10315:15;10196:144;10349:25;;;10034:346;:::o;10385:315::-;10453:6;10461;10514:2;10502:9;10493:7;10489:23;10485:32;10482:52;;;10530:1;10527;10520:12;10482:52;10566:9;10553:23;10543:33;;10626:2;10615:9;10611:18;10598:32;10639:31;10664:5;10639:31;:::i;:::-;10689:5;10679:15;;;10385:315;;;;;:::o;11029:250::-;11095:6;11103;11156:2;11144:9;11135:7;11131:23;11127:32;11124:52;;;11172:1;11169;11162:12;11124:52;11208:9;11195:23;11185:33;;11237:36;11269:2;11258:9;11254:18;11237:36;:::i;:::-;11227:46;;11029:250;;;;;:::o;11284:769::-;11389:6;11397;11405;11413;11421;11474:3;11462:9;11453:7;11449:23;11445:33;11442:53;;;11491:1;11488;11481:12;11442:53;11527:9;11514:23;11504:33;;11556:36;11588:2;11577:9;11573:18;11556:36;:::i;:::-;11546:46;;11643:2;11632:9;11628:18;11615:32;-1:-1:-1;;;;;11707:2:310;11699:6;11696:14;11693:34;;;11723:1;11720;11713:12;11693:34;11762:59;11813:7;11804:6;11793:9;11789:22;11762:59;:::i;:::-;11840:8;;-1:-1:-1;11736:85:310;-1:-1:-1;11928:2:310;11913:18;;11900:32;;-1:-1:-1;11944:16:310;;;11941:36;;;11973:1;11970;11963:12;11941:36;;11996:51;12039:7;12028:8;12017:9;12013:24;11996:51;:::i;:::-;11986:61;;;11284:769;;;;;;;;:::o;12058:549::-;12145:6;12153;12161;12169;12222:2;12210:9;12201:7;12197:23;12193:32;12190:52;;;12238:1;12235;12228:12;12190:52;12274:9;12261:23;12251:33;;12303:36;12335:2;12324:9;12320:18;12303:36;:::i;:::-;12293:46;;12390:2;12379:9;12375:18;12362:32;-1:-1:-1;;;;;12409:6:310;12406:30;12403:50;;;12449:1;12446;12439:12;12403:50;12488:59;12539:7;12530:6;12519:9;12515:22;12488:59;:::i;:::-;12058:549;;;;-1:-1:-1;12566:8:310;-1:-1:-1;;;;12058:549:310:o;12612:1157::-;12792:6;12800;12808;12816;12869:3;12857:9;12848:7;12844:23;12840:33;12837:53;;;12886:1;12883;12876:12;12837:53;12926:9;12913:23;-1:-1:-1;;;;;12996:2:310;12988:6;12985:14;12982:34;;;13012:1;13009;13002:12;12982:34;13035:61;13088:7;13079:6;13068:9;13064:22;13035:61;:::i;:::-;13025:71;;13149:2;13138:9;13134:18;13121:32;13105:48;;13178:2;13168:8;13165:16;13162:36;;;13194:1;13191;13184:12;13162:36;13217:63;13272:7;13261:8;13250:9;13246:24;13217:63;:::i;:::-;13207:73;;13333:2;13322:9;13318:18;13305:32;13289:48;;13362:2;13352:8;13349:16;13346:36;;;13378:1;13375;13368:12;13346:36;13401:61;13454:7;13443:8;13432:9;13428:24;13401:61;:::i;:::-;13391:71;;13515:2;13504:9;13500:18;13487:32;13471:48;;13544:2;13534:8;13531:16;13528:36;;;13560:1;13557;13550:12;13528:36;-1:-1:-1;13583:24:310;;13638:4;13630:13;;13626:27;-1:-1:-1;13616:55:310;;13667:1;13664;13657:12;13616:55;13690:73;13755:7;13750:2;13737:16;13732:2;13728;13724:11;13690:73;:::i;13774:435::-;13827:3;13865:5;13859:12;13892:6;13887:3;13880:19;13918:4;13947:2;13942:3;13938:12;13931:19;;13984:2;13977:5;13973:14;14005:1;14015:169;14029:6;14026:1;14023:13;14015:169;;;14090:13;;14078:26;;14124:12;;;;14159:15;;;;14051:1;14044:9;14015:169;;;-1:-1:-1;14200:3:310;;13774:435;-1:-1:-1;;;;;13774:435:310:o;14214:920::-;14620:3;14615;14611:13;14603:6;14599:26;14588:9;14581:45;14662:3;14657:2;14646:9;14642:18;14635:31;14562:4;14689:46;14730:3;14719:9;14715:19;14707:6;14689:46;:::i;:::-;14783:9;14775:6;14771:22;14766:2;14755:9;14751:18;14744:50;14817:33;14843:6;14835;14817:33;:::i;:::-;14881:2;14866:18;;14859:34;;;-1:-1:-1;;;;;14930:32:310;;14924:3;14909:19;;14902:61;14950:3;14979:19;;14972:35;;;15044:22;;;15038:3;15023:19;;15016:51;14803:47;-1:-1:-1;15084:44:310;14803:47;15113:6;15084:44;:::i;15340:523::-;15426:6;15434;15442;15495:2;15483:9;15474:7;15470:23;15466:32;15463:52;;;15511:1;15508;15501:12;15463:52;15550:9;15537:23;15569:31;15594:5;15569:31;:::i;:::-;15619:5;-1:-1:-1;15671:2:310;15656:18;;15643:32;;-1:-1:-1;15726:2:310;15711:18;;15698:32;-1:-1:-1;;;;;15742:30:310;;15739:50;;;15785:1;15782;15775:12;15739:50;15808:49;15849:7;15840:6;15829:9;15825:22;15808:49;:::i;:::-;15798:59;;;15340:523;;;;;:::o;15868:274::-;15954:6;16007:2;15995:9;15986:7;15982:23;15978:32;15975:52;;;16023:1;16020;16013:12;15975:52;16062:9;16049:23;16081:31;16106:5;16081:31;:::i;16147:1071::-;16301:6;16309;16317;16325;16333;16386:3;16374:9;16365:7;16361:23;16357:33;16354:53;;;16403:1;16400;16393:12;16354:53;16442:9;16429:23;16461:31;16486:5;16461:31;:::i;:::-;16511:5;-1:-1:-1;16568:2:310;16553:18;;16540:32;16581:33;16540:32;16581:33;:::i;:::-;16633:7;-1:-1:-1;16691:2:310;16676:18;;16663:32;-1:-1:-1;;;;;16744:14:310;;;16741:34;;;16771:1;16768;16761:12;16741:34;16794:61;16847:7;16838:6;16827:9;16823:22;16794:61;:::i;:::-;16784:71;;16908:2;16897:9;16893:18;16880:32;16864:48;;16937:2;16927:8;16924:16;16921:36;;;16953:1;16950;16943:12;16921:36;16976:63;17031:7;17020:8;17009:9;17005:24;16976:63;:::i;:::-;16966:73;;17092:3;17081:9;17077:19;17064:33;17048:49;;17122:2;17112:8;17109:16;17106:36;;;17138:1;17135;17128:12;17223:613;17311:6;17319;17327;17335;17388:2;17376:9;17367:7;17363:23;17359:32;17356:52;;;17404:1;17401;17394:12;17356:52;17443:9;17430:23;17462:31;17487:5;17462:31;:::i;:::-;17512:5;-1:-1:-1;17564:2:310;17549:18;;17536:32;;-1:-1:-1;17619:2:310;17604:18;;17591:32;-1:-1:-1;;;;;17635:30:310;;17632:50;;;17678:1;17675;17668:12;17841:315;17909:6;17917;17970:2;17958:9;17949:7;17945:23;17941:32;17938:52;;;17986:1;17983;17976:12;17938:52;18025:9;18012:23;18044:31;18069:5;18044:31;:::i;:::-;18094:5;18146:2;18131:18;;;;18118:32;;-1:-1:-1;;;17841:315:310:o;18161:734::-;18265:6;18273;18281;18289;18297;18350:3;18338:9;18329:7;18325:23;18321:33;18318:53;;;18367:1;18364;18357:12;18318:53;18406:9;18393:23;18425:31;18450:5;18425:31;:::i;:::-;18475:5;-1:-1:-1;18532:2:310;18517:18;;18504:32;18545:33;18504:32;18545:33;:::i;:::-;18597:7;-1:-1:-1;18651:2:310;18636:18;;18623:32;;-1:-1:-1;18702:2:310;18687:18;;18674:32;;-1:-1:-1;18757:3:310;18742:19;;18729:33;-1:-1:-1;;;;;18774:30:310;;18771:50;;;18817:1;18814;18807:12;18771:50;18840:49;18881:7;18872:6;18861:9;18857:22;18840:49;:::i;19126:271::-;19309:6;19301;19296:3;19283:33;19265:3;19335:16;;19360:13;;;19335:16;19126:271;-1:-1:-1;19126:271:310:o;19877:348::-;20079:2;20061:21;;;20118:2;20098:18;;;20091:30;20157:26;20152:2;20137:18;;20130:54;20216:2;20201:18;;19877:348::o;20230:380::-;20309:1;20305:12;;;;20352;;;20373:61;;20427:4;20419:6;20415:17;20405:27;;20373:61;20480:2;20472:6;20469:14;20449:18;20446:38;20443:161;;20526:10;20521:3;20517:20;20514:1;20507:31;20561:4;20558:1;20551:15;20589:4;20586:1;20579:15;20443:161;;20230:380;;;:::o;20615:397::-;20817:2;20799:21;;;20856:2;20836:18;;;20829:30;20895:34;20890:2;20875:18;;20868:62;-1:-1:-1;;;20961:2:310;20946:18;;20939:31;21002:3;20987:19;;20615:397::o;21017:184::-;21087:6;21140:2;21128:9;21119:7;21115:23;21111:32;21108:52;;;21156:1;21153;21146:12;21108:52;-1:-1:-1;21179:16:310;;21017:184;-1:-1:-1;21017:184:310:o;21206:461::-;21259:3;21297:5;21291:12;21324:6;21319:3;21312:19;21350:4;21379:2;21374:3;21370:12;21363:19;;21416:2;21409:5;21405:14;21437:1;21447:195;21461:6;21458:1;21455:13;21447:195;;;21526:13;;-1:-1:-1;;;;;21522:39:310;21510:52;;21582:12;;;;21617:15;;;;21558:1;21476:9;21447:195;;21672:615;21723:3;21761:5;21755:12;21788:6;21783:3;21776:19;21814:4;21855:2;21850:3;21846:12;21880:11;21907;21900:18;;21957:6;21954:1;21950:14;21943:5;21939:26;21927:38;;21999:2;21992:5;21988:14;22020:1;22030:231;22044:6;22041:1;22038:13;22030:231;;;22115:5;22109:4;22105:16;22100:3;22093:29;22143:38;22176:4;22167:6;22161:13;22143:38;:::i;:::-;22239:12;;;;22135:46;-1:-1:-1;22204:15:310;;;;22066:1;22059:9;22030:231;;;-1:-1:-1;22277:4:310;;21672:615;-1:-1:-1;;;;;;;21672:615:310:o;22292:838::-;22709:3;22698:9;22691:22;22672:4;22736:57;22788:3;22777:9;22773:19;22765:6;22736:57;:::i;:::-;22841:9;22833:6;22829:22;22824:2;22813:9;22809:18;22802:50;22875:44;22912:6;22904;22875:44;:::i;:::-;22861:58;;22967:9;22959:6;22955:22;22950:2;22939:9;22935:18;22928:50;22995:42;23030:6;23022;22995:42;:::i;:::-;23068:2;23053:18;;23046:34;;;;-1:-1:-1;;23111:3:310;23096:19;23089:35;22987:50;22292:838;-1:-1:-1;;;22292:838:310:o;23324:910::-;23769:3;23758:9;23751:22;23732:4;23796:57;23848:3;23837:9;23833:19;23825:6;23796:57;:::i;:::-;23901:9;23893:6;23889:22;23884:2;23873:9;23869:18;23862:50;23935:44;23972:6;23964;23935:44;:::i;:::-;23921:58;;24027:9;24019:6;24015:22;24010:2;23999:9;23995:18;23988:50;24055:42;24090:6;24082;24055:42;:::i;:::-;24128:2;24113:18;;24106:34;;;;-1:-1:-1;;24171:3:310;24156:19;;24149:35;;;;24215:3;24200:19;;;24193:35;24047:50;23324:910;-1:-1:-1;;;23324:910:310:o;24239:127::-;24300:10;24295:3;24291:20;24288:1;24281:31;24331:4;24328:1;24321:15;24355:4;24352:1;24345:15;24371:125;24436:9;;;24457:10;;;24454:36;;;24470:18;;:::i;25845:648::-;25925:6;25978:2;25966:9;25957:7;25953:23;25949:32;25946:52;;;25994:1;25991;25984:12;25946:52;26027:9;26021:16;-1:-1:-1;;;;;26052:6:310;26049:30;26046:50;;;26092:1;26089;26082:12;26046:50;26115:22;;26168:4;26160:13;;26156:27;-1:-1:-1;26146:55:310;;26197:1;26194;26187:12;26146:55;26226:2;26220:9;26251:48;26267:31;26295:2;26267:31;:::i;26251:48::-;26322:2;26315:5;26308:17;26362:7;26357:2;26352;26348;26344:11;26340:20;26337:33;26334:53;;;26383:1;26380;26373:12;26334:53;26396:67;26460:2;26455;26448:5;26444:14;26439:2;26435;26431:11;26396:67;:::i;26498:128::-;26565:9;;;26586:11;;;26583:37;;;26600:18;;:::i;26631:127::-;26692:10;26687:3;26683:20;26680:1;26673:31;26723:4;26720:1;26713:15;26747:4;26744:1;26737:15;26763:284;26832:6;26885:2;26873:9;26864:7;26860:23;26856:32;26853:52;;;26901:1;26898;26891:12;26853:52;26933:9;26927:16;26983:14;26976:5;26972:26;26965:5;26962:37;26952:65;;27013:1;27010;27003:12;27052:758;27433:3;27422:9;27415:22;27396:4;27460:57;27512:3;27501:9;27497:19;27489:6;27460:57;:::i;:::-;27565:9;27557:6;27553:22;27548:2;27537:9;27533:18;27526:50;27599:44;27636:6;27628;27599:44;:::i;:::-;27585:58;;27691:9;27683:6;27679:22;27674:2;27663:9;27659:18;27652:50;27719:42;27754:6;27746;27719:42;:::i;:::-;27711:50;;;27797:6;27792:2;27781:9;27777:18;27770:34;27052:758;;;;;;;:::o;28219:442::-;28448:6;28437:9;28430:25;28503:4;28495:6;28491:17;28486:2;28475:9;28471:18;28464:45;28545:6;28540:2;28529:9;28525:18;28518:34;28588:3;28583:2;28572:9;28568:18;28561:31;28411:4;28609:46;28650:3;28639:9;28635:19;28627:6;28609:46;:::i;28666:604::-;28941:6;28930:9;28923:25;28996:4;28988:6;28984:17;28979:2;28968:9;28964:18;28957:45;29038:6;29033:2;29022:9;29018:18;29011:34;29081:3;29076:2;29065:9;29061:18;29054:31;28904:4;29108:46;29149:3;29138:9;29134:19;29126:6;29108:46;:::i;:::-;29203:9;29195:6;29191:22;29185:3;29174:9;29170:19;29163:51;29231:33;29257:6;29249;29231:33;:::i;:::-;29223:41;28666:604;-1:-1:-1;;;;;;;;28666:604:310:o;29751:135::-;29790:3;29811:17;;;29808:43;;29831:18;;:::i;:::-;-1:-1:-1;29878:1:310;29867:13;;29751:135::o;29891:277::-;29958:6;30011:2;29999:9;29990:7;29986:23;29982:32;29979:52;;;30027:1;30024;30017:12;29979:52;30059:9;30053:16;30112:5;30105:13;30098:21;30091:5;30088:32;30078:60;;30134:1;30131;30124:12;31575:168;31648:9;;;31679;;31696:15;;;31690:22;;31676:37;31666:71;;31717:18;;:::i;31748:127::-;31809:10;31804:3;31800:20;31797:1;31790:31;31840:4;31837:1;31830:15;31864:4;31861:1;31854:15;31880:217;31920:1;31946;31936:132;;31990:10;31985:3;31981:20;31978:1;31971:31;32025:4;32022:1;32015:15;32053:4;32050:1;32043:15;31936:132;-1:-1:-1;32082:9:310;;31880:217::o;35993:397::-;36195:2;36177:21;;;36234:2;36214:18;;;36207:30;36273:34;36268:2;36253:18;;36246:62;-1:-1:-1;;;36339:2:310;36324:18;;36317:31;36380:3;36365:19;;35993:397::o;37150:1864::-;37724:4;37753:3;37783:6;37772:9;37765:25;37809:2;37876:1;37872;37867:3;37863:11;37859:19;37851:6;37847:32;37842:2;37831:9;37827:18;37820:60;37916:2;37911;37900:9;37896:18;37889:30;37942:56;37994:2;37983:9;37979:18;37971:6;37942:56;:::i;:::-;37928:70;;38046:9;38038:6;38034:22;38029:2;38018:9;38014:18;38007:50;38080:44;38117:6;38109;38080:44;:::i;:::-;38066:58;;38173:9;38165:6;38161:22;38155:3;38144:9;38140:19;38133:51;38204:6;38239;38233:13;38270:6;38262;38255:22;38305:2;38297:6;38293:15;38286:22;;38364:2;38354:6;38351:1;38347:14;38339:6;38335:27;38331:36;38402:2;38394:6;38390:15;38423:1;38433:252;38447:6;38444:1;38441:13;38433:252;;;38537:2;38533:7;38524:6;38516;38512:19;38508:33;38503:3;38496:46;38565:40;38598:6;38589;38583:13;38565:40;:::i;:::-;38663:12;;;;38555:50;-1:-1:-1;38628:15:310;;;;38469:1;38462:9;38433:252;;;38437:3;;38734:9;38726:6;38722:22;38716:3;38705:9;38701:19;38694:51;38768:42;38803:6;38795;38768:42;:::i;:::-;38754:56;;;;;;38847:6;38841:3;38830:9;38826:19;38819:35;38891:6;38885:3;38874:9;38870:19;38863:35;38947:9;38939:6;38935:22;38929:3;38918:9;38914:19;38907:51;38975:33;39001:6;38993;38975:33;:::i;:::-;38967:41;37150:1864;-1:-1:-1;;;;;;;;;;;;37150:1864:310:o","linkReferences":{},"immutableReferences":{"34893":[{"start":8469,"length":32}],"34895":[{"start":8427,"length":32}],"34897":[{"start":8385,"length":32}],"34899":[{"start":8550,"length":32}],"34901":[{"start":8590,"length":32}],"34904":[{"start":4664,"length":32}],"34907":[{"start":4706,"length":32}],"9311":[{"start":2346,"length":32},{"start":4086,"length":32},{"start":4788,"length":32},{"start":7767,"length":32},{"start":8085,"length":32}]}},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","cancel(address[],uint256[],bytes[],bytes32)":"452115d6","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","clock()":"91ddadf4","eip712Domain()":"84b0196e","execute(address[],uint256[],bytes[],bytes32)":"2656227d","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalEta(uint256)":"ab58fb8e","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","proposalVotes(uint256)":"544ffc9c","propose(address[],uint256[],bytes[],string)":"7d5e81e2","queue(address[],uint256[],bytes[],bytes32)":"160cbed7","quorum(uint256)":"f8ce560a","quorumDenominator()":"97c3d334","quorumNumerator()":"a7713a70","quorumNumerator(uint256)":"60c4247f","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","timelock()":"d33219b4","token()":"fc0c546a","updateQuorumNumerator(uint256)":"06f3f9e6","updateTimelock(address)":"a890c910","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVotes\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract TimelockController\",\"name\":\"_timelock\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"eta\",\"type\":\"uint256\"}],\"name\":\"ProposalQueued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldQuorumNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"QuorumNumeratorUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldTimelock\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"TimelockChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalEta\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"abstainVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"queue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timelock\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC5805\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuorumNumerator\",\"type\":\"uint256\"}],\"name\":\"updateQuorumNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TimelockController\",\"name\":\"newTimelock\",\"type\":\"address\"}],\"name\":\"updateTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"TimelockChange(address,address)\":{\"details\":\"Emitted when the timelock controller used for proposal execution is modified.\"},\"VoteCast(address,uint256,uint8,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)\":{\"details\":\"Emitted when a vote is cast with params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used. `params` are additional encoded parameters. Their interpepretation also depends on the voting module used.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"See {IGovernor-COUNTING_MODE}.\"},\"cancel(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-cancel}.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"clock()\":{\"details\":\"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hasVoted(uint256,address)\":{\"details\":\"See {IGovernor-hasVoted}.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalEta(uint256)\":{\"details\":\"Public accessor to check the eta of a queued proposal\"},\"proposalProposer(uint256)\":{\"details\":\"Returns the account that created a given proposal.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"proposalVotes(uint256)\":{\"details\":\"Accessor to the internal vote counts.\"},\"queue(address[],uint256[],bytes[],bytes32)\":{\"details\":\"Function to queue a proposal to the timelock.\"},\"quorumDenominator()\":{\"details\":\"Returns the quorum denominator. Defaults to 100, but may be overridden.\"},\"quorumNumerator()\":{\"details\":\"Returns the current quorum numerator. See {quorumDenominator}.\"},\"quorumNumerator(uint256)\":{\"details\":\"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}.\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"timelock()\":{\"details\":\"Public accessor to check the address of the timelock\"},\"updateQuorumNumerator(uint256)\":{\"details\":\"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator.\"},\"updateTimelock(address)\":{\"details\":\"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, between the proposal is created and the vote starts. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. This can be increased to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol\":\"MyGovernor2\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/governance/Governor.sol\":{\"keccak256\":\"0x471e9425ad9a182c6abdc02bc408ca788b935c31c3bfa3e80b7cb556448ecb8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60fba870e97eb84b145fff2df01da8dad8e26e2d540c4f7ae22615e8d4511be4\",\"dweb:/ipfs/QmbJegvJ16YAyiVP3J8oFun4zsoPfjj1KEJ6ZtWgJYffyw\"]},\"lib/openzeppelin-contracts/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0x2bca164e61152f22bd4be7f444d40a46f7b13aa3b7b7fd6b45aa2d869e72f6d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ed8cf61b5ec618f839ca35fd2d614aa83f252930dcc1c9fdf6259d6e381644d\",\"dweb:/ipfs/QmSjHjCsr9aSudtFJWZ1Pj76FVzUEEpwmFBGnxoRftVN7g\"]},\"lib/openzeppelin-contracts/contracts/governance/TimelockController.sol\":{\"keccak256\":\"0xda2a70247fda81633d9392f567a401c4772837de6b0543c1c561ca632a2fe7f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd567456650ac72d05f3404d18f8aef0380a4f67af13b22511420fe62356578\",\"dweb:/ipfs/QmaHEYxbViAxdemxghGfstYQFXWswyWtBaPKPwCEAnv3xM\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol\":{\"keccak256\":\"0x42f5e97a7010e44b312beeadbf5e5e183bc8a08f8953ee9e270b69f16249a632\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57667020ad6ab50f89b1cd6865644f34532d0d617abf4ea292c393c8a0d9b3d6\",\"dweb:/ipfs/QmV2eENAmJfmAKSKjUMtGEscYTB2L5giUxVeA9fNeXmgQC\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol\":{\"keccak256\":\"0x31907aa581adbb35e29c8d2b0490044b57f4b4c897b44d4d2af78e4226548abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8307e7f2a9466f3ffdf6e1c7ab85297424ba1a102bd8635a72fd23e79808b536\",\"dweb:/ipfs/QmcQRGoS77Yv4tD32bjn1qL966CtsN7WJLoxsDbtqRYSXE\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol\":{\"keccak256\":\"0xb125bceaafda4f181bee623c3a665ba7f5c928258eb67c77418ae903246c74ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ede896014ea236303e7850c7aa540d18614a553347f74e9a5a502c8b0bcca2cf\",\"dweb:/ipfs/QmTKUfsw4F1oNvN15eYe5HTVUA54WrD5qE6SQ5MvHGbVcc\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol\":{\"keccak256\":\"0x0272a2c5aff31e5f2398369598c2694eee19986f3b1c43a578b4252555ba2a08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df8bca39a5ba89bfd8becbc09dc5f66dc2bde7c0a3722d6c7452f1395609fac9\",\"dweb:/ipfs/QmXqwvZWPLTAS7LrPJS7LBAywc3JWoLGhah1eSM4JvqzFW\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol\":{\"keccak256\":\"0x806f81d08cf596c55f544d1d7b09fb2636e9fb7f2625020a301b288379635252\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ae93259b78896d323ebbf520e8c59384c7a48a9f279272bd7ff40b4966b0aa3\",\"dweb:/ipfs/QmSJQVjYnoFYM4Go8URnzjfkYkPwBTrbiyQRwUTQAApsBK\"]},\"lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol\":{\"keccak256\":\"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614\",\"dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol\":{\"keccak256\":\"0x16c4193680bc7dd53b46d8a1702320384818b31ba400741f58f532eaf6f9ddb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5821a8bcadd33e4381bef9fb97e3edd9451b24fe2c25edbff571fb9369e6be3d\",\"dweb:/ipfs/QmScsLy7R5B1Gg9JmKjFk7dX1MEMMCXh4CeVBZ6441Y4WA\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xb5fbb623dec53bb9b6c1b738b4ab6540a04ac5dc2ac94d95fa3ebfd22898559c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a6e7f26c0c688a987c19c8b0997c7e47c33f7717b6293a487afe8429d95b8e7\",\"dweb:/ipfs/QmVrmXcQ7KLM5fw4PWeJ8j4nnmfHkjpFPariMMh5UvsEVD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IVotes","name":"_token","type":"address"},{"internalType":"contract TimelockController","name":"_timelock","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"Empty"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCanceled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"proposer","type":"address","indexed":false},{"internalType":"address[]","name":"targets","type":"address[]","indexed":false},{"internalType":"uint256[]","name":"values","type":"uint256[]","indexed":false},{"internalType":"string[]","name":"signatures","type":"string[]","indexed":false},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]","indexed":false},{"internalType":"uint256","name":"voteStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"voteEnd","type":"uint256","indexed":false},{"internalType":"string","name":"description","type":"string","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalExecuted","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"eta","type":"uint256","indexed":false}],"type":"event","name":"ProposalQueued","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldQuorumNumerator","type":"uint256","indexed":false},{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256","indexed":false}],"type":"event","name":"QuorumNumeratorUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldTimelock","type":"address","indexed":false},{"internalType":"address","name":"newTimelock","type":"address","indexed":false}],"type":"event","name":"TimelockChange","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"VoteCast","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false},{"internalType":"bytes","name":"params","type":"bytes","indexed":false}],"type":"event","name":"VoteCastWithParams","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"view","type":"function","name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalEta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalVotes","outputs":[{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"abstainVotes","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"queue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"quorumDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"quorumNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"relay"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"timelock","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IERC5805","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"newQuorumNumerator","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateQuorumNumerator"},{"inputs":[{"internalType":"contract TimelockController","name":"newTimelock","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTimelock"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"COUNTING_MODE()":{"details":"See {IGovernor-COUNTING_MODE}."},"cancel(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-cancel}."},"castVote(uint256,uint8)":{"details":"See {IGovernor-castVote}."},"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":{"details":"See {IGovernor-castVoteBySig}."},"castVoteWithReason(uint256,uint8,string)":{"details":"See {IGovernor-castVoteWithReason}."},"castVoteWithReasonAndParams(uint256,uint8,string,bytes)":{"details":"See {IGovernor-castVoteWithReasonAndParams}."},"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":{"details":"See {IGovernor-castVoteWithReasonAndParamsBySig}."},"clock()":{"details":"Clock (as specified in EIP-6372) is set to match the token's clock. Fallback to block numbers if the token does not implement EIP-6372."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"execute(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-execute}."},"getVotes(address,uint256)":{"details":"See {IGovernor-getVotes}."},"getVotesWithParams(address,uint256,bytes)":{"details":"See {IGovernor-getVotesWithParams}."},"hasVoted(uint256,address)":{"details":"See {IGovernor-hasVoted}."},"hashProposal(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts."},"name()":{"details":"See {IGovernor-name}."},"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"See {IERC1155Receiver-onERC1155BatchReceived}."},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"See {IERC1155Receiver-onERC1155Received}."},"onERC721Received(address,address,uint256,bytes)":{"details":"See {IERC721Receiver-onERC721Received}."},"proposalDeadline(uint256)":{"details":"See {IGovernor-proposalDeadline}."},"proposalEta(uint256)":{"details":"Public accessor to check the eta of a queued proposal"},"proposalProposer(uint256)":{"details":"Returns the account that created a given proposal."},"proposalSnapshot(uint256)":{"details":"See {IGovernor-proposalSnapshot}."},"proposalThreshold()":{"details":"Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_."},"proposalVotes(uint256)":{"details":"Accessor to the internal vote counts."},"queue(address[],uint256[],bytes[],bytes32)":{"details":"Function to queue a proposal to the timelock."},"quorumDenominator()":{"details":"Returns the quorum denominator. Defaults to 100, but may be overridden."},"quorumNumerator()":{"details":"Returns the current quorum numerator. See {quorumDenominator}."},"quorumNumerator(uint256)":{"details":"Returns the quorum numerator at a specific timepoint. See {quorumDenominator}."},"relay(address,uint256,bytes)":{"details":"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant."},"timelock()":{"details":"Public accessor to check the address of the timelock"},"updateQuorumNumerator(uint256)":{"details":"Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator."},"updateTimelock(address)":{"details":"Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals."},"version()":{"details":"See {IGovernor-version}."},"votingDelay()":{"details":"Delay, between the proposal is created and the vote starts. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. This can be increased to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts."},"votingPeriod()":{"details":"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay."}},"version":1},"userdoc":{"kind":"user","methods":{"votingDelay()":{"notice":"module:user-config"},"votingPeriod()":{"notice":"module:user-config"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol":"MyGovernor2"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/Governor.sol":{"keccak256":"0x471e9425ad9a182c6abdc02bc408ca788b935c31c3bfa3e80b7cb556448ecb8f","urls":["bzz-raw://60fba870e97eb84b145fff2df01da8dad8e26e2d540c4f7ae22615e8d4511be4","dweb:/ipfs/QmbJegvJ16YAyiVP3J8oFun4zsoPfjj1KEJ6ZtWgJYffyw"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/IGovernor.sol":{"keccak256":"0x2bca164e61152f22bd4be7f444d40a46f7b13aa3b7b7fd6b45aa2d869e72f6d7","urls":["bzz-raw://5ed8cf61b5ec618f839ca35fd2d614aa83f252930dcc1c9fdf6259d6e381644d","dweb:/ipfs/QmSjHjCsr9aSudtFJWZ1Pj76FVzUEEpwmFBGnxoRftVN7g"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/TimelockController.sol":{"keccak256":"0xda2a70247fda81633d9392f567a401c4772837de6b0543c1c561ca632a2fe7f4","urls":["bzz-raw://3fd567456650ac72d05f3404d18f8aef0380a4f67af13b22511420fe62356578","dweb:/ipfs/QmaHEYxbViAxdemxghGfstYQFXWswyWtBaPKPwCEAnv3xM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol":{"keccak256":"0x42f5e97a7010e44b312beeadbf5e5e183bc8a08f8953ee9e270b69f16249a632","urls":["bzz-raw://57667020ad6ab50f89b1cd6865644f34532d0d617abf4ea292c393c8a0d9b3d6","dweb:/ipfs/QmV2eENAmJfmAKSKjUMtGEscYTB2L5giUxVeA9fNeXmgQC"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol":{"keccak256":"0x31907aa581adbb35e29c8d2b0490044b57f4b4c897b44d4d2af78e4226548abb","urls":["bzz-raw://8307e7f2a9466f3ffdf6e1c7ab85297424ba1a102bd8635a72fd23e79808b536","dweb:/ipfs/QmcQRGoS77Yv4tD32bjn1qL966CtsN7WJLoxsDbtqRYSXE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol":{"keccak256":"0xb125bceaafda4f181bee623c3a665ba7f5c928258eb67c77418ae903246c74ac","urls":["bzz-raw://ede896014ea236303e7850c7aa540d18614a553347f74e9a5a502c8b0bcca2cf","dweb:/ipfs/QmTKUfsw4F1oNvN15eYe5HTVUA54WrD5qE6SQ5MvHGbVcc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol":{"keccak256":"0x0272a2c5aff31e5f2398369598c2694eee19986f3b1c43a578b4252555ba2a08","urls":["bzz-raw://df8bca39a5ba89bfd8becbc09dc5f66dc2bde7c0a3722d6c7452f1395609fac9","dweb:/ipfs/QmXqwvZWPLTAS7LrPJS7LBAywc3JWoLGhah1eSM4JvqzFW"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol":{"keccak256":"0x806f81d08cf596c55f544d1d7b09fb2636e9fb7f2625020a301b288379635252","urls":["bzz-raw://6ae93259b78896d323ebbf520e8c59384c7a48a9f279272bd7ff40b4966b0aa3","dweb:/ipfs/QmSJQVjYnoFYM4Go8URnzjfkYkPwBTrbiyQRwUTQAApsBK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol":{"keccak256":"0xe6234ac4ba0508a3371a46543cdf4bf3a1a404d2d3c3470006741a0da294f974","urls":["bzz-raw://f65e0806425afa3946ba400879444d73b0b9320534eaecb2c64dc3689cff0614","dweb:/ipfs/QmbpjBrErEMrx9qbS529XXbfooHfkihCj9iBz2QWiw4Xe4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a","urls":["bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb","dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol":{"keccak256":"0x16c4193680bc7dd53b46d8a1702320384818b31ba400741f58f532eaf6f9ddb7","urls":["bzz-raw://5821a8bcadd33e4381bef9fb97e3edd9451b24fe2c25edbff571fb9369e6be3d","dweb:/ipfs/QmScsLy7R5B1Gg9JmKjFk7dX1MEMMCXh4CeVBZ6441Y4WA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol":{"keccak256":"0xb5fbb623dec53bb9b6c1b738b4ab6540a04ac5dc2ac94d95fa3ebfd22898559c","urls":["bzz-raw://4a6e7f26c0c688a987c19c8b0997c7e47c33f7717b6293a487afe8429d95b8e7","dweb:/ipfs/QmVrmXcQ7KLM5fw4PWeJ8j4nnmfHkjpFPariMMh5UvsEVD"],"license":"MIT"}},"version":1},"id":151}
|