@latticexyz/world-modules 2.0.0-main-2e288aa7 → 2.0.0-main-a2e99323
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/out/AccessControl.sol/AccessControl.json +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/Allowances.sol/Allowances.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Bytes.sol/Bytes.json +1 -1
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
- package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
- package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/ERC165Checker.sol/ERC165Checker.json +1 -1
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
- package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
- package/out/ERC20System.sol/ERC20System.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
- package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
- package/out/ERC721System.sol/ERC721System.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/EncodeArray.sol/EncodeArray.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
- package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/Hook.sol/HookInstance.json +1 -1
- package/out/Hook.sol/HookLib.json +1 -1
- package/out/Hooks.sol/Hooks.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.abi.json +202 -0
- package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +202 -0
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
- package/out/IERC20System.sol/IERC20System.json +1 -1
- package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
- package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
- package/out/IModule.sol/IModule.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
- package/out/IStore.sol/IStore.abi.json +202 -0
- package/out/IStore.sol/IStore.abi.json.d.ts +202 -0
- package/out/IStore.sol/IStore.json +1 -1
- package/out/IStoreData.sol/IStoreData.json +1 -1
- package/out/IStoreErrors.sol/IStoreErrors.abi.json +204 -0
- package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +204 -0
- package/out/IStoreErrors.sol/IStoreErrors.json +1 -0
- package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
- package/out/IStoreHook.sol/IStoreHook.json +1 -1
- package/out/IStoreRead.sol/IStoreRead.json +1 -1
- package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
- package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
- package/out/ISystemHook.sol/ISystemHook.json +1 -1
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
- package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
- package/out/IWorldKernel.sol/IWorldCall.json +1 -1
- package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InitModule.sol/InitModule.json +1 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
- package/out/Memory.sol/Memory.json +1 -1
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
- package/out/Owners.sol/Owners.json +1 -1
- package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
- package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
- package/out/Puppet.sol/Puppet.json +1 -1
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
- package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
- package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
- package/out/ResourceId.sol/ResourceIdLib.json +1 -1
- package/out/ResourceIds.sol/ResourceIds.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/Schema.sol/SchemaInstance.json +1 -1
- package/out/Schema.sol/SchemaLib.json +1 -1
- package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
- package/out/Slice.sol/SliceInstance.json +1 -1
- package/out/Slice.sol/SliceLib.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/Storage.sol/Storage.json +1 -1
- package/out/StoreCore.sol/StoreCore.json +1 -1
- package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
- package/out/StoreData.sol/StoreData.json +1 -1
- package/out/StoreHook.sol/StoreHook.json +1 -1
- package/out/StoreHooks.sol/StoreHooks.json +1 -1
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.sol/SystemHook.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
- package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
- package/out/Systems.sol/Systems.json +1 -1
- package/out/Tables.sol/Tables.json +1 -1
- package/out/TightCoder.sol/TightCoder.json +1 -1
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
- package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
- package/out/TokenApproval.sol/TokenApproval.json +1 -1
- package/out/TokenURI.sol/TokenURI.json +1 -1
- package/out/TotalSupply.sol/TotalSupply.json +1 -1
- package/out/TwoFields.sol/TwoFields.json +1 -1
- package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
- package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
- package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
- package/out/constants.sol/LayoutOffsets.json +1 -1
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +202 -0
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +202 -0
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/tables/Balances.sol/Balances.json +1 -1
- package/out/world/src/IERC165.sol/IERC165.json +1 -1
- package/package.json +8 -8
- package/src/interfaces/IBaseWorld.sol +1 -0
- package/src/interfaces/IERC20System.sol +1 -0
- package/src/interfaces/IPuppetFactorySystem.sol +1 -0
- package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -0
- package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -0
- package/src/utils/AccessControlLib.sol +1 -0
- package/src/utils/SystemSwitch.sol +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayoutLib_Empty","inputs":[]},{"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b614cc380620035d383390190565b60805160a05161354c6200008760003960006102d7015260006101fb015261354c6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d57604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da57604051635318beb960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c57604051635318beb960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c57604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b604051635318beb960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614ca3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612558565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161022b565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102d0565b610308565b61013c61013783610354565b610386565b61014d610148836103c2565b6103f4565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a961017284610438565b60405161017e9061254b565b604051809103906000f08015801561019a573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020e57600080fd5b505af1158015610222573d6000803e3d6000fd5b50505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610264576102646125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610485565b90506102c88160f81c90565b949350505050565b6000610302613a3160f11b837f416c6c6f77616e6365730000000000000000000000000000000000000000000061055c565b92915050565b610351817e200100200000000000000000000000000000000000000000000000000000006103346105e3565b61033c6106a0565b6103446106da565b61034c6107b2565b610829565b50565b6000610302613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061055c565b610351817e200100200000000000000000000000000000000000000000000000000000006103b26108fc565b6103ba6106a0565b610344610936565b6000610302613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061055c565b610351817e010102010000000000000000000000000000000000000000000000000000006104206109ad565b6104286109c6565b610430610a8b565b61034c610abe565b60006103027f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d00000000000000000000000000000000000000000061055c565b600080610490610bde565b90503073ffffffffffffffffffffffffffffffffffffffff8216036104c3576104bb86868686610c2a565b9150506102c8565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d599061051b908990899089908990600401612621565b602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190612650565b600061056a6070601061267f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061061d5761061d6125cf565b602002602001019060c581111561063657610636612692565b908160c581111561064957610649612692565b81525050606181600181518110610662576106626125cf565b602002602001019060c581111561067b5761067b612692565b908160c581111561068e5761068e612692565b90525061069a81610c60565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050601f81600081518110610662576106626125cf565b6040805160028082526060828101909352816020015b60608152602001906001900390816106f05790505090506040518060400160405280600781526020017f6163636f756e740000000000000000000000000000000000000000000000000081525081600081518110610750576107506125cf565b60200260200101819052506040518060400160405280600781526020017f7370656e64657200000000000000000000000000000000000000000000000000815250816001815181106107a4576107a46125cf565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816107c95790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6000610833610bde565b90503073ffffffffffffffffffffffffffffffffffffffff82160361086557610860878787878787610e24565b610222565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906108c1908a908a908a908a908a908a90600401612752565b600060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110610662576106626125cf565b604080516001808252818301909252606091816020015b606081526020019060019003908161094d5790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6040805160008082526020820190925261069a81610c60565b6040805160038082526080820190925260009182919060208201606080368337019050509050600081600081518110610a0157610a016125cf565b602002602001019060c5811115610a1a57610a1a612692565b908160c5811115610a2d57610a2d612692565b8152505060c581600181518110610a4657610a466125cf565b602002602001019060c5811115610a5f57610a5f612692565b908160c5811115610a7257610a72612692565b8152505060c581600281518110610662576106626125cf565b60408051600080825260208201909252606091610ab8565b6060815260200190600190039081610aa35790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610ad65790505090506040518060400160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081600081518110610b3657610b366125cf565b60200260200101819052506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600181518110610b8a57610b8a6125cf565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c0000000000000000000000000000000000000000000000000000815250816002815181106107a4576107a46125cf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610c25573391505090565b919050565b6000610c57610c398686611282565b60ff858116601b0360080285901c16610c5285876112d8565b611311565b95945050505050565b6000601c82511115610c93578151604051635318beb960e01b8152600401610c8a91815260200190565b60405180910390fd5b60008080805b8551811015610d6e576000610cd7878381518110610cb957610cb96125cf565b602002602001015160c5811115610cd257610cd2612692565b611362565b905080600003610cec57600190920191610d24565b8215610d24576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610d4557610d456125cf565b602002602001015160c5811115610d5e57610d5e612692565b901b949094179350600101610c99565b506005811115610d9457604051635318beb960e01b815260048101829052602401610c8a565b84518190036008610da76002602061279c565b610db191906127af565b83901b939093179260086001610dc96002602061279c565b610dd3919061279c565b610ddd91906127af565b81901b93909317926008600180610df66002602061279c565b610e00919061279c565b610e0a919061279c565b610e1491906127af565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610e9d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15610efe57613a3160f11b8687604051602001610ebc91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c8a9392916004016127c6565b610f07856113bc565b610f12846001611603565b610f1d836000611603565b60e084901c60e885901c0160ff16825114610f7d5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff16815114610fdd5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110555760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b61105e8561179f565b6110678461179f565b146110b9576110758561179f565b61107e8461179f565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b6110c2856117d1565b6110cb846117d1565b1461111d576110d9856117d1565b6110e2846117d1565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60005b6111298661179f565b8110156111bf5761114e61113d85836117ee565b60c5811115610cd257610cd2612692565b6008601b8390030287901c60ff16146111b7576008601b8290030286901c60ff1661117c61113d86846117ee565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b600101611120565b506111c986611816565b156112235785866040516020016111e291815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610c8a9291600401612807565b61126f868686868660405160200161123b9190612820565b6040516020818303038152906040528660405160200161125b9190612820565b6040516020818303038152906040526118a7565b61127a86600161198a565b505050505050565b60008282604051602001611297929190612833565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611309576112ff60ff601b83900360080287901c168361267f565b91506001016112dd565b509392505050565b600060208210611337576020820484019350602082816113335761133361286f565b0691505b508254600882021b602082900380841115611309576001850154600882021c82179150509392505050565b6000808260c581111561137757611377612692565b60ff169050606181101561139157601f1660010192915050565b60618360c58111156113a5576113a5612692565b036113b35750601492915050565b50600092915050565b806113f3576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113fe826117d1565b90506005811115611445576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610c8a565b60006114508361179f565b9050600061145e838361267f565b9050601c8111156114a5576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610c8a565b6000805b838110156115505760ff601b82900360080287901c1660008190036114fd576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b602081111561153b576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b611545818461267f565b9250506001016114a9565b5061155a85611a48565b81146115a65761156985611a48565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c8a565b825b601c81101561127a5760ff601b82900360080287901c1680156115fa576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b506001016115a8565b8015801561160f575081155b1561163057604051635318beb960e01b815260006004820152602401610c8a565b600061163b836117d1565b9050600581111561166257604051635318beb960e01b815260048101829052602401610c8a565b600061166d8461179f565b9050600061167b838361267f565b9050601c8111156116a257604051635318beb960e01b815260048101829052602401610c8a565b6000805b8381101561170e5760006116bd61113d89846117ee565b9050806000036116f9576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611703818461267f565b9250506001016116a6565b5061171886611a48565b81146117435761172786611a48565b604051635318beb960e01b8152600401610c8a91815260200190565b825b8281101561022257600061175c61113d89846117ee565b90508015611796576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611745565b6000600860016117b16002602061279c565b6117bb919061279c565b6117c591906127af565b8260ff911c1692915050565b600060086001806117e46002602061279c565b6117b1919061279c565b6000601b8290036008028360ff911c1660c581111561180f5761180f612692565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184f5761184f6125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610c2a565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006118de8484611a6b565b905060006118ec8585611a88565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611926576119266125cf565b602090810291909101015261197e7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab4565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119c0576119c06125cf565b602002602001018181525050611a437f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611a0e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611ded565b505050565b60006008611a586002602061279c565b611a6291906127af565b9190911c919050565b8151815160009181810160389190911b1760609190911b1761180f565b60608282604051602001611a9d929190612885565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3394939291906128b4565b60405180910390a261127a565b6000611b4b87611e09565b905060005b8151811015611c24576000828281518110611b6d57611b6d6125cf565b60200260200101519050611b996001826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611c1b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611be8908c908c908c908c908c908c906004016128fe565b600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b505050505b50600101611b50565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5b94939291906128b4565b60405180910390a26000611c6f8888611282565b90506000602087019050611c87826000895184611eb0565b6000611c92856117d1565b1115611d16576000611ca48a8a611f6e565b878155905060208601915060008060005b611cbe886117d1565b8160ff161015611d1157611cd38d8d83611fc4565b9250611cee8a8260ff166028026038011c64ffffffffff1690565b9150611cfd8360008488611eb0565b611d07828661267f565b9450600101611cb5565b505050505b60005b835181101561197e576000848281518110611d3657611d366125cf565b60200260200101519050611d626002826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611de4576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db1908e908e908e908e908e908e906004016128fe565b600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050505b50600101611d19565b611e028585611dfc84876112d8565b85612044565b5050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e4357611e436125cf565b60209081029190910101526000611e7b7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836122df565b90506102c8611e8d8260008451612319565b6123a7565b60008160ff1682611ea38560581c90565b1660ff1614905092915050565b8215611f2a5760208310611eda57602083048401935060208381611ed657611ed661286f565b0692505b8215611f2a5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611f1b575050611f68565b50600194909401939182900391015b5b60208210611f4c5780518455600190930192601f1990910190602001611f2b565b8115611f685783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611f83929190612833565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fd9929190612833565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036120ce57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516120c193929190612957565b60405180910390a2611f68565b60006120da8585611282565b905060006120e786611e09565b905060005b81518110156121bc576000828281518110612109576121096125cf565b602002602001015190506121356004826affffffffffffffffffffff1916611e9290919063ffffffff16565b156121b3576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612180908b908b908b908b90600401612994565b600060405180830381600087803b15801561219a57600080fd5b505af11580156121ae573d6000803e3d6000fd5b505050505b506001016120ec565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516121f193929190612957565b60405180910390a261220c828565ffffffffffff16856123b8565b60005b815181101561022257600082828151811061222c5761222c6125cf565b602002602001015190506122586008826affffffffffffffffffffff1916611e9290919063ffffffff16565b156122d6576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906122a3908b908b908b908b90600401612994565b600060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050505b5060010161220f565b60606102c86122ef858585611fc4565b6000612314856122ff89896123ce565b9060ff166028026038011c64ffffffffff1690565b6123e1565b6000818311806123295750835182115b15612366578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c8a939291906129cd565b60208401612374848261267f565b90506000612382858561279c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061180f8360156000612404565b611a43838383516123c98560200190565b611eb0565b600061180f6123dd8484611f6e565b5490565b60405160208101601f19603f84840101166040528282526113098585858461247f565b606060006124128560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124385761243861286f565b04905060405193506020840160208202810160405281855260005b82811015612473578451871c825293870193602090910190600101612453565b50505050509392505050565b821561250657602083106124a9576020830484019350602083816124a5576124a561286f565b0692505b82156125065760208390036000818410156124cc5750600019600884021c6124d6565b50600019600882021c5b8554600886021b8184511682198216178452508184116124f7575050611f68565b50600194909401939182900391015b5b602082106125285783548152600190930192601f1990910190602001612507565b8115611f68576000600019600884021c8251865482191691161782525050505050565b6122a4806129f383390190565b6000806040838503121561256b57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461258f57600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146125c457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015612616578151875295820195908201906001016125fa565b509495945050505050565b84815260806020820152600061263a60808301866125e5565b60ff949094166040830152506060015292915050565b60006020828403121561266257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561030257610302612669565b634e487b7160e01b600052602160045260246000fd5b60005b838110156126c35781810151838201526020016126ab565b50506000910152565b600081518084526126e48160208601602086016126a8565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561274557601f198684030189526127338383516126cc565b98840198925090830190600101612717565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061277d60c08301856126f8565b82810360a084015261278f81856126f8565b9998505050505050505050565b8181038181111561030257610302612669565b808202811582820484141761030257610302612669565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c5760608301846126cc565b8281526040602082015260006102c860408301846126cc565b60208152600061180f60208301846126f8565b8281526000602080830184516020860160005b8281101561286257815184529284019290840190600101612846565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600083516128978184602088016126a8565b8351908301906128ab8183602088016126a8565b01949350505050565b6080815260006128c760808301876125e5565b82810360208401526128d981876126cc565b905084604084015282810360608401526128f381856126cc565b979650505050505050565b86815260c06020820152600061291760c08301886125e5565b828103604084015261292981886126cc565b9050856060840152828103608084015261294381866126cc565b9150508260a0830152979650505050505050565b60608152600061296a60608301866125e5565b65ffffffffffff85166020840152828103604084015261298a81856126cc565b9695505050505050565b8481526080602082015260006129ad60808301866125e5565b65ffffffffffff8516604084015282810360608401526128f381856126cc565b6060815260006129e060608301866126cc565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1122:1793:129:-:0;;;;;578:4:53;534:49;;1263:36:129;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1215:85:129;;;1122:1793;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d57604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da57604051635318beb960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c57604051635318beb960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c57604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b604051635318beb960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1122:1793:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;918:308:53;;;;;;;;1196:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1196:113:58;543:226:208;1305:1507:129;;;;;;:::i;:::-;;:::i;:::-;;1550:110:58;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;2632:25:208;;2620:2;2605:18;1550:110:58;2486:177:208;2816:97:129;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;918:308:53:-;1042:4;1067:40;;;1082:25;1067:40;;:104;;-1:-1:-1;1117:54:53;;;1132:39;1117:54;1067:104;:154;;;-1:-1:-1;1181:40:53;;;1196:25;1181:40;1067:154;1054:167;918:308;-1:-1:-1;;918:308:53:o;1196:113:58:-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1305:1507:129:-;1427:40;1447:6;1455:11;1427:19;:40::i;:::-;1494:17;1513:33;1561:11;1550:53;;;;;;;;;;;;:::i;:::-;1493:110;;-1:-1:-1;1493:110:129;-1:-1:-1;1676:29:129;-1:-1:-1;;1676:29:129;;;1672:96;;1722:39;;;;;-1:-1:-1;;4839:79:208;;1722:39:129;;;4821:98:208;4794:18;;1722:39:129;;;;;;;;1672:96;1818:16;1848:8;:6;:8::i;:::-;1818:39;;1864:12;1878:23;1905:19;-1:-1:-1;;;;;1905:32:129;2002:5;2009:9;1945:75;;;;;;;;-1:-1:-1;;;;;5142:55:208;;;;5124:74;;-1:-1:-1;;5234:79:208;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1945:75:129;;;;-1:-1:-1;;1945:75:129;;;;;;;;;;;;;;;;;;;;1905:121;;;1945:75;1905:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:163;;;;2037:7;2032:41;;2046:27;2062:10;2046:15;:27::i;:::-;2111:56;2129:27;2146:9;2129:16;:27::i;:::-;2158:8;2111:17;:56::i;:::-;2219:24;2246:25;2261:9;2246:14;:25::i;:::-;2219:52;;2277:14;2294:34;2307:5;2314:13;2294:12;:34::i;:::-;2277:51;-1:-1:-1;1531:18:59;1554:33;385:5:15;1554:33:59;;;;1523:65;-1:-1:-1;;;;;2468:23:129;;;1523:65:59;2505:12:129;:10;:12::i;:::-;2468:50;;;;;;;;;;;;;5822:25:208;;;;-1:-1:-1;;;;;5883:55:208;5863:18;;;5856:83;5795:18;;2468:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2577:46:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2577:21:129;:46::i;:::-;2572:167;;426:54:135;;443:18;426:54;;;7000:92:208;463:16:135;7108:11:208;;;7101:100;-1:-1:-1;;;;;2633:23:129;;;;;7217:12:208;;426:54:135;;;;;;;;;;;;418:63;;;:::i;:::-;2633:44:129;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2633:44:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2685:47:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2685:22:129;:47::i;:::-;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2744:63:129;;6460:12:208;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2787:11:129;2800:6;2744:17;:63::i;:::-;1355:1457;;;;;;;;1305:1507;:::o;2816:97::-;2876:32;;;;;;;;;;;;;;1876:98:58;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1924:194:53:-;2026:39;2038:13;2053:11;2026;:39::i;:::-;2022:92;;;2082:25;;;;;;;;;;;;;;2022:92;1924:194;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;1047:181:141;1106:10;1129:96;-1:-1:-1;;;1192:9:141;1209:13;1129:25;:96::i;14790:443:138:-;14872:24;14899:29;14912:6;:15;;;17875:26;;;10248:3:208;10244:16;;;;10262:66;10240:89;17875:26:138;;;10228:102:208;17875:26:138;;;;;;;;;10346:11:208;;;;17875:26:138;;;17787:119;14899:29;14872:56;;14935:29;14967:41;14981:6;:11;;;14994:6;:13;;;14967;:41::i;:::-;14935:73;;15014:25;15042:41;15056:6;:11;;;15069:6;:13;;;15042;:41::i;:::-;15119:16;;;15090:26;15119:16;;;;;;;;15014:69;;-1:-1:-1;15142:86:138;15164:8;15119:16;15185:11;15198:15;15014:69;15142:21;:86::i;:::-;14866:367;;;;14790:443;;:::o;1230:184:141:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;785:18:178;6350:12:208;;;6343:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6460:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;816:18:99;578:36:59;2820:46;;2819:74;603:67:178;;;620:15;603:67;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;648:21:178;6350:12:208;;;6343:101;6460:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2972:315:26:-;3085:16;;;3099:1;3085:16;;;;;;;;;3037:11;;;;3085:16;;;;;;;;;;;;-1:-1:-1;3085:16:26;3056:45;;3140:10;3107:9;3117:1;3107:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3158:13;3174:64;1102:66;3211:9;3158:13;-1:-1:-1;;;3174:26:26;:64::i;:::-;3158:80;;3252:29;3273:5;3260:20;;7637:5;7551:97;3252:29;3244:38;2972:315;-1:-1:-1;;;;2972:315:26:o;2510:174:139:-;2564:115;2590:8;1174:66;2614:14;:12;:14::i;:::-;2630:16;:14;:16::i;:::-;2648:13;:11;:13::i;:::-;2663:15;:13;:15::i;:::-;2564:25;:115::i;:::-;2510:174;:::o;5238:301::-;5362:16;;;5376:1;5362:16;;;;;;;;;5333:26;;5362:16;;;;;;;;;;;-1:-1:-1;5362:16:139;5333:45;;5417:11;5384:9;5394:1;5384:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5436:98;5463:8;5473:9;5484:1;5505:12;5487:32;;;;;;;9664:2:208;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5487:32:139;;;;-1:-1:-1;;5487:32:139;;;;;;;;;1174:66;5436:26;:98::i;:::-;5327:212;5238:301;;;:::o;3799:97:58:-;3840:7;3862:29;:27;:29::i;1513:176:53:-;1606:4;1625:59;1646:13;1671:11;1661:22;;;;;;1625:20;:59::i;:::-;1618:66;1513:176;-1:-1:-1;;;1513:176:53:o;980:257:59:-;1067:10;1196:26;438:6;385:5:15;1196:26:59;:::i;:::-;1178:13;;;:45;;385:5:15;1142:31:59;;;;;1123:15;;;:51;:101;;-1:-1:-1;980:257:59;;;;;:::o;18097:334:138:-;18379:18;;18399:20;;18197:29;;2444:5:14;;;834:16;2475:39;;;;2457:58;2556:23;2541:39;;;;2523:58;18357:63:138;2303:344:14;18596:168:138;18684:12;18735:4;18750:6;18711:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18704:55;;18596:168;;;;:::o;6388:479:23:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:23;-1:-1:-1;;;;;6625:30:23;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:23;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;17702:457::-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:23;-1:-1:-1;;;;;17925:30:23;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:23;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1353:200:139:-;1447:19;;;1464:1;1447:19;;;;;;;;;1400:6;;;;1447:19;;;;;;;;;;;;-1:-1:-1;1447:19:139;1414:52;;1488:18;1472:10;1483:1;1472:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1520:28:139;1537:10;1520:16;:28::i;:::-;1513:35;;;1353:200;:::o;1670:208::-;1768:19;;;1785:1;1768:19;;;;;;;;;1719:6;;;;1768:19;;;;;;;;;;;;-1:-1:-1;1768:19:139;1733:54;;1811:18;1793:12;1806:1;1793:15;;;;;;;;:::i;2012:142::-;2101:15;;;2114:1;2101:15;;;;;;;;;2058:24;;2101:15;;;;;;;;;;;;;;;;;;;;2090:26;;2122:27;;;;;;;;;;;;;;;;;:8;2131:1;2122:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2012:142;:::o;2294:151::-;2389:15;;;2402:1;2389:15;;;;;;;;;2342:26;;2389:15;;;;;;;;;;;;;;;;;;;;2376:28;;2410:30;;;;;;;;;;;;;;;;;:10;2421:1;2410:13;;;;;;;;:::i;5574:520:23:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:23;-1:-1:-1;;;;;5828:30:23;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:23;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:23;-1:-1:-1;;;;;10913:30:23;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;10909:232::-;11048:86;;;;;-1:-1:-1;;;;;11048:36:23;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;4048:382:72:-;4183:16;;;4197:1;4183:16;;;;;;;;4130;;;;4183;4197:1;4183:16;;;;;;;;;;-1:-1:-1;4183:16:72;4154:45;;4244:13;-1:-1:-1;;;;;4228:31:72;4220:40;;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4281:13;4266:9;4276:1;4266:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4301:13;4317:64;1213:66;4354:9;4301:13;-1:-1:-1;;;4317:26:72;:64::i;:::-;4301:80;;4395:29;4416:5;4403:20;;7637:5:26;7551:97;4395:29:72;4387:38;4048:382;-1:-1:-1;;;;;4048:382:72:o;13787:285:19:-;13973:94;13983:7;13992:8;14002:10;14014:14;14030:11;14043:23;14058:7;14043:14;:23::i;:::-;13973:9;:94::i;:::-;13787:285;;;;;:::o;37827:541::-;37984:7;38121:242;38165:59;38206:7;38215:8;38165:40;:59::i;:::-;38242:31;;;;4479:19:3;:27;537:1:29;4478:44:3;4444:79;;;4431:93;38291:63:19;38330:11;38343:10;38291:38;:63::i;:::-;38121:17;:242::i;1247:2059:16:-;1315:6;647:2:29;1333:7:16;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1329:85:16;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:29;2531::16;2527;437:2:29;2509:19:16;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:16;;1621:956;;;;902:1:29;2621:13:16;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:16;;;;;2632:25:208;;;2605:18;;2664:38:16;2486:177:208;2617:85:16;2802:14;;:30;;;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:16;;;3080:51;;;;;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:16;;;3137:57;;;;;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:16;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:16:o;8869:2432:19:-;-1:-1:-1;;;9129:7:19;:35;;;;;;:83;;-1:-1:-1;9189:23:19;9168:7;:44;;;;9129:83;9125:196;;;-1:-1:-1;;;9271:7:19;9304;9287:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;9287:25:19;;;;-1:-1:-1;;9287:25:19;;;;;;;;;;9229:85;;;;;;;;;;:::i;9125:196::-;9367:22;:11;:20;:22::i;:::-;9430:40;:9;9463:4;9430:18;:40::i;:::-;9476:43;:11;9511:5;9476:20;:43::i;:::-;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;9607:8:19;:15;:40;9603:135;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;9715:15:19;;9664:67;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;9664:67:19;16309:248:208;9603:135:19;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;9788:10:19;:17;:44;9784:145;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;9904:17:19;;9849:73;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;9849:73:19;16309:248:208;9784:145:19;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;9986:50:19;9982:158;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10053:80:19;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10053:80:19;16309:248:208;9982:158:19;10182:29;:11;:27;:29::i;:::-;10149;:11;:27;:29::i;:::-;:62;10145:188;;10265:29;:11;:27;:29::i;:::-;10296;:11;:27;:29::i;:::-;10228:98;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10228:98:19;16309:248:208;10145:188:19;10376:30;:11;:28;:30::i;:::-;10342;:11;:28;:30::i;:::-;:64;10338:193;;10461:30;:11;:28;:30::i;:::-;10493;:11;:28;:30::i;:::-;10423:101;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10423:101:19;16309:248:208;10338:193:19;10628:9;10623:271;10643:29;:11;:27;:29::i;:::-;10639:1;:33;10623:271;;;10717:44;:22;:11;10737:1;10717:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;537:1:29;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;10691:70:19;10687:201;;537:1:29;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;10834:44:19;:22;:11;10854:1;10834:19;:22::i;:44::-;10780:99;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10780:99:19;16309:248:208;10687:201:19;10674:3;;10623:271;;;;10956:31;10979:7;10956:22;:31::i;:::-;10952:127;;;11029:7;11062;11045:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;11045:25:19;;;;-1:-1:-1;;11045:25:19;;;;;;;;;;11004:68;;;;;;;;;:::i;10952:127::-;11120:103;11132:7;11141:11;11154:9;11165:11;11189:8;11178:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11211:10;11200:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11120:11;:103::i;:::-;11259:37;11282:7;11291:4;11259:22;:37::i;24794:355::-;24966:178;25000:7;25025:8;25055:63;25094:11;25107:10;25055:38;:63::i;:::-;25133:4;24966:16;:178::i;6273:652::-;6340:11;6576:64;;;6572:111;;-1:-1:-1;1471:66:28;;6273:652:19;-1:-1:-1;6273:652:19:o;6572:111::-;6727:185;6773:85;1342:66:28;6849:7:19;6773:40;:85::i;:::-;6878:2;6900:1;6727:17;:185::i;14932:3138::-;15226:23;15205:7;:44;;;15201:198;;15319:7;15303:75;15328:8;15338:10;15350:14;15366:11;15303:75;;;;;;;;;:::i;:::-;;;;;;;;15386:7;;15201:198;15537:22;15562:24;15578:7;15562:15;:24::i;:::-;15537:49;;15597:9;15592:340;15612:5;:12;15608:1;:16;15592:340;;;15639:9;15661:5;15667:1;15661:8;;;;;;;;:::i;:::-;;;;;;;15639:31;;15682:33;343:6:32;15682:4:19;:14;;;;;:33;;;;:::i;:::-;15678:248;;;15727:190;;;;;3404:35:4;;;;;15727:47:19;;:190;;15786:7;;15805:8;;15825:10;;15847:14;;15873:11;;15896;;15727:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:248;-1:-1:-1;15626:3:19;;15592:340;;;;15996:7;15980:75;16005:8;16015:10;16027:14;16043:11;15980:75;;;;;;;;;:::i;:::-;;;;;;;;16119:26;16148:59;16189:7;16198:8;16148:40;:59::i;:::-;16119:88;-1:-1:-1;16213:21:19;828:4:13;818:15;;16213:54:19;;16273:149;16311:18;16345:1;16362:10;:17;16402:13;16273;:149::i;:::-;16522:1;16489:30;:11;:28;:30::i;:::-;:34;16485:1174;;;16608:33;16644:66;16692:7;16701:8;16644:47;:66::i;:::-;629:28:18;;;16608:102:19;-1:-1:-1;828:4:13;818:15;;16884:47:19;;17040:27;17075:25;17113:7;17108:545;17126:30;:11;:28;:30::i;:::-;17122:1;:34;;;17108:545;;;17192:63;17234:7;17243:8;17253:1;17192:41;:63::i;:::-;17170:85;-1:-1:-1;17285:25:19;:14;17308:1;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17285:25:19;17265:45;;17320:170;17362:19;17401:1;17422:17;17466:13;17320;:170::i;:::-;17500:34;17517:17;17500:34;;:::i;:::-;;-1:-1:-1;17631:3:19;;17108:545;;;;16525:1134;;;16485:1174;17733:9;17728:338;17748:5;:12;17744:1;:16;17728:338;;;17775:9;17797:5;17803:1;17797:8;;;;;;;;:::i;:::-;;;;;;;17775:31;;17818:32;437:6:32;17818:4:19;:14;;;;;:32;;;;:::i;:::-;17814:246;;;17862:189;;;;;3404:35:4;;;;;17862:46:19;;:189;;17920:7;;17939:8;;17959:10;;17981:14;;18007:11;;18030;;17862:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17814:246;-1:-1:-1;17762:3:19;;17728:338;;52325:191;52427:7;52491;52500:8;52474:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52474:35:19;;;;;;;;;52464:46;;52474:35;52464:46;;;;43924:22;52457:53;;52325:191;-1:-1:-1;;;52325:191:19:o;53342:242::-;53438:7;;;53477:84;53497:10;53493:14;;:1;:14;53477:84;;;53522:32;4431:93:3;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;53522:32:19;;:::i;:::-;;-1:-1:-1;53509:3:19;;53477:84;;;-1:-1:-1;53573:6:19;53342:242;-1:-1:-1;;;53342:242:19:o;8879:812:18:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:18;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6774:1658:3:-;6457:45;6837:86;;6879:37;;;;;;;;;;;;;;6837:86;6929:25;6957:30;:11;:28;:30::i;:::-;6929:58;;902:1:29;6997:17:3;:38;6993:155;;;7052:89;;;;;;;;16483:25:208;;;902:1:29;16524:18:208;;;16517:34;16456:18;;7052:89:3;16309:248:208;6993:155:3;7154:24;7181:29;:11;:27;:29::i;:::-;7154:56;-1:-1:-1;7216:23:3;7242:36;7261:17;7154:56;7242:36;:::i;:::-;7216:62;;647:2:29;7288:15:3;:34;7284:140;;;7339:78;;;;;;;;16483:25:208;;;647:2:29;16524:18:208;;;16517:34;16456:18;;7339:78:3;16309:248:208;7284:140:3;7466:25;7502:9;7497:427;7517:16;7513:1;:20;7497:427;;;4431:93;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;7545:24;7606:21;;;7602:232;;7646:51;;;;;;;;2632:25:208;;;2605:18;;7646:51:3;2486:177:208;7602:232:3;334:2:29;7716:16:3;:28;7712:122;;;7763:62;;;;;;;;2632:25:208;;;2605:18;;7763:62:3;2486:177:208;7712:122:3;7841:37;7862:16;7841:37;;:::i;:::-;;-1:-1:-1;;7906:3:3;;7497:427;;;;7991:30;:11;:28;:30::i;:::-;7970:17;:51;7966:183;;8092:30;:11;:28;:30::i;:::-;8038:104;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;;;16456:18;;8038:104:3;16309:248:208;7966:183:3;8205:16;8188:240;647:2:29;8223:1:3;:20;8188:240;;;4431:93;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;8319:21;;8315:107;;8359:54;;;;;;;;2632:25:208;;;2605:18;;8359:54:3;2486:177:208;8315:107:3;-1:-1:-1;8245:3:3;;8188:240;;5689:1629:16;5796:10;5795:11;:31;;;;-1:-1:-1;6457:45:3;;5810:16:16;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:16;;5869:1;5835:36;;;2632:25:208;2605:18;;5835:36:16;2486:177:208;5791:80:16;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:29;5997:17:16;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:16;;;;;2632:25:208;;;2605:18;;6044:52:16;2486:177:208;5993:103:16;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:16;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:29;6296:15:16;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:16;;;;;2632:25:208;;;2605:18;;6339:50:16;2486:177:208;6292:97:16;6450:25;6486:9;6481:313;6501:16;6497:1;:20;6481:313;;;6529:24;6556:39;:17;:6;6571:1;6556:14;:17::i;:39::-;6529:66;;6607:16;6627:1;6607:21;6603:101;;6647:48;;;;;;;;;;;;;;6603:101;6711:37;6732:16;6711:37;;:::i;:::-;;-1:-1:-1;;6776:3:16;;6481:313;;;;6862:25;:6;:23;:25::i;:::-;6841:17;:46;6837:134;;6938:25;:6;:23;:25::i;:::-;6904:60;;-1:-1:-1;;;6904:60:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;6837:134:16;7046:16;7029:285;7068:15;7064:1;:19;7029:285;;;7095:24;7122:39;:17;:6;7137:1;7122:14;:17::i;:39::-;7095:66;-1:-1:-1;7173:20:16;;7169:100;;7212:48;;;;;;;;;;;;;;7169:100;-1:-1:-1;7296:3:16;;7029:285;;5135:171:3;5208:7;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;5244:11:3;5223:78;5236:64;;5223:78;;5135:171;-1:-1:-1;;5135:171:3:o;5533:173::-;5607:7;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;3948:206:16:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;3328:314:26:-;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:26;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:26;:62::i;20396:676:28:-;24950:53;;;;;;21683:19:208;;;21718:12;;;21711:28;;;24923:12:28;21755::208;;;21748:28;;;24950:53:28;;;;;;;;;;21792:12:208;;;;24950:53:28;;;20687:29;20719:55;20733:18;20753:20;20719:13;:55::i;:::-;20687:87;;20780:25;20808:55;20822:18;20842:20;20808:13;:55::i;:::-;20899:16;;;20913:1;20899:16;;;;;;;;;20780:83;;-1:-1:-1;20870:26:28;;20899:16;;;;;;;;;;;;-1:-1:-1;20899:16:28;20870:45;;20954:7;20921:9;20931:1;20921:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20969:98;1342:66;20999:9;21010:11;21023:15;21040:12;1471:66;20969:19;:98::i;4692:268:26:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:26;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;19939:14:208;19932:22;19927:3;19923:32;19911:45;;19981:1;19972:11;;19788:201;4914:26:26;;;;-1:-1:-1;;4914:26:26;;;;;;;;;-1:-1:-1;;;4865:24:26;:90::i;:::-;4757:203;4692:268;;:::o;18706:1676:19:-;18906:23;18885:7;:44;;;18881:232;;19036:7;18992:100;19055:8;19072:5;19085:4;18992:100;;;;;;;;:::i;:::-;;;;;;;;19100:7;;18881:232;19119:16;19138:59;19179:7;19188:8;19138:40;:59::i;:::-;19119:78;;19343:22;19368:24;19384:7;19368:15;:24::i;:::-;19343:49;;19403:9;19398:328;19418:5;:12;19414:1;:16;19398:328;;;19445:9;19467:5;19473:1;19467:8;;;;;;;;:::i;:::-;;;;;;;19445:31;;19488:41;548:6:32;19488:4:19;:14;;;;;:41;;;;:::i;:::-;19484:236;;;19541:170;;;;;3404:35:4;;;;;19541:54:19;;:170;;19617:7;;19646:8;;19673:5;;19696:4;;19541:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19484:236;-1:-1:-1;19432:3:19;;19398:328;;;;19827:7;19783:100;19846:8;19863:5;19876:4;19783:100;;;;;;;;:::i;:::-;;;;;;;;19933:70;19965:8;19983:5;19933:70;;19996:4;19933:13;:70::i;:::-;20057:9;20052:326;20072:5;:12;20068:1;:16;20052:326;;;20099:9;20121:5;20127:1;20121:8;;;;;;;;:::i;:::-;;;;;;;20099:31;;20142:40;657:6:32;20142:4:19;:14;;;;;:40;;;;:::i;:::-;20138:234;;;20194:169;;;;;3404:35:4;;;;;20194:53:19;;:169;;20269:7;;20298:8;;20325:5;;20348:4;;20194:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20138:234;-1:-1:-1;20086:3:19;;20052:326;;52768:282;53013:30;;;;;;21318:19:208;;;21353:12;;;21346:28;;;52856:7:19;;21390:12:208;;53013:30:19;21130:278:208;4132:342:27;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:27;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;:::-;4318:70;;4402:66;:44;4423:5;4430:1;4433:5;:12;4402:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1423:2340:18:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:29;738:25:31;;716:48;2142:18:18;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:18;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;54890:230:19:-;55011:7;55095;55104:8;55078:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55078:35:19;;;;;;;;;55068:46;;55078:35;55068:46;;;;44087:40;55041:73;;54890:230;-1:-1:-1;;;54890:230:19:o;54261:274::-;54405:7;54510;54519:8;54493:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54483:46;;;;;;54462:17;54455:25;;54435:45;;;43996:34;54435:45;:94;54427:103;;54420:110;;54261:274;;;;;:::o;4754:171:3:-;4828:7;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;38836:522:19:-;38972:12;39096:257;39135:79;39177:7;39186:8;39196:17;39135:41;:79::i;:::-;39232:1;39251:93;39326:17;39251:66;39299:7;39308:8;39251:47;:66::i;:::-;:74;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39251:93:19;39096:12;:257::i;1954:561:17:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:17;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;55458:301:19:-;55579:13;55671:82;55702:48;55732:7;55741:8;55702:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:17;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:17;3110:38;;2816:20:36;2978:11;3110:38:17;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;6010:2380:18:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:18;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:208;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:208;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:208:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:208;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:208:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:208;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:208:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:208;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:208;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:208;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:208;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:208:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:208;;10865:439;-1:-1:-1;;;;;10865:439:208:o;11309:791::-;11701:6;11690:9;11683:25;11744:3;11739:2;11728:9;11724:18;11717:31;11664:4;11771:57;11823:3;11812:9;11808:19;11800:6;11771:57;:::i;:::-;11876:9;11868:6;11864:22;11859:2;11848:9;11844:18;11837:50;11910:32;11935:6;11927;11910:32;:::i;:::-;11896:46;;11978:6;11973:2;11962:9;11958:18;11951:34;12034:9;12026:6;12022:22;12016:3;12005:9;12001:19;11994:51;12062:32;12087:6;12079;12062:32;:::i;:::-;12054:40;11309:791;-1:-1:-1;;;;;;;;11309:791:208:o;12105:545::-;12426:6;12415:9;12408:25;12469:3;12464:2;12453:9;12449:18;12442:31;12389:4;12490:57;12542:3;12531:9;12527:19;12519:6;12490:57;:::i;:::-;12595:4;12583:17;;;;12578:2;12563:18;;12556:45;-1:-1:-1;12632:2:208;12617:18;12610:34;12482:65;12105:545;-1:-1:-1;;12105:545:208:o;12655:184::-;12725:6;12778:2;12766:9;12757:7;12753:23;12749:32;12746:52;;;12794:1;12791;12784:12;12746:52;-1:-1:-1;12817:16:208;;12655:184;-1:-1:-1;12655:184:208:o;12844:::-;-1:-1:-1;;;12893:1:208;12886:88;12993:4;12990:1;12983:15;13017:4;13014:1;13007:15;13033:656;13085:3;13116;13148:5;13142:12;13175:6;13170:3;13163:19;13201:4;13230;13225:3;13221:14;13214:21;;13288:4;13278:6;13275:1;13271:14;13264:5;13260:26;13256:37;13327:4;13320:5;13316:16;13350:1;13360:303;13374:6;13371:1;13368:13;13360:303;;;-1:-1:-1;;13449:5:208;13443:4;13439:16;13435:89;13430:3;13423:102;13546:37;13578:4;13569:6;13563:13;13546:37;:::i;:::-;13641:12;;;;13538:45;-1:-1:-1;13606:15:208;;;;13396:1;13389:9;13360:303;;;-1:-1:-1;13679:4:208;;13033:656;-1:-1:-1;;;;;;;13033:656:208:o;13694:907::-;14219:6;14208:9;14201:25;14262:6;14257:2;14246:9;14242:18;14235:34;14305:6;14300:2;14289:9;14285:18;14278:34;14348:6;14343:2;14332:9;14328:18;14321:34;14392:3;14386;14375:9;14371:19;14364:32;14182:4;14419:56;14470:3;14459:9;14455:19;14447:6;14419:56;:::i;:::-;14524:9;14516:6;14512:22;14506:3;14495:9;14491:19;14484:51;14552:43;14588:6;14580;14552:43;:::i;:::-;14544:51;13694:907;-1:-1:-1;;;;;;;;;13694:907:208:o;14606:706::-;14973:6;14962:9;14955:25;15016:3;15011:2;15000:9;14996:18;14989:31;14936:4;15043:57;15095:3;15084:9;15080:19;15072:6;15043:57;:::i;:::-;15148:4;15140:6;15136:17;15131:2;15120:9;15116:18;15109:45;15202:9;15194:6;15190:22;15185:2;15174:9;15170:18;15163:50;15230:32;15255:6;15247;15230:32;:::i;:::-;15222:40;;;15299:6;15293:3;15282:9;15278:19;15271:35;14606:706;;;;;;;;:::o;15317:128::-;15384:9;;;15405:11;;;15402:37;;;15419:18;;:::i;15450:168::-;15523:9;;;15554;;15571:15;;;15565:22;;15551:37;15541:71;;15592:18;;:::i;15841:463::-;16087:66;16079:6;16075:79;16064:9;16057:98;16191:6;16186:2;16175:9;16171:18;16164:34;16234:2;16229;16218:9;16214:18;16207:30;16038:4;16254:44;16294:2;16283:9;16279:18;16271:6;16254:44;:::i;16888:280::-;17087:2;17076:9;17069:21;17050:4;17107:55;17158:2;17147:9;17143:18;17135:6;17107:55;:::i;17173:688::-;17506:3;17495:9;17488:22;17469:4;17533:57;17585:3;17574:9;17570:19;17562:6;17533:57;:::i;:::-;17638:9;17630:6;17626:22;17621:2;17610:9;17606:18;17599:50;17672:32;17697:6;17689;17672:32;:::i;:::-;17658:46;;17740:6;17735:2;17724:9;17720:18;17713:34;17795:9;17787:6;17783:22;17778:2;17767:9;17763:18;17756:50;17823:32;17848:6;17840;17823:32;:::i;:::-;17815:40;17173:688;-1:-1:-1;;;;;;;17173:688:208:o;17866:894::-;18317:6;18306:9;18299:25;18360:3;18355:2;18344:9;18340:18;18333:31;18280:4;18387:57;18439:3;18428:9;18424:19;18416:6;18387:57;:::i;:::-;18492:9;18484:6;18480:22;18475:2;18464:9;18460:18;18453:50;18526:32;18551:6;18543;18526:32;:::i;:::-;18512:46;;18594:6;18589:2;18578:9;18574:18;18567:34;18650:9;18642:6;18638:22;18632:3;18621:9;18617:19;18610:51;18678:32;18703:6;18695;18678:32;:::i;:::-;18670:40;;;18747:6;18741:3;18730:9;18726:19;18719:35;17866:894;;;;;;;;;:::o;18765:639::-;19015:6;19010:3;19003:19;18985:3;19041:2;19074;19069:3;19065:12;19106:6;19100:13;19171:2;19163:6;19159:15;19192:1;19202:175;19216:6;19213:1;19210:13;19202:175;;;19279:13;;19265:28;;19315:14;;;;19352:15;;;;19238:1;19231:9;19202:175;;;-1:-1:-1;19393:5:208;;18765:639;-1:-1:-1;;;;;;;18765:639:208:o;19409:184::-;-1:-1:-1;;;19458:1:208;19451:88;19558:4;19555:1;19548:15;19582:4;19579:1;19572:15;19994:511;20245:2;20234:9;20227:21;20208:4;20271:56;20323:2;20312:9;20308:18;20300:6;20271:56;:::i;:::-;20375:14;20367:6;20363:27;20358:2;20347:9;20343:18;20336:55;20439:9;20431:6;20427:22;20422:2;20411:9;20407:18;20400:50;20467:32;20492:6;20484;20467:32;:::i;:::-;20459:40;19994:511;-1:-1:-1;;;;;;19994:511:208:o;20510:615::-;20820:6;20809:9;20802:25;20863:3;20858:2;20847:9;20843:18;20836:31;20783:4;20890:57;20942:3;20931:9;20927:19;20919:6;20890:57;:::i;:::-;20995:14;20987:6;20983:27;20978:2;20967:9;20963:18;20956:55;21059:9;21051:6;21047:22;21042:2;21031:9;21027:18;21020:50;21087:32;21112:6;21104;21087:32;:::i;21815:359::-;22018:2;22007:9;22000:21;21981:4;22038:44;22078:2;22067:9;22063:18;22055:6;22038:44;:::i;:::-;22113:2;22098:18;;22091:34;;;;-1:-1:-1;22156:2:208;22141:18;22134:34;22030:52;21815:359;-1:-1:-1;21815:359:208:o","linkReferences":{},"immutableReferences":{"22561":[{"start":507,"length":32}],"91385":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855\",\"dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/errors.sol\":{\"keccak256\":\"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd\",\"dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6\",\"dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610\",\"dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x17bc29bb233a59422412c52b96caa8b3348122c7fea93ff6a05b5180d8a7f67f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b41b85213db039ec9d60e0e00f93775263905dc794a7daff0d4cd34ea713566a\",\"dweb:/ipfs/QmdAE8KH3mhK7WPTpDCwpE5Yw294m9T9KYFTxMsSNxc6qd\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07\",\"dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac\",\"dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a\",\"dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787\",\"dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f\",\"dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf\",\"dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8\",\"dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayoutLib_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7","urls":["bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855","dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/errors.sol":{"keccak256":"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083","urls":["bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd","dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3","urls":["bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6","dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8","urls":["bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610","dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x17bc29bb233a59422412c52b96caa8b3348122c7fea93ff6a05b5180d8a7f67f","urls":["bzz-raw://b41b85213db039ec9d60e0e00f93775263905dc794a7daff0d4cd34ea713566a","dweb:/ipfs/QmdAE8KH3mhK7WPTpDCwpE5Yw294m9T9KYFTxMsSNxc6qd"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81","urls":["bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07","dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462","urls":["bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac","dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910","urls":["bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a","dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9","urls":["bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787","dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900","urls":["bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f","dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b","urls":["bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf","dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2","urls":["bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8","dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS"],"license":"MIT"}},"version":1},"id":129}
|
1
|
+
{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayoutLib_Empty","inputs":[]},{"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b614cc380620035d383390190565b60805160a05161354c6200008760003960006102d7015260006101fb015261354c6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d57604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da57604051635318beb960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c57604051635318beb960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c57604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b604051635318beb960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614ca3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612558565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161022b565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102d0565b610308565b61013c61013783610354565b610386565b61014d610148836103c2565b6103f4565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a961017284610438565b60405161017e9061254b565b604051809103906000f08015801561019a573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020e57600080fd5b505af1158015610222573d6000803e3d6000fd5b50505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610264576102646125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610485565b90506102c88160f81c90565b949350505050565b6000610302613a3160f11b837f416c6c6f77616e6365730000000000000000000000000000000000000000000061055c565b92915050565b610351817e200100200000000000000000000000000000000000000000000000000000006103346105e3565b61033c6106a0565b6103446106da565b61034c6107b2565b610829565b50565b6000610302613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061055c565b610351817e200100200000000000000000000000000000000000000000000000000000006103b26108fc565b6103ba6106a0565b610344610936565b6000610302613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061055c565b610351817e010102010000000000000000000000000000000000000000000000000000006104206109ad565b6104286109c6565b610430610a8b565b61034c610abe565b60006103027f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d00000000000000000000000000000000000000000061055c565b600080610490610bde565b90503073ffffffffffffffffffffffffffffffffffffffff8216036104c3576104bb86868686610c2a565b9150506102c8565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d599061051b908990899089908990600401612621565b602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190612650565b600061056a6070601061267f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061061d5761061d6125cf565b602002602001019060c581111561063657610636612692565b908160c581111561064957610649612692565b81525050606181600181518110610662576106626125cf565b602002602001019060c581111561067b5761067b612692565b908160c581111561068e5761068e612692565b90525061069a81610c60565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050601f81600081518110610662576106626125cf565b6040805160028082526060828101909352816020015b60608152602001906001900390816106f05790505090506040518060400160405280600781526020017f6163636f756e740000000000000000000000000000000000000000000000000081525081600081518110610750576107506125cf565b60200260200101819052506040518060400160405280600781526020017f7370656e64657200000000000000000000000000000000000000000000000000815250816001815181106107a4576107a46125cf565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816107c95790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6000610833610bde565b90503073ffffffffffffffffffffffffffffffffffffffff82160361086557610860878787878787610e24565b610222565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906108c1908a908a908a908a908a908a90600401612752565b600060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110610662576106626125cf565b604080516001808252818301909252606091816020015b606081526020019060019003908161094d5790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6040805160008082526020820190925261069a81610c60565b6040805160038082526080820190925260009182919060208201606080368337019050509050600081600081518110610a0157610a016125cf565b602002602001019060c5811115610a1a57610a1a612692565b908160c5811115610a2d57610a2d612692565b8152505060c581600181518110610a4657610a466125cf565b602002602001019060c5811115610a5f57610a5f612692565b908160c5811115610a7257610a72612692565b8152505060c581600281518110610662576106626125cf565b60408051600080825260208201909252606091610ab8565b6060815260200190600190039081610aa35790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610ad65790505090506040518060400160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081600081518110610b3657610b366125cf565b60200260200101819052506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600181518110610b8a57610b8a6125cf565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c0000000000000000000000000000000000000000000000000000815250816002815181106107a4576107a46125cf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610c25573391505090565b919050565b6000610c57610c398686611282565b60ff858116601b0360080285901c16610c5285876112d8565b611311565b95945050505050565b6000601c82511115610c93578151604051635318beb960e01b8152600401610c8a91815260200190565b60405180910390fd5b60008080805b8551811015610d6e576000610cd7878381518110610cb957610cb96125cf565b602002602001015160c5811115610cd257610cd2612692565b611362565b905080600003610cec57600190920191610d24565b8215610d24576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610d4557610d456125cf565b602002602001015160c5811115610d5e57610d5e612692565b901b949094179350600101610c99565b506005811115610d9457604051635318beb960e01b815260048101829052602401610c8a565b84518190036008610da76002602061279c565b610db191906127af565b83901b939093179260086001610dc96002602061279c565b610dd3919061279c565b610ddd91906127af565b81901b93909317926008600180610df66002602061279c565b610e00919061279c565b610e0a919061279c565b610e1491906127af565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610e9d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15610efe57613a3160f11b8687604051602001610ebc91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c8a9392916004016127c6565b610f07856113bc565b610f12846001611603565b610f1d836000611603565b60e084901c60e885901c0160ff16825114610f7d5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff16815114610fdd5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110555760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b61105e8561179f565b6110678461179f565b146110b9576110758561179f565b61107e8461179f565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b6110c2856117d1565b6110cb846117d1565b1461111d576110d9856117d1565b6110e2846117d1565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60005b6111298661179f565b8110156111bf5761114e61113d85836117ee565b60c5811115610cd257610cd2612692565b6008601b8390030287901c60ff16146111b7576008601b8290030286901c60ff1661117c61113d86846117ee565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b600101611120565b506111c986611816565b156112235785866040516020016111e291815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610c8a9291600401612807565b61126f868686868660405160200161123b9190612820565b6040516020818303038152906040528660405160200161125b9190612820565b6040516020818303038152906040526118a7565b61127a86600161198a565b505050505050565b60008282604051602001611297929190612833565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611309576112ff60ff601b83900360080287901c168361267f565b91506001016112dd565b509392505050565b600060208210611337576020820484019350602082816113335761133361286f565b0691505b508254600882021b602082900380841115611309576001850154600882021c82179150509392505050565b6000808260c581111561137757611377612692565b60ff169050606181101561139157601f1660010192915050565b60618360c58111156113a5576113a5612692565b036113b35750601492915050565b50600092915050565b806113f3576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113fe826117d1565b90506005811115611445576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610c8a565b60006114508361179f565b9050600061145e838361267f565b9050601c8111156114a5576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610c8a565b6000805b838110156115505760ff601b82900360080287901c1660008190036114fd576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b602081111561153b576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b611545818461267f565b9250506001016114a9565b5061155a85611a48565b81146115a65761156985611a48565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c8a565b825b601c81101561127a5760ff601b82900360080287901c1680156115fa576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b506001016115a8565b8015801561160f575081155b1561163057604051635318beb960e01b815260006004820152602401610c8a565b600061163b836117d1565b9050600581111561166257604051635318beb960e01b815260048101829052602401610c8a565b600061166d8461179f565b9050600061167b838361267f565b9050601c8111156116a257604051635318beb960e01b815260048101829052602401610c8a565b6000805b8381101561170e5760006116bd61113d89846117ee565b9050806000036116f9576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611703818461267f565b9250506001016116a6565b5061171886611a48565b81146117435761172786611a48565b604051635318beb960e01b8152600401610c8a91815260200190565b825b8281101561022257600061175c61113d89846117ee565b90508015611796576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611745565b6000600860016117b16002602061279c565b6117bb919061279c565b6117c591906127af565b8260ff911c1692915050565b600060086001806117e46002602061279c565b6117b1919061279c565b6000601b8290036008028360ff911c1660c581111561180f5761180f612692565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184f5761184f6125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610c2a565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006118de8484611a6b565b905060006118ec8585611a88565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611926576119266125cf565b602090810291909101015261197e7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab4565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119c0576119c06125cf565b602002602001018181525050611a437f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611a0e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611ded565b505050565b60006008611a586002602061279c565b611a6291906127af565b9190911c919050565b8151815160009181810160389190911b1760609190911b1761180f565b60608282604051602001611a9d929190612885565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3394939291906128b4565b60405180910390a261127a565b6000611b4b87611e09565b905060005b8151811015611c24576000828281518110611b6d57611b6d6125cf565b60200260200101519050611b996001826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611c1b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611be8908c908c908c908c908c908c906004016128fe565b600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b505050505b50600101611b50565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5b94939291906128b4565b60405180910390a26000611c6f8888611282565b90506000602087019050611c87826000895184611eb0565b6000611c92856117d1565b1115611d16576000611ca48a8a611f6e565b878155905060208601915060008060005b611cbe886117d1565b8160ff161015611d1157611cd38d8d83611fc4565b9250611cee8a8260ff166028026038011c64ffffffffff1690565b9150611cfd8360008488611eb0565b611d07828661267f565b9450600101611cb5565b505050505b60005b835181101561197e576000848281518110611d3657611d366125cf565b60200260200101519050611d626002826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611de4576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db1908e908e908e908e908e908e906004016128fe565b600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050505b50600101611d19565b611e028585611dfc84876112d8565b85612044565b5050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e4357611e436125cf565b60209081029190910101526000611e7b7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836122df565b90506102c8611e8d8260008451612319565b6123a7565b60008160ff1682611ea38560581c90565b1660ff1614905092915050565b8215611f2a5760208310611eda57602083048401935060208381611ed657611ed661286f565b0692505b8215611f2a5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611f1b575050611f68565b50600194909401939182900391015b5b60208210611f4c5780518455600190930192601f1990910190602001611f2b565b8115611f685783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611f83929190612833565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fd9929190612833565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036120ce57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516120c193929190612957565b60405180910390a2611f68565b60006120da8585611282565b905060006120e786611e09565b905060005b81518110156121bc576000828281518110612109576121096125cf565b602002602001015190506121356004826affffffffffffffffffffff1916611e9290919063ffffffff16565b156121b3576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612180908b908b908b908b90600401612994565b600060405180830381600087803b15801561219a57600080fd5b505af11580156121ae573d6000803e3d6000fd5b505050505b506001016120ec565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516121f193929190612957565b60405180910390a261220c828565ffffffffffff16856123b8565b60005b815181101561022257600082828151811061222c5761222c6125cf565b602002602001015190506122586008826affffffffffffffffffffff1916611e9290919063ffffffff16565b156122d6576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906122a3908b908b908b908b90600401612994565b600060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050505b5060010161220f565b60606102c86122ef858585611fc4565b6000612314856122ff89896123ce565b9060ff166028026038011c64ffffffffff1690565b6123e1565b6000818311806123295750835182115b15612366578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c8a939291906129cd565b60208401612374848261267f565b90506000612382858561279c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061180f8360156000612404565b611a43838383516123c98560200190565b611eb0565b600061180f6123dd8484611f6e565b5490565b60405160208101601f19603f84840101166040528282526113098585858461247f565b606060006124128560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124385761243861286f565b04905060405193506020840160208202810160405281855260005b82811015612473578451871c825293870193602090910190600101612453565b50505050509392505050565b821561250657602083106124a9576020830484019350602083816124a5576124a561286f565b0692505b82156125065760208390036000818410156124cc5750600019600884021c6124d6565b50600019600882021c5b8554600886021b8184511682198216178452508184116124f7575050611f68565b50600194909401939182900391015b5b602082106125285783548152600190930192601f1990910190602001612507565b8115611f68576000600019600884021c8251865482191691161782525050505050565b6122a4806129f383390190565b6000806040838503121561256b57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461258f57600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146125c457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015612616578151875295820195908201906001016125fa565b509495945050505050565b84815260806020820152600061263a60808301866125e5565b60ff949094166040830152506060015292915050565b60006020828403121561266257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561030257610302612669565b634e487b7160e01b600052602160045260246000fd5b60005b838110156126c35781810151838201526020016126ab565b50506000910152565b600081518084526126e48160208601602086016126a8565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561274557601f198684030189526127338383516126cc565b98840198925090830190600101612717565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061277d60c08301856126f8565b82810360a084015261278f81856126f8565b9998505050505050505050565b8181038181111561030257610302612669565b808202811582820484141761030257610302612669565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c5760608301846126cc565b8281526040602082015260006102c860408301846126cc565b60208152600061180f60208301846126f8565b8281526000602080830184516020860160005b8281101561286257815184529284019290840190600101612846565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600083516128978184602088016126a8565b8351908301906128ab8183602088016126a8565b01949350505050565b6080815260006128c760808301876125e5565b82810360208401526128d981876126cc565b905084604084015282810360608401526128f381856126cc565b979650505050505050565b86815260c06020820152600061291760c08301886125e5565b828103604084015261292981886126cc565b9050856060840152828103608084015261294381866126cc565b9150508260a0830152979650505050505050565b60608152600061296a60608301866125e5565b65ffffffffffff85166020840152828103604084015261298a81856126cc565b9695505050505050565b8481526080602082015260006129ad60808301866125e5565b65ffffffffffff8516604084015282810360608401526128f381856126cc565b6060815260006129e060608301866126cc565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1122:1793:129:-:0;;;;;644:4:53;600:49;;1263:36:129;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1215:85:129;;;1122:1793;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d57604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da57604051635318beb960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c57604051635318beb960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c57604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b604051635318beb960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1122:1793:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;984:308:53;;;;;;;;1262:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1262:113:58;543:226:208;1305:1507:129;;;;;;:::i;:::-;;:::i;:::-;;1616:110:58;;;-1:-1:-1;;3800:14:58;3796:25;3783:39;2632:25:208;;2620:2;2605:18;1616:110:58;2486:177:208;2816:97:129;;;;;;:::i;:::-;;:::i;1942:98:58:-;;;:::i;984:308:53:-;1108:4;1133:40;;;1148:25;1133:40;;:104;;-1:-1:-1;1183:54:53;;;1198:39;1183:54;1133:104;:154;;;-1:-1:-1;1247:40:53;;;1262:25;1247:40;1133:154;1120:167;984:308;-1:-1:-1;;984:308:53:o;1262:113:58:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1305:1507:129:-;1427:40;1447:6;1455:11;1427:19;:40::i;:::-;1494:17;1513:33;1561:11;1550:53;;;;;;;;;;;;:::i;:::-;1493:110;;-1:-1:-1;1493:110:129;-1:-1:-1;1676:29:129;-1:-1:-1;;1676:29:129;;;1672:96;;1722:39;;;;;-1:-1:-1;;4839:79:208;;1722:39:129;;;4821:98:208;4794:18;;1722:39:129;;;;;;;;1672:96;1818:16;1848:8;:6;:8::i;:::-;1818:39;;1864:12;1878:23;1905:19;-1:-1:-1;;;;;1905:32:129;2002:5;2009:9;1945:75;;;;;;;;-1:-1:-1;;;;;5142:55:208;;;;5124:74;;-1:-1:-1;;5234:79:208;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1945:75:129;;;;-1:-1:-1;;1945:75:129;;;;;;;;;;;;;;;;;;;;1905:121;;;1945:75;1905:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:163;;;;2037:7;2032:41;;2046:27;2062:10;2046:15;:27::i;:::-;2111:56;2129:27;2146:9;2129:16;:27::i;:::-;2158:8;2111:17;:56::i;:::-;2219:24;2246:25;2261:9;2246:14;:25::i;:::-;2219:52;;2277:14;2294:34;2307:5;2314:13;2294:12;:34::i;:::-;2277:51;-1:-1:-1;1597:18:59;1620:33;451:5:16;1620:33:59;;;;1589:65;-1:-1:-1;;;;;2468:23:129;;;1589:65:59;2505:12:129;:10;:12::i;:::-;2468:50;;;;;;;;;;;;;5822:25:208;;;;-1:-1:-1;;;;;5883:55:208;5863:18;;;5856:83;5795:18;;2468:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2577:46:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2577:21:129;:46::i;:::-;2572:167;;426:54:135;;443:18;426:54;;;7000:92:208;463:16:135;7108:11:208;;;7101:100;-1:-1:-1;;;;;2633:23:129;;;;;7217:12:208;;426:54:135;;;;;;;;;;;;418:63;;;:::i;:::-;2633:44:129;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2633:44:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2685:47:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2685:22:129;:47::i;:::-;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2744:63:129;;6460:12:208;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2787:11:129;2800:6;2744:17;:63::i;:::-;1355:1457;;;;;;;;1305:1507;:::o;2816:97::-;2876:32;;;;;;;;;;;;;;1942:98:58;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:58;3325:45;2992:383;:::o;1990:194:53:-;2092:39;2104:13;2119:11;2092;:39::i;:::-;2088:92;;;2148:25;;;;;;;;;;;;;;2088:92;1990:194;;:::o;348:217:96:-;551:6;545:13;538:4;530:6;526:17;519:40;1047:181:141;1106:10;1129:96;-1:-1:-1;;;1192:9:141;1209:13;1129:25;:96::i;14790:443:138:-;14872:24;14899:29;14912:6;:15;;;17875:26;;;10248:3:208;10244:16;;;;10262:66;10240:89;17875:26:138;;;10228:102:208;17875:26:138;;;;;;;;;10346:11:208;;;;17875:26:138;;;17787:119;14899:29;14872:56;;14935:29;14967:41;14981:6;:11;;;14994:6;:13;;;14967;:41::i;:::-;14935:73;;15014:25;15042:41;15056:6;:11;;;15069:6;:13;;;15042;:41::i;:::-;15119:16;;;15090:26;15119:16;;;;;;;;15014:69;;-1:-1:-1;15142:86:138;15164:8;15119:16;15185:11;15198:15;15014:69;15142:21;:86::i;:::-;14866:367;;;;14790:443;;:::o;1230:184:141:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;785:18:178;6350:12:208;;;6343:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6460:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;696:18:99;578:36:59;2952:46;;2951:74;603:67:178;;;620:15;603:67;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;648:21:178;6350:12:208;;;6343:101;6460:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2972:315:27:-;3085:16;;;3099:1;3085:16;;;;;;;;;3037:11;;;;3085:16;;;;;;;;;;;;-1:-1:-1;3085:16:27;3056:45;;3140:10;3107:9;3117:1;3107:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3158:13;3174:64;1102:66;3211:9;3158:13;-1:-1:-1;;;3174:26:27;:64::i;:::-;3158:80;;3252:29;3273:5;3260:20;;7637:5;7551:97;3252:29;3244:38;2972:315;-1:-1:-1;;;;2972:315:27:o;2510:174:139:-;2564:115;2590:8;1174:66;2614:14;:12;:14::i;:::-;2630:16;:14;:16::i;:::-;2648:13;:11;:13::i;:::-;2663:15;:13;:15::i;:::-;2564:25;:115::i;:::-;2510:174;:::o;5238:301::-;5362:16;;;5376:1;5362:16;;;;;;;;;5333:26;;5362:16;;;;;;;;;;;-1:-1:-1;5362:16:139;5333:45;;5417:11;5384:9;5394:1;5384:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5436:98;5463:8;5473:9;5484:1;5505:12;5487:32;;;;;;;9664:2:208;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5487:32:139;;;;-1:-1:-1;;5487:32:139;;;;;;;;;1174:66;5436:26;:98::i;:::-;5327:212;5238:301;;;:::o;4048:97:58:-;4089:7;4111:29;:27;:29::i;1579:176:53:-;1672:4;1691:59;1712:13;1737:11;1727:22;;;;;;1691:20;:59::i;:::-;1684:66;1579:176;-1:-1:-1;;;1579:176:53:o;1046:257:59:-;1133:10;1262:26;438:6;451:5:16;1262:26:59;:::i;:::-;1244:13;;;:45;;451:5:16;1208:31:59;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:59;;;;;:::o;18097:334:138:-;18379:18;;18399:20;;18197:29;;2576:5:15;;;900:16;2607:39;;;;2589:58;2688:23;2673:39;;;;2655:58;18357:63:138;2435:344:15;18596:168:138;18684:12;18735:4;18750:6;18711:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18704:55;;18596:168;;;;:::o;6454:479:24:-;6640:21;6664:17;:15;:17::i;:::-;6640:41;-1:-1:-1;6716:4:24;-1:-1:-1;;;;;6691:30:24;;;6687:242;;6731:79;6751:7;6760:8;6770:10;6782:14;6798:11;6731:19;:79::i;:::-;6687:242;;;6831:91;;;;;-1:-1:-1;;;;;6831:31:24;;;;;:91;;6863:7;;6872:8;;6882:10;;6894:14;;6910:11;;6831:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:299;6454:479;;;;;:::o;17768:457::-;17925:7;17940:21;17964:17;:15;:17::i;:::-;17940:41;-1:-1:-1;18016:4:24;-1:-1:-1;;;;;17991:30:24;;;17987:234;;18038:68;18063:7;18072:8;18082:10;18094:11;18038:24;:68::i;:::-;18031:75;;;;;17987:234;18134:80;;;;;-1:-1:-1;;;;;18134:36:24;;;;;:80;;18171:7;;18180:8;;18190:10;;18202:11;;18134:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1353:200:139:-;1447:19;;;1464:1;1447:19;;;;;;;;;1400:6;;;;1447:19;;;;;;;;;;;;-1:-1:-1;1447:19:139;1414:52;;1488:18;1472:10;1483:1;1472:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1520:28:139;1537:10;1520:16;:28::i;:::-;1513:35;;;1353:200;:::o;1670:208::-;1768:19;;;1785:1;1768:19;;;;;;;;;1719:6;;;;1768:19;;;;;;;;;;;;-1:-1:-1;1768:19:139;1733:54;;1811:18;1793:12;1806:1;1793:15;;;;;;;;:::i;2012:142::-;2101:15;;;2114:1;2101:15;;;;;;;;;2058:24;;2101:15;;;;;;;;;;;;;;;;;;;;2090:26;;2122:27;;;;;;;;;;;;;;;;;:8;2131:1;2122:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2012:142;:::o;2294:151::-;2389:15;;;2402:1;2389:15;;;;;;;;;2342:26;;2389:15;;;;;;;;;;;;;;;;;;;;2376:28;;2410:30;;;;;;;;;;;;;;;;;:10;2421:1;2410:13;;;;;;;;:::i;5640:520:24:-;5843:21;5867:17;:15;:17::i;:::-;5843:41;-1:-1:-1;5919:4:24;-1:-1:-1;;;;;5894:30:24;;;5890:266;;5934:91;5958:7;5967:11;5980:9;5991:11;6004:8;6014:10;5934:23;:91::i;:::-;5890:266;;;6046:103;;;;;-1:-1:-1;;;;;6046:35:24;;;;;:103;;6082:7;;6091:11;;6104:9;;6115:11;;6128:8;;6138:10;;6046:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5890:266;5837:323;5640:520;;;;;;:::o;10756:455::-;10928:21;10952:17;:15;:17::i;:::-;10928:41;-1:-1:-1;11004:4:24;-1:-1:-1;;;;;10979:30:24;;;10975:232;;11019:74;11044:7;11053:8;11063:10;11075:4;11081:11;11019:24;:74::i;10975:232::-;11114:86;;;;;-1:-1:-1;;;;;11114:36:24;;;;;:86;;11151:7;;11160:8;;11170:10;;11182:4;;11188:11;;11114:86;;;:::i;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:24;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;4048:382:72:-;4183:16;;;4197:1;4183:16;;;;;;;;4130;;;;4183;4197:1;4183:16;;;;;;;;;;-1:-1:-1;4183:16:72;4154:45;;4244:13;-1:-1:-1;;;;;4228:31:72;4220:40;;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4281:13;4266:9;4276:1;4266:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4301:13;4317:64;1213:66;4354:9;4301:13;-1:-1:-1;;;4317:26:72;:64::i;:::-;4301:80;;4395:29;4416:5;4403:20;;7637:5:27;7551:97;4395:29:72;4387:38;4048:382;-1:-1:-1;;;;;4048:382:72:o;14165:285:20:-;14351:94;14361:7;14370:8;14380:10;14392:14;14408:11;14421:23;14436:7;14421:14;:23::i;:::-;14351:9;:94::i;:::-;14165:285;;;;;:::o;38205:541::-;38362:7;38499:242;38543:59;38584:7;38593:8;38543:40;:59::i;:::-;38620:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38669:63:20;38708:11;38721:10;38669:38;:63::i;:::-;38499:17;:242::i;1399:2059:17:-;1467:6;689:2:30;1485:7:17;:14;:33;1481:85;;;1551:7;:14;1527:39;;-1:-1:-1;;;1527:39:17;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1481:85:17;1572:14;;;;1773:956;1797:7;:14;1793:1;:18;1773:956;;;1823:24;1850:32;:7;1858:1;1850:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1823:59;;1895:16;1915:1;1895:21;1891:404;;2080:15;;;;;1891:404;;;2124:17;;2120:175;;2248:38;;;;;;;;;;;;;;2120:175;2421:16;2406:31;;;;579:1:30;2683::17;2679;479:2:30;2661:19:17;:23;2660:40;2644:7;2652:1;2644:10;;;;;;;;:::i;:::-;;;;;;;2636:19;;;;;;;;:::i;:::-;:65;;2626:75;;;;;-1:-1:-1;2711:3:17;;1773:956;;;;944:1:30;2773:13:17;:34;2769:85;;;2816:38;;-1:-1:-1;;;2816:38:17;;;;;2632:25:208;;;2605:18;;2816:38:17;2486:177:208;2769:85:17;2954:14;;:30;;;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;3242:41:17;;;3232:51;;;;;579:1:30;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;3299:47:17;;;3289:57;;;;;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;3362:49:17;;;;3352:59;;;;;1399:2059;-1:-1:-1;;;;1399:2059:17:o;9039:2614:20:-;-1:-1:-1;;;9299:7:20;:35;;;;;;:83;;-1:-1:-1;9359:23:20;9338:7;:44;;;;9299:83;9295:209;;;-1:-1:-1;;;9454:7:20;9487;9470:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;9470:25:20;;;;-1:-1:-1;;9470:25:20;;;;;;;;;;9399:98;;;;;;;;;;:::i;9295:209::-;9550:22;:11;:20;:22::i;:::-;9613:40;:9;9646:4;9613:18;:40::i;:::-;9659:43;:11;9694:5;9659:20;:43::i;:::-;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9790:8:20;:15;:40;9786:148;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9911:15:20;;9847:80;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;9847:80:20;16309:248:208;9786:148:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;9984:10:20;:17;:44;9980:158;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10113:17:20;;10045:86;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10045:86:20;16309:248:208;9980:158:20;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10195:50:20;10191:171;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;1684:38:30;5408:60:17;;;1516:34:30;5331:59:17;;;5325:144;5310:159;;10262:93:20;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10262:93:20;16309:248:208;10191:171:20;10404:29;:11;:27;:29::i;:::-;10371;:11;:27;:29::i;:::-;:62;10367:225;;10509:29;:11;:27;:29::i;:::-;10548;:11;:27;:29::i;:::-;10450:135;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10450:135:20;16309:248:208;10367:225:20;10635:30;:11;:28;:30::i;:::-;10601;:11;:28;:30::i;:::-;:64;10597:230;;10742:30;:11;:28;:30::i;:::-;10782;:11;:28;:30::i;:::-;10682:138;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10682:138:20;16309:248:208;10597:230:20;10924:9;10919:314;10939:29;:11;:27;:29::i;:::-;10935:1;:33;10919:314;;;11013:44;:22;:11;11033:1;11013:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;10987:70:20;10983:244;;579:1:30;4677:19:3;:27;;;4676:44;4642:79;;;4629:93;;11164:44:20;:22;:11;11184:1;11164:19;:22::i;:44::-;11076:142;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;11076:142:20;16309:248:208;10983:244:20;10970:3;;10919:314;;;;11295:31;11318:7;11295:22;:31::i;:::-;11291:140;;;11381:7;11414;11397:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;11397:25:20;;;;-1:-1:-1;;11397:25:20;;;;;;;;;;11343:81;;;;;;;;;:::i;11291:140::-;11472:103;11484:7;11493:11;11506:9;11517:11;11541:8;11530:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11563:10;11552:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11472:11;:103::i;:::-;11611:37;11634:7;11643:4;11611:22;:37::i;25172:355::-;25344:178;25378:7;25403:8;25433:63;25472:11;25485:10;25433:38;:63::i;:::-;25511:4;25344:16;:178::i;6417:652::-;6484:11;6720:64;;;6716:111;;-1:-1:-1;1471:66:29;;6417:652:20;-1:-1:-1;6417:652:20:o;6716:111::-;6871:185;6917:85;1342:66:29;6993:7:20;6917:40;:85::i;:::-;7022:2;7044:1;6871:17;:185::i;15310:3138::-;15604:23;15583:7;:44;;;15579:198;;15697:7;15681:75;15706:8;15716:10;15728:14;15744:11;15681:75;;;;;;;;;:::i;:::-;;;;;;;;15764:7;;15579:198;15915:22;15940:24;15956:7;15940:15;:24::i;:::-;15915:49;;15975:9;15970:340;15990:5;:12;15986:1;:16;15970:340;;;16017:9;16039:5;16045:1;16039:8;;;;;;;;:::i;:::-;;;;;;;16017:31;;16060:33;409:6:32;16060:4:20;:14;;;;;:33;;;;:::i;:::-;16056:248;;;16105:190;;;;;3536:35:4;;;;;16105:47:20;;:190;;16164:7;;16183:8;;16203:10;;16225:14;;16251:11;;16274;;16105:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16056:248;-1:-1:-1;16004:3:20;;15970:340;;;;16374:7;16358:75;16383:8;16393:10;16405:14;16421:11;16358:75;;;;;;;;;:::i;:::-;;;;;;;;16497:26;16526:59;16567:7;16576:8;16526:40;:59::i;:::-;16497:88;-1:-1:-1;16591:21:20;894:4:14;884:15;;16591:54:20;;16651:149;16689:18;16723:1;16740:10;:17;16780:13;16651;:149::i;:::-;16900:1;16867:30;:11;:28;:30::i;:::-;:34;16863:1174;;;16986:33;17022:66;17070:7;17079:8;17022:47;:66::i;:::-;695:28:19;;;16986:102:20;-1:-1:-1;894:4:14;884:15;;17262:47:20;;17418:27;17453:25;17491:7;17486:545;17504:30;:11;:28;:30::i;:::-;17500:1;:34;;;17486:545;;;17570:63;17612:7;17621:8;17631:1;17570:41;:63::i;:::-;17548:85;-1:-1:-1;17663:25:20;:14;17686:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;17663:25:20;17643:45;;17698:170;17740:19;17779:1;17800:17;17844:13;17698;:170::i;:::-;17878:34;17895:17;17878:34;;:::i;:::-;;-1:-1:-1;18009:3:20;;17486:545;;;;16903:1134;;;16863:1174;18111:9;18106:338;18126:5;:12;18122:1;:16;18106:338;;;18153:9;18175:5;18181:1;18175:8;;;;;;;;:::i;:::-;;;;;;;18153:31;;18196:32;503:6:32;18196:4:20;:14;;;;;:32;;;;:::i;:::-;18192:246;;;18240:189;;;;;3536:35:4;;;;;18240:46:20;;:189;;18298:7;;18317:8;;18337:10;;18359:14;;18385:11;;18408;;18240:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18192:246;-1:-1:-1;18140:3:20;;18106:338;;52834:191;52936:7;53000;53009:8;52983:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52983:35:20;;;;;;;;;52973:46;;52983:35;52973:46;;;;44394:22;52966:53;;52834:191;-1:-1:-1;;;52834:191:20:o;53851:242::-;53947:7;;;53986:84;54006:10;54002:14;;:1;:14;53986:84;;;54031:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54031:32:20;;:::i;:::-;;-1:-1:-1;54018:3:20;;53986:84;;;-1:-1:-1;54082:6:20;53851:242;-1:-1:-1;;;53851:242:20:o;8945:812:19:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6972:1658:3:-;6655:45;7035:86;;7077:37;;;;;;;;;;;;;;7035:86;7127:25;7155:30;:11;:28;:30::i;:::-;7127:58;;944:1:30;7195:17:3;:38;7191:155;;;7250:89;;;;;;;;16483:25:208;;;944:1:30;16524:18:208;;;16517:34;16456:18;;7250:89:3;16309:248:208;7191:155:3;7352:24;7379:29;:11;:27;:29::i;:::-;7352:56;-1:-1:-1;7414:23:3;7440:36;7459:17;7352:56;7440:36;:::i;:::-;7414:62;;689:2:30;7486:15:3;:34;7482:140;;;7537:78;;;;;;;;16483:25:208;;;689:2:30;16524:18:208;;;16517:34;16456:18;;7537:78:3;16309:248:208;7482:140:3;7664:25;7700:9;7695:427;7715:16;7711:1;:20;7695:427;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;7743:24;7804:21;;;7800:232;;7844:51;;;;;;;;2632:25:208;;;2605:18;;7844:51:3;2486:177:208;7800:232:3;376:2:30;7914:16:3;:28;7910:122;;;7961:62;;;;;;;;2632:25:208;;;2605:18;;7961:62:3;2486:177:208;7910:122:3;8039:37;8060:16;8039:37;;:::i;:::-;;-1:-1:-1;;8104:3:3;;7695:427;;;;8189:30;:11;:28;:30::i;:::-;8168:17;:51;8164:183;;8290:30;:11;:28;:30::i;:::-;8236:104;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;;;16456:18;;8236:104:3;16309:248:208;8164:183:3;8403:16;8386:240;689:2:30;8421:1:3;:20;8386:240;;;4629:93;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;8517:21;;8513:107;;8557:54;;;;;;;;2632:25:208;;;2605:18;;8557:54:3;2486:177:208;8513:107:3;-1:-1:-1;8443:3:3;;8386:240;;5932:1629:17;6039:10;6038:11;:31;;;;-1:-1:-1;6655:45:3;;6053:16:17;6034:80;;;6078:36;;-1:-1:-1;;;6078:36:17;;6112:1;6078:36;;;2632:25:208;2605:18;;6078:36:17;2486:177:208;6034:80:17;6177:25;6205;:6;:23;:25::i;:::-;6177:53;;944:1:30;6240:17:17;:38;6236:103;;;6287:52;;-1:-1:-1;;;6287:52:17;;;;;2632:25:208;;;2605:18;;6287:52:17;2486:177:208;6236:103:17;6346:24;6373;:6;:22;:24::i;:::-;6346:51;-1:-1:-1;6467:23:17;6493:36;6512:17;6346:51;6493:36;:::i;:::-;6467:62;;689:2:30;6539:15:17;:34;6535:97;;;6582:50;;-1:-1:-1;;;6582:50:17;;;;;2632:25:208;;;2605:18;;6582:50:17;2486:177:208;6535:97:17;6693:25;6729:9;6724:313;6744:16;6740:1;:20;6724:313;;;6772:24;6799:39;:17;:6;6814:1;6799:14;:17::i;:39::-;6772:66;;6850:16;6870:1;6850:21;6846:101;;6890:48;;;;;;;;;;;;;;6846:101;6954:37;6975:16;6954:37;;:::i;:::-;;-1:-1:-1;;7019:3:17;;6724:313;;;;7105:25;:6;:23;:25::i;:::-;7084:17;:46;7080:134;;7181:25;:6;:23;:25::i;:::-;7147:60;;-1:-1:-1;;;7147:60:17;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;7080:134:17;7289:16;7272:285;7311:15;7307:1;:19;7272:285;;;7338:24;7365:39;:17;:6;7380:1;7365:14;:17::i;:39::-;7338:66;-1:-1:-1;7416:20:17;;7412:100;;7455:48;;;;;;;;;;;;;;7412:100;-1:-1:-1;7539:3:17;;7272:285;;5333:171:3;5406:7;579:1:30;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;5442:11:3;5421:78;5434:64;;5421:78;;5333:171;-1:-1:-1;;5333:171:3:o;5731:173::-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;4191:206:17:-;4261:10;4351:19;:27;;;4382:1;4350:33;4329:6;4304:82;4321:63;;4304:82;;;;;;;;;:::i;3328:314:27:-;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:27;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:27;:62::i;20396:676:29:-;24950:53;;;;;;21683:19:208;;;21718:12;;;21711:28;;;24923:12:29;21755::208;;;21748:28;;;24950:53:29;;;;;;;;;;21792:12:208;;;;24950:53:29;;;20687:29;20719:55;20733:18;20753:20;20719:13;:55::i;:::-;20687:87;;20780:25;20808:55;20822:18;20842:20;20808:13;:55::i;:::-;20899:16;;;20913:1;20899:16;;;;;;;;;20780:83;;-1:-1:-1;20870:26:29;;20899:16;;;;;;;;;;;;-1:-1:-1;20899:16:29;20870:45;;20954:7;20921:9;20931:1;20921:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20969:98;1342:66;20999:9;21010:11;21023:15;21040:12;1471:66;20969:19;:98::i;4692:268:27:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:27;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;19939:14:208;19932:22;19927:3;19923:32;19911:45;;19981:1;19972:11;;19788:201;4914:26:27;;;;-1:-1:-1;;4914:26:27;;;;;;;;;-1:-1:-1;;;4865:24:27;:90::i;:::-;4757:203;4692:268;;:::o;19084:1676:20:-;19284:23;19263:7;:44;;;19259:232;;19414:7;19370:100;19433:8;19450:5;19463:4;19370:100;;;;;;;;:::i;:::-;;;;;;;;19478:7;;19259:232;19497:16;19516:59;19557:7;19566:8;19516:40;:59::i;:::-;19497:78;;19721:22;19746:24;19762:7;19746:15;:24::i;:::-;19721:49;;19781:9;19776:328;19796:5;:12;19792:1;:16;19776:328;;;19823:9;19845:5;19851:1;19845:8;;;;;;;;:::i;:::-;;;;;;;19823:31;;19866:41;614:6:32;19866:4:20;:14;;;;;:41;;;;:::i;:::-;19862:236;;;19919:170;;;;;3536:35:4;;;;;19919:54:20;;:170;;19995:7;;20024:8;;20051:5;;20074:4;;19919:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19862:236;-1:-1:-1;19810:3:20;;19776:328;;;;20205:7;20161:100;20224:8;20241:5;20254:4;20161:100;;;;;;;;:::i;:::-;;;;;;;;20311:70;20343:8;20361:5;20311:70;;20374:4;20311:13;:70::i;:::-;20435:9;20430:326;20450:5;:12;20446:1;:16;20430:326;;;20477:9;20499:5;20505:1;20499:8;;;;;;;;:::i;:::-;;;;;;;20477:31;;20520:40;723:6:32;20520:4:20;:14;;;;;:40;;;;:::i;:::-;20516:234;;;20572:169;;;;;3536:35:4;;;;;20572:53:20;;:169;;20647:7;;20676:8;;20703:5;;20726:4;;20572:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20516:234;-1:-1:-1;20464:3:20;;20430:326;;53277:282;53522:30;;;;;;21318:19:208;;;21353:12;;;21346:28;;;53365:7:20;;21390:12:208;;53522:30:20;21130:278:208;4132:342:28;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:28;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;:::-;4318:70;;4402:66;:44;4423:5;4430:1;4433:5;:12;4402:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;55399:230:20:-;55520:7;55604;55613:8;55587:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55587:35:20;;;;;;;;;55577:46;;55587:35;55577:46;;;;44557:40;55550:73;;55399:230;-1:-1:-1;;;55399:230:20:o;54770:274::-;54914:7;55019;55028:8;55002:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54992:46;;;;;;54971:17;54964:25;;54944:45;;;44466:34;54944:45;:94;54936:103;;54929:110;;54770:274;;;;;:::o;4952:171:3:-;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;966:162:19:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;39214:522:20:-;39350:12;39474:257;39513:79;39555:7;39564:8;39574:17;39513:41;:79::i;:::-;39610:1;39629:93;39704:17;39629:66;39677:7;39686:8;39629:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39629:93:20;39474:12;:257::i;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;2194:80::-;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;40103:220:34:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;55967:301:20:-;56088:13;56180:82;56211:48;56241:7;56250:8;56211:29;:48::i;:::-;4711:21:19;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:19;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;6076:2380:19:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:208;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:208;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:208:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:208;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:208:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:208;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:208:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:208;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:208;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:208;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:208;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:208:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:208;;10865:439;-1:-1:-1;;;;;10865:439:208:o;11309:791::-;11701:6;11690:9;11683:25;11744:3;11739:2;11728:9;11724:18;11717:31;11664:4;11771:57;11823:3;11812:9;11808:19;11800:6;11771:57;:::i;:::-;11876:9;11868:6;11864:22;11859:2;11848:9;11844:18;11837:50;11910:32;11935:6;11927;11910:32;:::i;:::-;11896:46;;11978:6;11973:2;11962:9;11958:18;11951:34;12034:9;12026:6;12022:22;12016:3;12005:9;12001:19;11994:51;12062:32;12087:6;12079;12062:32;:::i;:::-;12054:40;11309:791;-1:-1:-1;;;;;;;;11309:791:208:o;12105:545::-;12426:6;12415:9;12408:25;12469:3;12464:2;12453:9;12449:18;12442:31;12389:4;12490:57;12542:3;12531:9;12527:19;12519:6;12490:57;:::i;:::-;12595:4;12583:17;;;;12578:2;12563:18;;12556:45;-1:-1:-1;12632:2:208;12617:18;12610:34;12482:65;12105:545;-1:-1:-1;;12105:545:208:o;12655:184::-;12725:6;12778:2;12766:9;12757:7;12753:23;12749:32;12746:52;;;12794:1;12791;12784:12;12746:52;-1:-1:-1;12817:16:208;;12655:184;-1:-1:-1;12655:184:208:o;12844:::-;-1:-1:-1;;;12893:1:208;12886:88;12993:4;12990:1;12983:15;13017:4;13014:1;13007:15;13033:656;13085:3;13116;13148:5;13142:12;13175:6;13170:3;13163:19;13201:4;13230;13225:3;13221:14;13214:21;;13288:4;13278:6;13275:1;13271:14;13264:5;13260:26;13256:37;13327:4;13320:5;13316:16;13350:1;13360:303;13374:6;13371:1;13368:13;13360:303;;;-1:-1:-1;;13449:5:208;13443:4;13439:16;13435:89;13430:3;13423:102;13546:37;13578:4;13569:6;13563:13;13546:37;:::i;:::-;13641:12;;;;13538:45;-1:-1:-1;13606:15:208;;;;13396:1;13389:9;13360:303;;;-1:-1:-1;13679:4:208;;13033:656;-1:-1:-1;;;;;;;13033:656:208:o;13694:907::-;14219:6;14208:9;14201:25;14262:6;14257:2;14246:9;14242:18;14235:34;14305:6;14300:2;14289:9;14285:18;14278:34;14348:6;14343:2;14332:9;14328:18;14321:34;14392:3;14386;14375:9;14371:19;14364:32;14182:4;14419:56;14470:3;14459:9;14455:19;14447:6;14419:56;:::i;:::-;14524:9;14516:6;14512:22;14506:3;14495:9;14491:19;14484:51;14552:43;14588:6;14580;14552:43;:::i;:::-;14544:51;13694:907;-1:-1:-1;;;;;;;;;13694:907:208:o;14606:706::-;14973:6;14962:9;14955:25;15016:3;15011:2;15000:9;14996:18;14989:31;14936:4;15043:57;15095:3;15084:9;15080:19;15072:6;15043:57;:::i;:::-;15148:4;15140:6;15136:17;15131:2;15120:9;15116:18;15109:45;15202:9;15194:6;15190:22;15185:2;15174:9;15170:18;15163:50;15230:32;15255:6;15247;15230:32;:::i;:::-;15222:40;;;15299:6;15293:3;15282:9;15278:19;15271:35;14606:706;;;;;;;;:::o;15317:128::-;15384:9;;;15405:11;;;15402:37;;;15419:18;;:::i;15450:168::-;15523:9;;;15554;;15571:15;;;15565:22;;15551:37;15541:71;;15592:18;;:::i;15841:463::-;16087:66;16079:6;16075:79;16064:9;16057:98;16191:6;16186:2;16175:9;16171:18;16164:34;16234:2;16229;16218:9;16214:18;16207:30;16038:4;16254:44;16294:2;16283:9;16279:18;16271:6;16254:44;:::i;16888:280::-;17087:2;17076:9;17069:21;17050:4;17107:55;17158:2;17147:9;17143:18;17135:6;17107:55;:::i;17173:688::-;17506:3;17495:9;17488:22;17469:4;17533:57;17585:3;17574:9;17570:19;17562:6;17533:57;:::i;:::-;17638:9;17630:6;17626:22;17621:2;17610:9;17606:18;17599:50;17672:32;17697:6;17689;17672:32;:::i;:::-;17658:46;;17740:6;17735:2;17724:9;17720:18;17713:34;17795:9;17787:6;17783:22;17778:2;17767:9;17763:18;17756:50;17823:32;17848:6;17840;17823:32;:::i;:::-;17815:40;17173:688;-1:-1:-1;;;;;;;17173:688:208:o;17866:894::-;18317:6;18306:9;18299:25;18360:3;18355:2;18344:9;18340:18;18333:31;18280:4;18387:57;18439:3;18428:9;18424:19;18416:6;18387:57;:::i;:::-;18492:9;18484:6;18480:22;18475:2;18464:9;18460:18;18453:50;18526:32;18551:6;18543;18526:32;:::i;:::-;18512:46;;18594:6;18589:2;18578:9;18574:18;18567:34;18650:9;18642:6;18638:22;18632:3;18621:9;18617:19;18610:51;18678:32;18703:6;18695;18678:32;:::i;:::-;18670:40;;;18747:6;18741:3;18730:9;18726:19;18719:35;17866:894;;;;;;;;;:::o;18765:639::-;19015:6;19010:3;19003:19;18985:3;19041:2;19074;19069:3;19065:12;19106:6;19100:13;19171:2;19163:6;19159:15;19192:1;19202:175;19216:6;19213:1;19210:13;19202:175;;;19279:13;;19265:28;;19315:14;;;;19352:15;;;;19238:1;19231:9;19202:175;;;-1:-1:-1;19393:5:208;;18765:639;-1:-1:-1;;;;;;;18765:639:208:o;19409:184::-;-1:-1:-1;;;19458:1:208;19451:88;19558:4;19555:1;19548:15;19582:4;19579:1;19572:15;19994:511;20245:2;20234:9;20227:21;20208:4;20271:56;20323:2;20312:9;20308:18;20300:6;20271:56;:::i;:::-;20375:14;20367:6;20363:27;20358:2;20347:9;20343:18;20336:55;20439:9;20431:6;20427:22;20422:2;20411:9;20407:18;20400:50;20467:32;20492:6;20484;20467:32;:::i;:::-;20459:40;19994:511;-1:-1:-1;;;;;;19994:511:208:o;20510:615::-;20820:6;20809:9;20802:25;20863:3;20858:2;20847:9;20843:18;20836:31;20783:4;20890:57;20942:3;20931:9;20927:19;20919:6;20890:57;:::i;:::-;20995:14;20987:6;20983:27;20978:2;20967:9;20963:18;20956:55;21059:9;21051:6;21047:22;21042:2;21031:9;21027:18;21020:50;21087:32;21112:6;21104;21087:32;:::i;21815:359::-;22018:2;22007:9;22000:21;21981:4;22038:44;22078:2;22067:9;22063:18;22055:6;22038:44;:::i;:::-;22113:2;22098:18;;22091:34;;;;-1:-1:-1;22156:2:208;22141:18;22134:34;22030:52;21815:359;-1:-1:-1;21815:359:208:o","linkReferences":{},"immutableReferences":{"22610":[{"start":507,"length":32}],"91437":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536\",\"dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958\",\"dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec\",\"dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab\",\"dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b\",\"dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f\",\"dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c\",\"dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58\",\"dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610\",\"dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x17bc29bb233a59422412c52b96caa8b3348122c7fea93ff6a05b5180d8a7f67f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b41b85213db039ec9d60e0e00f93775263905dc794a7daff0d4cd34ea713566a\",\"dweb:/ipfs/QmdAE8KH3mhK7WPTpDCwpE5Yw294m9T9KYFTxMsSNxc6qd\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07\",\"dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac\",\"dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a\",\"dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787\",\"dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f\",\"dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf\",\"dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayoutLib_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654","urls":["bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536","dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54","urls":["bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958","dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x0cfee97ee4634e2a9480333cb25b6f99f999910d7d3646b45780eb5485219592","urls":["bzz-raw://491f8f7ec0e2da54e44a984576acab6cf63f4de86b296855fc749997fc297aec","dweb:/ipfs/QmavXGLER27V4PTzcUxMTZ7aXr3RmBMoCZvvptBHwfBFzq"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x30297fcb2a9030acba2958a426682c19738ba95cfaf3c2b02433ab557292e775","urls":["bzz-raw://2ed70c1070c35df817975e3d1ebb5144b4e553b8c93e7b7f9219c52f3c9c2aab","dweb:/ipfs/QmPenSRjCSSMxnZxBz3NheP4EogK7DBVepNdTjjw2amu7D"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d","urls":["bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b","dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x32dfff6f3d3115a72f9469e3cef4314b839bcad8c7c95a51d51a1133ceb6043e","urls":["bzz-raw://52e24410ab22fb77b68622e23aac9096b9b5afb45ad653c25d29c32c8bc2df0f","dweb:/ipfs/QmajJ6jMCD2ntHvwuhnoqN7p94xA8sZsLcDnmVhc5UbNQL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xdb1a1c2e357695ae07319b3f31173b4822f8a391f2161cee29fe33e9e0312375","urls":["bzz-raw://96f92e6ee90a213f72b3b576e3a83fea45852b2969b65be1a7337a6be690d13c","dweb:/ipfs/QmewKWazvFmhkAHGdahAKR7D1cue2hYSgUs7WY5TP8q3kC"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xf441927971dfacd3bd0a9630b7dab2d0e3357124402adea4478f46987f34d3df","urls":["bzz-raw://f094b805d28297d812a6d287370ad792beb5a957374456c1a4c50f364ec76d58","dweb:/ipfs/QmcY6gU3wH9L8BaSGXhznRiZQjMD6ojgaAPxUDkjZa8viC"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8","urls":["bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610","dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x17bc29bb233a59422412c52b96caa8b3348122c7fea93ff6a05b5180d8a7f67f","urls":["bzz-raw://b41b85213db039ec9d60e0e00f93775263905dc794a7daff0d4cd34ea713566a","dweb:/ipfs/QmdAE8KH3mhK7WPTpDCwpE5Yw294m9T9KYFTxMsSNxc6qd"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81","urls":["bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07","dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462","urls":["bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac","dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910","urls":["bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a","dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9","urls":["bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787","dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900","urls":["bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f","dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b","urls":["bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf","dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"}},"version":1},"id":129}
|