{"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":"createRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"admin","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAll","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedCreateRole","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"admin","type":"bytes32","internalType":"bytes32"},{"name":"roleMember","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedGrantRole","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedRenounceRole","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedRevokeAll","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedRevokeRole","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scopedTransferRoleAdmin","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"newAdmin","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"transferRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"newAdmin","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"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":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RoleManagement_AdminAlreadyAssigned","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"admin","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"RoleManagement_BadConfirmation","inputs":[]},{"type":"error","name":"RoleManagement_InvalidRole","inputs":[]},{"type":"error","name":"RoleManagement_InvalidRoleMember","inputs":[]},{"type":"error","name":"RoleManagement_MustRenounceSelf","inputs":[]},{"type":"error","name":"RoleManagement_RoleAlreadyCreated","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"RoleManagement_RoleDoesNotExist","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"RoleManagement_UnauthorizedAccount","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"SOF_CallTooDeep","inputs":[{"name":"callCount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SOF_InvalidAccessLogic","inputs":[]},{"type":"error","name":"SOF_InvalidCall","inputs":[]},{"type":"error","name":"SOF_InvalidEntityType","inputs":[{"name":"givenEntity","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SOF_UnscopedSystemCall","inputs":[{"name":"entityId","type":"uint256","internalType":"uint256"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","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_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506140308061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80634c9f938411610093578063d547741f11610063578063d547741f14610207578063d9cd39591461021a578063e1af802c1461022d578063fabe323914610235575f80fd5b80634c9f9384146101bb5780638338f734146101ce5780638a4ddcc4146101e1578063c650cd8b146101f4575f80fd5b80632f2ff15d116100ce5780632f2ff15d1461016f57806333e651411461018257806336568abe1461019557806345ec9354146101a8575f80fd5b806301ffc9a7146100ff578063119df25f14610127578063127ddc79146101475780631623e6dc1461015c575b5f80fd5b61011261010d3660046136f5565b610248565b60405190151581526020015b60405180910390f35b61012f61027e565b6040516001600160a01b03909116815260200161011e565b61015a610155366004613724565b61028c565b005b61015a61016a36600461375a565b61033a565b61015a61017d366004613783565b6103a5565b61015a610190366004613724565b6103e8565b61015a6101a3366004613783565b610484565b604051601f19360135815260200161011e565b61015a6101c93660046137b1565b610554565b61015a6101dc3660046137b1565b610607565b61015a6101ef366004613724565b6106b3565b61015a6102023660046137d1565b61071e565b61015a610215366004613783565b610831565b61015a6102283660046137b1565b61091e565b61012f6109d0565b61015a61024336600461380f565b6109d9565b5f6001600160e01b0319821663b5dee12760e01b148061027857506001600160e01b031982166301ffc9a760e01b145b92915050565b5f610287610ac0565b905090565b5f61029630610ad4565b90506102a181610b5d565b835f6102ac30610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506102ed8282610c89565b6102f76001610dba565b6001600160a01b0316846001600160a01b03161461032857604051635a20d8ab60e01b815260040160405180910390fd5b6103328585610e3a565b505050505050565b5f61034430610ad4565b905061034f81610b5d565b835f61035a30610ad4565b6040805160208101929092526001600160e01b03195f35169082015260440160405160208183030381529060405280519060200120905061039b8282610c89565b6103328585610e95565b5f6103af30610ad4565b90506103ba81610b5d565b6103c383610f08565b6103cd6001610dba565b6103d78282610f6d565b6103e18585610fa6565b5050505050565b5f6103f230610ad4565b90506103fd81610b5d565b835f61040830610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506104498282610c89565b6104536001610dba565b6001600160a01b0316846001600160a01b03160361032857604051639e3761d960e01b815260040160405180910390fd5b5f61048e30610ad4565b905061049981610b5d565b60015f6104a46109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105039190613826565b905061050f8183610fd7565b6105196001610dba565b6001600160a01b0316846001600160a01b03161461054a57604051635a20d8ab60e01b815260040160405180910390fd5b6103e18585610e3a565b5f61055e30610ad4565b905061056981610b5d565b821580610574575081155b1561059257604051636bd3fdcf60e11b815260040160405180910390fd5b61059b83610ffb565b156105c157604051633d93249760e11b8152600481018490526024015b60405180910390fd5b8183036105ea576105d2838361106b565b6105e5836105e06001610dba565b610fa6565b505050565b6105fd826105f86001610dba565b610f6d565b6105e5838361106b565b5f61061130610ad4565b905061061c81610b5d565b825f61062730610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506106688282610c89565b5f61067285611093565b90505f5b81518110156106aa576106a2868383815181106106955761069561383d565b6020026020010151610e3a565b600101610676565b50505050505050565b5f6106bd30610ad4565b90506106c881610b5d565b835f6106d330610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506107148282610c89565b6103328585610fa6565b5f61072830610ad4565b905061073381610b5d565b845f61073e30610ad4565b6040805160208101929092526001600160e01b03195f35169082015260440160405160208183030381529060405280519060200120905061077f8282610c89565b85158061078a575084155b156107a857604051636bd3fdcf60e11b815260040160405180910390fd5b6107b186610ffb565b156107d257604051633d93249760e11b8152600481018790526024016105b8565b848603610819576001600160a01b038416610800576040516336535f7d60e01b815260040160405180910390fd5b61080a868661106b565b6108148685610fa6565b6106aa565b610827856105f86001610dba565b6106aa868661106b565b5f61083b30610ad4565b905061084681610b5d565b60015f6108516109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b09190613826565b90506108bc8183610fd7565b6108c585610f08565b6108cf6001610dba565b6108d98282610f6d565b6108e36001610dba565b6001600160a01b0316866001600160a01b03160361091457604051639e3761d960e01b815260040160405180910390fd5b6106aa8787610e3a565b5f61092830610ad4565b905061093381610b5d565b60015f61093e6109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190613826565b90506109a98183610fd7565b6109b285610f08565b6109bc6001610dba565b6109c68282610f6d565b6106aa8787610e95565b5f610287611105565b5f6109e330610ad4565b90506109ee81610b5d565b60015f6109f96109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a589190613826565b9050610a648183610fd7565b610a6d84610f08565b610a776001610dba565b610a818282610f6d565b5f610a8b87611093565b90505f5b8151811015610ab657610aae888383815181106106955761069561383d565b600101610a8f565b5050505050505050565b60331936013560601c80610ad15750335b90565b6040805160018082528183019092525f9182919060208083019080368337019050509050826001600160a01b03165f1b815f81518110610b1657610b1661383d565b60209081029190910101525f610b557f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b61110e565b949350505050565b5f80610b676109d0565b6001600160a01b03166387ce4598610b7d6109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190613826565b6040518263ffffffff1660e01b8152600401610bfa91815260200190565b608060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190613865565b5050915091508183141580610c6b57506001600160e01b03198116610c5e365f6138ab565b6001600160e01b03191614155b156105e5576040516367a2328560e11b815260040160405180910390fd5b5f610c93826111af565b90505f610ce35f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525060049250610cde915060389050366138ef565b611276565b82519091508015610cf557508160a001515b15610db457610d026109d0565b6001600160a01b03166396f0f0cd836060015184608001518785604051602401610d2d92919061394f565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b9092168252610d73929160040161394f565b5f60405180830381865afa158015610d8d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e191908101906139e2565b50505050565b5f80610dc46109d0565b6001600160a01b03166387ce4598846040518263ffffffff1660e01b8152600401610df191815260200190565b608060405180830381865afa158015610e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190613865565b5095945050505050565b610e448282611384565b15610e91575f610e548383611435565b9050610e7e8382610e79866001610e6a896114d2565b610e7491906138ef565b611539565b6115b6565b610e8783611652565b6105e583836116ab565b5050565b5f610e9f83611738565b90505f610eab83611738565b8051909150610ed057604051630782b18760e11b8152600481018490526024016105b8565b82826020015103610efe576040516395599bf160e01b815260048101859052602481018490526044016105b8565b610db484846117c8565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110610f3f57610f3f61383d565b60209081029190910101525f610b555f80516020613fdb83398151915283600164010810080960d51b61110e565b610f778282611384565b610e915760405163ef14ac6360e01b8152600481018390526001600160a01b03821660248201526044016105b8565b5f610fb0836114d2565b9050610fbc8383611384565b6105e557610fcd838360018461184f565b6105e5838361190a565b80821115610e915760405163cb7ee31d60e01b8152600481018390526024016105b8565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106110325761103261383d565b60209081029190910101525f61105f5f80516020613fdb833981519152838364010810080960d51b61110e565b9050610b558160f81c90565b604080515f808252602082019092526110899184916001919061199c565b610e918282610e95565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106110cb576110cb61383d565b60209081029190910101525f6110ef5f80516020613fdb8339815191528383611a38565b9050610b55611100825f8451611ae1565b611b54565b5f610287611b64565b5f80611118611b64565b9050306001600160a01b0382160361113e5761113686868686611ba2565b915050610b55565b604051638c364d5960e01b81526001600160a01b03821690638c364d5990611170908990899089908990600401613a4e565b602060405180830381865afa15801561118b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111369190613826565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091526040805160018082528183019092525f9181602001602082028036833701905050905082815f815181106112165761121661383d565b60209081029190910101525f808061125b7f746265766566726f6e74696572000000416363657373436f6e6669670000000085684a060001200420040160b01b611bce565b92509250925061126c838383611c7f565b9695505050505050565b60608161128481601f613a7c565b10156112c35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016105b8565b6112cd8284613a7c565b845110156113115760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016105b8565b60608215801561132f5760405191505f825260208201604052611379565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611368578051835260209283019201611350565b5050858452601f01601f1916604052505b5090505b9392505050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f815181106113bb576113bb61383d565b602002602001018181525050826001600160a01b03165f1b816001815181106113e6576113e661383d565b60209081029190910101525f61142076746265766566726f6e74696572000000486173526f6c6560481b838364010810000960d51b61110e565b905061142c8160f81c90565b95945050505050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f8151811061146c5761146c61383d565b602002602001018181525050826001600160a01b03165f1b816001815181106114975761149761383d565b60209081029190910101525f61142c76746265766566726f6e74696572000000486173526f6c6560481b83600164010810000960d51b61110e565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106115095761150961383d565b60209081029190910101525f61152d5f80516020613fdb8339815191528383611cef565b60149004949350505050565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f815181106115705761157061383d565b60209081029190910101525f61159f5f80516020613fdb833981519152838360148089029060018a0102611d85565b90506115aa81613aa3565b60601c95945050505050565b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106115ea576115ea61383d565b6020026020010181815250505f82604051602001611620919060609190911b6bffffffffffffffffffffffff1916815260140190565b60405160208183030381529060405290506103e15f80516020613fdb8339815191525f1b835f87601402855186611e2c565b6040805160018082528183019092525f916020808301908036833701905050905081815f815181106116865761168661383d565b6020908102919091010152610e915f80516020613fdb833981519152825f6014611ec1565b6040805160028082526060820183525f9260208301908036833701905050905082815f815181106116de576116de61383d565b602002602001018181525050816001600160a01b03165f1b816001815181106117095761170961383d565b60209081029190910101526105e576746265766566726f6e74696572000000486173526f6c6560481b82611f53565b60408051606080820183525f808352602080840182905283850192909252835160018082528186019095529293909291828101908036833701905050905082815f815181106117895761178961383d565b60209081029190910101525f80806117b75f80516020613fdb8339815191528564010810080960d51b611bce565b92509250925061126c838383611fcf565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106117fc576117fc61383d565b6020026020010181815250506105e55f80516020613fdb8339815191525f1b8260018560405160200161183191815260200190565b60408051601f1981840301815291905264010810080960d51b612012565b6040805183151560f81b602082015260218082018490528251808303909101815260026041830181815260a18401855291935f93606093859390929091606101908036833701905050905087815f815181106118ad576118ad61383d565b602002602001018181525050866001600160a01b03165f1b816001815181106118d8576118d861383d565b6020908102919091010152610ab676746265766566726f6e74696572000000486173526f6c6560481b828686866120a8565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811061193e5761193e61383d565b6020026020010181815250506105e55f80516020613fdb8339815191525f1b825f85604051602001611988919060609190911b6bffffffffffffffffffffffff1916815260140190565b604051602081830303815290604052612104565b6040805184151560f81b602082015260218082018590528251808303909101815260419091019091525f6119cf8361215d565b90505f6119db8461216f565b6040805160018082528183019092529192505f91906020808301908036833701905050905087815f81518110611a1357611a1361383d565b6020908102919091010152610ab65f80516020613fdb833981519152828686866120a8565b60605f611a43611b64565b9050306001600160a01b03821603611a6857611a608585856121a0565b91505061137d565b604051631e78897760e01b81526001600160a01b03821690631e78897790611a9890889088908890600401613adf565b5f60405180830381865afa158015611ab2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6091908101906139e2565b509392505050565b5f81831180611af05750835182115b15611b14578383836040516323230fa360e01b81526004016105b893929190613b0a565b60208401611b228482613a7c565b90505f611b2f85856138ef565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61137d83601460606121d9565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611b9d573391505090565b919050565b5f61142c611bb08686612251565b60ff858116601b0360080285901c16611bc985876122a6565b6122d6565b60605f60605f611bdc611b64565b9050306001600160a01b03821603611c0557611bf9878787612326565b93509350935050611c76565b60405163419b58fd60e01b81526001600160a01b0382169063419b58fd90611c35908a908a908a90600401613b2e565b5f60405180830381865afa158015611c4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611bf99190810190613b56565b93509350939050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a0810191909152611cb984612427565b151560a08701526001600160e01b0319908116608087015260608601919091521660408401526020830152151581529392505050565b5f80611cf9611b64565b9050306001600160a01b03821603611d1657611a6085858561247d565b60405163dbbf0e2160e01b81526001600160a01b0382169063dbbf0e2190611d4690889088908890600401613adf565b602060405180830381865afa158015611d61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a609190613826565b60605f611d90611b64565b9050306001600160a01b03821603611db757611daf878787878761248c565b91505061142c565b604051634dc77d9760e01b81526001600160a01b03821690634dc77d9790611deb908a908a908a908a908a90600401613bbe565b5f60405180830381865afa158015611e05573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611daf91908101906139e2565b5f611e35611b64565b9050306001600160a01b03821603611e555761081487878787878761255a565b60405163605144ad60e11b81526001600160a01b0382169063c0a2895a90611e8b908a908a908a908a908a908a90600401613bf6565b5f604051808303815f87803b158015611ea2575f80fd5b505af1158015611eb4573d5f803e3d5ffd5b5050505050505050505050565b5f611eca611b64565b9050306001600160a01b03821603611eed57611ee885858585612572565b6103e1565b6040516336700e8160e21b81526001600160a01b0382169063d9c03a0490611f1f908890889088908890600401613a4e565b5f604051808303815f87803b158015611f36575f80fd5b505af1158015611f48573d5f803e3d5ffd5b505050505050505050565b5f611f5c611b64565b9050306001600160a01b03821603611f78576105e583836125c8565b60405163505a181d60e01b81526001600160a01b0382169063505a181d90611fa69086908690600401613c3e565b5f604051808303815f87803b158015611fbd575f80fd5b505af11580156106aa573d5f803e3d5ffd5b60408051606080820183525f808352602083015291810191909152611ff3846125db565b60208301521515815261200683836125fb565b60408201529392505050565b5f61201b611b64565b9050306001600160a01b0382160361203f5761203a8686868686612618565b610332565b6040516301c85d5760e51b81526001600160a01b0382169063390baae0906120739089908990899089908990600401613c56565b5f604051808303815f87803b15801561208a575f80fd5b505af115801561209c573d5f803e3d5ffd5b50505050505050505050565b5f6120b1611b64565b9050306001600160a01b038216036120d05761203a868686868661262d565b60405163298314fb60e01b81526001600160a01b0382169063298314fb906120739089908990899089908990600401613c9c565b5f61210d611b64565b9050306001600160a01b0382160361212b57611ee885858585612643565b604051630a87993160e11b81526001600160a01b0382169063150f326290611f1f908890889088908890600401613cec565b5f6102788251601402603881901b1790565b606061217a8261267b565b60405160200161218a9190613d2a565b6040516020818303038152906040529050919050565b6060610b556121b085858561268a565b5f6121d4856121bf89896126f0565b9060ff166028026038011c64ffffffffff1690565b612702565b60605f6121e68560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161220b5761220b613a8f565b0490506040519350602084016020820281016040528185525f5b82811015612245578451871c825293870193602090910190600101612225565b50505050509392505050565b5f8282604051602001612265929190613d45565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff16811015611ad9576122cc60ff601b83900360080287901c1683613a7c565b91506001016122aa565b5f602082106122fb576020820484019350602082816122f7576122f7613a8f565b0691505b508254600882021b602082900380841115611ad9576001850154600882021c82179150509392505050565b60605f60605f61233585612725565b9050612342878783612747565b93505f61234e8661277c565b9050801561241c5761236088886126f0565b935066ffffffffffffff841667ffffffffffffffff81111561238457612384613851565b6040519080825280601f01601f1916602001820160405280156123ae576020820181803683370190505b509250602083015f5b828160ff161015612419575f6123ce8b8b8461268a565b90505f6123ea888460ff166028026038011c64ffffffffff1690565b90506123f8825f83876127b8565b6124028185613a7c565b93505050808061241190613d7f565b9150506123b7565b50505b505093509350939050565b5f805f805f8061244361243d885f016020015190565b60f81c90565b6021880151604189015160458a015160658b015160698c0151949a50929850909650945092506124729061243d565b905091939550919395565b5f610b55826121bf86866126f0565b6060818311156124b957604051635462a3c160e11b815260048101849052602481018390526044016105b8565b5f6124c487876126f0565b90505f6124e0828760ff166028026038011c64ffffffffff1690565b905080851015806124f057508084115b1561253257808186101561250e576125096001866138ef565b612510565b855b604051637e8578d360e01b8152600481019290925260248201526044016105b8565b5f61253e89898961268a565b905061254d8187888803612702565b9998505050505050505050565b61033286868686868661256d8d8d6126f0565b61287f565b5f61257d85856126f0565b90505f612599828560ff166028026038011c64ffffffffff1690565b90506103328686866125b28764ffffffffff87166138ef565b604080515f81526020810190915288908861287f565b610e9182826125d685612c03565b612c70565b5f806125ed61243d845f016020015190565b602193909301519293915050565b60605f603884901c64ffffffffff1661142c611100858484611ae1565b6103e1858561262784876122a6565b85612eef565b6103e1858585858561263e8b612c03565b61310d565b5f61264e85856126f0565b90505f61266a828560ff166028026038011c64ffffffffff1690565b9050610332868686845f888861287f565b60608161137d816014846133c2565b5f838360405160200161269e929190613d45565b604051602081830303815290604052805190602001208260f81b6001600160f81b0319167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b5f61137d6126fe8484613414565b5490565b60405160208101601f19603f8484010116604052828252611ad9858585846127b8565b5f6008612734600260206138ef565b61273e9190613d9d565b9190911c919050565b6060815f03612764575060408051602081019091525f815261137d565b5f61276f8585612251565b905061142c815f85612702565b5f600860018061278e600260206138ef565b61279891906138ef565b6127a291906138ef565b6127ac9190613d9d565b8260ff911c1692915050565b821561283c57602083106127e2576020830484019350602083816127de576127de613a8f565b0692505b821561283c5760208390035f8184101561280357505f19600884021c61280c565b505f19600882021c5b8554600886021b81845116821982161784525081841161282d575050610db4565b50600194909401939182900391015b5b6020821061285e5783548152600190930192601f199091019060200161283d565b8115610db4575f5f19600884021c8251865482191691161782525050505050565b613a3160f11b876001600160f01b031916146128d857613a3160f11b87886040516020016128af91815260200190565b60408051601f19818403018152908290526331b4668360e01b82526105b8939291600401613db4565b5f6128f2828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff168361290a91906138ef565b6129149190613a7c565b905080821415801561293657508161292c8688613dd9565b64ffffffffff1614155b1561296d57604051632994042d60e21b815264ffffffffff80881660048301528087166024830152831660448201526064016105b8565b818664ffffffffff1611156129a557604051637e8578d360e01b81526004810183905264ffffffffff871660248201526044016105b8565b5f6129b1848984613469565b90505f6129bd8b613505565b90505f5b8151811015612a7d575f8282815181106129dd576129dd61383d565b60200260200101519050612a056010826001600160581b03191661358a90919063ffffffff16565b15612a7457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612a469796959493929190613dfe565b5f604051808303815f87803b158015612a5d575f80fd5b505af1158015612a6f573d5f803e3d5ffd5b505050505b506001016129c1565b5064ffffffffff88165f5b8a60ff168160ff161015612abb57612aaf878260ff166028026038011c64ffffffffff1690565b90910190600101612a88565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612af696959493929190613e5b565b60405180910390a250828414612b16575f612b118c8c613414565b839055505b5f612b228c8c8c61268a565b9050612b36818a64ffffffffff16896135a7565b505f5b8151811015612bf5575f828281518110612b5557612b5561383d565b60200260200101519050612b7d6020826001600160581b03191661358a90919063ffffffff16565b15612bec57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612bbe9796959493929190613dfe565b5f604051808303815f87803b158015612bd5575f80fd5b505af1158015612be7573d5f803e3d5ffd5b505050505b50600101612b39565b505050505050505050505050565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612c3b57506503001811010160cd1b919050565b610278612c687f746273746f72650000000000000000005461626c657300000000000000000000846135bd565b60205f6122d6565b611bdd60f21b836001600160f01b03191603612cc357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612cb69190613ea9565b60405180910390a2505050565b5f612ccd84613505565b90505f5b8151811015612d7c575f828281518110612ced57612ced61383d565b60200260200101519050612d156040826001600160581b03191661358a90919063ffffffff16565b15612d7357604051639faeaf4560e01b8152606082901c90639faeaf4590612d4590899089908990600401613b2e565b5f604051808303815f87803b158015612d5c575f80fd5b505af1158015612d6e573d5f803e3d5ffd5b505050505b50600101612cd1565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612dad9190613ea9565b60405180910390a25f612dc08585612251565b9050612e18815f612dd086612725565b67ffffffffffffffff811115612de857612de8613851565b6040519080825280601f01601f191660200182016040528015612e12576020820181803683370190505b506135a7565b5f612e228461277c565b1115612e42575f612e338686613414565b9050612e408160206135d8565b505b5f5b8251811015610332575f838281518110612e6057612e6061383d565b60200260200101519050612e886080826001600160581b03191661358a90919063ffffffff16565b15612ee6576040516383b5c95b60e01b8152606082901c906383b5c95b90612eb8908a908a908a90600401613b2e565b5f604051808303815f87803b158015612ecf575f80fd5b505af1158015612ee1573d5f803e3d5ffd5b505050505b50600101612e44565b611bdd60f21b846001600160f01b03191603612f4657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612f3993929190613ebb565b60405180910390a2610db4565b5f612f518585612251565b90505f612f5d86613505565b90505f5b815181101561300e575f828281518110612f7d57612f7d61383d565b60200260200101519050612fa56004826001600160581b03191661358a90919063ffffffff16565b156130055760405163964f667d60e01b8152606082901c9063964f667d90612fd7908b908b908b908b90600401613eed565b5f604051808303815f87803b158015612fee575f80fd5b505af1158015613000573d5f803e3d5ffd5b505050505b50600101612f61565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161304393929190613ebb565b60405180910390a261305e828565ffffffffffff16856135a7565b5f5b81518110156106aa575f82828151811061307c5761307c61383d565b602002602001015190506130a46008826001600160581b03191661358a90919063ffffffff16565b156131045760405163a8ba872160e01b8152606082901c9063a8ba8721906130d6908b908b908b908b90600401613eed565b5f604051808303815f87803b1580156130ed575f80fd5b505af11580156130ff573d5f803e3d5ffd5b505050505b50600101613060565b611bdd60f21b866001600160f01b0319160361316657857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516131599493929190613f25565b60405180910390a2610332565b5f61317087613505565b90505f5b8151811015613225575f8282815181106131905761319061383d565b602002602001015190506131b86001826001600160581b03191661358a90919063ffffffff16565b1561321c576040516315c19b2760e21b8152606082901c906357066c9c906131ee908c908c908c908c908c908c90600401613f63565b5f604051808303815f87803b158015613205575f80fd5b505af1158015613217573d5f803e3d5ffd5b505050505b50600101613174565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161325c9493929190613f25565b60405180910390a25f61326f8888612251565b90505f602087019050613285825f895184613613565b5f61328f8561277c565b111561330f575f6132a08a8a613414565b87815590506020860191505f805f5b6132b88861277c565b8160ff16101561330a576132cd8d8d8361268a565b92506132e88a8260ff166028026038011c64ffffffffff1690565b91506132f6835f8488613613565b6133008286613a7c565b94506001016132af565b505050505b5f5b835181101561209c575f84828151811061332d5761332d61383d565b602002602001015190506133556002826001600160581b03191661358a90919063ffffffff16565b156133b957604051635b28cdaf60e01b8152606082901c90635b28cdaf9061338b908e908e908e908e908e908e90600401613f63565b5f604051808303815f87803b1580156133a2575f80fd5b505af11580156133b4573d5f803e3d5ffd5b505050505b50600101613311565b82516060905f6133d28583613d9d565b9050604051925060208301601f19603f83860101166040528184525f602088015b84821015612245578051871b835291870191600191909101906020016133f3565b5f8282604051602001613428929190613d45565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff82111561349357604051637149a3c160e01b8152600481018390526024016105b8565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106134c557808503820191506134cd565b848103820391505b5064ffffffffff6038602860ff8816020181811b1966ffffffffffffff199490941690921792909216918416901b1790509392505050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061353d5761353d61383d565b60209081029190910101525f6135747f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836121a0565b9050610b55613585825f8451611ae1565b6136ce565b5f8160ff168261359a8560581c90565b1660ff1614905092915050565b6105e5838383516135b88560200190565b613613565b60408051602081018490529081018290525f90606001612265565b5f60206135e683601f613a7c565b6135f09190613fbb565b6135fa9084613a7c565b90505b808310156105e5575f83556001830192506135fd565b821561368b576020831061363d5760208304840193506020838161363957613639613a8f565b0692505b821561368b5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161367c575050610db4565b50600194909401939182900391015b5b602082106136ad5780518455600190930192601f199091019060200161368c565b8115610db4575f5f19600884021c8554835182191691161785555050505050565b60605f61137d8360155f6121d9565b6001600160e01b0319811681146136f2575f80fd5b50565b5f60208284031215613705575f80fd5b813561137d816136dd565b6001600160a01b03811681146136f2575f80fd5b5f805f60608486031215613736575f80fd5b8335925060208401359150604084013561374f81613710565b809150509250925092565b5f805f6060848603121561376c575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215613794575f80fd5b8235915060208301356137a681613710565b809150509250929050565b5f80604083850312156137c2575f80fd5b50508035926020909101359150565b5f805f80608085870312156137e4575f80fd5b843593506020850135925060408501359150606085013561380481613710565b939692955090935050565b5f6020828403121561381f575f80fd5b5035919050565b5f60208284031215613836575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613878575f80fd5b84519350602085015161388a816136dd565b604086015190935061389b81613710565b6060959095015193969295505050565b6001600160e01b031981358181169160048510156138d35780818660040360031b1b83161692505b505092915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610278576102786138db565b5f5b8381101561391c578181015183820152602001613904565b50505f910152565b5f815180845261393b816020860160208601613902565b601f01601f19169290920160200192915050565b828152604060208201525f610b556040830184613924565b5f82601f830112613976575f80fd5b815167ffffffffffffffff8082111561399157613991613851565b604051601f8301601f19908116603f011681019082821181831017156139b9576139b9613851565b816040528381528660208588010111156139d1575f80fd5b61126c846020830160208901613902565b5f602082840312156139f2575f80fd5b815167ffffffffffffffff811115613a08575f80fd5b610b5584828501613967565b5f815180845260208085019450602084015f5b83811015613a4357815187529582019590820190600101613a27565b509495945050505050565b848152608060208201525f613a666080830186613a14565b60ff949094166040830152506060015292915050565b80820180821115610278576102786138db565b634e487b7160e01b5f52601260045260245ffd5b805160208201516bffffffffffffffffffffffff198082169291906014831015613ad75780818460140360031b1b83161693505b505050919050565b838152606060208201525f613af76060830185613a14565b905060ff83166040830152949350505050565b606081525f613b1c6060830186613924565b60208301949094525060400152919050565b838152606060208201525f613b466060830185613a14565b9050826040830152949350505050565b5f805f60608486031215613b68575f80fd5b835167ffffffffffffffff80821115613b7f575f80fd5b613b8b87838801613967565b9450602086015193506040860151915080821115613ba7575f80fd5b50613bb486828701613967565b9150509250925092565b85815260a060208201525f613bd660a0830187613a14565b60ff95909516604083015250606081019290925260809091015292915050565b86815260c060208201525f613c0e60c0830188613a14565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261254d8185613924565b828152604060208201525f610b556040830184613a14565b85815260a060208201525f613c6e60a0830187613a14565b60ff861660408401528281036060840152613c898186613924565b9150508260808301529695505050505050565b85815260a060208201525f613cb460a0830187613a14565b8281036040840152613cc68187613924565b90508460608401528281036080840152613ce08185613924565b98975050505050505050565b848152608060208201525f613d046080830186613a14565b60ff851660408401528281036060840152613d1f8185613924565b979650505050505050565b5f8251613d3b818460208701613902565b9190910192915050565b8281525f60208083018451602086015f5b82811015613d7257815184529284019290840190600101613d56565b5091979650505050505050565b5f60ff821660ff8103613d9457613d946138db565b60010192915050565b8082028115828204841417610278576102786138db565b61ffff60f01b84168152826020820152606060408201525f61142c6060830184613924565b64ffffffffff818116838216019080821115613df757613df76138db565b5092915050565b87815260e060208201525f613e1660e0830189613a14565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613e4d8185613924565b9a9950505050505050505050565b60c081525f613e6d60c0830189613a14565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261254d8185613924565b602081525f61137d6020830184613a14565b606081525f613ecd6060830186613a14565b65ffffffffffff85166020840152828103604084015261126c8185613924565b848152608060208201525f613f056080830186613a14565b65ffffffffffff851660408401528281036060840152613d1f8185613924565b608081525f613f376080830187613a14565b8281036020840152613f498187613924565b90508460408401528281036060840152613d1f8185613924565b86815260c060208201525f613f7b60c0830188613a14565b8281036040840152613f8d8188613924565b90508560608401528281036080840152613fa78186613924565b9150508260a0830152979650505050505050565b5f82613fd557634e487b7160e01b5f52601260045260245ffd5b50049056fe746265766566726f6e74696572000000526f6c65000000000000000000000000a264697066735822122047fa4531002e29de53d5da195703de7a9e724b99d33fcec6122b28089ff741eb64736f6c63430008180033","sourceMap":"757:12106:133:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80634c9f938411610093578063d547741f11610063578063d547741f14610207578063d9cd39591461021a578063e1af802c1461022d578063fabe323914610235575f80fd5b80634c9f9384146101bb5780638338f734146101ce5780638a4ddcc4146101e1578063c650cd8b146101f4575f80fd5b80632f2ff15d116100ce5780632f2ff15d1461016f57806333e651411461018257806336568abe1461019557806345ec9354146101a8575f80fd5b806301ffc9a7146100ff578063119df25f14610127578063127ddc79146101475780631623e6dc1461015c575b5f80fd5b61011261010d3660046136f5565b610248565b60405190151581526020015b60405180910390f35b61012f61027e565b6040516001600160a01b03909116815260200161011e565b61015a610155366004613724565b61028c565b005b61015a61016a36600461375a565b61033a565b61015a61017d366004613783565b6103a5565b61015a610190366004613724565b6103e8565b61015a6101a3366004613783565b610484565b604051601f19360135815260200161011e565b61015a6101c93660046137b1565b610554565b61015a6101dc3660046137b1565b610607565b61015a6101ef366004613724565b6106b3565b61015a6102023660046137d1565b61071e565b61015a610215366004613783565b610831565b61015a6102283660046137b1565b61091e565b61012f6109d0565b61015a61024336600461380f565b6109d9565b5f6001600160e01b0319821663b5dee12760e01b148061027857506001600160e01b031982166301ffc9a760e01b145b92915050565b5f610287610ac0565b905090565b5f61029630610ad4565b90506102a181610b5d565b835f6102ac30610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506102ed8282610c89565b6102f76001610dba565b6001600160a01b0316846001600160a01b03161461032857604051635a20d8ab60e01b815260040160405180910390fd5b6103328585610e3a565b505050505050565b5f61034430610ad4565b905061034f81610b5d565b835f61035a30610ad4565b6040805160208101929092526001600160e01b03195f35169082015260440160405160208183030381529060405280519060200120905061039b8282610c89565b6103328585610e95565b5f6103af30610ad4565b90506103ba81610b5d565b6103c383610f08565b6103cd6001610dba565b6103d78282610f6d565b6103e18585610fa6565b5050505050565b5f6103f230610ad4565b90506103fd81610b5d565b835f61040830610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506104498282610c89565b6104536001610dba565b6001600160a01b0316846001600160a01b03160361032857604051639e3761d960e01b815260040160405180910390fd5b5f61048e30610ad4565b905061049981610b5d565b60015f6104a46109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105039190613826565b905061050f8183610fd7565b6105196001610dba565b6001600160a01b0316846001600160a01b03161461054a57604051635a20d8ab60e01b815260040160405180910390fd5b6103e18585610e3a565b5f61055e30610ad4565b905061056981610b5d565b821580610574575081155b1561059257604051636bd3fdcf60e11b815260040160405180910390fd5b61059b83610ffb565b156105c157604051633d93249760e11b8152600481018490526024015b60405180910390fd5b8183036105ea576105d2838361106b565b6105e5836105e06001610dba565b610fa6565b505050565b6105fd826105f86001610dba565b610f6d565b6105e5838361106b565b5f61061130610ad4565b905061061c81610b5d565b825f61062730610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506106688282610c89565b5f61067285611093565b90505f5b81518110156106aa576106a2868383815181106106955761069561383d565b6020026020010151610e3a565b600101610676565b50505050505050565b5f6106bd30610ad4565b90506106c881610b5d565b835f6106d330610ad4565b6040805160208101929092526001600160e01b03195f3516908201526044016040516020818303038152906040528051906020012090506107148282610c89565b6103328585610fa6565b5f61072830610ad4565b905061073381610b5d565b845f61073e30610ad4565b6040805160208101929092526001600160e01b03195f35169082015260440160405160208183030381529060405280519060200120905061077f8282610c89565b85158061078a575084155b156107a857604051636bd3fdcf60e11b815260040160405180910390fd5b6107b186610ffb565b156107d257604051633d93249760e11b8152600481018790526024016105b8565b848603610819576001600160a01b038416610800576040516336535f7d60e01b815260040160405180910390fd5b61080a868661106b565b6108148685610fa6565b6106aa565b610827856105f86001610dba565b6106aa868661106b565b5f61083b30610ad4565b905061084681610b5d565b60015f6108516109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b09190613826565b90506108bc8183610fd7565b6108c585610f08565b6108cf6001610dba565b6108d98282610f6d565b6108e36001610dba565b6001600160a01b0316866001600160a01b03160361091457604051639e3761d960e01b815260040160405180910390fd5b6106aa8787610e3a565b5f61092830610ad4565b905061093381610b5d565b60015f61093e6109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190613826565b90506109a98183610fd7565b6109b285610f08565b6109bc6001610dba565b6109c68282610f6d565b6106aa8787610e95565b5f610287611105565b5f6109e330610ad4565b90506109ee81610b5d565b60015f6109f96109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a589190613826565b9050610a648183610fd7565b610a6d84610f08565b610a776001610dba565b610a818282610f6d565b5f610a8b87611093565b90505f5b8151811015610ab657610aae888383815181106106955761069561383d565b600101610a8f565b5050505050505050565b60331936013560601c80610ad15750335b90565b6040805160018082528183019092525f9182919060208083019080368337019050509050826001600160a01b03165f1b815f81518110610b1657610b1661383d565b60209081029190910101525f610b557f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b61110e565b949350505050565b5f80610b676109d0565b6001600160a01b03166387ce4598610b7d6109d0565b6001600160a01b031663489f6a926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190613826565b6040518263ffffffff1660e01b8152600401610bfa91815260200190565b608060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190613865565b5050915091508183141580610c6b57506001600160e01b03198116610c5e365f6138ab565b6001600160e01b03191614155b156105e5576040516367a2328560e11b815260040160405180910390fd5b5f610c93826111af565b90505f610ce35f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525060049250610cde915060389050366138ef565b611276565b82519091508015610cf557508160a001515b15610db457610d026109d0565b6001600160a01b03166396f0f0cd836060015184608001518785604051602401610d2d92919061394f565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b9092168252610d73929160040161394f565b5f60405180830381865afa158015610d8d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e191908101906139e2565b50505050565b5f80610dc46109d0565b6001600160a01b03166387ce4598846040518263ffffffff1660e01b8152600401610df191815260200190565b608060405180830381865afa158015610e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190613865565b5095945050505050565b610e448282611384565b15610e91575f610e548383611435565b9050610e7e8382610e79866001610e6a896114d2565b610e7491906138ef565b611539565b6115b6565b610e8783611652565b6105e583836116ab565b5050565b5f610e9f83611738565b90505f610eab83611738565b8051909150610ed057604051630782b18760e11b8152600481018490526024016105b8565b82826020015103610efe576040516395599bf160e01b815260048101859052602481018490526044016105b8565b610db484846117c8565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110610f3f57610f3f61383d565b60209081029190910101525f610b555f80516020613fdb83398151915283600164010810080960d51b61110e565b610f778282611384565b610e915760405163ef14ac6360e01b8152600481018390526001600160a01b03821660248201526044016105b8565b5f610fb0836114d2565b9050610fbc8383611384565b6105e557610fcd838360018461184f565b6105e5838361190a565b80821115610e915760405163cb7ee31d60e01b8152600481018390526024016105b8565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106110325761103261383d565b60209081029190910101525f61105f5f80516020613fdb833981519152838364010810080960d51b61110e565b9050610b558160f81c90565b604080515f808252602082019092526110899184916001919061199c565b610e918282610e95565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106110cb576110cb61383d565b60209081029190910101525f6110ef5f80516020613fdb8339815191528383611a38565b9050610b55611100825f8451611ae1565b611b54565b5f610287611b64565b5f80611118611b64565b9050306001600160a01b0382160361113e5761113686868686611ba2565b915050610b55565b604051638c364d5960e01b81526001600160a01b03821690638c364d5990611170908990899089908990600401613a4e565b602060405180830381865afa15801561118b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111369190613826565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091526040805160018082528183019092525f9181602001602082028036833701905050905082815f815181106112165761121661383d565b60209081029190910101525f808061125b7f746265766566726f6e74696572000000416363657373436f6e6669670000000085684a060001200420040160b01b611bce565b92509250925061126c838383611c7f565b9695505050505050565b60608161128481601f613a7c565b10156112c35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016105b8565b6112cd8284613a7c565b845110156113115760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016105b8565b60608215801561132f5760405191505f825260208201604052611379565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611368578051835260209283019201611350565b5050858452601f01601f1916604052505b5090505b9392505050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f815181106113bb576113bb61383d565b602002602001018181525050826001600160a01b03165f1b816001815181106113e6576113e661383d565b60209081029190910101525f61142076746265766566726f6e74696572000000486173526f6c6560481b838364010810000960d51b61110e565b905061142c8160f81c90565b95945050505050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f8151811061146c5761146c61383d565b602002602001018181525050826001600160a01b03165f1b816001815181106114975761149761383d565b60209081029190910101525f61142c76746265766566726f6e74696572000000486173526f6c6560481b83600164010810000960d51b61110e565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106115095761150961383d565b60209081029190910101525f61152d5f80516020613fdb8339815191528383611cef565b60149004949350505050565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f815181106115705761157061383d565b60209081029190910101525f61159f5f80516020613fdb833981519152838360148089029060018a0102611d85565b90506115aa81613aa3565b60601c95945050505050565b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106115ea576115ea61383d565b6020026020010181815250505f82604051602001611620919060609190911b6bffffffffffffffffffffffff1916815260140190565b60405160208183030381529060405290506103e15f80516020613fdb8339815191525f1b835f87601402855186611e2c565b6040805160018082528183019092525f916020808301908036833701905050905081815f815181106116865761168661383d565b6020908102919091010152610e915f80516020613fdb833981519152825f6014611ec1565b6040805160028082526060820183525f9260208301908036833701905050905082815f815181106116de576116de61383d565b602002602001018181525050816001600160a01b03165f1b816001815181106117095761170961383d565b60209081029190910101526105e576746265766566726f6e74696572000000486173526f6c6560481b82611f53565b60408051606080820183525f808352602080840182905283850192909252835160018082528186019095529293909291828101908036833701905050905082815f815181106117895761178961383d565b60209081029190910101525f80806117b75f80516020613fdb8339815191528564010810080960d51b611bce565b92509250925061126c838383611fcf565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106117fc576117fc61383d565b6020026020010181815250506105e55f80516020613fdb8339815191525f1b8260018560405160200161183191815260200190565b60408051601f1981840301815291905264010810080960d51b612012565b6040805183151560f81b602082015260218082018490528251808303909101815260026041830181815260a18401855291935f93606093859390929091606101908036833701905050905087815f815181106118ad576118ad61383d565b602002602001018181525050866001600160a01b03165f1b816001815181106118d8576118d861383d565b6020908102919091010152610ab676746265766566726f6e74696572000000486173526f6c6560481b828686866120a8565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811061193e5761193e61383d565b6020026020010181815250506105e55f80516020613fdb8339815191525f1b825f85604051602001611988919060609190911b6bffffffffffffffffffffffff1916815260140190565b604051602081830303815290604052612104565b6040805184151560f81b602082015260218082018590528251808303909101815260419091019091525f6119cf8361215d565b90505f6119db8461216f565b6040805160018082528183019092529192505f91906020808301908036833701905050905087815f81518110611a1357611a1361383d565b6020908102919091010152610ab65f80516020613fdb833981519152828686866120a8565b60605f611a43611b64565b9050306001600160a01b03821603611a6857611a608585856121a0565b91505061137d565b604051631e78897760e01b81526001600160a01b03821690631e78897790611a9890889088908890600401613adf565b5f60405180830381865afa158015611ab2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6091908101906139e2565b509392505050565b5f81831180611af05750835182115b15611b14578383836040516323230fa360e01b81526004016105b893929190613b0a565b60208401611b228482613a7c565b90505f611b2f85856138ef565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61137d83601460606121d9565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611b9d573391505090565b919050565b5f61142c611bb08686612251565b60ff858116601b0360080285901c16611bc985876122a6565b6122d6565b60605f60605f611bdc611b64565b9050306001600160a01b03821603611c0557611bf9878787612326565b93509350935050611c76565b60405163419b58fd60e01b81526001600160a01b0382169063419b58fd90611c35908a908a908a90600401613b2e565b5f60405180830381865afa158015611c4f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611bf99190810190613b56565b93509350939050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a0810191909152611cb984612427565b151560a08701526001600160e01b0319908116608087015260608601919091521660408401526020830152151581529392505050565b5f80611cf9611b64565b9050306001600160a01b03821603611d1657611a6085858561247d565b60405163dbbf0e2160e01b81526001600160a01b0382169063dbbf0e2190611d4690889088908890600401613adf565b602060405180830381865afa158015611d61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a609190613826565b60605f611d90611b64565b9050306001600160a01b03821603611db757611daf878787878761248c565b91505061142c565b604051634dc77d9760e01b81526001600160a01b03821690634dc77d9790611deb908a908a908a908a908a90600401613bbe565b5f60405180830381865afa158015611e05573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611daf91908101906139e2565b5f611e35611b64565b9050306001600160a01b03821603611e555761081487878787878761255a565b60405163605144ad60e11b81526001600160a01b0382169063c0a2895a90611e8b908a908a908a908a908a908a90600401613bf6565b5f604051808303815f87803b158015611ea2575f80fd5b505af1158015611eb4573d5f803e3d5ffd5b5050505050505050505050565b5f611eca611b64565b9050306001600160a01b03821603611eed57611ee885858585612572565b6103e1565b6040516336700e8160e21b81526001600160a01b0382169063d9c03a0490611f1f908890889088908890600401613a4e565b5f604051808303815f87803b158015611f36575f80fd5b505af1158015611f48573d5f803e3d5ffd5b505050505050505050565b5f611f5c611b64565b9050306001600160a01b03821603611f78576105e583836125c8565b60405163505a181d60e01b81526001600160a01b0382169063505a181d90611fa69086908690600401613c3e565b5f604051808303815f87803b158015611fbd575f80fd5b505af11580156106aa573d5f803e3d5ffd5b60408051606080820183525f808352602083015291810191909152611ff3846125db565b60208301521515815261200683836125fb565b60408201529392505050565b5f61201b611b64565b9050306001600160a01b0382160361203f5761203a8686868686612618565b610332565b6040516301c85d5760e51b81526001600160a01b0382169063390baae0906120739089908990899089908990600401613c56565b5f604051808303815f87803b15801561208a575f80fd5b505af115801561209c573d5f803e3d5ffd5b50505050505050505050565b5f6120b1611b64565b9050306001600160a01b038216036120d05761203a868686868661262d565b60405163298314fb60e01b81526001600160a01b0382169063298314fb906120739089908990899089908990600401613c9c565b5f61210d611b64565b9050306001600160a01b0382160361212b57611ee885858585612643565b604051630a87993160e11b81526001600160a01b0382169063150f326290611f1f908890889088908890600401613cec565b5f6102788251601402603881901b1790565b606061217a8261267b565b60405160200161218a9190613d2a565b6040516020818303038152906040529050919050565b6060610b556121b085858561268a565b5f6121d4856121bf89896126f0565b9060ff166028026038011c64ffffffffff1690565b612702565b60605f6121e68560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161220b5761220b613a8f565b0490506040519350602084016020820281016040528185525f5b82811015612245578451871c825293870193602090910190600101612225565b50505050509392505050565b5f8282604051602001612265929190613d45565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff16811015611ad9576122cc60ff601b83900360080287901c1683613a7c565b91506001016122aa565b5f602082106122fb576020820484019350602082816122f7576122f7613a8f565b0691505b508254600882021b602082900380841115611ad9576001850154600882021c82179150509392505050565b60605f60605f61233585612725565b9050612342878783612747565b93505f61234e8661277c565b9050801561241c5761236088886126f0565b935066ffffffffffffff841667ffffffffffffffff81111561238457612384613851565b6040519080825280601f01601f1916602001820160405280156123ae576020820181803683370190505b509250602083015f5b828160ff161015612419575f6123ce8b8b8461268a565b90505f6123ea888460ff166028026038011c64ffffffffff1690565b90506123f8825f83876127b8565b6124028185613a7c565b93505050808061241190613d7f565b9150506123b7565b50505b505093509350939050565b5f805f805f8061244361243d885f016020015190565b60f81c90565b6021880151604189015160458a015160658b015160698c0151949a50929850909650945092506124729061243d565b905091939550919395565b5f610b55826121bf86866126f0565b6060818311156124b957604051635462a3c160e11b815260048101849052602481018390526044016105b8565b5f6124c487876126f0565b90505f6124e0828760ff166028026038011c64ffffffffff1690565b905080851015806124f057508084115b1561253257808186101561250e576125096001866138ef565b612510565b855b604051637e8578d360e01b8152600481019290925260248201526044016105b8565b5f61253e89898961268a565b905061254d8187888803612702565b9998505050505050505050565b61033286868686868661256d8d8d6126f0565b61287f565b5f61257d85856126f0565b90505f612599828560ff166028026038011c64ffffffffff1690565b90506103328686866125b28764ffffffffff87166138ef565b604080515f81526020810190915288908861287f565b610e9182826125d685612c03565b612c70565b5f806125ed61243d845f016020015190565b602193909301519293915050565b60605f603884901c64ffffffffff1661142c611100858484611ae1565b6103e1858561262784876122a6565b85612eef565b6103e1858585858561263e8b612c03565b61310d565b5f61264e85856126f0565b90505f61266a828560ff166028026038011c64ffffffffff1690565b9050610332868686845f888861287f565b60608161137d816014846133c2565b5f838360405160200161269e929190613d45565b604051602081830303815290604052805190602001208260f81b6001600160f81b0319167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b5f61137d6126fe8484613414565b5490565b60405160208101601f19603f8484010116604052828252611ad9858585846127b8565b5f6008612734600260206138ef565b61273e9190613d9d565b9190911c919050565b6060815f03612764575060408051602081019091525f815261137d565b5f61276f8585612251565b905061142c815f85612702565b5f600860018061278e600260206138ef565b61279891906138ef565b6127a291906138ef565b6127ac9190613d9d565b8260ff911c1692915050565b821561283c57602083106127e2576020830484019350602083816127de576127de613a8f565b0692505b821561283c5760208390035f8184101561280357505f19600884021c61280c565b505f19600882021c5b8554600886021b81845116821982161784525081841161282d575050610db4565b50600194909401939182900391015b5b6020821061285e5783548152600190930192601f199091019060200161283d565b8115610db4575f5f19600884021c8251865482191691161782525050505050565b613a3160f11b876001600160f01b031916146128d857613a3160f11b87886040516020016128af91815260200190565b60408051601f19818403018152908290526331b4668360e01b82526105b8939291600401613db4565b5f6128f2828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff168361290a91906138ef565b6129149190613a7c565b905080821415801561293657508161292c8688613dd9565b64ffffffffff1614155b1561296d57604051632994042d60e21b815264ffffffffff80881660048301528087166024830152831660448201526064016105b8565b818664ffffffffff1611156129a557604051637e8578d360e01b81526004810183905264ffffffffff871660248201526044016105b8565b5f6129b1848984613469565b90505f6129bd8b613505565b90505f5b8151811015612a7d575f8282815181106129dd576129dd61383d565b60200260200101519050612a056010826001600160581b03191661358a90919063ffffffff16565b15612a7457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612a469796959493929190613dfe565b5f604051808303815f87803b158015612a5d575f80fd5b505af1158015612a6f573d5f803e3d5ffd5b505050505b506001016129c1565b5064ffffffffff88165f5b8a60ff168160ff161015612abb57612aaf878260ff166028026038011c64ffffffffff1690565b90910190600101612a88565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612af696959493929190613e5b565b60405180910390a250828414612b16575f612b118c8c613414565b839055505b5f612b228c8c8c61268a565b9050612b36818a64ffffffffff16896135a7565b505f5b8151811015612bf5575f828281518110612b5557612b5561383d565b60200260200101519050612b7d6020826001600160581b03191661358a90919063ffffffff16565b15612bec57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612bbe9796959493929190613dfe565b5f604051808303815f87803b158015612bd5575f80fd5b505af1158015612be7573d5f803e3d5ffd5b505050505b50600101612b39565b505050505050505050505050565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612c3b57506503001811010160cd1b919050565b610278612c687f746273746f72650000000000000000005461626c657300000000000000000000846135bd565b60205f6122d6565b611bdd60f21b836001600160f01b03191603612cc357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051612cb69190613ea9565b60405180910390a2505050565b5f612ccd84613505565b90505f5b8151811015612d7c575f828281518110612ced57612ced61383d565b60200260200101519050612d156040826001600160581b03191661358a90919063ffffffff16565b15612d7357604051639faeaf4560e01b8152606082901c90639faeaf4590612d4590899089908990600401613b2e565b5f604051808303815f87803b158015612d5c575f80fd5b505af1158015612d6e573d5f803e3d5ffd5b505050505b50600101612cd1565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051612dad9190613ea9565b60405180910390a25f612dc08585612251565b9050612e18815f612dd086612725565b67ffffffffffffffff811115612de857612de8613851565b6040519080825280601f01601f191660200182016040528015612e12576020820181803683370190505b506135a7565b5f612e228461277c565b1115612e42575f612e338686613414565b9050612e408160206135d8565b505b5f5b8251811015610332575f838281518110612e6057612e6061383d565b60200260200101519050612e886080826001600160581b03191661358a90919063ffffffff16565b15612ee6576040516383b5c95b60e01b8152606082901c906383b5c95b90612eb8908a908a908a90600401613b2e565b5f604051808303815f87803b158015612ecf575f80fd5b505af1158015612ee1573d5f803e3d5ffd5b505050505b50600101612e44565b611bdd60f21b846001600160f01b03191603612f4657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612f3993929190613ebb565b60405180910390a2610db4565b5f612f518585612251565b90505f612f5d86613505565b90505f5b815181101561300e575f828281518110612f7d57612f7d61383d565b60200260200101519050612fa56004826001600160581b03191661358a90919063ffffffff16565b156130055760405163964f667d60e01b8152606082901c9063964f667d90612fd7908b908b908b908b90600401613eed565b5f604051808303815f87803b158015612fee575f80fd5b505af1158015613000573d5f803e3d5ffd5b505050505b50600101612f61565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161304393929190613ebb565b60405180910390a261305e828565ffffffffffff16856135a7565b5f5b81518110156106aa575f82828151811061307c5761307c61383d565b602002602001015190506130a46008826001600160581b03191661358a90919063ffffffff16565b156131045760405163a8ba872160e01b8152606082901c9063a8ba8721906130d6908b908b908b908b90600401613eed565b5f604051808303815f87803b1580156130ed575f80fd5b505af11580156130ff573d5f803e3d5ffd5b505050505b50600101613060565b611bdd60f21b866001600160f01b0319160361316657857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516131599493929190613f25565b60405180910390a2610332565b5f61317087613505565b90505f5b8151811015613225575f8282815181106131905761319061383d565b602002602001015190506131b86001826001600160581b03191661358a90919063ffffffff16565b1561321c576040516315c19b2760e21b8152606082901c906357066c9c906131ee908c908c908c908c908c908c90600401613f63565b5f604051808303815f87803b158015613205575f80fd5b505af1158015613217573d5f803e3d5ffd5b505050505b50600101613174565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161325c9493929190613f25565b60405180910390a25f61326f8888612251565b90505f602087019050613285825f895184613613565b5f61328f8561277c565b111561330f575f6132a08a8a613414565b87815590506020860191505f805f5b6132b88861277c565b8160ff16101561330a576132cd8d8d8361268a565b92506132e88a8260ff166028026038011c64ffffffffff1690565b91506132f6835f8488613613565b6133008286613a7c565b94506001016132af565b505050505b5f5b835181101561209c575f84828151811061332d5761332d61383d565b602002602001015190506133556002826001600160581b03191661358a90919063ffffffff16565b156133b957604051635b28cdaf60e01b8152606082901c90635b28cdaf9061338b908e908e908e908e908e908e90600401613f63565b5f604051808303815f87803b1580156133a2575f80fd5b505af11580156133b4573d5f803e3d5ffd5b505050505b50600101613311565b82516060905f6133d28583613d9d565b9050604051925060208301601f19603f83860101166040528184525f602088015b84821015612245578051871b835291870191600191909101906020016133f3565b5f8282604051602001613428929190613d45565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff82111561349357604051637149a3c160e01b8152600481018390526024016105b8565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106134c557808503820191506134cd565b848103820391505b5064ffffffffff6038602860ff8816020181811b1966ffffffffffffff199490941690921792909216918416901b1790509392505050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061353d5761353d61383d565b60209081029190910101525f6135747f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836121a0565b9050610b55613585825f8451611ae1565b6136ce565b5f8160ff168261359a8560581c90565b1660ff1614905092915050565b6105e5838383516135b88560200190565b613613565b60408051602081018490529081018290525f90606001612265565b5f60206135e683601f613a7c565b6135f09190613fbb565b6135fa9084613a7c565b90505b808310156105e5575f83556001830192506135fd565b821561368b576020831061363d5760208304840193506020838161363957613639613a8f565b0692505b821561368b5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161367c575050610db4565b50600194909401939182900391015b5b602082106136ad5780518455600190930192601f199091019060200161368c565b8115610db4575f5f19600884021c8554835182191691161785555050505050565b60605f61137d8360155f6121d9565b6001600160e01b0319811681146136f2575f80fd5b50565b5f60208284031215613705575f80fd5b813561137d816136dd565b6001600160a01b03811681146136f2575f80fd5b5f805f60608486031215613736575f80fd5b8335925060208401359150604084013561374f81613710565b809150509250925092565b5f805f6060848603121561376c575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215613794575f80fd5b8235915060208301356137a681613710565b809150509250929050565b5f80604083850312156137c2575f80fd5b50508035926020909101359150565b5f805f80608085870312156137e4575f80fd5b843593506020850135925060408501359150606085013561380481613710565b939692955090935050565b5f6020828403121561381f575f80fd5b5035919050565b5f60208284031215613836575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613878575f80fd5b84519350602085015161388a816136dd565b604086015190935061389b81613710565b6060959095015193969295505050565b6001600160e01b031981358181169160048510156138d35780818660040360031b1b83161692505b505092915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610278576102786138db565b5f5b8381101561391c578181015183820152602001613904565b50505f910152565b5f815180845261393b816020860160208601613902565b601f01601f19169290920160200192915050565b828152604060208201525f610b556040830184613924565b5f82601f830112613976575f80fd5b815167ffffffffffffffff8082111561399157613991613851565b604051601f8301601f19908116603f011681019082821181831017156139b9576139b9613851565b816040528381528660208588010111156139d1575f80fd5b61126c846020830160208901613902565b5f602082840312156139f2575f80fd5b815167ffffffffffffffff811115613a08575f80fd5b610b5584828501613967565b5f815180845260208085019450602084015f5b83811015613a4357815187529582019590820190600101613a27565b509495945050505050565b848152608060208201525f613a666080830186613a14565b60ff949094166040830152506060015292915050565b80820180821115610278576102786138db565b634e487b7160e01b5f52601260045260245ffd5b805160208201516bffffffffffffffffffffffff198082169291906014831015613ad75780818460140360031b1b83161693505b505050919050565b838152606060208201525f613af76060830185613a14565b905060ff83166040830152949350505050565b606081525f613b1c6060830186613924565b60208301949094525060400152919050565b838152606060208201525f613b466060830185613a14565b9050826040830152949350505050565b5f805f60608486031215613b68575f80fd5b835167ffffffffffffffff80821115613b7f575f80fd5b613b8b87838801613967565b9450602086015193506040860151915080821115613ba7575f80fd5b50613bb486828701613967565b9150509250925092565b85815260a060208201525f613bd660a0830187613a14565b60ff95909516604083015250606081019290925260809091015292915050565b86815260c060208201525f613c0e60c0830188613a14565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261254d8185613924565b828152604060208201525f610b556040830184613a14565b85815260a060208201525f613c6e60a0830187613a14565b60ff861660408401528281036060840152613c898186613924565b9150508260808301529695505050505050565b85815260a060208201525f613cb460a0830187613a14565b8281036040840152613cc68187613924565b90508460608401528281036080840152613ce08185613924565b98975050505050505050565b848152608060208201525f613d046080830186613a14565b60ff851660408401528281036060840152613d1f8185613924565b979650505050505050565b5f8251613d3b818460208701613902565b9190910192915050565b8281525f60208083018451602086015f5b82811015613d7257815184529284019290840190600101613d56565b5091979650505050505050565b5f60ff821660ff8103613d9457613d946138db565b60010192915050565b8082028115828204841417610278576102786138db565b61ffff60f01b84168152826020820152606060408201525f61142c6060830184613924565b64ffffffffff818116838216019080821115613df757613df76138db565b5092915050565b87815260e060208201525f613e1660e0830189613a14565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613e4d8185613924565b9a9950505050505050505050565b60c081525f613e6d60c0830189613a14565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261254d8185613924565b602081525f61137d6020830184613a14565b606081525f613ecd6060830186613a14565b65ffffffffffff85166020840152828103604084015261126c8185613924565b848152608060208201525f613f056080830186613a14565b65ffffffffffff851660408401528281036060840152613d1f8185613924565b608081525f613f376080830187613a14565b8281036020840152613f498187613924565b90508460408401528281036060840152613d1f8185613924565b86815260c060208201525f613f7b60c0830188613a14565b8281036040840152613f8d8188613924565b90508560608401528281036080840152613fa78186613924565b9150508260a0830152979650505050505050565b5f82613fd557634e487b7160e01b5f52601260045260245ffd5b50049056fe746265766566726f6e74696572000000526f6c65000000000000000000000000a264697066735822122047fa4531002e29de53d5da195703de7a9e724b99d33fcec6122b28089ff741eb64736f6c63430008180033","sourceMap":"757:12106:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:55;;;;;;:::i;:::-;;:::i;:::-;;;565:14:152;;558:22;540:41;;528:2;513:18;2331:198:55;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;756:55:152;;;738:74;;726:2;711:18;1262:113:55;592:226:152;9543:299:133;;;;;;:::i;:::-;;:::i;:::-;;7397:181;;;;;;:::i;:::-;;:::i;3208:172::-;;;;;;:::i;:::-;;:::i;8750:248::-;;;;;;:::i;:::-;;:::i;4344:262::-;;;;;;:::i;:::-;;:::i;1616:110:55:-;;;-1:-1:-1;;3800:14:55;3796:25;3783:39;2157:25:152;;2145:2;2130:18;1616:110:55;2011:177:152;2023:470:133;;;;;;:::i;:::-;;:::i;10379:252::-;;;;;;:::i;:::-;;:::i;8084:152::-;;;;;;:::i;:::-;;:::i;6251:641::-;;;;;;:::i;:::-;;:::i;3645:288::-;;;;;;:::i;:::-;;:::i;2741:205::-;;;;;;:::i;:::-;;:::i;1942:98:55:-;;;:::i;4891:288:133:-;;;;;;:::i;:::-;;:::i;2331:198:55:-;2407:4;-1:-1:-1;;;;;;2426:54:55;;-1:-1:-1;;;2426:54:55;;:98;;-1:-1:-1;;;;;;;2484:40:55;;-1:-1:-1;;;2484:40:55;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:55:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;9543:299:133:-;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;9679:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;9721:17:133::2;9736:1;9721:14;:17::i;:::-;-1:-1:-1::0;;;;;9699:39:133::2;:18;-1:-1:-1::0;;;;;9699:39:133::2;;9695:99;;9755:32;;-1:-1:-1::0;;;9755:32:133::2;;;;;;;;;;;9695:99;9800:37;9812:4;9818:18;9800:11;:37::i;:::-;3037:137:111::1;2712:1;2616:102:::0;9543:299:133;;;:::o;7397:181::-;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;7528:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;7544:29:133::2;7558:4;7564:8;7544:13;:29::i;3208:172::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;3304:19:133::1;3318:4;3304:13;:19::i;:::-;3325:17;3340:1;3325:14;:17::i;:::-;1605:25;1616:4;1622:7;1605:10;:25::i;:::-;3350::::2;3361:4;3367:7;3350:10;:25::i;:::-;2712:1:111::1;;2616:102:::0;3208:172:133;;:::o;8750:248::-;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;8857:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;8888:17:133::2;8903:1;8888:14;:17::i;:::-;-1:-1:-1::0;;;;;8877:28:133::2;:7;-1:-1:-1::0;;;;;8877:28:133::2;::::0;8873:89:::2;;8922:33;;-1:-1:-1::0;;;8922:33:133::2;;;;;;;;;;;4344:262:::0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;4450:1:133::1;3232:17:111;3270:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;3252:45:111::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3232:67;;3305:45;3326:9;3337:12;3305:20;:45::i;:::-;4485:17:133::2;4500:1;4485:14;:17::i;:::-;-1:-1:-1::0;;;;;4463:39:133::2;:18;-1:-1:-1::0;;;;;4463:39:133::2;;4459:99;;4519:32;;-1:-1:-1::0;;;4519:32:133::2;;;;;;;;;;;4459:99;4564:37;4576:4;4582:18;4564:11;:37::i;2023:470::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;2107:18:133;;;:41:::1;;-1:-1:-1::0;2129:19:133;;2107:41:::1;2103:97;;;2165:28;;-1:-1:-1::0;;;2165:28:133::1;;;;;;;;;;;2103:97;2210:20;2225:4;2210:14;:20::i;:::-;2206:87;;;2247:39;::::0;-1:-1:-1;;;2247:39:133;;::::1;::::0;::::1;2157:25:152::0;;;2130:18;;2247:39:133::1;;;;;;;;2206:87;2311:5;2303:4;:13:::0;2299:190:::1;;2326:24;2338:4;2344:5;2326:11;:24::i;:::-;2358:35;2369:4;2375:17;2390:1;2375:14;:17::i;:::-;2358:10;:35::i;:::-;2616:102:111::0;2023:470:133;;:::o;2299:190::-:1;2414:36;2425:5;2432:17;2447:1;2432:14;:17::i;:::-;2414:10;:36::i;:::-;2458:24;2470:4;2476:5;2458:11;:24::i;10379:252::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;10468:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;10484:24:133::2;10511:21;10527:4;10511:15;:21::i;:::-;10484:48;;10543:9;10538:89;10562:7;:14;10558:1;:18;10538:89;;;10591:29;10603:4;10609:7;10617:1;10609:10;;;;;;;;:::i;:::-;;;;;;;10591:11;:29::i;:::-;10578:3;;10538:89;;;;10478:153;3037:137:111::1;2712:1;2616:102:::0;10379:252:133;;:::o;8084:152::-;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;8190:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;8206::133::2;8217:4;8223:7;8206:10;:25::i;6251:641::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;6396:8:133::1;3043:14:111;3087:33;3114:4;3087:18;:33::i;:::-;3070:60;::::0;;::::1;::::0;::::1;3527:19:152::0;;;;-1:-1:-1;;;;;;3122:7:111::1;;;3562:12:152::0;;;3555:55;3626:12;;3070:60:111::1;;;;;;;;;;;;3060:71;;;;;;3043:88;;3137:25;3145:8;3155:6;3137:7;:25::i;:::-;6416:18:133::0;;;:41:::2;;-1:-1:-1::0;6438:19:133;;6416:41:::2;6412:97;;;6474:28;;-1:-1:-1::0;;;6474:28:133::2;;;;;;;;;;;6412:97;6519:20;6534:4;6519:14;:20::i;:::-;6515:87;;;6556:39;::::0;-1:-1:-1;;;6556:39:133;;::::2;::::0;::::2;2157:25:152::0;;;2130:18;;6556:39:133::2;2011:177:152::0;6515:87:133::2;6620:5;6612:4;:13:::0;6608:280:::2;;-1:-1:-1::0;;;;;6639:24:133;::::2;6635:90;;6682:34;;-1:-1:-1::0;;;6682:34:133::2;;;;;;;;;;;6635:90;6732:24;6744:4;6750:5;6732:11;:24::i;:::-;6764:28;6775:4;6781:10;6764;:28::i;:::-;6608:280;;;6813:36;6824:5;6831:17;6846:1;6831:14;:17::i;6813:36::-;6857:24;6869:4;6875:5;6857:11;:24::i;3645:288::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;3750:1:133::1;3232:17:111;3270:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;3252:45:111::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3232:67;;3305:45;3326:9;3337:12;3305:20;:45::i;:::-;3762:19:133::2;3776:4;3762:13;:19::i;:::-;3783:17;3798:1;3783:14;:17::i;:::-;1605:25;1616:4;1622:7;1605:10;:25::i;:::-;3823:17:::3;3838:1;3823:14;:17::i;:::-;-1:-1:-1::0;;;;;3812:28:133::3;:7;-1:-1:-1::0;;;;;3812:28:133::3;::::0;3808:89:::3;;3857:33;;-1:-1:-1::0;;;3857:33:133::3;;;;;;;;;;;3808:89;3902:26;3914:4;3920:7;3902:11;:26::i;2741:205::-:0;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;2854:1:133::1;3232:17:111;3270:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;3252:45:111::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3232:67;;3305:45;3326:9;3337:12;3305:20;:45::i;:::-;2866:19:133::2;2880:4;2866:13;:19::i;:::-;2887:17;2902:1;2887:14;:17::i;:::-;1605:25;1616:4;1622:7;1605:10;:25::i;:::-;2912:29:::3;2926:4;2932:8;2912:13;:29::i;1942:98:55:-:0;1981:7;2003:32;:30;:32::i;4891:288:133:-;2622:19:111;2644:33;2671:4;2644:18;:33::i;:::-;2622:55;;2683:23;2697:8;2683:13;:23::i;:::-;4974:1:133::1;3232:17:111;3270:8;:6;:8::i;:::-;-1:-1:-1::0;;;;;3252:45:111::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3232:67;;3305:45;3326:9;3337:12;3305:20;:45::i;:::-;4986:19:133::2;5000:4;4986:13;:19::i;:::-;5007:17;5022:1;5007:14;:17::i;:::-;1605:25;1616:4;1622:7;1605:10;:25::i;:::-;5032:24:::3;5059:21;5075:4;5059:15;:21::i;:::-;5032:48;;5091:9;5086:89;5110:7;:14;5106:1;:18;5086:89;;;5139:29;5151:4;5157:7;5165:1;5157:10;;;;;;;;:::i;5139:29::-;5126:3;;5086:89;;;;5026:153;3356:1:111::2;;3226:136:::1;2712:1;2616:102:::0;4891:288:133;:::o;2992:383:55:-;-1:-1:-1;;3282:14:55;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:55;3325:45;2992:383;:::o;3430:314:72:-;3538:16;;;3552:1;3538:16;;;;;;;;;3482:19;;;;3538:16;;;;;;;;;;;;-1:-1:-1;3538:16:72;3509:45;;3599:6;-1:-1:-1;;;;;3583:24:72;3575:33;;3560:9;3570:1;3560:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3615:13;3631:64;1169:66;3668:9;3615:13;-1:-1:-1;;;3631:26:72;:64::i;:::-;3615:80;3430:314;-1:-1:-1;;;;3430:314:72:o;3568:418:111:-;3633:26;3661:30;3717:8;:6;:8::i;:::-;-1:-1:-1;;;;;3699:47:111;;3772:8;:6;:8::i;:::-;-1:-1:-1;;;;;3754:45:111;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3699:108;;;;;;;;;;;;;2157:25:152;;2145:2;2130:18;;2011:177;3699:108:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3632:175;;;;;;3873:15;3842:8;3824:65;;:112;;;-1:-1:-1;;;;;;;3893:43:111;;:16;3900:8;;3893:16;:::i;:::-;-1:-1:-1;;;;;;3893:43:111;;;3824:112;3813:169;;;3958:17;;-1:-1:-1;;;3958:17:111;;;;;;;;;;;8411:566;8490:36;8529:24;8546:6;8529:16;:24::i;:::-;8490:63;;8654:23;8680:46;8692:8;;8680:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8702:1:111;;-1:-1:-1;8705:20:111;;-1:-1:-1;8723:2:111;;-1:-1:-1;8705:8:111;:20;:::i;:::-;8680:11;:46::i;:::-;8737:23;;8654:72;;-1:-1:-1;8737:51:111;;;;;8764:12;:24;;;8737:51;8733:240;;;8816:8;:6;:8::i;:::-;-1:-1:-1;;;;;8798:38:111;;8846:12;:27;;;8906:12;:29;;;8937:8;8947:10;8883:75;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8883:75:111;;;;;;;;;;;;;;-1:-1:-1;;;;;8883:75:111;-1:-1:-1;;;;;;8883:75:111;;;;;;8798:168;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8798:168:111;;;;;;;;;;;;:::i;8733:240::-;8484:493;;8411:566;;:::o;5610:194::-;5676:7;5696:17;5737:8;:6;:8::i;:::-;-1:-1:-1;;;;;5719:47:111;;5767:9;5719:58;;;;;;;;;;;;;2157:25:152;;2145:2;2130:18;;2011:177;5719:58:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5691:86:111;5610:194;-1:-1:-1;;;;;5610:194:111:o;12500:361:133:-;12579:34;12599:4;12605:7;12579:19;:34::i;:::-;12575:282;;;12623:19;12645:31;12662:4;12668:7;12645:16;:31::i;:::-;12623:53;;12684:94;12703:4;12709:11;12722:55;12742:4;12775:1;12748:24;12767:4;12748:18;:24::i;:::-;:28;;;;:::i;:::-;12722:19;:55::i;:::-;12684:18;:94::i;:::-;12786:21;12802:4;12786:15;:21::i;:::-;12815:35;12836:4;12842:7;12815:20;:35::i;12575:282::-;12500:361;;:::o;11441:397::-;11516:24;11543:14;11552:4;11543:8;:14::i;:::-;11516:41;;11563:25;11591:15;11600:5;11591:8;:15::i;:::-;11618:16;;11563:43;;-1:-1:-1;11613:83:133;;11651:38;;-1:-1:-1;;;11651:38:133;;;;;2157:25:152;;;2130:18;;11651:38:133;2011:177:152;11613:83:133;11724:5;11706:8;:14;;;:23;11702:99;;11746:48;;-1:-1:-1;;;11746:48:133;;;;;7783:25:152;;;7824:18;;;7817:34;;;7756:18;;11746:48:133;7609:248:152;11702:99:133;11807:26;11821:4;11827:5;11807:13;:26::i;3936:267:125:-;4041:16;;;4055:1;4041:16;;;;;;;;;3991:13;;;;4041:16;;;;;;;;;;;;-1:-1:-1;4041:16:125;4012:45;;4078:4;4063:9;4073:1;4063:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;4089:13;4105:64;-1:-1:-1;;;;;;;;;;;4142:9:125;4153:1;-1:-1:-1;;;4105:26:125;:64::i;10840:195:133:-;10924:34;10944:4;10950:7;10924:19;:34::i;:::-;10919:112;;10975:49;;-1:-1:-1;;;10975:49:133;;;;;8036:25:152;;;-1:-1:-1;;;;;8097:55:152;;8077:18;;;8070:83;8009:18;;10975:49:133;7862:297:152;12028:275:133;12102:21;12126:24;12145:4;12126:18;:24::i;:::-;12102:48;;12162:34;12182:4;12188:7;12162:19;:34::i;:::-;12157:142;;12206:47;12218:4;12224:7;12233:4;12239:13;12206:11;:47::i;:::-;12261:31;12278:4;12284:7;12261:16;:31::i;8981:181:111:-;9096:12;9084:9;:24;9080:78;;;9125:26;;-1:-1:-1;;;9125:26:111;;;;;2157:25:152;;;2130:18;;9125:26:111;2011:177:152;2743:281:125;2847:16;;;2861:1;2847:16;;;;;;;;;2799:11;;;;2847:16;;;;;;;;;;;;-1:-1:-1;2847:16:125;2818:45;;2884:4;2869:9;2879:1;2869:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;2895:13;2911:64;-1:-1:-1;;;;;;;;;;;2948:9:125;2895:13;-1:-1:-1;;;2911:26:125;:64::i;:::-;2895:80;;2989:29;3010:5;2997:20;;17118:5;17032:97;11161:161:133;11267:16;;;11263:1;11267:16;;;;;;;;;11234:50;;11243:4;;11249;;11263:1;11234:8;:50::i;:::-;11291:26;11305:4;11311:5;11291:13;:26::i;5100:324:125:-;5218:16;;;5232:1;5218:16;;;;;;;;;5157:24;;5189:26;;5218:16;;;;;;;;;;;;-1:-1:-1;5218:16:125;5189:45;;5255:4;5240:9;5250:1;5240:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;5266:18;5287:51;-1:-1:-1;;;;;;;;;;;5325:9:125;5266:18;5287:27;:51::i;:::-;5266:72;;5352:66;:44;5373:5;5380:1;5383:5;:12;5352:20;:44::i;:::-;:64;:66::i;4048:97:55:-;4089:7;4111:29;:27;:29::i;17775:457:26:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:26;-1:-1:-1;;;;;17998:30:26;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;-1:-1:-1;;;18141:80:26;;-1:-1:-1;;;;;18141:36:26;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11148:405:119:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11267:16:119;;;11281:1;11267:16;;;;;;;;;11238:26;;11267:16;;;;;;;;;;;;-1:-1:-1;11267:16:119;11238:45;;11304:6;11289:9;11299:1;11289:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;11318:24;;;11405:80;1351:66;11450:9;-1:-1:-1;;;11405:21:119;:80::i;:::-;11317:168;;;;;;11498:50;11505:11;11518:15;11535:12;11498:6;:50::i;:::-;11491:57;11148:405;-1:-1:-1;;;;;;11148:405:119:o;387:2376:112:-;479:12;523:7;507:12;523:7;517:2;507:12;:::i;:::-;:23;;499:50;;;;-1:-1:-1;;;499:50:112;;9680:2:152;499:50:112;;;9662:21:152;9719:2;9699:18;;;9692:30;-1:-1:-1;;;9738:18:152;;;9731:44;9792:18;;499:50:112;9478:338:152;499:50:112;580:16;589:7;580:6;:16;:::i;:::-;563:6;:13;:33;;555:63;;;;-1:-1:-1;;;555:63:112;;10023:2:152;555:63:112;;;10005:21:152;10062:2;10042:18;;;10035:30;-1:-1:-1;;;10081:18:152;;;10074:47;10138:18;;555:63:112;9821:341:152;555:63:112;625:22;678:15;;700:1693;;;;2514:4;2508:11;2495:24;;2676:1;2665:9;2658:20;2716:4;2705:9;2701:20;2695:4;2688:34;671:2059;;700:1693;858:4;852:11;839:24;;1445:2;1436:7;1432:16;1787:9;1780:17;1774:4;1770:28;1758:9;1747;1743:25;1739:60;1827:7;1823:2;1819:16;2041:6;2027:9;2020:17;2014:4;2010:28;1998:9;1990:6;1986:22;1982:57;1978:70;1845:341;2066:3;2062:2;2059:11;1845:341;;;2166:9;;2155:21;;2097:4;2089:13;;;;2119;1845:341;;;-1:-1:-1;;2196:26:112;;;2380:2;2363:11;-1:-1:-1;;2359:25:112;2353:4;2346:39;-1:-1:-1;671:2059:112;-1:-1:-1;2749:9:112;-1:-1:-1;387:2376:112;;;;;;:::o;2733:357:123:-;2858:16;;;2872:1;2858:16;;;;;;;;2808:13;;;;2858:16;2872:1;2858:16;;;;;;;;;;-1:-1:-1;2858:16:123;2829:45;;2895:4;2880:9;2890:1;2880:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;2944:7;-1:-1:-1;;;;;2928:25:123;2920:34;;2905:9;2915:1;2905:12;;;;;;;;:::i;:::-;;;;;;;;;;:49;2961:13;2977:64;-1:-1:-1;;;3014:9:123;2961:13;-1:-1:-1;;;2977:26:123;:64::i;:::-;2961:80;;3055:29;3076:5;3063:20;;17118:5:125;17032:97;3055:29:123;3047:38;2733:357;-1:-1:-1;;;;;2733:357:123:o;4240:348::-;4362:16;;;4376:1;4362:16;;;;;;;;4312:13;;;;4362:16;4376:1;4362:16;;;;;;;;;;-1:-1:-1;4362:16:123;4333:45;;4399:4;4384:9;4394:1;4384:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;4448:7;-1:-1:-1;;;;;4432:25:123;4424:34;;4409:9;4419:1;4409:12;;;;;;;;:::i;:::-;;;;;;;;;;:49;4465:13;4481:64;-1:-1:-1;;;4518:9:123;4529:1;-1:-1:-1;;;4481:26:123;:64::i;6406:289:125:-;6510:16;;;6524:1;6510:16;;;;;;;;;6466:7;;;;6510:16;;;;;;;;;;;;-1:-1:-1;6510:16:125;6481:45;;6547:4;6532:9;6542:1;6532:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;6558;6580:57;-1:-1:-1;;;;;;;;;;;6624:9:125;6558:19;6580:33;:57::i;:::-;6682:2;6668:16;;;;-1:-1:-1;;;;6406:289:125:o;7182:347::-;7303:16;;;7317:1;7303:16;;;;;;;;;7259:7;;;;7303:16;;;;;;;;;;;;-1:-1:-1;7303:16:125;7274:45;;7340:4;7325:9;7335:1;7325:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;7369:18;7390:88;-1:-1:-1;;;;;;;;;;;7433:9:125;7369:18;7456:2;7447:11;;;;7470:1;7461:10;;7460:17;7390:32;:88::i;:::-;7369:109;-1:-1:-1;7502:14:125;7369:109;7502:14;:::i;:::-;7494:23;;;7182:347;-1:-1:-1;;;;;7182:347:125:o;9165:361::-;9280:16;;;9294:1;9280:16;;;;;;;;;9251:26;;9280:16;;;;;;;;;;;-1:-1:-1;9280:16:125;9251:45;;9317:4;9302:9;9312:1;9302:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;9346:21;9388:8;9370:28;;;;;;;10828:2:152;10824:15;;;;-1:-1:-1;;10820:53:152;10808:66;;10899:2;10890:12;;10679:229;9370:28:125;;;;;;;;;;;;;9346:52;;9406:109;-1:-1:-1;;;;;;;;;;;1124:83:125;;9446:9;9457:1;9467:6;9476:2;9467:11;9488:8;:15;9506:8;9406:29;:109::i;8657:190::-;8735:16;;;8749:1;8735:16;;;;;;;;;8706:26;;8735:16;;;;;;;;;;;-1:-1:-1;8735:16:125;8706:45;;8772:4;8757:9;8767:1;8757:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;8783:59;-1:-1:-1;;;;;;;;;;;8825:9:125;1124:83;8839:2;8783:31;:59::i;9550:250:123:-;9647:16;;;9661:1;9647:16;;;;;;;;9618:26;;9647:16;;;;;;;;;;-1:-1:-1;9647:16:123;9618:45;;9684:4;9669:9;9679:1;9669:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;9733:7;-1:-1:-1;;;;;9717:25:123;9709:34;;9694:9;9704:1;9694:12;;;;;;;;:::i;:::-;;;;;;;;;;:49;9750:45;-1:-1:-1;;;9785:9:123;9750:24;:45::i;10005:393:125:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;10114:16:125;;10128:1;10114:16;;;;;;;;;-1:-1:-1;;;;10114:16:125;;;;;-1:-1:-1;10114:16:125;;;;;-1:-1:-1;10114:16:125;10085:45;;10151:4;10136:9;10146:1;10136:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;10163:24;;;10250:80;-1:-1:-1;;;;;;;;;;;10295:9:125;-1:-1:-1;;;10250:21:125;:80::i;:::-;10162:168;;;;;;10343:50;10350:11;10363:15;10380:12;10343:6;:50::i;4549:235::-;4640:16;;;4654:1;4640:16;;;;;;;;;4611:26;;4640:16;;;;;;;;;;;-1:-1:-1;4640:16:125;4611:45;;4677:4;4662:9;4672:1;4662:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;4688:91;-1:-1:-1;;;;;;;;;;;1124:83:125;;4725:9;4736:1;4757:5;4739:25;;;;;;11042:19:152;;11086:2;11077:12;;10913:182;4739:25:125;;;;-1:-1:-1;;4739:25:125;;;;;;;;;-1:-1:-1;;;4688:26:125;:91::i;6771:443:123:-;10386:33;;;16206:14:152;;16199:22;16194:3;16190:32;10386:33:123;;;16178:45:152;16239:11;;;;16232:27;;;10386:33:123;;;;;;;;;;7034:1;16275:12:152;;;7020:16:123;;;;;;;;10386:33;;-1:-1:-1;;6959:25:123;;-1:-1:-1;;16275:12:152;;7034:1:123;;7020:16;;;10386:33;7020:16;;;;;-1:-1:-1;7020:16:123;6991:45;;7057:4;7042:9;7052:1;7042:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;7106:7;-1:-1:-1;;;;;7090:25:123;7082:34;;7067:9;7077:1;7067:12;;;;;;;;:::i;:::-;;;;;;;;;;:49;7123:86;-1:-1:-1;;;7155:9:123;7166:11;7179:15;7196:12;7123:21;:86::i;8075:234:125:-;8172:16;;;8186:1;8172:16;;;;;;;;;8143:26;;8172:16;;;;;;;;;;;-1:-1:-1;8172:16:125;8143:45;;8209:4;8194:9;8204:1;8194:12;;;;;;;;:::i;:::-;;;;;;:19;;;;;8220:84;-1:-1:-1;;;;;;;;;;;1124:83:125;;8261:9;8272:1;8293:8;8275:28;;;;;;;10828:2:152;10824:15;;;;-1:-1:-1;;10820:53:152;10808:66;;10899:2;10890:12;;10679:229;8275:28:125;;;;;;;;;;;;;8220:30;:84::i;10910:443::-;10386:33:123;;;16206:14:152;;16199:22;16194:3;16190:32;10386:33:123;;;16178:45:152;16239:11;;;;16232:27;;;10386:33:123;;;;;;;;;;16275:12:152;;;;10386:33:123;;;11067:30:125;11100:22;11114:7;11100:13;:22::i;:::-;11067:55;;11128:25;11156:22;11170:7;11156:13;:22::i;:::-;11214:16;;;11228:1;11214:16;;;;;;;;;11128:50;;-1:-1:-1;11185:26:125;;11214:16;;;;;;;;;;;;-1:-1:-1;11214:16:125;11185:45;;11251:4;11236:9;11246:1;11236:12;;;;;;;;:::i;:::-;;;;;;;;;;:19;11262:86;-1:-1:-1;;;;;;;;;;;11294:9:125;11305:11;11318:15;11335:12;11262:21;:86::i;18598:431:26:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:26;-1:-1:-1;;;;;18805:30:26;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;-1:-1:-1;;;18943:75:26;;-1:-1:-1;;;;;18943:37:26;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:26;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:21:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;-1:-1:-1;;;2222:48:21;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:21;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:21:o;46215:221:36:-;46281:24;46313:30;46346:33;46364:6;46372:2;46376;46346:17;:33::i;1836:227:26:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:26;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:26:o;36171:541:23:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:3;:27;579:1:32;4322:44:3;4288:79;;;4275:93;36635:63:23;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;15347:431:26:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:26;-1:-1:-1;;;;;15578:30:26;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;-1:-1:-1;;;15704:63:26;;-1:-1:-1;;;;;15704:31:26;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:26;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;15566:359:119:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15895:25:119;15908:11;15895:12;:25::i;:::-;15715:205;;15868:18;;;15715:205;-1:-1:-1;;;;;;15715:205:119;;;15837:23;;;15715:205;15808:21;;;15715:205;;;;;15777:23;;;15715:205;15748:21;;;15715:205;;;;;15723:6;15566:359;-1:-1:-1;;;15566:359:119:o;21091:444:26:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:26;-1:-1:-1;;;;;21299:30:26;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;-1:-1:-1;;;21443:81:26;;-1:-1:-1;;;;;21443:43:26;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22026:506::-;22203:12;22223:21;22247:17;:15;:17::i;:::-;22223:41;-1:-1:-1;22299:4:26;-1:-1:-1;;;;;22274:30:26;;;22270:258;;22321:80;22352:7;22361:8;22371:17;22390:5;22397:3;22321:30;:80::i;:::-;22314:87;;;;;22270:258;22429:92;;-1:-1:-1;;;22429:92:26;;-1:-1:-1;;;;;22429:42:26;;;;;:92;;22472:7;;22481:8;;22491:17;;22510:5;;22517:3;;22429:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22429:92:26;;;;;;;;;;;;:::i;8207:601::-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:26;-1:-1:-1;;;;;8464:30:26;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;8460:344::-;8627:170;;-1:-1:-1;;;8627:170:26;;-1:-1:-1;;;;;8627:39:26;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:26;-1:-1:-1;;;;;13402:30:26;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;:::-;13398:252;;;13547:96;;-1:-1:-1;;;13547:96:26;;-1:-1:-1;;;;;13547:41:26;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13345:309;13190:464;;;;:::o;13847:301::-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:26;-1:-1:-1;;;;;13982:30:26;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;-1:-1:-1;;;14084:53:26;;-1:-1:-1;;;;;14084:34:26;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13916:302:125;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;14118:25:125;14131:11;14118:12;:25::i;:::-;14102:12;;;14086:57;;;;;14169:44;14183:15;14200:12;14169:13;:44::i;:::-;14151:14;;;14150:63;14151:6;13916:302;-1:-1:-1;;;13916:302:125:o;10761:455:26:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:26;-1:-1:-1;;;;;10984:30:26;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;-1:-1:-1;;;11119:86:26;;-1:-1:-1;;;;;11119:36:26;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:26;-1:-1:-1;;;;;6696:30:26;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;-1:-1:-1;;;6836:91:26;;-1:-1:-1;;;;;6836:31:26;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:26;-1:-1:-1;;;;;12556:30:26;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;12552:240::-;12695:90;;-1:-1:-1;;;12695:90:26;;-1:-1:-1;;;;;12695:40:26;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;15196:287:125:-;15268:30;15429:43;15452:7;:14;15469:2;15452:19;975:16:2;2068:39;;;2049:59;;1907:269;15648:151:125;15720:12;15764:29;15784:7;15764:18;:29::i;:::-;15747:47;;;;;;;;:::i;:::-;;;;;;;;;;;;;15740:54;;15648:151;;;:::o;37180:522:23:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:23;37440:12;:257::i;2681:1129:38:-;2801:22;2831:21;2855;:11;2997:3:21;2975:25;;2901:104;2855:21:38;2831:45;-1:-1:-1;692:17:21;3238:38;;2882:20:38;3044:11;3238:38:21;3044:11:38;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;50806:191:23:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:23;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:23:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:3;4323:19;:27;;;579:1:32;4322:44:3;4288:79;;;4275:93;52003:32:23;;:::i;:::-;;-1:-1:-1;51990:3:23;;51958:84;;8945:812:22;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:22;;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;32759:1315:23:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:23;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:2;;;33532:33:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:23;-1:-1:-1;33518:47:23;-1:-1:-1;894:4:18;884:15;;33573:21:23;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:23;33808:25;:14;33831:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:23;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;14765:643:119:-;14857:15;14880:25;14913:23;14944:25;14977:23;15008:16;15053:41;15067:25;15083:5;15090:1;2742:27:1;2756:4;2742:27;2736:34;;2612:168;15067:25:119;15061:32;;17118:5:125;17032:97;15053:41:119;2742:27:1;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;15039:56:119;;-1:-1:-1;2736:34:1;;-1:-1:-1;2736:34:1;;-1:-1:-1;2736:34:1;-1:-1:-1;2736:34:1;-1:-1:-1;15360:42:119;;15374:26;2612:168:1;15360:42:119;15345:58;;14765:643;;;;;;;:::o;39909:262:23:-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;40903:1149::-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;-1:-1:-1;;;41173:44:23;;;;;7783:25:152;;;7824:18;;;7817:34;;;7756:18;;41173:44:23;7609:248:152;41141:83:23;41433:29;41465:66;41513:7;41522:8;41465:47;:66::i;:::-;41433:98;-1:-1:-1;41537:19:23;41559:41;41433:98;41582:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;41559:41:23;41537:63;;41619:11;41610:5;:20;;:41;;;;41640:11;41634:3;:17;41610:41;41606:157;;;41704:11;41726;41717:5;:20;;:38;;41748:7;41754:1;41748:3;:7;:::i;:::-;41717:38;;;41740:5;41717:38;41668:88;;-1:-1:-1;;;41668:88:23;;;;;7783:25:152;;;;7824:18;;;7817:34;7756:18;;41668:88:23;7609:248:152;41606:157:23;41833:16;41852:79;41894:7;41903:8;41913:17;41852:41;:79::i;:::-;41833:98;;41963:78;41994:8;42012:5;42033;42027:3;:11;41963:12;:78::i;:::-;41956:85;40903:1149;-1:-1:-1;;;;;;;;;40903:1149:23:o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:23;30643:49;30495:106;30674:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:23;30607:86;-1:-1:-1;30731:333:23;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;13024:199:125:-;13089:11;13102:13;13133:41;13147:25;13163:5;13170:1;2742:27:1;2756:4;2742:27;2736:34;;2612:168;13133:41:125;2742:27:1;;;;;2736:34;13123:52:125;;13024:199;-1:-1:-1;;13024:199:125:o;13326:323::-;13436:24;13468:14;975:16:2;7017:70;;;6995:94;;13580:63:125;:41;13601:5;13468:14;6995:94:2;13580:20:125;:41::i;23107:355:23:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:23;29171:49;29023:106;29202:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:23;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;45878:223:37:-;45942:12;46032:6;46056:40;46032:6;46089:2;45942:12;46056:17;:40::i;52742:274:23:-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;-1:-1:-1;;;;;52916:45:23;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;53939:303::-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:22;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:22;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;4598:171:3:-;4672:7;579:1:32;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:3;;;;;4598:171;-1:-1:-1;4598:171:3:o;48823:360:23:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:23;;;;;;;;;-1:-1:-1;48986:9:23;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:3:-;5451:7;579:1:32;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:3;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:3:o;6076:2380:22:-;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:32;804:25:33;;782:48;6806:135:22;;;-1:-1:-1;;;579:1:32;804:25:33;;782:48;6806:135:22;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:22;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:22;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:32;804:25:33;;782:48;8389:20:22;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:22;;;;:::o;44254:4001:23:-;-1:-1:-1;;;44652:7:23;-1:-1:-1;;;;;;44652:35:23;;44648:161;;-1:-1:-1;;;44759:7:23;44792;44775:25;;;;;;11042:19:152;;11086:2;11077:12;;10913:182;44775:25:23;;;;-1:-1:-1;;44775:25:23;;;;;;;;;;-1:-1:-1;;;44704:98:23;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:23;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:23;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;-1:-1:-1;;;45340:92:23;;20536:12:152;20575:15;;;45340:92:23;;;20557:34:152;20627:15;;;20607:18;;;20600:43;20679:15;;20659:18;;;20652:43;20499:18;;45340:92:23;20330:371:152;45221:218:23;45545:19;45526:16;:38;;;45522:140;;;45581:74;;-1:-1:-1;;;45581:74:23;;;;;20879:25:152;;;20952:12;20940:25;;20920:18;;;20913:53;20852:18;;45581:74:23;20706:266:152;45522:140:23;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:34;46104:4:23;-1:-1:-1;;;;;46104:14:23;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:4;;;;-1:-1:-1;;;;;46158:55:23;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:23;;46014:486;;;-1:-1:-1;46558:32:23;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:23;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:22;;;-1:-1:-1;47216:248:23;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:34;47858:4:23;-1:-1:-1;;;;;47858:14:23;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:4;;;;-1:-1:-1;;;;;47911:54:23;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:23;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;4015:652::-;4082:11;4318:64;;;4314:111;;-1:-1:-1;;;;1336:66:31;4015:652:23;-1:-1:-1;4015:652:23:o;4314:111::-;4469:185;4515:85;1207:66:31;4591:7:23;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;26296:1804::-;-1:-1:-1;;;26463:7:23;-1:-1:-1;;;;;;26463:44:23;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:34;26918:4:23;-1:-1:-1;;;;;26918:14:23;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;-1:-1:-1;;;26966:82:23;;3536:35:4;;;;;26966:50:23;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:23;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:23;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:34;27953:4:23;-1:-1:-1;;;;;27953:14:23;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;-1:-1:-1;;;28000:81:23;;3536:35:4;;;;;28000:49:23;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:23;;27863:233;;17013:1682;-1:-1:-1;;;17192:7:23;-1:-1:-1;;;;;;17192:44:23;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:34;17798:4:23;-1:-1:-1;;;;;17798:14:23;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;-1:-1:-1;;;17851:170:23;;3536:35:4;;;;;17851:54:23;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:23;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:34;18455:4:23;-1:-1:-1;;;;;18455:14:23;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;-1:-1:-1;;;18507:169:23;;3536:35:4;;;;;18507:53:23;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:23;;18365:326;;13212:3165;-1:-1:-1;;;13486:7:23;-1:-1:-1;;;;;;13486:44:23;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:34;13976:4:23;-1:-1:-1;;;;;13976:14:23;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;-1:-1:-1;;;14021:190:23;;3536:35:4;;;;;14021:47:23;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:23;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:23;894:4:18;884:15;;14520:54:23;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:22;;;14915:102:23;-1:-1:-1;894:4:18;884:15;;15191:47:23;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:23;:14;15615:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:23;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:23;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:34;16125:4:23;-1:-1:-1;;;;;16125:14:23;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;-1:-1:-1;;;16169:189:23;;3536:35:4;;;;;16169:46:23;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:23;;16035:338;;830:1343:38;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:38;1474:15;;-1:-1:-1;;5373:16:22;1531:32:38;;;5373:16:22;5369:32;1503:4:38;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;53371:230:23;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:23;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:23:o;7468:1525:2:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;-1:-1:-1;;;7664:67:2;;;;;2157:25:152;;;2130:18;;7664:67:2;2011:177:152;7618:120:2;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:2;975;1063;8439;;;;8428:27;8564:35;;;8882:5;-1:-1:-1;;8699:46:2;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:2;;;;;:::o;3656:342:30:-;3772:16;;;3786:1;3772:16;;;;;;;;;3713:22;;3743:26;;3772:16;;;;;;;;;;;;-1:-1:-1;3772:16:30;3743:45;;3827:7;3794:9;3804:1;3794:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3842:18;3863:49;969:66;3899:9;3842:18;3863:25;:49::i;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926: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;966:162:22:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:22;1055:5;:68::i;51249:282:23:-;51494:30;;;;;;25858:19:152;;;25893:12;;;25886:28;;;51337:7:23;;25930:12:152;;51494:30:23;25670:278:152;4032:370:22;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;1489:2340;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:32;804:25:33;;782:48;2208:18:22;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:22;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:22;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:32;804:25:33;;782:48;3761:21:22;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:22;;;;:::o;40103:220:36:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;14:131:152:-;-1:-1:-1;;;;;;88:32:152;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;823:154::-;-1:-1:-1;;;;;902:5:152;898:54;891:5;888:65;878:93;;967:1;964;957:12;982:383;1059:6;1067;1075;1128:2;1116:9;1107:7;1103:23;1099:32;1096:52;;;1144:1;1141;1134:12;1096:52;1180:9;1167:23;1157:33;;1237:2;1226:9;1222:18;1209:32;1199:42;;1291:2;1280:9;1276:18;1263:32;1304:31;1329:5;1304:31;:::i;:::-;1354:5;1344:15;;;982:383;;;;;:::o;1370:316::-;1447:6;1455;1463;1516:2;1504:9;1495:7;1491:23;1487:32;1484:52;;;1532:1;1529;1522:12;1484:52;-1:-1:-1;;1555:23:152;;;1625:2;1610:18;;1597:32;;-1:-1:-1;1676:2:152;1661:18;;;1648:32;;1370:316;-1:-1:-1;1370:316:152:o;1691:315::-;1759:6;1767;1820:2;1808:9;1799:7;1795:23;1791:32;1788:52;;;1836:1;1833;1826:12;1788:52;1872:9;1859:23;1849:33;;1932:2;1921:9;1917:18;1904:32;1945:31;1970:5;1945:31;:::i;:::-;1995:5;1985:15;;;1691:315;;;;;:::o;2193:248::-;2261:6;2269;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;-1:-1:-1;;2361:23:152;;;2431:2;2416:18;;;2403:32;;-1:-1:-1;2193:248:152:o;2699:452::-;2785:6;2793;2801;2809;2862:3;2850:9;2841:7;2837:23;2833:33;2830:53;;;2879:1;2876;2869:12;2830:53;2915:9;2902:23;2892:33;;2972:2;2961:9;2957:18;2944:32;2934:42;;3023:2;3012:9;3008:18;2995:32;2985:42;;3077:2;3066:9;3062:18;3049:32;3090:31;3115:5;3090:31;:::i;:::-;2699:452;;;;-1:-1:-1;2699:452:152;;-1:-1:-1;;2699:452:152:o;3156:180::-;3215:6;3268:2;3256:9;3247:7;3243:23;3239:32;3236:52;;;3284:1;3281;3274:12;3236:52;-1:-1:-1;3307:23:152;;3156:180;-1:-1:-1;3156:180:152:o;3649:184::-;3719:6;3772:2;3760:9;3751:7;3747:23;3743:32;3740:52;;;3788:1;3785;3778:12;3740:52;-1:-1:-1;3811:16:152;;3649:184;-1:-1:-1;3649:184:152:o;4020:127::-;4081:10;4076:3;4072:20;4069:1;4062:31;4112:4;4109:1;4102:15;4136:4;4133:1;4126:15;4152:127;4213:10;4208:3;4204:20;4201:1;4194:31;4244:4;4241:1;4234:15;4268:4;4265:1;4258:15;4284:537;4411:6;4419;4427;4435;4488:3;4476:9;4467:7;4463:23;4459:33;4456:53;;;4505:1;4502;4495:12;4456:53;4534:9;4528:16;4518:26;;4587:2;4576:9;4572:18;4566:25;4600:30;4624:5;4600:30;:::i;:::-;4699:2;4684:18;;4678:25;4649:5;;-1:-1:-1;4712:33:152;4678:25;4712:33;:::i;:::-;4811:2;4796:18;;;;4790:25;4284:537;;;;-1:-1:-1;;;4284:537:152:o;4826:323::-;-1:-1:-1;;;;;;4946:19:152;;5022:11;;;;5053:1;5045:10;;5042:101;;;5130:2;5124;5117:3;5114:1;5110:11;5107:1;5103:19;5099:28;5095:2;5091:37;5087:46;5078:55;;5042:101;;;4826:323;;;;:::o;5154:127::-;5215:10;5210:3;5206:20;5203:1;5196:31;5246:4;5243:1;5236:15;5270:4;5267:1;5260:15;5286:128;5353:9;;;5374:11;;;5371:37;;;5388:18;;:::i;5419:250::-;5504:1;5514:113;5528:6;5525:1;5522:13;5514:113;;;5604:11;;;5598:18;5585:11;;;5578:39;5550:2;5543:10;5514:113;;;-1:-1:-1;;5661:1:152;5643:16;;5636:27;5419:250::o;5674:270::-;5715:3;5753:5;5747:12;5780:6;5775:3;5768:19;5796:76;5865:6;5858:4;5853:3;5849:14;5842:4;5835:5;5831:16;5796:76;:::i;:::-;5926:2;5905:15;-1:-1:-1;;5901:29:152;5892:39;;;;5933:4;5888:50;;5674:270;-1:-1:-1;;5674:270:152:o;5949:288::-;6124:6;6113:9;6106:25;6167:2;6162;6151:9;6147:18;6140:30;6087:4;6187:44;6227:2;6216:9;6212:18;6204:6;6187:44;:::i;6566:698::-;6619:5;6672:3;6665:4;6657:6;6653:17;6649:27;6639:55;;6690:1;6687;6680:12;6639:55;6719:6;6713:13;6745:18;6782:2;6778;6775:10;6772:36;;;6788:18;;:::i;:::-;6863:2;6857:9;6831:2;6917:13;;-1:-1:-1;;6913:22:152;;;6937:2;6909:31;6905:40;6893:53;;;6961:18;;;6981:22;;;6958:46;6955:72;;;7007:18;;:::i;:::-;7047:10;7043:2;7036:22;7082:2;7074:6;7067:18;7128:3;7121:4;7116:2;7108:6;7104:15;7100:26;7097:35;7094:55;;;7145:1;7142;7135:12;7094:55;7158:76;7231:2;7224:4;7216:6;7212:17;7205:4;7197:6;7193:17;7158:76;:::i;7269:335::-;7348:6;7401:2;7389:9;7380:7;7376:23;7372:32;7369:52;;;7417:1;7414;7407:12;7369:52;7450:9;7444:16;7483:18;7475:6;7472:30;7469:50;;;7515:1;7512;7505:12;7469:50;7538:60;7590:7;7581:6;7570:9;7566:22;7538:60;:::i;8164:439::-;8217:3;8255:5;8249:12;8282:6;8277:3;8270:19;8308:4;8337;8332:3;8328:14;8321:21;;8376:4;8369:5;8365:16;8399:1;8409:169;8423:6;8420:1;8417:13;8409:169;;;8484:13;;8472:26;;8518:12;;;;8553:15;;;;8445:1;8438:9;8409:169;;;-1:-1:-1;8594:3:152;;8164:439;-1:-1:-1;;;;;8164:439:152:o;8608:546::-;8930:6;8919:9;8912:25;8973:3;8968:2;8957:9;8953:18;8946:31;8893:4;8994:57;9046:3;9035:9;9031:19;9023:6;8994:57;:::i;:::-;9099:4;9087:17;;;;9082:2;9067:18;;9060:45;-1:-1:-1;9136:2:152;9121:18;9114:34;8986:65;8608:546;-1:-1:-1;;8608:546:152:o;9348:125::-;9413:9;;;9434:10;;;9431:36;;;9447:18;;:::i;10167:127::-;10228:10;10223:3;10219:20;10216:1;10209:31;10259:4;10256:1;10249:15;10283:4;10280:1;10273:15;10299:375;10417:12;;10465:4;10454:16;;10448:23;-1:-1:-1;;10539:11:152;;;;10417:12;10448:23;10573:2;10562:14;;10559:109;;;10655:2;10649;10639:6;10635:2;10631:15;10628:1;10624:23;10620:32;10616:2;10612:41;10608:50;10599:59;;10559:109;;;;10299:375;;;:::o;11100:441::-;11362:6;11351:9;11344:25;11405:2;11400;11389:9;11385:18;11378:30;11325:4;11425:56;11477:2;11466:9;11462:18;11454:6;11425:56;:::i;:::-;11417:64;;11529:4;11521:6;11517:17;11512:2;11501:9;11497:18;11490:45;11100:441;;;;;;:::o;11546:359::-;11749:2;11738:9;11731:21;11712:4;11769:44;11809:2;11798:9;11794:18;11786:6;11769:44;:::i;:::-;11844:2;11829:18;;11822:34;;;;-1:-1:-1;11887:2:152;11872:18;11865:34;11761:52;11546:359;-1:-1:-1;11546:359:152:o;11910:466::-;12208:6;12197:9;12190:25;12251:2;12246;12235:9;12231:18;12224:30;12171:4;12271:56;12323:2;12312:9;12308:18;12300:6;12271:56;:::i;:::-;12263:64;;12363:6;12358:2;12347:9;12343:18;12336:34;11910:466;;;;;;:::o;12381:654::-;12522:6;12530;12538;12591:2;12579:9;12570:7;12566:23;12562:32;12559:52;;;12607:1;12604;12597:12;12559:52;12640:9;12634:16;12669:18;12710:2;12702:6;12699:14;12696:34;;;12726:1;12723;12716:12;12696:34;12749:60;12801:7;12792:6;12781:9;12777:22;12749:60;:::i;:::-;12739:70;;12849:2;12838:9;12834:18;12828:25;12818:35;;12899:2;12888:9;12884:18;12878:25;12862:41;;12928:2;12918:8;12915:16;12912:36;;;12944:1;12941;12934:12;12912:36;;12967:62;13021:7;13010:8;12999:9;12995:24;12967:62;:::i;:::-;12957:72;;;12381:654;;;;;:::o;13040:586::-;13358:6;13347:9;13340:25;13401:3;13396:2;13385:9;13381:18;13374:31;13321:4;13422:57;13474:3;13463:9;13459:19;13451:6;13422:57;:::i;:::-;13527:4;13515:17;;;;13510:2;13495:18;;13488:45;-1:-1:-1;13564:2:152;13549:18;;13542:34;;;;13607:3;13592:19;;;13585:35;13414:65;13040:586;-1:-1:-1;;13040:586:152:o;13631:792::-;13991:6;13980:9;13973:25;14034:3;14029:2;14018:9;14014:18;14007:31;13954:4;14061:57;14113:3;14102:9;14098:19;14090:6;14061:57;:::i;:::-;14166:4;14154:17;;14149:2;14134:18;;14127:45;14191:12;14239:15;;;14234:2;14219:18;;14212:43;14292:15;;14286:3;14271:19;;14264:44;14345:22;;;14339:3;14324:19;;14317:51;14385:32;14349:6;14402;14385:32;:::i;14947:363::-;15185:6;15174:9;15167:25;15228:2;15223;15212:9;15208:18;15201:30;15148:4;15248:56;15300:2;15289:9;15285:18;15277:6;15248:56;:::i;15315:707::-;15683:6;15672:9;15665:25;15726:3;15721:2;15710:9;15706:18;15699:31;15646:4;15753:57;15805:3;15794:9;15790:19;15782:6;15753:57;:::i;:::-;15858:4;15850:6;15846:17;15841:2;15830:9;15826:18;15819:45;15912:9;15904:6;15900:22;15895:2;15884:9;15880:18;15873:50;15940:32;15965:6;15957;15940:32;:::i;:::-;15932:40;;;16009:6;16003:3;15992:9;15988:19;15981:35;15315:707;;;;;;;;:::o;16298:792::-;16691:6;16680:9;16673:25;16734:3;16729:2;16718:9;16714:18;16707:31;16654:4;16761:57;16813:3;16802:9;16798:19;16790:6;16761:57;:::i;:::-;16866:9;16858:6;16854:22;16849:2;16838:9;16834:18;16827:50;16900:32;16925:6;16917;16900:32;:::i;:::-;16886:46;;16968:6;16963:2;16952:9;16948:18;16941:34;17024:9;17016:6;17012:22;17006:3;16995:9;16991:19;16984:51;17052:32;17077:6;17069;17052:32;:::i;:::-;17044:40;16298:792;-1:-1:-1;;;;;;;;16298:792:152:o;17095:603::-;17403:6;17392:9;17385:25;17446:3;17441:2;17430:9;17426:18;17419:31;17366:4;17473:57;17525:3;17514:9;17510:19;17502:6;17473:57;:::i;:::-;17578:4;17570:6;17566:17;17561:2;17550:9;17546:18;17539:45;17632:9;17624:6;17620:22;17615:2;17604:9;17600:18;17593:50;17660:32;17685:6;17677;17660:32;:::i;:::-;17652:40;17095:603;-1:-1:-1;;;;;;;17095:603:152:o;17974:287::-;18103:3;18141:6;18135:13;18157:66;18216:6;18211:3;18204:4;18196:6;18192:17;18157:66;:::i;:::-;18239:16;;;;;17974:287;-1:-1:-1;;17974:287:152:o;18266:639::-;18516:6;18511:3;18504:19;18486:3;18542:2;18575;18570:3;18566:12;18607:6;18601:13;18672:2;18664:6;18660:15;18693:1;18703:175;18717:6;18714:1;18711:13;18703:175;;;18780:13;;18766:28;;18816:14;;;;18853:15;;;;18739:1;18732:9;18703:175;;;-1:-1:-1;18894:5:152;;18266:639;-1:-1:-1;;;;;;;18266:639:152:o;18910:175::-;18947:3;18991:4;18984:5;18980:16;19020:4;19011:7;19008:17;19005:43;;19028:18;;:::i;:::-;19077:1;19064:15;;18910:175;-1:-1:-1;;18910:175:152:o;19343:168::-;19416:9;;;19447;;19464:15;;;19458:22;;19444:37;19434:71;;19485:18;;:::i;19734:412::-;19989:5;19984:3;19980:15;19972:6;19968:28;19957:9;19950:47;20033:6;20028:2;20017:9;20013:18;20006:34;20076:2;20071;20060:9;20056:18;20049:30;19931:4;20096:44;20136:2;20125:9;20121:18;20113:6;20096:44;:::i;20151:174::-;20218:12;20250:10;;;20262;;;20246:27;;20285:11;;;20282:37;;;20299:18;;:::i;:::-;20282:37;20151:174;;;;:::o;20977:899::-;21400:6;21389:9;21382:25;21443:3;21438:2;21427:9;21423:18;21416:31;21363:4;21470:57;21522:3;21511:9;21507:19;21499:6;21470:57;:::i;:::-;21575:4;21563:17;;21558:2;21543:18;;21536:45;21600:12;21648:15;;;21643:2;21628:18;;21621:43;21701:15;;21695:3;21680:19;;21673:44;21748:3;21733:19;;21726:35;;;21798:22;;;21792:3;21777:19;;21770:51;21838:32;21802:6;21855;21838:32;:::i;:::-;21830:40;20977:899;-1:-1:-1;;;;;;;;;;20977:899:152:o;21881:787::-;22245:3;22234:9;22227:22;22208:4;22272:57;22324:3;22313:9;22309:19;22301:6;22272:57;:::i;:::-;22377:4;22369:6;22365:17;22360:2;22349:9;22345:18;22338:45;22431:14;22423:6;22419:27;22414:2;22403:9;22399:18;22392:55;22495:12;22487:6;22483:25;22478:2;22467:9;22463:18;22456:53;22546:6;22540:3;22529:9;22525:19;22518:35;22602:9;22594:6;22590:22;22584:3;22573:9;22569:19;22562:51;22630:32;22655:6;22647;22630:32;:::i;22673:261::-;22852:2;22841:9;22834:21;22815:4;22872:56;22924:2;22913:9;22909:18;22901:6;22872:56;:::i;22939:511::-;23190:2;23179:9;23172:21;23153:4;23216:56;23268:2;23257:9;23253:18;23245:6;23216:56;:::i;:::-;23320:14;23312:6;23308:27;23303:2;23292:9;23288:18;23281:55;23384:9;23376:6;23372:22;23367:2;23356:9;23352:18;23345:50;23412:32;23437:6;23429;23412:32;:::i;23455:615::-;23765:6;23754:9;23747:25;23808:3;23803:2;23792:9;23788:18;23781:31;23728:4;23835:57;23887:3;23876:9;23872:19;23864:6;23835:57;:::i;:::-;23940:14;23932:6;23928:27;23923:2;23912:9;23908:18;23901:55;24004:9;23996:6;23992:22;23987:2;23976:9;23972:18;23965:50;24032:32;24057:6;24049;24032:32;:::i;24075:689::-;24409:3;24398:9;24391:22;24372:4;24436:57;24488:3;24477:9;24473:19;24465:6;24436:57;:::i;:::-;24541:9;24533:6;24529:22;24524:2;24513:9;24509:18;24502:50;24575:32;24600:6;24592;24575:32;:::i;:::-;24561:46;;24643:6;24638:2;24627:9;24623:18;24616:34;24698:9;24690:6;24686:22;24681:2;24670:9;24666:18;24659:50;24726:32;24751:6;24743;24726:32;:::i;24769:896::-;25222:6;25211:9;25204:25;25265:3;25260:2;25249:9;25245:18;25238:31;25185:4;25292:57;25344:3;25333:9;25329:19;25321:6;25292:57;:::i;:::-;25397:9;25389:6;25385:22;25380:2;25369:9;25365:18;25358:50;25431:32;25456:6;25448;25431:32;:::i;:::-;25417:46;;25499:6;25494:2;25483:9;25479:18;25472:34;25555:9;25547:6;25543:22;25537:3;25526:9;25522:19;25515:51;25583:32;25608:6;25600;25583:32;:::i;:::-;25575:40;;;25652:6;25646:3;25635:9;25631:19;25624:35;24769:896;;;;;;;;;:::o;25953:217::-;25993:1;26019;26009:132;;26063:10;26058:3;26054:20;26051:1;26044:31;26098:4;26095:1;26088:15;26126:4;26123:1;26116:15;26009:132;-1:-1:-1;26155:9:152;;25953:217::o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","createRole(bytes32,bytes32)":"4c9f9384","grantRole(bytes32,address)":"2f2ff15d","renounceRole(bytes32,address)":"36568abe","revokeAll(bytes32)":"fabe3239","revokeRole(bytes32,address)":"d547741f","scopedCreateRole(uint256,bytes32,bytes32,address)":"c650cd8b","scopedGrantRole(uint256,bytes32,address)":"8a4ddcc4","scopedRenounceRole(uint256,bytes32,address)":"127ddc79","scopedRevokeAll(uint256,bytes32)":"8338f734","scopedRevokeRole(uint256,bytes32,address)":"33e65141","scopedTransferRoleAdmin(uint256,bytes32,bytes32)":"1623e6dc","supportsInterface(bytes4)":"01ffc9a7","transferRoleAdmin(bytes32,bytes32)":"d9cd3959"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"admin\",\"type\":\"bytes32\"}],\"name\":\"RoleManagement_AdminAlreadyAssigned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RoleManagement_BadConfirmation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RoleManagement_InvalidRole\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RoleManagement_InvalidRoleMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RoleManagement_MustRenounceSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"RoleManagement_RoleAlreadyCreated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"RoleManagement_RoleDoesNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"RoleManagement_UnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"callCount\",\"type\":\"uint256\"}],\"name\":\"SOF_CallTooDeep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SOF_InvalidAccessLogic\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SOF_InvalidCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"givenEntity\",\"type\":\"uint256\"}],\"name\":\"SOF_InvalidEntityType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"}],\"name\":\"SOF_UnscopedSystemCall\",\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"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\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"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\":\"EncodedLengths\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"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\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"admin\",\"type\":\"bytes32\"}],\"name\":\"createRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"revokeAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"admin\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"roleMember\",\"type\":\"address\"}],\"name\":\"scopedCreateRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"scopedGrantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"scopedRenounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"scopedRevokeAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"scopedRevokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"entityId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newAdmin\",\"type\":\"bytes32\"}],\"name\":\"scopedTransferRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newAdmin\",\"type\":\"bytes32\"}],\"name\":\"transferRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"CCP Games\",\"details\":\"Implements role creation, administration, and membership management functionalityIMPORTANT: all state changing functions implement the `enforceCallCount(1)` modifier, which means (for security enforcement) they must be directly called from a MUD World entry point, not another MUD System\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"SOF_CallTooDeep(uint256)\":[{\"params\":{\"callCount\":\"The callCount at the time of reverting\"}}],\"SOF_InvalidEntityType(uint256)\":[{\"params\":{\"givenEntity\":\"The given entity has neither CLASS nor OBJECT tags\"}}],\"SOF_UnscopedSystemCall(uint256,bytes32)\":[{\"params\":{\"entityId\":\"The entity ID that was checked\",\"systemId\":\"The system ID that was called\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"createRole(bytes32,bytes32)\":{\"details\":\"Creates a new entry in the {Role} table assigning an admin value, and exsitence   flag under the `role` key. NOTE: If `role` and `admin` are identical, then creates self-administered role\",\"params\":{\"admin\":\"The identifier for the admin role\",\"role\":\"The identifier for the new role\"}},\"grantRole(bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = true, for the keys `role`,`account`\",\"params\":{\"account\":\"The account to grant as a member.\",\"role\":\"The role to grant membership for\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`callerConfirmation`\",\"params\":{\"callerConfirmation\":\"Address of the world entry point caller for verification\",\"role\":\"The role to revoke account membership for\"}},\"revokeAll(bytes32)\":{\"details\":\"Deletes all {HasRole} information associated with the `role`\",\"params\":{\"role\":\"The role to revoke membership for WARNING: Use with caution! This will remove role memberships for ALL member accounts\"}},\"revokeRole(bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`\",\"params\":{\"account\":\"The account to remove as a member\",\"role\":\"The role to revoke membership for\"}},\"scopedCreateRole(uint256,bytes32,bytes32,address)\":{\"details\":\"Creates a new entry in the {Role} table assigning an admin value, and exsitence   flag under the `role` key. NOTE: If `role` and `admin` are identical, then creates self-administered roleaccess configuration - only callable by EntitySystem or a Class scoped System of `entityId` (see EntitySyste.registerClass, EntitySystem.scopedRegisterClass, SOFAccessSystem.allowEntitySystemOrClassScoped)\",\"params\":{\"admin\":\"The identifier for the admin role\",\"entityId\":\"The entity ID to use for scoping this function call access\",\"role\":\"The identifier for the new role\",\"roleMember\":\"The address of the role member to grant membership to\"}},\"scopedGrantRole(uint256,bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = true, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)\",\"params\":{\"account\":\"The account to grant as a member.\",\"entityId\":\"The entity ID to use for scoping this function call access\",\"role\":\"The role to grant membership for\"}},\"scopedRenounceRole(uint256,bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)\",\"params\":{\"callerConfirmation\":\"The address of the caller to confirm the renounciation\",\"entityId\":\"The entity ID to use for scoping this function call access\",\"role\":\"The role to renounce membership for\"}},\"scopedRevokeAll(uint256,bytes32)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by EntitySystem or a Class scoped System of `entityId` (see EntitySyste.deleteClass, EntitySystem.deleteObject, SOFAccessSystem.allowEntitySystemOrClassScoped)\",\"params\":{\"entityId\":\"The entity ID to use for scoping this function call access\",\"role\":\"The role to revoke membership for\"}},\"scopedRevokeRole(uint256,bytes32,address)\":{\"details\":\"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)\",\"params\":{\"account\":\"The account to revoke membership for\",\"entityId\":\"The entity ID to use for scoping this function call access\",\"role\":\"The role to revoke membership for\"}},\"scopedTransferRoleAdmin(uint256,bytes32,bytes32)\":{\"details\":\"Updates the admin value in the {Role} table with `newAdmin` for the key `role`.access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)\",\"params\":{\"entityId\":\"The entity ID to use for scoping this function call access\",\"newAdmin\":\"The identifier for\",\"role\":\"The identifier for the role to modify\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"transferRoleAdmin(bytes32,bytes32)\":{\"details\":\"Updates the admin value in the {Role} table with `newAdmin` for the key `role`.\",\"params\":{\"newAdmin\":\"The new admin role to set\",\"role\":\"The role to modify\"}}},\"title\":\"Role Management System\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"SOF_CallTooDeep(uint256)\":[{\"notice\":\"Thrown when a system call beyond a prohibited depth is made\"}],\"SOF_InvalidAccessLogic()\":[{\"notice\":\"Thrown when access logic mutates state\"}],\"SOF_InvalidCall()\":[{\"notice\":\"Thrown when a system call is made outside proper context\"}],\"SOF_InvalidEntityType(uint256)\":[{\"notice\":\"Thrown when an invalid entity type is passed to the scope() modifier\"}],\"SOF_UnscopedSystemCall(uint256,bytes32)\":[{\"notice\":\"Thrown when a system call is made outside the configured scope for an entity\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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.\"},\"createRole(bytes32,bytes32)\":{\"notice\":\"Create a new `role` with specified `admin` role\"},\"grantRole(bytes32,address)\":{\"notice\":\"Grants role membership to an account.\"},\"renounceRole(bytes32,address)\":{\"notice\":\"Allows users to revoke their own role membership (as a seperate explicit function so accounts don't accidentally revoke themselves)\"},\"revokeAll(bytes32)\":{\"notice\":\"Revokes all role membership for an account.\"},\"revokeRole(bytes32,address)\":{\"notice\":\"Revokes role membership of an account.\"},\"scopedCreateRole(uint256,bytes32,bytes32,address)\":{\"notice\":\"Create a new `role` with specified `admin` role\"},\"scopedGrantRole(uint256,bytes32,address)\":{\"notice\":\"Grants role membership to an account (with access scoped to an entity)\"},\"scopedRenounceRole(uint256,bytes32,address)\":{\"notice\":\"Renounces role membership of an account (with access scoped to an entity)\"},\"scopedRevokeAll(uint256,bytes32)\":{\"notice\":\"Revokes all role membership from an account (with access scoped to an entity)\"},\"scopedRevokeRole(uint256,bytes32,address)\":{\"notice\":\"Revokes role membership from an account (with access scoped to an entity)\"},\"scopedTransferRoleAdmin(uint256,bytes32,bytes32)\":{\"notice\":\"Updates the admin role for an existing `role` (with access scoped to an entity)\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"transferRoleAdmin(bytes32,bytes32)\":{\"notice\":\"Updates the admin role for an existing `role`\"}},\"notice\":\"Handles role-based membership management\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/namespaces/evefrontier/systems/role-management-system/RoleManagementSystem.sol\":\"RoleManagementSystem\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":300},\"remappings\":[\":@eveworld/=node_modules/@eveworld/\",\":@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\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"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/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"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\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b\",\"dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"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\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"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\":\"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a\",\"dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36\",\"dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160\",\"dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080\",\"dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"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\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"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\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"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/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"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\":\"0x15e21a1edaad9bc31f00659cce409f4cd6eaa2cd0c5035ab32b4ffa9fa4c8d40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f5f0260668ada84712fd51de1166eeeecf53a01b896ea322f978387de363f6\",\"dweb:/ipfs/QmQdaur7oZLLf8jRw8m3cNm1wbDLRTqQ634k1DhzRCYdRa\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xfae8c0039cbe627d30c1d3c96d5b5c979ea05ac744472a63c345e030be8773e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e034310f09682a2b52de0083f40e0aca75746bc4d4a738a72043c49ed2f52a\",\"dweb:/ipfs/QmTU2iSwXrJvLcLErmkBKxESxxpXhCAwUXxvG3AaHymJFy\"]},\"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\":\"0x6a4ef8460a4ba4acfa28f257578fef89bf0ad191d593b3499158e73138760bd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1512d379b35f90288a7834389a2913a78a42b86a7052346e2ad82c0adbd4f895\",\"dweb:/ipfs/QmaUQjrXFQXR8F4LJqcBRgh5r3Q6KHmff3PrU2DVH8jEhv\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x064f8e5de1d33dc43f8960c4511ab978f4f203db5be60b16455a33f81a44777b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad396e3c7f780a924ab1e908f1713c7fbb3a734ecdd65f4cd82cd8414d3fa02\",\"dweb:/ipfs/QmSRacmErXTjGpfdsS1AdjbAXjpxj1GgnXEsA1FFJuvx2q\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x3e0400cba77c74f53f16357b20449cda64468b519c9bac437564af127766d45a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75387dc13d9d87e76bd3df827494c0288f48899c77dcfca0eaaac6cf45dd630b\",\"dweb:/ipfs/QmVK2tDx8q6XxttCZheEdEcLpTdKkLxgw446vyv1ToN2p2\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x4feb9f14aee9c9f94fc6df55d34c0c0e3994a3e6432817c07712cef729dee867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2878a201cda27f77091becd4591bf0d868c3b7e7a80cae852778b85a374a3b8\",\"dweb:/ipfs/QmcMoHjHjeKK5sqsa9ddJL63Dzy9ZLQ2gyNoyirKpsxkSh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"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/IWorldWithContext.sol\":{\"keccak256\":\"0x2a6c72817be5e1644f65cdb3a29e2f964739d44abab5e404ef4edbde8352a7a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://95da54d80b802d51a771ae077c298135fe9408f01eb5fdfd9d2737aa53b1cf51\",\"dweb:/ipfs/QmZEj3okv33JKXd74cumR9averpTgh1h1DNAz7CjYVvKJ2\"]},\"src/codegen/world/IAccessConfigSystem.sol\":{\"keccak256\":\"0xa926d7a194f8d58a6ecc45adab85a5fed93097f49b4684c36e27214378646a84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4fa670ded23c1e9c10c753d57d0700ced0ea8389a133f045640f748dc9cd262\",\"dweb:/ipfs/QmYMaBeSKm6aQ8k6S1gomPFXfb1GaX3RFMR7m9rQCudvK6\"]},\"src/codegen/world/IEntitySystem.sol\":{\"keccak256\":\"0x8438b221daceb706c0bf018600a9615b4f6dd9c62e2894ba194ba6c5e6f1b6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://818afb0394130fe95f8ef2d0305a7132bd6f39eeaf5ee5750c86fc71f1d04d0b\",\"dweb:/ipfs/QmS1mE2hKMKVbxJFNcfKFxVSg7B3XSyKc91qF71dp7DMpp\"]},\"src/codegen/world/IRoleManagementSystem.sol\":{\"keccak256\":\"0xe6158fa37d3802a19208b94149b35684fc9ad606f37b7f45318f181a8b15e2cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c42fcccb6e55c69b154ee058dd9c9a710f1803d42b4a7f6fab7e724c45bd8b18\",\"dweb:/ipfs/QmcpHhoRKgA2GqHfsVGBM4mzFuumUs5edpAkgiRBjrMncm\"]},\"src/codegen/world/ISOFAccessSystem.sol\":{\"keccak256\":\"0x78a896ead87ab33185c96a3f4f27ae86047f59064ca2bd4f510f76c12d9de9e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f416e5eccb9fda5089ee666cd4a2db5e7876ada8e90501de09cad03a2e218e25\",\"dweb:/ipfs/QmX1TJhfkS2uor6Hn76gDPu9rRroUQqk3wHUL9ysEj2kgw\"]},\"src/codegen/world/ITagSystem.sol\":{\"keccak256\":\"0xecf20d47f5e36c4c9387c045d82cc92b2d66ffb4b6f9cd7b82f003f85c73540d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01e696a0ce804ad11464e89d5d1eb29d0b4839a6e014ec0278f43815495b6b43\",\"dweb:/ipfs/QmYzMwgPVyEuLR4f4Py8BozFZCvkr5JoKuoZqiYE7qkE4G\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xbcd9fc9e5d73b75252d14ee08f69fbe96513b5c467ce36318ccd3ce61d07798f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc4b7881d43e340ff8c00c5980ac35c62772c28617cd7d7cfd425578ed1609ba\",\"dweb:/ipfs/QmVXqxn1J28kYtVa2Q57U1iY74N6qsNjsUu6XCvQerj948\"]},\"src/inherit/SmartObjectFramework.sol\":{\"keccak256\":\"0x8a43b9e114d68e8f9cc87f600b876963a3a13d9e8bccdf3fdf09d826da8ee6a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf40840226df65df3bfdd41d00fbbcbf934e8b8ba586dc02e3c47eca5691ebb5\",\"dweb:/ipfs/QmSARZ1uhEAWbLiwr5byjVdKoTiPF8TwjLVGpuW2cY6H26\"]},\"src/libs/Bytes.sol\":{\"keccak256\":\"0xadfb30a181af8bf79ca555ced43137e4363c8cd7bd6c45e203cc75b1efe2d09d\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://b2e34e5c37a6a3fba52af1e07f79df3078574c722fa6d85f9c5b46a25bd07ed3\",\"dweb:/ipfs/QmbtmFAqsqiG1TfrwWUa6JVauPkmPzRbBXuWcVvwWgiGya\"]},\"src/libs/TagId.sol\":{\"keccak256\":\"0x1b5fadfa784c83e23b4401154d0647cf7d30ca6d9059b9e40232417284ce92d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae35d219f4b3b9fed535e59bf8f8c9838228a677db9a76713b71bd0e70e30376\",\"dweb:/ipfs/QmZkEGP4tnddqz2vpJ7HUjHew3k2B6KmWrBuJXtB6aN9XL\"]},\"src/namespaces/evefrontier/codegen/tables/AccessConfig.sol\":{\"keccak256\":\"0x955656d516c8ba08c1a247b1ff8358a13e1d8e04feefdf40a1f7b1162f46dbe2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6e7171a6e9594810d3235c832844ae4f1f81b72ed0553d94bc4376ada6ef6b9\",\"dweb:/ipfs/QmbxhPsUJ1FqkjZief5GawW2xDEcn4ypGpytj8SZ6xTxKC\"]},\"src/namespaces/evefrontier/codegen/tables/Entity.sol\":{\"keccak256\":\"0x0398114cff794e0cc5d8aee4d2def6312326ecd4cb2d3c99ac1d9cf35b09e495\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84962998424097a4fff5124ef53a33bbb3f4e618b3cd93b3e3281595b02c2aaf\",\"dweb:/ipfs/QmWLUTaAhBRG1RXq1rE8fdgWQoRYqVVZUA2fSUCLVfQcz4\"]},\"src/namespaces/evefrontier/codegen/tables/EntityTagMap.sol\":{\"keccak256\":\"0x79c168bc39fef4cdc8d982140ff914069aac402bc98c3ca349fe28611bcc90be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb42249dc17579047be4758b82f26852f9f72ce0bf04c809bcd510e2c470efbd\",\"dweb:/ipfs/QmeTdyC4bNP1cdS47i9e3qJcFJyzSFMRNSqGBUvjkK7VL7\"]},\"src/namespaces/evefrontier/codegen/tables/HasRole.sol\":{\"keccak256\":\"0x4a44a5b8b7ed9578263ae54395e13ed7ea2e4702ce8b6abe9fe16a70513fb531\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f8b5c7ff10ffb796f74b4386be40a7998a930449b8bdd4edea6dc8d7cb3aef2\",\"dweb:/ipfs/QmUfKCHApvTXaoRrYeJFxFuGdfp9M8MJdznogV3kjDNCJQ\"]},\"src/namespaces/evefrontier/codegen/tables/Role.sol\":{\"keccak256\":\"0xcf6720e5b4e7a3425693b6cfe32b1a56b2e60cb386cb3eabbaf0a1bde7154612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8c026759422bb9b5bcd15559ea5eef4a64dfb4ed1790a64c37e219d8416eb42\",\"dweb:/ipfs/QmP2k1fygqz9fhBFQ4LekR3Mn34GBLXG5R4rSwwqWHWmnj\"]},\"src/namespaces/evefrontier/interfaces/IEntitySystem.sol\":{\"keccak256\":\"0x4c7add88fdb462b4ffa1d83a313a2aeab04b2d207eff3c2979abf471abd73fa9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff3797123bd943d34a3c4f3fbb21146a731e7e9a7d12b09124f8d48ea1b05c66\",\"dweb:/ipfs/QmQnHjeWqCroWz6iL7JdmwsGSgsrkBjf2FcadrPkygGm2f\"]},\"src/namespaces/evefrontier/interfaces/ITagSystem.sol\":{\"keccak256\":\"0x5b919534dfe72430be3961e20c451517c4322f8de178306ff7e0c2e16d5eea19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfb5ae5b464696bbafdbfea3fd8d6a4a72568dfafbb7cd032754c84286b104ac\",\"dweb:/ipfs/QmcU8MfnhiyczFe3oSbX9Ev9HELBZPo78WkSQzkxLa2J2X\"]},\"src/namespaces/evefrontier/systems/role-management-system/RoleManagementSystem.sol\":{\"keccak256\":\"0x7501fafc35d778c5c3ebab4bad53b683abe545bb96c6d191609bae64017632a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5177f08e37feec64bf396376683abd281c0f1013024d90a8d7c9f4a0455507e0\",\"dweb:/ipfs/QmX7Zhw6zB3uhX6Cx3BuBf8QwXP3EHWfyLbn3pmeFKQtML\"]},\"src/namespaces/evefrontier/systems/tag-system/types.sol\":{\"keccak256\":\"0x5fbafb4f52f6a91c78c4c836571142a6bf7d37ec56a2d51d7b8cbb839beac1dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6e38bd8bd7239656ab91c8f43636793dc5b91025fbced5f13aa9ee4a5fc0f4\",\"dweb:/ipfs/QmTRt4SJxZWjT5LdVsFj7eZZrsgYGHC6HwtcQLnUdqgGwg\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"bytes32","name":"admin","type":"bytes32"}],"type":"error","name":"RoleManagement_AdminAlreadyAssigned"},{"inputs":[],"type":"error","name":"RoleManagement_BadConfirmation"},{"inputs":[],"type":"error","name":"RoleManagement_InvalidRole"},{"inputs":[],"type":"error","name":"RoleManagement_InvalidRoleMember"},{"inputs":[],"type":"error","name":"RoleManagement_MustRenounceSelf"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"type":"error","name":"RoleManagement_RoleAlreadyCreated"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"type":"error","name":"RoleManagement_RoleDoesNotExist"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"RoleManagement_UnauthorizedAccount"},{"inputs":[{"internalType":"uint256","name":"callCount","type":"uint256"}],"type":"error","name":"SOF_CallTooDeep"},{"inputs":[],"type":"error","name":"SOF_InvalidAccessLogic"},{"inputs":[],"type":"error","name":"SOF_InvalidCall"},{"inputs":[{"internalType":"uint256","name":"givenEntity","type":"uint256"}],"type":"error","name":"SOF_InvalidEntityType"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"}],"type":"error","name":"SOF_UnscopedSystemCall"},{"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":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"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":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"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":"EncodedLengths","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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","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":"bytes32","name":"role","type":"bytes32"},{"internalType":"bytes32","name":"admin","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"revokeAll"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"bytes32","name":"admin","type":"bytes32"},{"internalType":"address","name":"roleMember","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"scopedCreateRole"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"scopedGrantRole"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"scopedRenounceRole"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"scopedRevokeAll"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"scopedRevokeRole"},{"inputs":[{"internalType":"uint256","name":"entityId","type":"uint256"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"bytes32","name":"newAdmin","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"scopedTransferRoleAdmin"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"bytes32","name":"newAdmin","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transferRoleAdmin"}],"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."}},"createRole(bytes32,bytes32)":{"details":"Creates a new entry in the {Role} table assigning an admin value, and exsitence   flag under the `role` key. NOTE: If `role` and `admin` are identical, then creates self-administered role","params":{"admin":"The identifier for the admin role","role":"The identifier for the new role"}},"grantRole(bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = true, for the keys `role`,`account`","params":{"account":"The account to grant as a member.","role":"The role to grant membership for"}},"renounceRole(bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`callerConfirmation`","params":{"callerConfirmation":"Address of the world entry point caller for verification","role":"The role to revoke account membership for"}},"revokeAll(bytes32)":{"details":"Deletes all {HasRole} information associated with the `role`","params":{"role":"The role to revoke membership for WARNING: Use with caution! This will remove role memberships for ALL member accounts"}},"revokeRole(bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`","params":{"account":"The account to remove as a member","role":"The role to revoke membership for"}},"scopedCreateRole(uint256,bytes32,bytes32,address)":{"details":"Creates a new entry in the {Role} table assigning an admin value, and exsitence   flag under the `role` key. NOTE: If `role` and `admin` are identical, then creates self-administered roleaccess configuration - only callable by EntitySystem or a Class scoped System of `entityId` (see EntitySyste.registerClass, EntitySystem.scopedRegisterClass, SOFAccessSystem.allowEntitySystemOrClassScoped)","params":{"admin":"The identifier for the admin role","entityId":"The entity ID to use for scoping this function call access","role":"The identifier for the new role","roleMember":"The address of the role member to grant membership to"}},"scopedGrantRole(uint256,bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = true, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)","params":{"account":"The account to grant as a member.","entityId":"The entity ID to use for scoping this function call access","role":"The role to grant membership for"}},"scopedRenounceRole(uint256,bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)","params":{"callerConfirmation":"The address of the caller to confirm the renounciation","entityId":"The entity ID to use for scoping this function call access","role":"The role to renounce membership for"}},"scopedRevokeAll(uint256,bytes32)":{"details":"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by EntitySystem or a Class scoped System of `entityId` (see EntitySyste.deleteClass, EntitySystem.deleteObject, SOFAccessSystem.allowEntitySystemOrClassScoped)","params":{"entityId":"The entity ID to use for scoping this function call access","role":"The role to revoke membership for"}},"scopedRevokeRole(uint256,bytes32,address)":{"details":"Updates the {HasRole} table with `hasRole` = false, for the keys `role`,`account`access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)","params":{"account":"The account to revoke membership for","entityId":"The entity ID to use for scoping this function call access","role":"The role to revoke membership for"}},"scopedTransferRoleAdmin(uint256,bytes32,bytes32)":{"details":"Updates the admin value in the {Role} table with `newAdmin` for the key `role`.access configuration - only callable by a Class scoped System of `entityId` (see SOFAccessSystem.allowClassScopedSystem)","params":{"entityId":"The entity ID to use for scoping this function call access","newAdmin":"The identifier for","role":"The identifier for the role to modify"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"transferRoleAdmin(bytes32,bytes32)":{"details":"Updates the admin value in the {Role} table with `newAdmin` for the key `role`.","params":{"newAdmin":"The new admin role to set","role":"The role to modify"}}},"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."},"createRole(bytes32,bytes32)":{"notice":"Create a new `role` with specified `admin` role"},"grantRole(bytes32,address)":{"notice":"Grants role membership to an account."},"renounceRole(bytes32,address)":{"notice":"Allows users to revoke their own role membership (as a seperate explicit function so accounts don't accidentally revoke themselves)"},"revokeAll(bytes32)":{"notice":"Revokes all role membership for an account."},"revokeRole(bytes32,address)":{"notice":"Revokes role membership of an account."},"scopedCreateRole(uint256,bytes32,bytes32,address)":{"notice":"Create a new `role` with specified `admin` role"},"scopedGrantRole(uint256,bytes32,address)":{"notice":"Grants role membership to an account (with access scoped to an entity)"},"scopedRenounceRole(uint256,bytes32,address)":{"notice":"Renounces role membership of an account (with access scoped to an entity)"},"scopedRevokeAll(uint256,bytes32)":{"notice":"Revokes all role membership from an account (with access scoped to an entity)"},"scopedRevokeRole(uint256,bytes32,address)":{"notice":"Revokes role membership from an account (with access scoped to an entity)"},"scopedTransferRoleAdmin(uint256,bytes32,bytes32)":{"notice":"Updates the admin role for an existing `role` (with access scoped to an entity)"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"transferRoleAdmin(bytes32,bytes32)":{"notice":"Updates the admin role for an existing `role`"}},"version":1}},"settings":{"remappings":["@eveworld/=node_modules/@eveworld/","@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":300},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/namespaces/evefrontier/systems/role-management-system/RoleManagementSystem.sol":"RoleManagementSystem"},"evmVersion":"cancun","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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"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/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"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":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"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/ResourceId.sol":{"keccak256":"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5","urls":["bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b","dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"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":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"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":"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d","urls":["bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a","dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab","urls":["bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36","dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b","urls":["bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160","dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc","urls":["bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080","dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"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":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"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":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"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/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"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":"0x15e21a1edaad9bc31f00659cce409f4cd6eaa2cd0c5035ab32b4ffa9fa4c8d40","urls":["bzz-raw://a1f5f0260668ada84712fd51de1166eeeecf53a01b896ea322f978387de363f6","dweb:/ipfs/QmQdaur7oZLLf8jRw8m3cNm1wbDLRTqQ634k1DhzRCYdRa"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xfae8c0039cbe627d30c1d3c96d5b5c979ea05ac744472a63c345e030be8773e3","urls":["bzz-raw://42e034310f09682a2b52de0083f40e0aca75746bc4d4a738a72043c49ed2f52a","dweb:/ipfs/QmTU2iSwXrJvLcLErmkBKxESxxpXhCAwUXxvG3AaHymJFy"],"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":"0x6a4ef8460a4ba4acfa28f257578fef89bf0ad191d593b3499158e73138760bd9","urls":["bzz-raw://1512d379b35f90288a7834389a2913a78a42b86a7052346e2ad82c0adbd4f895","dweb:/ipfs/QmaUQjrXFQXR8F4LJqcBRgh5r3Q6KHmff3PrU2DVH8jEhv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x064f8e5de1d33dc43f8960c4511ab978f4f203db5be60b16455a33f81a44777b","urls":["bzz-raw://7ad396e3c7f780a924ab1e908f1713c7fbb3a734ecdd65f4cd82cd8414d3fa02","dweb:/ipfs/QmSRacmErXTjGpfdsS1AdjbAXjpxj1GgnXEsA1FFJuvx2q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x3e0400cba77c74f53f16357b20449cda64468b519c9bac437564af127766d45a","urls":["bzz-raw://75387dc13d9d87e76bd3df827494c0288f48899c77dcfca0eaaac6cf45dd630b","dweb:/ipfs/QmVK2tDx8q6XxttCZheEdEcLpTdKkLxgw446vyv1ToN2p2"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x4feb9f14aee9c9f94fc6df55d34c0c0e3994a3e6432817c07712cef729dee867","urls":["bzz-raw://f2878a201cda27f77091becd4591bf0d868c3b7e7a80cae852778b85a374a3b8","dweb:/ipfs/QmcMoHjHjeKK5sqsa9ddJL63Dzy9ZLQ2gyNoyirKpsxkSh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"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/IWorldWithContext.sol":{"keccak256":"0x2a6c72817be5e1644f65cdb3a29e2f964739d44abab5e404ef4edbde8352a7a5","urls":["bzz-raw://95da54d80b802d51a771ae077c298135fe9408f01eb5fdfd9d2737aa53b1cf51","dweb:/ipfs/QmZEj3okv33JKXd74cumR9averpTgh1h1DNAz7CjYVvKJ2"],"license":"MIT"},"src/codegen/world/IAccessConfigSystem.sol":{"keccak256":"0xa926d7a194f8d58a6ecc45adab85a5fed93097f49b4684c36e27214378646a84","urls":["bzz-raw://a4fa670ded23c1e9c10c753d57d0700ced0ea8389a133f045640f748dc9cd262","dweb:/ipfs/QmYMaBeSKm6aQ8k6S1gomPFXfb1GaX3RFMR7m9rQCudvK6"],"license":"MIT"},"src/codegen/world/IEntitySystem.sol":{"keccak256":"0x8438b221daceb706c0bf018600a9615b4f6dd9c62e2894ba194ba6c5e6f1b6af","urls":["bzz-raw://818afb0394130fe95f8ef2d0305a7132bd6f39eeaf5ee5750c86fc71f1d04d0b","dweb:/ipfs/QmS1mE2hKMKVbxJFNcfKFxVSg7B3XSyKc91qF71dp7DMpp"],"license":"MIT"},"src/codegen/world/IRoleManagementSystem.sol":{"keccak256":"0xe6158fa37d3802a19208b94149b35684fc9ad606f37b7f45318f181a8b15e2cc","urls":["bzz-raw://c42fcccb6e55c69b154ee058dd9c9a710f1803d42b4a7f6fab7e724c45bd8b18","dweb:/ipfs/QmcpHhoRKgA2GqHfsVGBM4mzFuumUs5edpAkgiRBjrMncm"],"license":"MIT"},"src/codegen/world/ISOFAccessSystem.sol":{"keccak256":"0x78a896ead87ab33185c96a3f4f27ae86047f59064ca2bd4f510f76c12d9de9e1","urls":["bzz-raw://f416e5eccb9fda5089ee666cd4a2db5e7876ada8e90501de09cad03a2e218e25","dweb:/ipfs/QmX1TJhfkS2uor6Hn76gDPu9rRroUQqk3wHUL9ysEj2kgw"],"license":"MIT"},"src/codegen/world/ITagSystem.sol":{"keccak256":"0xecf20d47f5e36c4c9387c045d82cc92b2d66ffb4b6f9cd7b82f003f85c73540d","urls":["bzz-raw://01e696a0ce804ad11464e89d5d1eb29d0b4839a6e014ec0278f43815495b6b43","dweb:/ipfs/QmYzMwgPVyEuLR4f4Py8BozFZCvkr5JoKuoZqiYE7qkE4G"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xbcd9fc9e5d73b75252d14ee08f69fbe96513b5c467ce36318ccd3ce61d07798f","urls":["bzz-raw://dc4b7881d43e340ff8c00c5980ac35c62772c28617cd7d7cfd425578ed1609ba","dweb:/ipfs/QmVXqxn1J28kYtVa2Q57U1iY74N6qsNjsUu6XCvQerj948"],"license":"MIT"},"src/inherit/SmartObjectFramework.sol":{"keccak256":"0x8a43b9e114d68e8f9cc87f600b876963a3a13d9e8bccdf3fdf09d826da8ee6a1","urls":["bzz-raw://cf40840226df65df3bfdd41d00fbbcbf934e8b8ba586dc02e3c47eca5691ebb5","dweb:/ipfs/QmSARZ1uhEAWbLiwr5byjVdKoTiPF8TwjLVGpuW2cY6H26"],"license":"MIT"},"src/libs/Bytes.sol":{"keccak256":"0xadfb30a181af8bf79ca555ced43137e4363c8cd7bd6c45e203cc75b1efe2d09d","urls":["bzz-raw://b2e34e5c37a6a3fba52af1e07f79df3078574c722fa6d85f9c5b46a25bd07ed3","dweb:/ipfs/QmbtmFAqsqiG1TfrwWUa6JVauPkmPzRbBXuWcVvwWgiGya"],"license":"Unlicense"},"src/libs/TagId.sol":{"keccak256":"0x1b5fadfa784c83e23b4401154d0647cf7d30ca6d9059b9e40232417284ce92d4","urls":["bzz-raw://ae35d219f4b3b9fed535e59bf8f8c9838228a677db9a76713b71bd0e70e30376","dweb:/ipfs/QmZkEGP4tnddqz2vpJ7HUjHew3k2B6KmWrBuJXtB6aN9XL"],"license":"MIT"},"src/namespaces/evefrontier/codegen/tables/AccessConfig.sol":{"keccak256":"0x955656d516c8ba08c1a247b1ff8358a13e1d8e04feefdf40a1f7b1162f46dbe2","urls":["bzz-raw://b6e7171a6e9594810d3235c832844ae4f1f81b72ed0553d94bc4376ada6ef6b9","dweb:/ipfs/QmbxhPsUJ1FqkjZief5GawW2xDEcn4ypGpytj8SZ6xTxKC"],"license":"MIT"},"src/namespaces/evefrontier/codegen/tables/Entity.sol":{"keccak256":"0x0398114cff794e0cc5d8aee4d2def6312326ecd4cb2d3c99ac1d9cf35b09e495","urls":["bzz-raw://84962998424097a4fff5124ef53a33bbb3f4e618b3cd93b3e3281595b02c2aaf","dweb:/ipfs/QmWLUTaAhBRG1RXq1rE8fdgWQoRYqVVZUA2fSUCLVfQcz4"],"license":"MIT"},"src/namespaces/evefrontier/codegen/tables/EntityTagMap.sol":{"keccak256":"0x79c168bc39fef4cdc8d982140ff914069aac402bc98c3ca349fe28611bcc90be","urls":["bzz-raw://fb42249dc17579047be4758b82f26852f9f72ce0bf04c809bcd510e2c470efbd","dweb:/ipfs/QmeTdyC4bNP1cdS47i9e3qJcFJyzSFMRNSqGBUvjkK7VL7"],"license":"MIT"},"src/namespaces/evefrontier/codegen/tables/HasRole.sol":{"keccak256":"0x4a44a5b8b7ed9578263ae54395e13ed7ea2e4702ce8b6abe9fe16a70513fb531","urls":["bzz-raw://9f8b5c7ff10ffb796f74b4386be40a7998a930449b8bdd4edea6dc8d7cb3aef2","dweb:/ipfs/QmUfKCHApvTXaoRrYeJFxFuGdfp9M8MJdznogV3kjDNCJQ"],"license":"MIT"},"src/namespaces/evefrontier/codegen/tables/Role.sol":{"keccak256":"0xcf6720e5b4e7a3425693b6cfe32b1a56b2e60cb386cb3eabbaf0a1bde7154612","urls":["bzz-raw://f8c026759422bb9b5bcd15559ea5eef4a64dfb4ed1790a64c37e219d8416eb42","dweb:/ipfs/QmP2k1fygqz9fhBFQ4LekR3Mn34GBLXG5R4rSwwqWHWmnj"],"license":"MIT"},"src/namespaces/evefrontier/interfaces/IEntitySystem.sol":{"keccak256":"0x4c7add88fdb462b4ffa1d83a313a2aeab04b2d207eff3c2979abf471abd73fa9","urls":["bzz-raw://ff3797123bd943d34a3c4f3fbb21146a731e7e9a7d12b09124f8d48ea1b05c66","dweb:/ipfs/QmQnHjeWqCroWz6iL7JdmwsGSgsrkBjf2FcadrPkygGm2f"],"license":"MIT"},"src/namespaces/evefrontier/interfaces/ITagSystem.sol":{"keccak256":"0x5b919534dfe72430be3961e20c451517c4322f8de178306ff7e0c2e16d5eea19","urls":["bzz-raw://cfb5ae5b464696bbafdbfea3fd8d6a4a72568dfafbb7cd032754c84286b104ac","dweb:/ipfs/QmcU8MfnhiyczFe3oSbX9Ev9HELBZPo78WkSQzkxLa2J2X"],"license":"MIT"},"src/namespaces/evefrontier/systems/role-management-system/RoleManagementSystem.sol":{"keccak256":"0x7501fafc35d778c5c3ebab4bad53b683abe545bb96c6d191609bae64017632a9","urls":["bzz-raw://5177f08e37feec64bf396376683abd281c0f1013024d90a8d7c9f4a0455507e0","dweb:/ipfs/QmX7Zhw6zB3uhX6Cx3BuBf8QwXP3EHWfyLbn3pmeFKQtML"],"license":"MIT"},"src/namespaces/evefrontier/systems/tag-system/types.sol":{"keccak256":"0x5fbafb4f52f6a91c78c4c836571142a6bf7d37ec56a2d51d7b8cbb839beac1dc","urls":["bzz-raw://dd6e38bd8bd7239656ab91c8f43636793dc5b91025fbced5f13aa9ee4a5fc0f4","dweb:/ipfs/QmTRt4SJxZWjT5LdVsFj7eZZrsgYGHC6HwtcQLnUdqgGwg"],"license":"MIT"}},"version":1},"id":133}