{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setupFactory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testBuildUnit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testEntityBlockingTargetPosition","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNotAFactory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNotAbleToBuildPrototype","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPlayerDoesNotHaveEnoughGold","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPlayerDoesNotOwnFactory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTargetPositionNotAdjacent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_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":"0x60806040526000805460ff19166001178155601d555a6023557fe366a98476020cb9ff8cc566d0cdeac414e546d2e7ede445f4e7032a4272c7716027556829bbb7b93239b6b0b760b91b60285534801561005857600080fd5b50616ec080620000696000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806366d9a9a0116100cd578063ba414fa611610081578063e20c9f7111610066578063e20c9f711461025e578063e3fd405714610266578063fa7626d41461026e57600080fd5b8063ba414fa61461021b578063d46a70651461023357600080fd5b806385226c81116100b257806385226c81146101f6578063916a17c61461020b578063b5508aa91461021357600080fd5b806366d9a9a0146101d95780636bceb769146101ee57600080fd5b806329c3d6a4116101245780633e5e3c23116101095780633e5e3c23146101c15780633f7286f4146101c95780634870a312146101d157600080fd5b806329c3d6a4146101b15780633d724c66146101b957600080fd5b8063160fc19211610155578063160fc19214610183578063176cec431461018b5780631ed7831c1461019357600080fd5b80630a9254e4146101715780630c4e92b01461017b575b600080fd5b61017961027b565b005b610179610539565b61017961080c565b6101796109ba565b61019b610b4a565b6040516101a89190615f7a565b60405180910390f35b610179610bac565b610179610d18565b61019b61106e565b61019b6110ce565b61017961112e565b6101e16112d2565b6040516101a89190615fc7565b6101796113d6565b6101fe6115a6565b6040516101a891906160e4565b6101e1611676565b6101fe611771565b610223611841565b60405190151581526020016101a8565b601b54610246906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b61019b611983565b6101796119e3565b6000546102239060ff1681565b610283611b62565b601b54601c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790557f64656275670000000000000000000000000000000000000000000000000000006102db611c75565b6102e56000611d44565b601c546040517f99b526d600000000000000000000000000000000000000000000000000000000815260048101839052600160248201526001600160a01b03909116906399b526d690604401600060405180830381600087803b15801561034b57600080fd5b505af115801561035f573d6000803e3d6000fd5b5050601c5461037a92506001600160a01b0316905082611db8565b6021555b610389602154611ec0565b60000361041557601c546021546040517ff29bced00000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163f29bced0916103de9160040190815260200190565b600060405180830381600087803b1580156103f857600080fd5b505af115801561040c573d6000803e3d6000fd5b5050505061037e565b61042160215442611f41565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b5050505061049f611ffa565b601e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790556104d4611ffa565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610509611ffa565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6105416113d6565b610549611c75565b6105786021546027547f04218b383e5b3ca3b5f51e995f12c59c2f59e6e1988b4e627906082af050affc6120d7565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d657600080fd5b505af11580156105ea573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601b60248201527f796f7520646f206e6f74206f776e207468697320666163746f727900000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064015b600060405180830381600087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b5050601c5460215460275460285460405163ac21e2ed60e01b8152600481019390935260248301919091526044820152602954600381810b606484015260209190911c900b60848201526001600160a01b03909116925063ac21e2ed915060a4015b6020604051808303816000875af115801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190616148565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b50505050565b6108146113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561086d57600080fd5b505af1158015610881573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152602860248201527f7468697320666163746f727920646f6573206e6f74206861766520746869732060448201527f74656d706c6174650000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150608401600060405180830381600087803b15801561092557600080fd5b505af1158015610939573d6000803e3d6000fd5b5050601c5460215460275460405163ac21e2ed60e01b8152600481019290925260248201527f0b849d6b7af0a1560952dea97c612700398fbc14227d3938c3ef8ae36ff98f126044820152602954600381810b606484015260209190911c900b60848201526001600160a01b03909116925063ac21e2ed915060a401610750565b6109c26113d6565b6109ca611c75565b6109d8602154602754612192565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152602860248201527f7468697320666163746f727920646f6573206e6f74206861766520746869732060448201527f74656d706c6174650000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506084016106c0565b6060600d805480602002602001604051908101604052809291908181526020018280548015610ba257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b84575b5050505050905090565b610bb46113d6565b610bbc611c75565b610bcc602154602654600061221c565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2a57600080fd5b505af1158015610c3e573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b158015610c9b57600080fd5b505af1158015610caf573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152600f60248201527f6e6f7420656e6f75676820676f6c6400000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064016106c0565b610d206113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506000610da16021546026546122de565b9050610de16040518060400160405280600a81526020017f4275696c6420756e697400000000000000000000000000000000000000000000815250612383565b601c5460215460275460285460405163ac21e2ed60e01b8152600481019390935260248301919091526044820152602954600381810b606484015260209190911c900b60848201526000916001600160a01b03169063ac21e2ed9060a4016020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190616148565b9050610e8c612646565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610eea57600080fd5b505af1158015610efe573d6000803e3d6000fd5b50505050610f4f610f11602154836128ba565b6026546040518060400160405280601881526020017f756e6974206e6f74206f776e656420627920706c61796572000000000000000081525061295c565b610fa6610f5e602154836129a4565b5160295460408051808201909152601b81527f756e6974206e6f742061742074617267657420706f736974696f6e00000000006020820152600392830b929190910b90612aaa565b61100d610fb5602154836129a4565b6020015160030b602960000160049054906101000a900460030b60030b6040518060400160405280601b81526020017f756e6974206e6f742061742074617267657420706f736974696f6e0000000000815250612aaa565b61106a61101e6021546026546122de565b60030b61102c606485616177565b60030b6040518060400160405280601581526020017f706c6179657220676f6c64206e6f74207370656e740000000000000000000000815250612aaa565b5050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6111366113d6565b61113e611c75565b60215460265460408051808201909152600b8152600a602082015261118592917f53776f7264736d616e000000000000000000000000000000000000000000000091612af2565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601860248201527f656e7469747920626c6f636b696e6720706f736974696f6e00000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064016106c0565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156113cd5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156113b557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116113625790505b505050505081525050815260200190600101906112f6565b50505050905090565b6113de611c75565b602154601e546113f791906001600160a01b0316612b33565b6026556040805160018082528183019092526000916020808301908036833701905050905060285481600081518110611432576114326161cf565b6020908102919091010152604080516001808252818301909252600091816020016020820280368337019050509050606481600081518110611476576114766161cf565b602002602001019060030b908160030b815250506114ad602154602754604051806040016040528086815260200185815250612b8f565b6114be6021546027546026546120d7565b60215460275460408051808201909152600a80825260208201526114e3929190612c56565b604080518082018252600b8152600a602090910152602980547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016640a0000000b17905580517f90c5013b0000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d916390c5013b91600480830192600092919082900301818387803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b505050505050565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156113cd5783829060005260206000200180546115e9906161e5565b80601f0160208091040260200160405190810160405280929190818152602001828054611615906161e5565b80156116625780601f1061163757610100808354040283529160200191611662565b820191906000526020600020905b81548152906001019060200180831161164557829003601f168201915b5050505050815260200190600101906115ca565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156113cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561175957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116117065790505b5050505050815250508152602001906001019061169a565b60606010805480602002602001604051908101604052809291908181526020016000905b828210156113cd5783829060005260206000200180546117b4906161e5565b80601f01602080910402602001604051908101604052809291908181526020018280546117e0906161e5565b801561182d5780601f106118025761010080835404028352916020019161182d565b820191906000526020600020905b81548152906001019060200180831161181057829003601f168201915b505050505081526020019060010190611795565b60008054610100900460ff16156118615750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561197e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091611906917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616219565b60408051601f198184030181529082905261192091616261565b6000604051808303816000865af19150503d806000811461195d576040519150601f19603f3d011682016040523d82523d6000602084013e611962565b606091505b509150508080602001905181019061197a919061627d565b9150505b919050565b6060600c805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6119eb6113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015611a4457600080fd5b505af1158015611a58573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601f60248201527f74617267657420706f736974696f6e206973206e6f742061646a6163656e74006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015611ad657600080fd5b505af1158015611aea573d6000803e3d6000fd5b5050601c5460215460275460285460408051808201825260148082526020820152905163ac21e2ed60e01b81526001600160a01b03909516965063ac21e2ed95506107509460040193845260208085019390935260408401919091528051600390810b6060850152910151900b608082015260a00190565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f574f524c445f41444452455353000000000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c919061629f565b601b80546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff1992831681179091557f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1758054909216179055565b604080517f6e7300000000000000000000000000000000000000000000000000000000000060208201526000602282018190526030820152737109709ecfa91a80626ff3989d68f67f5b1dd12d916306447d5691611ceb9101604051602081830303815290604052611ce6906162c8565b612c7f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156107f257600080fd5b604080516000815260208101825290810182905261106a7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008260016060820160408051601f198184030181529190527e7d060001202014141400000000000000000000000000000000000000000000612d1b565b6000611dc2612dd0565b611dcd9060016162ec565b63ffffffff1690506000611de7611de2612e1f565b612e84565b90506000611df482612ea0565b90506000819003611e025750815b6040517f127de47a00000000000000000000000000000000000000000000000000000000815260806004820152600560848201527f6d6174636800000000000000000000000000000000000000000000000000000060a48201526024810182905260448101849052606481018590526001600160a01b0386169063127de47a9060c401600060405180830381600087803b158015611e9f57600080fd5b505af1158015611eb3573d6000803e3d6000fd5b5050505050505b92915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611ef957611ef96161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d6174636852656164790000000000008383630100080160dd1b612ef8565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611f7757611f776161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368436f6e666967000000000060001b82600185604051602001611fc091815260200190565b60408051601f198184030181529190527eb4060020202020201400000000000000000000000000000000000000000000612d1b565b505050565b601d80546000918291908261200e83616309565b9190505560405160200161202491815260200190565b60408051808303601f190181529082905280516020909101207fc88a5e6d0000000000000000000000000000000000000000000000000000000082526001600160a01b038116600483015268056bc75e2d6310000060248301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156120b957600080fd5b505af11580156120cd573d6000803e3d6000fd5b5092949350505050565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061210c5761210c6161cf565b602002602001018181525050828160018151811061212c5761212c6161cf565b6020026020010181815250506108067f746200000000000000000000000000004f776e6564427900000000000000000060001b8260008560405160200161217591815260200190565b60408051601f19818403018152919052630100080160dd1b612d1b565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106121c7576121c76161cf565b60200260200101818152505081816001815181106121e7576121e76161cf565b6020908102919091010152611ff57f74620000000000000000000000000000466163746f727900000000000000000082612fb5565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612251576122516161cf565b6020026020010181815250508281600181518110612271576122716161cf565b6020026020010181815250506108067f74620000000000000000000000000000476f6c6400000000000000000000000060001b826000856040516020016122c1919060e09190911b815260040190565b60408051601f19818403018152919052630100400160da1b612d1b565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110612317576123176161cf565b6020026020010181815250508281600181518110612337576123376161cf565b602090810291909101015260006123777f74620000000000000000000000000000476f6c640000000000000000000000008383630100400160da1b612ef8565b60e01c95945050505050565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af1158015612424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612448919061627d565b61244f5750565b6022805461245c906161e5565b9050600014602260405160200161247391906163b4565b604051602081830303815290604052906124c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ba9190616439565b60405180910390fd5b506024816040516124d49190616261565b908152602001604051809103902054600014816040516020016124f7919061644c565b6040516020818303038152906040529061253e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ba9190616439565b50602261254b8282616500565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156125aa57600080fd5b505af11580156125be573d6000803e3d6000fd5b505050505a602355604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e091600480830192600092919082900301818387803b15801561262b57600080fd5b505af115801561263f573d6000803e3d6000fd5b5050505050565b60005a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af11580156126ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612711919061627d565b6127185750565b600060a08260235461272a91906165c0565b61273491906165c0565b61273f9060016165d3565b9050600081116127ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e277420757365206761730000000000000060448201526064016124ba565b80602460226040516127bd91906165e6565b90815260405190819003602001902055602580546001810182556000919091527f401968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0161280a6022826165f2565b5061289e6022805461281b906161e5565b80601f0160208091040260200160405190810160405280929190818152602001828054612847906161e5565b80156128945780601f1061286957610100808354040283529160200191612894565b820191906000526020600020905b81548152906001019060200180831161287757829003601f168201915b5050505050613050565b604080516020810190915260008152602290611ff59082616500565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106128f3576128f36161cf565b6020026020010181815250508281600181518110612913576129136161cf565b602090810291909101015260006129537f746200000000000000000000000000004f776e656442790000000000000000008383630100080160dd1b612ef8565b95945050505050565b818314611ff5577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161299291906166c5565b60405180910390a1611ff5838361314c565b6040805180820182526000808252602082018190528251600280825260608201909452919290919081602001602082028036833701905050905083816000815181106129f2576129f26161cf565b6020026020010181815250508281600181518110612a1257612a126161cf565b602090810291909101015260008080612a6b7f74620000000000000000000000000000506f736974696f6e0000000000000000857e08020004040000000000000000000000000000000000000000000000000000613256565b6040805180820190915260008082526020808301918252850151602486015160e090811d909252901d815292955090935091505b979650505050505050565b818314611ff5577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051612ae091906166c5565b60405180910390a1611ff58383613326565b6000612afd85613420565b9050612b1284612b0d878461345d565b6134c3565b612b1d858284612c56565b612b2885824261352b565b611f398582856120d7565b60006001600160a01b03821681612b4985613420565b9050612b568582846135c9565b612b61858583613667565b612b6b8582613711565b612b77858260016137a4565b612b8485826103e861221c565b611f3985824261352b565b60606000612ba58360000151846020015161386b565b90506000612bbb8460000151856020015161388f565b60408051600280825260608201835292935060009290916020830190803683370190505090508681600081518110612bf557612bf56161cf565b6020026020010181815250508581600181518110612c1557612c156161cf565b6020908102919091010152612c4d7f74620000000000000000000000000000466163746f7279000000000000000000828686866138cb565b50505050505050565b612c608383613941565b612c6b8383836139a4565b611ff5838260000151836020015185613a4e565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612cb857612cb86161cf565b60209081029190910101526000612d107f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612ef8565b60601c949350505050565b6000612d25613b1a565b9050306001600160a01b03821603612d4957612d448686868686613b54565b61159e565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090612d969089908990899089908990600401616748565b600060405180830381600087803b158015612db057600080fd5b505af1158015612dc4573d6000803e3d6000fd5b50505050505050505050565b604080516000808252602082019092526000612e157f746200000000000000000000000000004c6173744d61746368496e64657800008383630100400160da1b612ef8565b60e01c9392505050565b604080516000808252602082019092526000612e7d7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008360027e7d060001202014141400000000000000000000000000000000000000000000612ef8565b9392505050565b60004281838211612e96576000611f39565b611f3984836165c0565b60008060015b6000829003612ef1576000612eba82613b69565b90506000819003612ecb5750612ef1565b84612ed582613b74565b10612ede578092505b81612ee88161678f565b92505050612ea6565b5092915050565b600080612f03613b1a565b9050306001600160a01b03821603612f2957612f2186868686613c05565b915050611f39565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990612f749089908990899089906004016167b2565b602060405180830381865afa158015612f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f219190616148565b6000612fbf613b1a565b9050306001600160a01b03821603612fdb57611ff58383613c32565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061302290869086906004016167e1565b600060405180830381600087803b15801561303c57600080fd5b505af1158015612c4d573d6000803e3d6000fd5b6131497f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316636900a3ae6024846040516130959190616261565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1682526130de9160040190815260200190565b600060405180830381865afa1580156130fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613123919081019061686e565b826040516020016131359291906168b7565b604051602081830303815290604052613c45565b50565b80821461106a577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516131d89060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405161320f9190616938565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516132469190616983565b60405180910390a161106a613cb6565b6060600060606000613266613b1a565b9050306001600160a01b0382160361328f57613283878787613df6565b9350935093505061331d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906132d8908a908a908a906004016169c0565b600060405180830381865afa1580156132f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132839190810190616a09565b93509350939050565b80821461106a577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516133b29060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e7460408201527f5d00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168816040516133e99190616938565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168826040516132469190616983565b60008061342c83613efe565b6134379060016162ec565b90506134438382613f82565b63ffffffff8116915061345783838161402a565b50919050565b60408051600280825260608083018452926020830190803683370190505090508281600081518110613491576134916161cf565b60200260200101818152505081816001815181106134b1576134b16161cf565b60200260200101818152505092915050565b60006134ce836140cb565b905060005b81518110156108065760008282815181106134f0576134f06161cf565b6020026020010151905060006135068683614154565b905061352182868360200151846000015185604001516138cb565b50506001016134d3565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613560576135606161cf565b6020026020010181815250508281600181518110613580576135806161cf565b6020026020010181815250506108067f746200000000000000000000000000004c617374416374696f6e00000000000060001b8260008560405160200161217591815260200190565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106135fe576135fe6161cf565b602002602001018181525050828160018151811061361e5761361e6161cf565b6020026020010181815250506108067f746200000000000000000000000000004372656174656442794164647265737360001b8260008560405160200161217591815260200190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061369c5761369c6161cf565b602002602001018181525050826001600160a01b031660001b816001815181106136c8576136c86161cf565b6020026020010181815250506108067f746200000000000000000000000000004d61746368506c61796572000000000060001b8260008560405160200161217591815260200190565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613747576137476161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368506c61796572730000000060001b8260008560405160200161379091815260200190565b604051602081830303815290604052614231565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106137d9576137d96161cf565b60200260200101818152505082816001815181106137f9576137f96161cf565b6020026020010181815250506108067f74620000000000000000000000000000506c617965720000000000000000000060001b826000856040516020016122c1919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6000612e7d83516020028351600402606081901b603883901b838301171792915050565b606061389a836142e2565b6138a3836142f2565b6040516020016138b4929190616a76565b604051602081830303815290604052905092915050565b60006138d5613b1a565b9050306001600160a01b038216036138f457612d448686868686614302565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90612d969089908990899089908990600401616aa5565b600061394d83836129a4565b9050600061396e836139688685600001518660200151614318565b906143f2565b8051909150156139915761398c8483600001518460200151846144c0565b610806565b6108068483600001518460200151614583565b60006139b88260000151836020015161463b565b60408051600280825260608083018452939450600093928492919060208301908036833701905050905086816000815181106139f6576139f66161cf565b6020026020010181815250508581600181518110613a1657613a166161cf565b6020908102919091010152612c4d7f74620000000000000000000000000000506f736974696f6e0000000000000000828686866138cb565b60408051600380825260808201909252600091602082016060803683370190505090508481600081518110613a8557613a856161cf565b6020026020010181815250508360030b60001b81600181518110613aab57613aab6161cf565b6020026020010181815250508260030b60001b81600281518110613ad157613ad16161cf565b60200260200101818152505061263f7f74620000000000000000000000000000456e7469746965734174506f7369746960001b8260008560405160200161379091815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061197e573391505090565b61263f8585613b63848761465b565b85614694565b6000611eba8261492f565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bad57613bad6161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d61746368536b79000000000000000083837e40020020200000000000000000000000000000000000000000000000000000612ef8565b6000612953613c1486866149b1565b60ff858116601b0360080285901c16613c2d858761465b565b614a07565b61106a8282613c4085614a58565b614add565b61314981604051602401613c599190616439565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614ddc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15613dc85760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052613d679291602001616219565b60408051601f1981840301815290829052613d8191616261565b6000604051808303816000865af19150503d8060008114613dbe576040519150601f19603f3d011682016040523d82523d6000602084013e613dc3565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060600060606000613e0785614dfd565b9050613e14878783614e20565b93506000613e2186614e59565b90508015613ef357613e338888614e96565b935066ffffffffffffff841667ffffffffffffffff811115613e5757613e576161b9565b6040519080825280601f01601f191660200182016040528015613e81576020820181803683370190505b5092506020830160005b828160ff161015613ef0576000613ea38b8b84614ea9565b90506000613ec0888460ff166028026038011c64ffffffffff1690565b9050613ecf8260008387614f29565b613ed981856165d3565b935050508080613ee890616af6565b915050613e8b565b50505b505093509350939050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613f3757613f376161cf565b60209081029190910101526000613f777f746200000000000000000000000000004d61746368456e74697479436f756e748383630100400160da1b612ef8565b60e01c949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613fb857613fb86161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368456e74697479436f756e7460001b826000856040516020016122c1919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b600061403582614ff5565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110614073576140736161cf565b6020026020010181815250508581600181518110614093576140936161cf565b6020908102919091010152612c4d7f6f7400000000000000000000000000004d617463680000000000000000000000828686866138cb565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614105576141056161cf565b6020908102919091010152600061413d7f7462000000000000000000000000000054656d706c6174655461626c657300008383615020565b9050611f3961414f82600084516150df565b61516d565b60408051606080820183526000808352602083018290528284018290528351600280825292810190945291929081602001602082028036833701905050905083816000815181106141a7576141a76161cf565b60200260200101818152505082816001815181106141c7576141c76161cf565b6020908102919091010152600080806142207f7462000000000000000000000000000054656d706c617465436f6e74656e7400857e20010220000000000000000000000000000000000000000000000000000000613256565b925092509250612a9f83838361517e565b600061423b613b1a565b9050306001600160a01b0382160361425e57614259858585856151c1565b61263f565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906142a9908890889088908890600401616b15565b600060405180830381600087803b1580156142c357600080fd5b505af11580156142d7573d6000803e3d6000fd5b505050505050505050565b606081612e7d81602060006151fc565b606081612e7d81600460e06151fc565b61263f85858585856143138b614a58565b61525c565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110614352576143526161cf565b6020026020010181815250508360030b60001b81600181518110614378576143786161cf565b6020026020010181815250508260030b60001b8160028151811061439e5761439e6161cf565b602090810291909101015260006143d67f74620000000000000000000000000000456e7469746965734174506f736974698383615020565b90506143e861414f82600084516150df565b9695505050505050565b60606000835167ffffffffffffffff811115614410576144106161b9565b604051908082528060200260200182016040528015614439578160200160208202803683370190505b5090506000805b85518110156144b6578486828151811061445c5761445c6161cf565b6020026020010151146144ae5785818151811061447b5761447b6161cf565b6020026020010151838381518110614495576144956161cf565b6020908102919091010152816144aa81616309565b9250505b600101614440565b5081529392505050565b604080516003808252608082019092526000916020820160608036833701905050905084816000815181106144f7576144f76161cf565b6020026020010181815250508360030b60001b8160018151811061451d5761451d6161cf565b6020026020010181815250508260030b60001b81600281518110614543576145436161cf565b602090810291909101015261263f7f74620000000000000000000000000000456e7469746965734174506f7369746982600061457e866142e2565b615595565b604080516003808252608082019092526000916020820160608036833701905050905083816000815181106145ba576145ba6161cf565b6020026020010181815250508260030b60001b816001815181106145e0576145e06161cf565b6020026020010181815250508160030b60001b81600281518110614606576146066161cf565b60209081029190910101526108067f74620000000000000000000000000000456e7469746965734174506f7369746982612fb5565b60405160e083811b602083015282901b60248201526060906028016138b4565b600080805b8360ff1681101561468c5761468260ff601b83900360080287901c16836165d3565b9150600101614660565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361471e57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161471193929190616b49565b60405180910390a2610806565b600061472a85856149b1565b9050600061473786615608565b905060005b815181101561480c576000828281518110614759576147596161cf565b602002602001015190506147856004826affffffffffffffffffffff191661569190919063ffffffff16565b15614803576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906147d0908b908b908b908b90600401616b7c565b600060405180830381600087803b1580156147ea57600080fd5b505af11580156147fe573d6000803e3d6000fd5b505050505b5060010161473c565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161484193929190616b49565b60405180910390a261485c828565ffffffffffff16856156af565b60005b8151811015612c4d57600082828151811061487c5761487c6161cf565b602002602001015190506148a86008826affffffffffffffffffffff191661569190919063ffffffff16565b15614926576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906148f3908b908b908b908b90600401616b7c565b600060405180830381600087803b15801561490d57600080fd5b505af1158015614921573d6000803e3d6000fd5b505050505b5060010161485f565b604080516001808252818301909252600091829190602080830190803683370190505090508263ffffffff1660001b81600081518110614971576149716161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d61746368496e646578546f456e74698383630100080160dd1b612ef8565b600082826040516020016149c6929190616bb5565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210614a2d57602082048401935060208281614a2957614a29616bf1565b0691505b508254600882021b60208290038084111561468c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201614aa757507e60030220202000000000000000000000000000000000000000000000000000919050565b611eba614ad47f746273746f72650000000000000000005461626c657300000000000000000000846156c5565b60206000614a07565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff0000000000000000000000000000000000000000000000000000000000001603614b6357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051614b569190616c07565b60405180910390a2505050565b6000614b6e84615608565b905060005b8151811015614c41576000828281518110614b9057614b906161cf565b60200260200101519050614bbc6040826affffffffffffffffffffff191661569190919063ffffffff16565b15614c38576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590614c05908990899089906004016169c0565b600060405180830381600087803b158015614c1f57600080fd5b505af1158015614c33573d6000803e3d6000fd5b505050505b50600101614b73565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051614c729190616c07565b60405180910390a26000614c8685856149b1565b9050614cdf816000614c9786614dfd565b67ffffffffffffffff811115614caf57614caf6161b9565b6040519080825280601f01601f191660200182016040528015614cd9576020820181803683370190505b506156af565b6000614cea84614e59565b1115614d0b576000614cfc86866156e1565b9050614d09816020615737565b505b60005b825181101561159e576000838281518110614d2b57614d2b6161cf565b60200260200101519050614d576080826affffffffffffffffffffff191661569190919063ffffffff16565b15614dd3576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614da0908a908a908a906004016169c0565b600060405180830381600087803b158015614dba57600080fd5b505af1158015614dce573d6000803e3d6000fd5b505050505b50600101614d0e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006008614e0d600260206165c0565b614e179190616c1a565b9190911c919050565b606081600003614e3f5750604080516020810190915260008152612e7d565b6000614e4b85856149b1565b905061295381600085615774565b60006008600180614e6c600260206165c0565b614e7691906165c0565b614e8091906165c0565b614e8a9190616c1a565b8260ff911c1692915050565b6000612e7d614ea584846156e1565b5490565b60008383604051602001614ebe929190616bb5565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215614fb05760208310614f5357602083048401935060208381614f4f57614f4f616bf1565b0692505b8215614fb0576020839003600081841015614f765750600019600884021c614f80565b50600019600882021c5b8554600886021b818451168219821617845250818411614fa1575050610806565b50600194909401939182900391015b5b60208210614fd25783548152600190930192601f1990910190602001614fb1565b8115610806576000600019600884021c8251865482191691161782525050505050565b60608160405160200161500a91815260200190565b6040516020818303038152906040529050919050565b6060600061502c613b1a565b9050306001600160a01b0382160361505157615049858585615797565b915050612e7d565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061509a90889088908890600401616c31565b600060405180830381865afa1580156150b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526150499190810190616c5d565b6000818311806150ef5750835182115b1561512c578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016124ba93929190616c92565b6020840161513a84826165d3565b9050600061514885856165c0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000612e7d83602060006157d1565b60408051606080820183526000825260208201819052918101919091526151a484615840565b81526151b0838361584d565b604083015260208201529392505050565b60006151cd8585614e96565b905060006151ea828560ff166028026038011c64ffffffffff1690565b905061159e868686846000888861589c565b8251606090600061520d8583616c1a565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015615250578051871b8352918701916001919091019060200161522f565b50505050509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036152e857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516152db9493929190616cb7565b60405180910390a261159e565b60006152f387615608565b905060005b81518110156153cc576000828281518110615315576153156161cf565b602002602001015190506153416001826affffffffffffffffffffff191661569190919063ffffffff16565b156153c3576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90615390908c908c908c908c908c908c90600401616cf6565b600060405180830381600087803b1580156153aa57600080fd5b505af11580156153be573d6000803e3d6000fd5b505050505b506001016152f8565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516154039493929190616cb7565b60405180910390a2600061541788886149b1565b9050600060208701905061542f826000895184615cd6565b600061543a85614e59565b11156154be57600061544c8a8a6156e1565b878155905060208601915060008060005b61546688614e59565b8160ff1610156154b95761547b8d8d83614ea9565b92506154968a8260ff166028026038011c64ffffffffff1690565b91506154a58360008488615cd6565b6154af82866165d3565b945060010161545d565b505050505b60005b8351811015612dc45760008482815181106154de576154de6161cf565b6020026020010151905061550a6002826affffffffffffffffffffff191661569190919063ffffffff16565b1561558c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90615559908e908e908e908e908e908e90600401616cf6565b600060405180830381600087803b15801561557357600080fd5b505af1158015615587573d6000803e3d6000fd5b505050505b506001016154c1565b600061559f613b1a565b9050306001600160a01b038216036155bd5761425985858585615d95565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906142a9908890889088908890600401616b15565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110615642576156426161cf565b6020908102919091010152600061567a7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383615797565b9050611f3961568c82600084516150df565b615dd0565b60008160ff16826156a28560581c90565b1660ff1614905092915050565b611ff5838383516156c08560200190565b615cd6565b60408051602081018490529081018290526000906060016149c6565b600082826040516020016156f6929190616bb5565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6000602061574683601f6165d3565b6157509190616d4f565b61575a90846165d3565b90505b80831015611ff5576000835560018301925061575d565b60405160208101601f19603f848401011660405282825261468c85858584614f29565b6060611f396157a7858585614ea9565b60006157cc856157b78989614e96565b9060ff166028026038011c64ffffffffff1690565b615774565b606060006157df8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161580557615805616bf1565b04905060405193506020840160208202810160405281855260005b82811015615250578451871c825293870193602090910190600101615820565b6020810151600090611eba565b6060806000603885901c64ffffffffff1661587161586c8684846150df565b615de1565b935090508064ffffffffff606087901c160161589161586c8684846150df565b925050509250929050565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461595c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161591a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526124ba939291600401616d71565b6000615977828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361599091906165c0565b61599a91906165d3565b90508082141580156159bc5750816159b28688616db2565b64ffffffffff1614155b15615a0c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016124ba565b818664ffffffffff161115615a5d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016124ba565b6000615a6a848984615e61565b90506000615a778b615608565b905060005b8151811015615b42576000828281518110615a9957615a996161cf565b60200260200101519050615ac56010826affffffffffffffffffffff191661569190919063ffffffff16565b15615b3957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401615b069796959493929190616dd0565b600060405180830381600087803b158015615b2057600080fd5b505af1158015615b34573d6000803e3d6000fd5b505050505b50600101615a7c565b5064ffffffffff881660005b8a60ff168160ff161015615b8157615b75878260ff166028026038011c64ffffffffff1690565b90910190600101615b4e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051615bbc96959493929190616e2e565b60405180910390a250828414615bdd576000615bd88c8c6156e1565b839055505b6000615bea8c8c8c614ea9565b9050615bfe818a64ffffffffff16896156af565b5060005b8151811015615cc8576000828281518110615c1f57615c1f6161cf565b60200260200101519050615c4b6020826affffffffffffffffffffff191661569190919063ffffffff16565b15615cbf57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401615c8c9796959493929190616dd0565b600060405180830381600087803b158015615ca657600080fd5b505af1158015615cba573d6000803e3d6000fd5b505050505b50600101615c02565b505050505050505050505050565b8215615d505760208310615d0057602083048401935060208381615cfc57615cfc616bf1565b0692505b8215615d505760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411615d41575050610806565b50600194909401939182900391015b5b60208210615d725780518455600190930192601f1990910190602001615d51565b8115610806576000600019600884021c8554835182191691161785555050505050565b6000615da18585614e96565b90506000615dbe828560ff166028026038011c64ffffffffff1690565b905061159e868686600085888861589c565b60606000612e7d83601560006157d1565b60606000615def8360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff811115615e1d57615e1d6161b9565b6040519080825280601f01601f191660200182016040528015615e47576020820181803683370190505b50925060208301615e59838284615f2f565b505050919050565b600064ffffffffff821115615ea5576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016124ba565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510615ed75780850382019150615edf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5b60208110615f4f578251825260209283019290910190601f1901615f30565b80600003615f5c57505050565b6000600019600883021c905080835116811985511617835250505050565b6020808252825182820181905260009190848201906040850190845b81811015615fbb5783516001600160a01b031683529284019291840191600101615f96565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101561608557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156160705783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061602e565b50978a01979550505091870191600101615ff1565b50919998505050505050505050565b60005b838110156160af578181015183820152602001616097565b50506000910152565b600081518084526160d0816020860160208601616094565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561613b57603f198886030184526161298583516160b8565b9450928501929085019060010161610d565b5092979650505050505050565b60006020828403121561615a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600382810b9082900b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000008112637fffffff82131715611eba57611eba616161565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600181811c908216806161f957607f821691505b60208210810361345757634e487b7160e01b600052602260045260246000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251616253816004850160208701616094565b919091016004019392505050565b60008251616273818460208701616094565b9190910192915050565b60006020828403121561628f57600080fd5b81518015158114612e7d57600080fd5b6000602082840312156162b157600080fd5b81516001600160a01b0381168114612e7d57600080fd5b805160208083015191908110156134575760001960209190910360031b1b16919050565b63ffffffff818116838216019080821115612ef157612ef1616161565b6000600019820361631c5761631c616161565b5060010190565b60008154616330816161e5565b60018281168015616348576001811461637b576163aa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506163aa565b8560005260208060002060005b858110156163a15781548a820152908401908201616388565b50505082870194505b5050505092915050565b7f676173207265706f727420220000000000000000000000000000000000000000815260006163e6600c830184616323565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b602081526000612e7d60208301846160b8565b7f676173207265706f72742022000000000000000000000000000000000000000081526000825161648481600c850160208701616094565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115611ff5576000816000526020600020601f850160051c810160208610156164e15750805b601f850160051c820191505b8181101561159e578281556001016164ed565b815167ffffffffffffffff81111561651a5761651a6161b9565b61652e8161652884546161e5565b846164b8565b602080601f831160018114616563576000841561654b5750858301515b600019600386901b1c1916600185901b17855561159e565b600085815260208120601f198616915b8281101561659257888601518255948401946001909101908401616573565b50858210156165b05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115611eba57611eba616161565b80820180821115611eba57611eba616161565b6000612e7d8284616323565b8181036165fd575050565b61660782546161e5565b67ffffffffffffffff81111561661f5761661f6161b9565b61662d8161652884546161e5565b6000601f82116001811461666157600083156166495750848201545b600019600385901b1c1916600184901b17845561263f565b600085815260209020601f19841690600086815260209020845b8381101561669b578286015482556001958601959091019060200161667b565b50858310156165b05793015460001960f8600387901b161c19169092555050600190811b01905550565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201526000612e7d60808301846160b8565b60008151808452602080850194506020840160005b8381101561673d57815187529582019590820190600101616721565b509495945050505050565b85815260a06020820152600061676160a083018761670c565b60ff86166040840152828103606084015261677c81866160b8565b9150508260808301529695505050505050565b600063ffffffff8083168181036167a8576167a8616161565b6001019392505050565b8481526080602082015260006167cb608083018661670c565b60ff949094166040830152506060015292915050565b828152604060208201526000611f39604083018461670c565b600067ffffffffffffffff80841115616815576168156161b9565b604051601f8501601f19908116603f0116810190828211818310171561683d5761683d6161b9565b8160405280935085815286868601111561685657600080fd5b616864866020830187616094565b5050509392505050565b60006020828403121561688057600080fd5b815167ffffffffffffffff81111561689757600080fd5b8201601f810184136168a857600080fd5b611f39848251602084016167fa565b7f474153205245504f52543a2000000000000000000000000000000000000000008152600083516168ef81600c850160208801616094565b7f2000000000000000000000000000000000000000000000000000000000000000600c91840191820152835161692c81600d840160208801616094565b01600d01949350505050565b60408152600061697560408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061697560408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b8381526060602082015260006169d9606083018561670c565b9050826040830152949350505050565b600082601f8301126169fa57600080fd5b612e7d838351602085016167fa565b600080600060608486031215616a1e57600080fd5b835167ffffffffffffffff80821115616a3657600080fd5b616a42878388016169e9565b9450602086015193506040860151915080821115616a5f57600080fd5b50616a6c868287016169e9565b9150509250925092565b60008351616a88818460208801616094565b835190830190616a9c818360208801616094565b01949350505050565b85815260a060208201526000616abe60a083018761670c565b8281036040840152616ad081876160b8565b90508460608401528281036080840152616aea81856160b8565b98975050505050505050565b600060ff821660ff8103616b0c57616b0c616161565b60010192915050565b848152608060208201526000616b2e608083018661670c565b60ff851660408401528281036060840152612a9f81856160b8565b606081526000616b5c606083018661670c565b65ffffffffffff8516602084015282810360408401526143e881856160b8565b848152608060208201526000616b95608083018661670c565b65ffffffffffff851660408401528281036060840152612a9f81856160b8565b8281526000602080830184516020860160005b82811015616be457815184529284019290840190600101616bc8565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b602081526000612e7d602083018461670c565b8082028115828204841417611eba57611eba616161565b838152606060208201526000616c4a606083018561670c565b905060ff83166040830152949350505050565b600060208284031215616c6f57600080fd5b815167ffffffffffffffff811115616c8657600080fd5b611f39848285016169e9565b606081526000616ca560608301866160b8565b60208301949094525060400152919050565b608081526000616cca608083018761670c565b8281036020840152616cdc81876160b8565b90508460408401528281036060840152612a9f81856160b8565b86815260c060208201526000616d0f60c083018861670c565b8281036040840152616d2181886160b8565b90508560608401528281036080840152616d3b81866160b8565b9150508260a0830152979650505050505050565b600082616d6c57634e487b7160e01b600052601260045260246000fd5b500490565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061295360608301846160b8565b64ffffffffff818116838216019080821115612ef157612ef1616161565b87815260e060208201526000616de960e083018961670c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152616e2081856160b8565b9a9950505050505050505050565b60c081526000616e4160c083018961670c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152616e7d81856160b8565b999850505050505050505056fea2646970667358221220028d9dbab1695c52e48cce56d2bcae9dd5b737c048b745f966a156b425dcd66664736f6c63430008180033","sourceMap":"593:3355:328:-:0;;;1572:26:148;;;-1:-1:-1;;1572:26:148;1594:4;1572:26;;;2169:21:338;;228:9:12;186:51;;688:20:328;670:38;;-1:-1:-1;;;712:41:328;;593:3355;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061016c5760003560e01c806366d9a9a0116100cd578063ba414fa611610081578063e20c9f7111610066578063e20c9f711461025e578063e3fd405714610266578063fa7626d41461026e57600080fd5b8063ba414fa61461021b578063d46a70651461023357600080fd5b806385226c81116100b257806385226c81146101f6578063916a17c61461020b578063b5508aa91461021357600080fd5b806366d9a9a0146101d95780636bceb769146101ee57600080fd5b806329c3d6a4116101245780633e5e3c23116101095780633e5e3c23146101c15780633f7286f4146101c95780634870a312146101d157600080fd5b806329c3d6a4146101b15780633d724c66146101b957600080fd5b8063160fc19211610155578063160fc19214610183578063176cec431461018b5780631ed7831c1461019357600080fd5b80630a9254e4146101715780630c4e92b01461017b575b600080fd5b61017961027b565b005b610179610539565b61017961080c565b6101796109ba565b61019b610b4a565b6040516101a89190615f7a565b60405180910390f35b610179610bac565b610179610d18565b61019b61106e565b61019b6110ce565b61017961112e565b6101e16112d2565b6040516101a89190615fc7565b6101796113d6565b6101fe6115a6565b6040516101a891906160e4565b6101e1611676565b6101fe611771565b610223611841565b60405190151581526020016101a8565b601b54610246906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b61019b611983565b6101796119e3565b6000546102239060ff1681565b610283611b62565b601b54601c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790557f64656275670000000000000000000000000000000000000000000000000000006102db611c75565b6102e56000611d44565b601c546040517f99b526d600000000000000000000000000000000000000000000000000000000815260048101839052600160248201526001600160a01b03909116906399b526d690604401600060405180830381600087803b15801561034b57600080fd5b505af115801561035f573d6000803e3d6000fd5b5050601c5461037a92506001600160a01b0316905082611db8565b6021555b610389602154611ec0565b60000361041557601c546021546040517ff29bced00000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163f29bced0916103de9160040190815260200190565b600060405180830381600087803b1580156103f857600080fd5b505af115801561040c573d6000803e3d6000fd5b5050505061037e565b61042160215442611f41565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047f57600080fd5b505af1158015610493573d6000803e3d6000fd5b5050505061049f611ffa565b601e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790556104d4611ffa565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610509611ffa565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6105416113d6565b610549611c75565b6105786021546027547f04218b383e5b3ca3b5f51e995f12c59c2f59e6e1988b4e627906082af050affc6120d7565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d657600080fd5b505af11580156105ea573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601b60248201527f796f7520646f206e6f74206f776e207468697320666163746f727900000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064015b600060405180830381600087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b5050601c5460215460275460285460405163ac21e2ed60e01b8152600481019390935260248301919091526044820152602954600381810b606484015260209190911c900b60848201526001600160a01b03909116925063ac21e2ed915060a4015b6020604051808303816000875af115801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190616148565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b50505050565b6108146113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561086d57600080fd5b505af1158015610881573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152602860248201527f7468697320666163746f727920646f6573206e6f74206861766520746869732060448201527f74656d706c6174650000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150608401600060405180830381600087803b15801561092557600080fd5b505af1158015610939573d6000803e3d6000fd5b5050601c5460215460275460405163ac21e2ed60e01b8152600481019290925260248201527f0b849d6b7af0a1560952dea97c612700398fbc14227d3938c3ef8ae36ff98f126044820152602954600381810b606484015260209190911c900b60848201526001600160a01b03909116925063ac21e2ed915060a401610750565b6109c26113d6565b6109ca611c75565b6109d8602154602754612192565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152602860248201527f7468697320666163746f727920646f6573206e6f74206861766520746869732060448201527f74656d706c6174650000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506084016106c0565b6060600d805480602002602001604051908101604052809291908181526020018280548015610ba257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b84575b5050505050905090565b610bb46113d6565b610bbc611c75565b610bcc602154602654600061221c565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2a57600080fd5b505af1158015610c3e573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b158015610c9b57600080fd5b505af1158015610caf573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152600f60248201527f6e6f7420656e6f75676820676f6c6400000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064016106c0565b610d206113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506000610da16021546026546122de565b9050610de16040518060400160405280600a81526020017f4275696c6420756e697400000000000000000000000000000000000000000000815250612383565b601c5460215460275460285460405163ac21e2ed60e01b8152600481019390935260248301919091526044820152602954600381810b606484015260209190911c900b60848201526000916001600160a01b03169063ac21e2ed9060a4016020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190616148565b9050610e8c612646565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610eea57600080fd5b505af1158015610efe573d6000803e3d6000fd5b50505050610f4f610f11602154836128ba565b6026546040518060400160405280601881526020017f756e6974206e6f74206f776e656420627920706c61796572000000000000000081525061295c565b610fa6610f5e602154836129a4565b5160295460408051808201909152601b81527f756e6974206e6f742061742074617267657420706f736974696f6e00000000006020820152600392830b929190910b90612aaa565b61100d610fb5602154836129a4565b6020015160030b602960000160049054906101000a900460030b60030b6040518060400160405280601b81526020017f756e6974206e6f742061742074617267657420706f736974696f6e0000000000815250612aaa565b61106a61101e6021546026546122de565b60030b61102c606485616177565b60030b6040518060400160405280601581526020017f706c6179657220676f6c64206e6f74207370656e740000000000000000000000815250612aaa565b5050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6111366113d6565b61113e611c75565b60215460265460408051808201909152600b8152600a602082015261118592917f53776f7264736d616e000000000000000000000000000000000000000000000091612af2565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b5050601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601860248201527f656e7469747920626c6f636b696e6720706f736974696f6e00000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb391506064016106c0565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156113cd5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156113b557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116113625790505b505050505081525050815260200190600101906112f6565b50505050905090565b6113de611c75565b602154601e546113f791906001600160a01b0316612b33565b6026556040805160018082528183019092526000916020808301908036833701905050905060285481600081518110611432576114326161cf565b6020908102919091010152604080516001808252818301909252600091816020016020820280368337019050509050606481600081518110611476576114766161cf565b602002602001019060030b908160030b815250506114ad602154602754604051806040016040528086815260200185815250612b8f565b6114be6021546027546026546120d7565b60215460275460408051808201909152600a80825260208201526114e3929190612c56565b604080518082018252600b8152600a602090910152602980547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016640a0000000b17905580517f90c5013b0000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d916390c5013b91600480830192600092919082900301818387803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b505050505050565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156113cd5783829060005260206000200180546115e9906161e5565b80601f0160208091040260200160405190810160405280929190818152602001828054611615906161e5565b80156116625780601f1061163757610100808354040283529160200191611662565b820191906000526020600020905b81548152906001019060200180831161164557829003601f168201915b5050505050815260200190600101906115ca565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156113cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561175957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116117065790505b5050505050815250508152602001906001019061169a565b60606010805480602002602001604051908101604052809291908181526020016000905b828210156113cd5783829060005260206000200180546117b4906161e5565b80601f01602080910402602001604051908101604052809291908181526020018280546117e0906161e5565b801561182d5780601f106118025761010080835404028352916020019161182d565b820191906000526020600020905b81548152906001019060200180831161181057829003601f168201915b505050505081526020019060010190611795565b60008054610100900460ff16156118615750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561197e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091611906917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616219565b60408051601f198184030181529082905261192091616261565b6000604051808303816000865af19150503d806000811461195d576040519150601f19603f3d011682016040523d82523d6000602084013e611962565b606091505b509150508080602001905181019061197a919061627d565b9150505b919050565b6060600c805480602002602001604051908101604052809291908181526020018280548015610ba2576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610b84575050505050905090565b6119eb6113d6565b601e546040516303223eab60e11b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015611a4457600080fd5b505af1158015611a58573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820152601f60248201527f74617267657420706f736974696f6e206973206e6f742061646a6163656e74006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015611ad657600080fd5b505af1158015611aea573d6000803e3d6000fd5b5050601c5460215460275460285460408051808201825260148082526020820152905163ac21e2ed60e01b81526001600160a01b03909516965063ac21e2ed95506107509460040193845260208085019390935260408401919091528051600390810b6060850152910151900b608082015260a00190565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f574f524c445f41444452455353000000000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa158015611bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1c919061629f565b601b80546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff1992831681179091557f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1758054909216179055565b604080517f6e7300000000000000000000000000000000000000000000000000000000000060208201526000602282018190526030820152737109709ecfa91a80626ff3989d68f67f5b1dd12d916306447d5691611ceb9101604051602081830303815290604052611ce6906162c8565b612c7f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156107f257600080fd5b604080516000815260208101825290810182905261106a7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008260016060820160408051601f198184030181529190527e7d060001202014141400000000000000000000000000000000000000000000612d1b565b6000611dc2612dd0565b611dcd9060016162ec565b63ffffffff1690506000611de7611de2612e1f565b612e84565b90506000611df482612ea0565b90506000819003611e025750815b6040517f127de47a00000000000000000000000000000000000000000000000000000000815260806004820152600560848201527f6d6174636800000000000000000000000000000000000000000000000000000060a48201526024810182905260448101849052606481018590526001600160a01b0386169063127de47a9060c401600060405180830381600087803b158015611e9f57600080fd5b505af1158015611eb3573d6000803e3d6000fd5b5050505050505b92915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611ef957611ef96161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d6174636852656164790000000000008383630100080160dd1b612ef8565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611f7757611f776161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368436f6e666967000000000060001b82600185604051602001611fc091815260200190565b60408051601f198184030181529190527eb4060020202020201400000000000000000000000000000000000000000000612d1b565b505050565b601d80546000918291908261200e83616309565b9190505560405160200161202491815260200190565b60408051808303601f190181529082905280516020909101207fc88a5e6d0000000000000000000000000000000000000000000000000000000082526001600160a01b038116600483015268056bc75e2d6310000060248301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156120b957600080fd5b505af11580156120cd573d6000803e3d6000fd5b5092949350505050565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061210c5761210c6161cf565b602002602001018181525050828160018151811061212c5761212c6161cf565b6020026020010181815250506108067f746200000000000000000000000000004f776e6564427900000000000000000060001b8260008560405160200161217591815260200190565b60408051601f19818403018152919052630100080160dd1b612d1b565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106121c7576121c76161cf565b60200260200101818152505081816001815181106121e7576121e76161cf565b6020908102919091010152611ff57f74620000000000000000000000000000466163746f727900000000000000000082612fb5565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612251576122516161cf565b6020026020010181815250508281600181518110612271576122716161cf565b6020026020010181815250506108067f74620000000000000000000000000000476f6c6400000000000000000000000060001b826000856040516020016122c1919060e09190911b815260040190565b60408051601f19818403018152919052630100400160da1b612d1b565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110612317576123176161cf565b6020026020010181815250508281600181518110612337576123376161cf565b602090810291909101015260006123777f74620000000000000000000000000000476f6c640000000000000000000000008383630100400160da1b612ef8565b60e01c95945050505050565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af1158015612424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612448919061627d565b61244f5750565b6022805461245c906161e5565b9050600014602260405160200161247391906163b4565b604051602081830303815290604052906124c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ba9190616439565b60405180910390fd5b506024816040516124d49190616261565b908152602001604051809103902054600014816040516020016124f7919061644c565b6040516020818303038152906040529061253e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ba9190616439565b50602261254b8282616500565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156125aa57600080fd5b505af11580156125be573d6000803e3d6000fd5b505050505a602355604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e091600480830192600092919082900301818387803b15801561262b57600080fd5b505af115801561263f573d6000803e3d6000fd5b5050505050565b60005a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af11580156126ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612711919061627d565b6127185750565b600060a08260235461272a91906165c0565b61273491906165c0565b61273f9060016165d3565b9050600081116127ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e277420757365206761730000000000000060448201526064016124ba565b80602460226040516127bd91906165e6565b90815260405190819003602001902055602580546001810182556000919091527f401968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0161280a6022826165f2565b5061289e6022805461281b906161e5565b80601f0160208091040260200160405190810160405280929190818152602001828054612847906161e5565b80156128945780601f1061286957610100808354040283529160200191612894565b820191906000526020600020905b81548152906001019060200180831161287757829003601f168201915b5050505050613050565b604080516020810190915260008152602290611ff59082616500565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106128f3576128f36161cf565b6020026020010181815250508281600181518110612913576129136161cf565b602090810291909101015260006129537f746200000000000000000000000000004f776e656442790000000000000000008383630100080160dd1b612ef8565b95945050505050565b818314611ff5577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161299291906166c5565b60405180910390a1611ff5838361314c565b6040805180820182526000808252602082018190528251600280825260608201909452919290919081602001602082028036833701905050905083816000815181106129f2576129f26161cf565b6020026020010181815250508281600181518110612a1257612a126161cf565b602090810291909101015260008080612a6b7f74620000000000000000000000000000506f736974696f6e0000000000000000857e08020004040000000000000000000000000000000000000000000000000000613256565b6040805180820190915260008082526020808301918252850151602486015160e090811d909252901d815292955090935091505b979650505050505050565b818314611ff5577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051612ae091906166c5565b60405180910390a1611ff58383613326565b6000612afd85613420565b9050612b1284612b0d878461345d565b6134c3565b612b1d858284612c56565b612b2885824261352b565b611f398582856120d7565b60006001600160a01b03821681612b4985613420565b9050612b568582846135c9565b612b61858583613667565b612b6b8582613711565b612b77858260016137a4565b612b8485826103e861221c565b611f3985824261352b565b60606000612ba58360000151846020015161386b565b90506000612bbb8460000151856020015161388f565b60408051600280825260608201835292935060009290916020830190803683370190505090508681600081518110612bf557612bf56161cf565b6020026020010181815250508581600181518110612c1557612c156161cf565b6020908102919091010152612c4d7f74620000000000000000000000000000466163746f7279000000000000000000828686866138cb565b50505050505050565b612c608383613941565b612c6b8383836139a4565b611ff5838260000151836020015185613a4e565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612cb857612cb86161cf565b60209081029190910101526000612d107f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612ef8565b60601c949350505050565b6000612d25613b1a565b9050306001600160a01b03821603612d4957612d448686868686613b54565b61159e565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090612d969089908990899089908990600401616748565b600060405180830381600087803b158015612db057600080fd5b505af1158015612dc4573d6000803e3d6000fd5b50505050505050505050565b604080516000808252602082019092526000612e157f746200000000000000000000000000004c6173744d61746368496e64657800008383630100400160da1b612ef8565b60e01c9392505050565b604080516000808252602082019092526000612e7d7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008360027e7d060001202014141400000000000000000000000000000000000000000000612ef8565b9392505050565b60004281838211612e96576000611f39565b611f3984836165c0565b60008060015b6000829003612ef1576000612eba82613b69565b90506000819003612ecb5750612ef1565b84612ed582613b74565b10612ede578092505b81612ee88161678f565b92505050612ea6565b5092915050565b600080612f03613b1a565b9050306001600160a01b03821603612f2957612f2186868686613c05565b915050611f39565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990612f749089908990899089906004016167b2565b602060405180830381865afa158015612f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f219190616148565b6000612fbf613b1a565b9050306001600160a01b03821603612fdb57611ff58383613c32565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061302290869086906004016167e1565b600060405180830381600087803b15801561303c57600080fd5b505af1158015612c4d573d6000803e3d6000fd5b6131497f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316636900a3ae6024846040516130959190616261565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1682526130de9160040190815260200190565b600060405180830381865afa1580156130fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613123919081019061686e565b826040516020016131359291906168b7565b604051602081830303815290604052613c45565b50565b80821461106a577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516131d89060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405161320f9190616938565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516132469190616983565b60405180910390a161106a613cb6565b6060600060606000613266613b1a565b9050306001600160a01b0382160361328f57613283878787613df6565b9350935093505061331d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906132d8908a908a908a906004016169c0565b600060405180830381865afa1580156132f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132839190810190616a09565b93509350939050565b80821461106a577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516133b29060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e7460408201527f5d00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168816040516133e99190616938565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168826040516132469190616983565b60008061342c83613efe565b6134379060016162ec565b90506134438382613f82565b63ffffffff8116915061345783838161402a565b50919050565b60408051600280825260608083018452926020830190803683370190505090508281600081518110613491576134916161cf565b60200260200101818152505081816001815181106134b1576134b16161cf565b60200260200101818152505092915050565b60006134ce836140cb565b905060005b81518110156108065760008282815181106134f0576134f06161cf565b6020026020010151905060006135068683614154565b905061352182868360200151846000015185604001516138cb565b50506001016134d3565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613560576135606161cf565b6020026020010181815250508281600181518110613580576135806161cf565b6020026020010181815250506108067f746200000000000000000000000000004c617374416374696f6e00000000000060001b8260008560405160200161217591815260200190565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106135fe576135fe6161cf565b602002602001018181525050828160018151811061361e5761361e6161cf565b6020026020010181815250506108067f746200000000000000000000000000004372656174656442794164647265737360001b8260008560405160200161217591815260200190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061369c5761369c6161cf565b602002602001018181525050826001600160a01b031660001b816001815181106136c8576136c86161cf565b6020026020010181815250506108067f746200000000000000000000000000004d61746368506c61796572000000000060001b8260008560405160200161217591815260200190565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613747576137476161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368506c61796572730000000060001b8260008560405160200161379091815260200190565b604051602081830303815290604052614231565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106137d9576137d96161cf565b60200260200101818152505082816001815181106137f9576137f96161cf565b6020026020010181815250506108067f74620000000000000000000000000000506c617965720000000000000000000060001b826000856040516020016122c1919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6000612e7d83516020028351600402606081901b603883901b838301171792915050565b606061389a836142e2565b6138a3836142f2565b6040516020016138b4929190616a76565b604051602081830303815290604052905092915050565b60006138d5613b1a565b9050306001600160a01b038216036138f457612d448686868686614302565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90612d969089908990899089908990600401616aa5565b600061394d83836129a4565b9050600061396e836139688685600001518660200151614318565b906143f2565b8051909150156139915761398c8483600001518460200151846144c0565b610806565b6108068483600001518460200151614583565b60006139b88260000151836020015161463b565b60408051600280825260608083018452939450600093928492919060208301908036833701905050905086816000815181106139f6576139f66161cf565b6020026020010181815250508581600181518110613a1657613a166161cf565b6020908102919091010152612c4d7f74620000000000000000000000000000506f736974696f6e0000000000000000828686866138cb565b60408051600380825260808201909252600091602082016060803683370190505090508481600081518110613a8557613a856161cf565b6020026020010181815250508360030b60001b81600181518110613aab57613aab6161cf565b6020026020010181815250508260030b60001b81600281518110613ad157613ad16161cf565b60200260200101818152505061263f7f74620000000000000000000000000000456e7469746965734174506f7369746960001b8260008560405160200161379091815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061197e573391505090565b61263f8585613b63848761465b565b85614694565b6000611eba8261492f565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613bad57613bad6161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d61746368536b79000000000000000083837e40020020200000000000000000000000000000000000000000000000000000612ef8565b6000612953613c1486866149b1565b60ff858116601b0360080285901c16613c2d858761465b565b614a07565b61106a8282613c4085614a58565b614add565b61314981604051602401613c599190616439565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614ddc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15613dc85760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052613d679291602001616219565b60408051601f1981840301815290829052613d8191616261565b6000604051808303816000865af19150503d8060008114613dbe576040519150601f19603f3d011682016040523d82523d6000602084013e613dc3565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060600060606000613e0785614dfd565b9050613e14878783614e20565b93506000613e2186614e59565b90508015613ef357613e338888614e96565b935066ffffffffffffff841667ffffffffffffffff811115613e5757613e576161b9565b6040519080825280601f01601f191660200182016040528015613e81576020820181803683370190505b5092506020830160005b828160ff161015613ef0576000613ea38b8b84614ea9565b90506000613ec0888460ff166028026038011c64ffffffffff1690565b9050613ecf8260008387614f29565b613ed981856165d3565b935050508080613ee890616af6565b915050613e8b565b50505b505093509350939050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613f3757613f376161cf565b60209081029190910101526000613f777f746200000000000000000000000000004d61746368456e74697479436f756e748383630100400160da1b612ef8565b60e01c949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613fb857613fb86161cf565b602002602001018181525050611ff57f746200000000000000000000000000004d61746368456e74697479436f756e7460001b826000856040516020016122c1919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b600061403582614ff5565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110614073576140736161cf565b6020026020010181815250508581600181518110614093576140936161cf565b6020908102919091010152612c4d7f6f7400000000000000000000000000004d617463680000000000000000000000828686866138cb565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110614105576141056161cf565b6020908102919091010152600061413d7f7462000000000000000000000000000054656d706c6174655461626c657300008383615020565b9050611f3961414f82600084516150df565b61516d565b60408051606080820183526000808352602083018290528284018290528351600280825292810190945291929081602001602082028036833701905050905083816000815181106141a7576141a76161cf565b60200260200101818152505082816001815181106141c7576141c76161cf565b6020908102919091010152600080806142207f7462000000000000000000000000000054656d706c617465436f6e74656e7400857e20010220000000000000000000000000000000000000000000000000000000613256565b925092509250612a9f83838361517e565b600061423b613b1a565b9050306001600160a01b0382160361425e57614259858585856151c1565b61263f565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906142a9908890889088908890600401616b15565b600060405180830381600087803b1580156142c357600080fd5b505af11580156142d7573d6000803e3d6000fd5b505050505050505050565b606081612e7d81602060006151fc565b606081612e7d81600460e06151fc565b61263f85858585856143138b614a58565b61525c565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110614352576143526161cf565b6020026020010181815250508360030b60001b81600181518110614378576143786161cf565b6020026020010181815250508260030b60001b8160028151811061439e5761439e6161cf565b602090810291909101015260006143d67f74620000000000000000000000000000456e7469746965734174506f736974698383615020565b90506143e861414f82600084516150df565b9695505050505050565b60606000835167ffffffffffffffff811115614410576144106161b9565b604051908082528060200260200182016040528015614439578160200160208202803683370190505b5090506000805b85518110156144b6578486828151811061445c5761445c6161cf565b6020026020010151146144ae5785818151811061447b5761447b6161cf565b6020026020010151838381518110614495576144956161cf565b6020908102919091010152816144aa81616309565b9250505b600101614440565b5081529392505050565b604080516003808252608082019092526000916020820160608036833701905050905084816000815181106144f7576144f76161cf565b6020026020010181815250508360030b60001b8160018151811061451d5761451d6161cf565b6020026020010181815250508260030b60001b81600281518110614543576145436161cf565b602090810291909101015261263f7f74620000000000000000000000000000456e7469746965734174506f7369746982600061457e866142e2565b615595565b604080516003808252608082019092526000916020820160608036833701905050905083816000815181106145ba576145ba6161cf565b6020026020010181815250508260030b60001b816001815181106145e0576145e06161cf565b6020026020010181815250508160030b60001b81600281518110614606576146066161cf565b60209081029190910101526108067f74620000000000000000000000000000456e7469746965734174506f7369746982612fb5565b60405160e083811b602083015282901b60248201526060906028016138b4565b600080805b8360ff1681101561468c5761468260ff601b83900360080287901c16836165d3565b9150600101614660565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361471e57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161471193929190616b49565b60405180910390a2610806565b600061472a85856149b1565b9050600061473786615608565b905060005b815181101561480c576000828281518110614759576147596161cf565b602002602001015190506147856004826affffffffffffffffffffff191661569190919063ffffffff16565b15614803576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906147d0908b908b908b908b90600401616b7c565b600060405180830381600087803b1580156147ea57600080fd5b505af11580156147fe573d6000803e3d6000fd5b505050505b5060010161473c565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161484193929190616b49565b60405180910390a261485c828565ffffffffffff16856156af565b60005b8151811015612c4d57600082828151811061487c5761487c6161cf565b602002602001015190506148a86008826affffffffffffffffffffff191661569190919063ffffffff16565b15614926576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906148f3908b908b908b908b90600401616b7c565b600060405180830381600087803b15801561490d57600080fd5b505af1158015614921573d6000803e3d6000fd5b505050505b5060010161485f565b604080516001808252818301909252600091829190602080830190803683370190505090508263ffffffff1660001b81600081518110614971576149716161cf565b60209081029190910101526000611f397f746200000000000000000000000000004d61746368496e646578546f456e74698383630100080160dd1b612ef8565b600082826040516020016149c6929190616bb5565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210614a2d57602082048401935060208281614a2957614a29616bf1565b0691505b508254600882021b60208290038084111561468c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201614aa757507e60030220202000000000000000000000000000000000000000000000000000919050565b611eba614ad47f746273746f72650000000000000000005461626c657300000000000000000000846156c5565b60206000614a07565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff0000000000000000000000000000000000000000000000000000000000001603614b6357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0783604051614b569190616c07565b60405180910390a2505050565b6000614b6e84615608565b905060005b8151811015614c41576000828281518110614b9057614b906161cf565b60200260200101519050614bbc6040826affffffffffffffffffffff191661569190919063ffffffff16565b15614c38576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590614c05908990899089906004016169c0565b600060405180830381600087803b158015614c1f57600080fd5b505af1158015614c33573d6000803e3d6000fd5b505050505b50600101614b73565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d0784604051614c729190616c07565b60405180910390a26000614c8685856149b1565b9050614cdf816000614c9786614dfd565b67ffffffffffffffff811115614caf57614caf6161b9565b6040519080825280601f01601f191660200182016040528015614cd9576020820181803683370190505b506156af565b6000614cea84614e59565b1115614d0b576000614cfc86866156e1565b9050614d09816020615737565b505b60005b825181101561159e576000838281518110614d2b57614d2b6161cf565b60200260200101519050614d576080826affffffffffffffffffffff191661569190919063ffffffff16565b15614dd3576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614da0908a908a908a906004016169c0565b600060405180830381600087803b158015614dba57600080fd5b505af1158015614dce573d6000803e3d6000fd5b505050505b50600101614d0e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006008614e0d600260206165c0565b614e179190616c1a565b9190911c919050565b606081600003614e3f5750604080516020810190915260008152612e7d565b6000614e4b85856149b1565b905061295381600085615774565b60006008600180614e6c600260206165c0565b614e7691906165c0565b614e8091906165c0565b614e8a9190616c1a565b8260ff911c1692915050565b6000612e7d614ea584846156e1565b5490565b60008383604051602001614ebe929190616bb5565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215614fb05760208310614f5357602083048401935060208381614f4f57614f4f616bf1565b0692505b8215614fb0576020839003600081841015614f765750600019600884021c614f80565b50600019600882021c5b8554600886021b818451168219821617845250818411614fa1575050610806565b50600194909401939182900391015b5b60208210614fd25783548152600190930192601f1990910190602001614fb1565b8115610806576000600019600884021c8251865482191691161782525050505050565b60608160405160200161500a91815260200190565b6040516020818303038152906040529050919050565b6060600061502c613b1a565b9050306001600160a01b0382160361505157615049858585615797565b915050612e7d565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061509a90889088908890600401616c31565b600060405180830381865afa1580156150b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526150499190810190616c5d565b6000818311806150ef5750835182115b1561512c578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016124ba93929190616c92565b6020840161513a84826165d3565b9050600061514885856165c0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000612e7d83602060006157d1565b60408051606080820183526000825260208201819052918101919091526151a484615840565b81526151b0838361584d565b604083015260208201529392505050565b60006151cd8585614e96565b905060006151ea828560ff166028026038011c64ffffffffff1690565b905061159e868686846000888861589c565b8251606090600061520d8583616c1a565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015615250578051871b8352918701916001919091019060200161522f565b50505050509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036152e857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516152db9493929190616cb7565b60405180910390a261159e565b60006152f387615608565b905060005b81518110156153cc576000828281518110615315576153156161cf565b602002602001015190506153416001826affffffffffffffffffffff191661569190919063ffffffff16565b156153c3576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90615390908c908c908c908c908c908c90600401616cf6565b600060405180830381600087803b1580156153aa57600080fd5b505af11580156153be573d6000803e3d6000fd5b505050505b506001016152f8565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516154039493929190616cb7565b60405180910390a2600061541788886149b1565b9050600060208701905061542f826000895184615cd6565b600061543a85614e59565b11156154be57600061544c8a8a6156e1565b878155905060208601915060008060005b61546688614e59565b8160ff1610156154b95761547b8d8d83614ea9565b92506154968a8260ff166028026038011c64ffffffffff1690565b91506154a58360008488615cd6565b6154af82866165d3565b945060010161545d565b505050505b60005b8351811015612dc45760008482815181106154de576154de6161cf565b6020026020010151905061550a6002826affffffffffffffffffffff191661569190919063ffffffff16565b1561558c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90615559908e908e908e908e908e908e90600401616cf6565b600060405180830381600087803b15801561557357600080fd5b505af1158015615587573d6000803e3d6000fd5b505050505b506001016154c1565b600061559f613b1a565b9050306001600160a01b038216036155bd5761425985858585615d95565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906142a9908890889088908890600401616b15565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110615642576156426161cf565b6020908102919091010152600061567a7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383615797565b9050611f3961568c82600084516150df565b615dd0565b60008160ff16826156a28560581c90565b1660ff1614905092915050565b611ff5838383516156c08560200190565b615cd6565b60408051602081018490529081018290526000906060016149c6565b600082826040516020016156f6929190616bb5565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6000602061574683601f6165d3565b6157509190616d4f565b61575a90846165d3565b90505b80831015611ff5576000835560018301925061575d565b60405160208101601f19603f848401011660405282825261468c85858584614f29565b6060611f396157a7858585614ea9565b60006157cc856157b78989614e96565b9060ff166028026038011c64ffffffffff1690565b615774565b606060006157df8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161580557615805616bf1565b04905060405193506020840160208202810160405281855260005b82811015615250578451871c825293870193602090910190600101615820565b6020810151600090611eba565b6060806000603885901c64ffffffffff1661587161586c8684846150df565b615de1565b935090508064ffffffffff606087901c160161589161586c8684846150df565b925050509250929050565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461595c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161591a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526124ba939291600401616d71565b6000615977828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361599091906165c0565b61599a91906165d3565b90508082141580156159bc5750816159b28688616db2565b64ffffffffff1614155b15615a0c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016124ba565b818664ffffffffff161115615a5d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016124ba565b6000615a6a848984615e61565b90506000615a778b615608565b905060005b8151811015615b42576000828281518110615a9957615a996161cf565b60200260200101519050615ac56010826affffffffffffffffffffff191661569190919063ffffffff16565b15615b3957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401615b069796959493929190616dd0565b600060405180830381600087803b158015615b2057600080fd5b505af1158015615b34573d6000803e3d6000fd5b505050505b50600101615a7c565b5064ffffffffff881660005b8a60ff168160ff161015615b8157615b75878260ff166028026038011c64ffffffffff1690565b90910190600101615b4e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051615bbc96959493929190616e2e565b60405180910390a250828414615bdd576000615bd88c8c6156e1565b839055505b6000615bea8c8c8c614ea9565b9050615bfe818a64ffffffffff16896156af565b5060005b8151811015615cc8576000828281518110615c1f57615c1f6161cf565b60200260200101519050615c4b6020826affffffffffffffffffffff191661569190919063ffffffff16565b15615cbf57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401615c8c9796959493929190616dd0565b600060405180830381600087803b158015615ca657600080fd5b505af1158015615cba573d6000803e3d6000fd5b505050505b50600101615c02565b505050505050505050505050565b8215615d505760208310615d0057602083048401935060208381615cfc57615cfc616bf1565b0692505b8215615d505760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411615d41575050610806565b50600194909401939182900391015b5b60208210615d725780518455600190930192601f1990910190602001615d51565b8115610806576000600019600884021c8554835182191691161785555050505050565b6000615da18585614e96565b90506000615dbe828560ff166028026038011c64ffffffffff1690565b905061159e868686600085888861589c565b60606000612e7d83601560006157d1565b60606000615def8360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff811115615e1d57615e1d6161b9565b6040519080825280601f01601f191660200182016040528015615e47576020820181803683370190505b50925060208301615e59838284615f2f565b505050919050565b600064ffffffffff821115615ea5576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016124ba565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510615ed75780850382019150615edf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5b60208110615f4f578251825260209283019290910190601f1901615f30565b80600003615f5c57505050565b6000600019600883021c905080835116811985511617835250505050565b6020808252825182820181905260009190848201906040850190845b81811015615fbb5783516001600160a01b031683529284019291840191600101615f96565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101561608557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156160705783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061602e565b50978a01979550505091870191600101615ff1565b50919998505050505050505050565b60005b838110156160af578181015183820152602001616097565b50506000910152565b600081518084526160d0816020860160208601616094565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561613b57603f198886030184526161298583516160b8565b9450928501929085019060010161610d565b5092979650505050505050565b60006020828403121561615a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600382810b9082900b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000008112637fffffff82131715611eba57611eba616161565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600181811c908216806161f957607f821691505b60208210810361345757634e487b7160e01b600052602260045260246000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251616253816004850160208701616094565b919091016004019392505050565b60008251616273818460208701616094565b9190910192915050565b60006020828403121561628f57600080fd5b81518015158114612e7d57600080fd5b6000602082840312156162b157600080fd5b81516001600160a01b0381168114612e7d57600080fd5b805160208083015191908110156134575760001960209190910360031b1b16919050565b63ffffffff818116838216019080821115612ef157612ef1616161565b6000600019820361631c5761631c616161565b5060010190565b60008154616330816161e5565b60018281168015616348576001811461637b576163aa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506163aa565b8560005260208060002060005b858110156163a15781548a820152908401908201616388565b50505082870194505b5050505092915050565b7f676173207265706f727420220000000000000000000000000000000000000000815260006163e6600c830184616323565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b602081526000612e7d60208301846160b8565b7f676173207265706f72742022000000000000000000000000000000000000000081526000825161648481600c850160208701616094565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115611ff5576000816000526020600020601f850160051c810160208610156164e15750805b601f850160051c820191505b8181101561159e578281556001016164ed565b815167ffffffffffffffff81111561651a5761651a6161b9565b61652e8161652884546161e5565b846164b8565b602080601f831160018114616563576000841561654b5750858301515b600019600386901b1c1916600185901b17855561159e565b600085815260208120601f198616915b8281101561659257888601518255948401946001909101908401616573565b50858210156165b05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115611eba57611eba616161565b80820180821115611eba57611eba616161565b6000612e7d8284616323565b8181036165fd575050565b61660782546161e5565b67ffffffffffffffff81111561661f5761661f6161b9565b61662d8161652884546161e5565b6000601f82116001811461666157600083156166495750848201545b600019600385901b1c1916600184901b17845561263f565b600085815260209020601f19841690600086815260209020845b8381101561669b578286015482556001958601959091019060200161667b565b50858310156165b05793015460001960f8600387901b161c19169092555050600190811b01905550565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201526000612e7d60808301846160b8565b60008151808452602080850194506020840160005b8381101561673d57815187529582019590820190600101616721565b509495945050505050565b85815260a06020820152600061676160a083018761670c565b60ff86166040840152828103606084015261677c81866160b8565b9150508260808301529695505050505050565b600063ffffffff8083168181036167a8576167a8616161565b6001019392505050565b8481526080602082015260006167cb608083018661670c565b60ff949094166040830152506060015292915050565b828152604060208201526000611f39604083018461670c565b600067ffffffffffffffff80841115616815576168156161b9565b604051601f8501601f19908116603f0116810190828211818310171561683d5761683d6161b9565b8160405280935085815286868601111561685657600080fd5b616864866020830187616094565b5050509392505050565b60006020828403121561688057600080fd5b815167ffffffffffffffff81111561689757600080fd5b8201601f810184136168a857600080fd5b611f39848251602084016167fa565b7f474153205245504f52543a2000000000000000000000000000000000000000008152600083516168ef81600c850160208801616094565b7f2000000000000000000000000000000000000000000000000000000000000000600c91840191820152835161692c81600d840160208801616094565b01600d01949350505050565b60408152600061697560408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061697560408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b8381526060602082015260006169d9606083018561670c565b9050826040830152949350505050565b600082601f8301126169fa57600080fd5b612e7d838351602085016167fa565b600080600060608486031215616a1e57600080fd5b835167ffffffffffffffff80821115616a3657600080fd5b616a42878388016169e9565b9450602086015193506040860151915080821115616a5f57600080fd5b50616a6c868287016169e9565b9150509250925092565b60008351616a88818460208801616094565b835190830190616a9c818360208801616094565b01949350505050565b85815260a060208201526000616abe60a083018761670c565b8281036040840152616ad081876160b8565b90508460608401528281036080840152616aea81856160b8565b98975050505050505050565b600060ff821660ff8103616b0c57616b0c616161565b60010192915050565b848152608060208201526000616b2e608083018661670c565b60ff851660408401528281036060840152612a9f81856160b8565b606081526000616b5c606083018661670c565b65ffffffffffff8516602084015282810360408401526143e881856160b8565b848152608060208201526000616b95608083018661670c565b65ffffffffffff851660408401528281036060840152612a9f81856160b8565b8281526000602080830184516020860160005b82811015616be457815184529284019290840190600101616bc8565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b602081526000612e7d602083018461670c565b8082028115828204841417611eba57611eba616161565b838152606060208201526000616c4a606083018561670c565b905060ff83166040830152949350505050565b600060208284031215616c6f57600080fd5b815167ffffffffffffffff811115616c8657600080fd5b611f39848285016169e9565b606081526000616ca560608301866160b8565b60208301949094525060400152919050565b608081526000616cca608083018761670c565b8281036020840152616cdc81876160b8565b90508460408401528281036060840152612a9f81856160b8565b86815260c060208201526000616d0f60c083018861670c565b8281036040840152616d2181886160b8565b90508560608401528281036080840152616d3b81866160b8565b9150508260a0830152979650505050505050565b600082616d6c57634e487b7160e01b600052601260045260246000fd5b500490565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061295360608301846160b8565b64ffffffffff818116838216019080821115612ef157612ef1616161565b87815260e060208201526000616de960e083018961670c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152616e2081856160b8565b9a9950505050505050505050565b60c081526000616e4160c083018961670c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152616e7d81856160b8565b999850505050505050505056fea2646970667358221220028d9dbab1695c52e48cce56d2bcae9dd5b737c048b745f966a156b425dcd66664736f6c63430008180033","sourceMap":"593:3355:328:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2289:569:338;;;:::i;:::-;;2973:337:328;;;:::i;2372:266::-;;;:::i;2046:322::-;;;:::i;2161:134:155:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2666:303:328;;;:::i;1354:688::-;;;:::i;2930:133:155:-;;;:::i;2631:141::-;;;:::i;3576:370:328:-;;;:::i;2447:178:155:-;;;:::i;:::-;;;;;;;:::i;789:561:328:-;;;:::i;2301:140:155:-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;1866:141::-;;;:::i;1819:584:148:-;;;:::i;:::-;;;4024:14:341;;4017:22;3999:41;;3987:2;3972:18;1819:584:148;3859:187:341;210:27:144;;;;;-1:-1:-1;;;;;210:27:144;;;;;;-1:-1:-1;;;;;4215:55:341;;;4197:74;;4185:2;4170:18;210:27:144;4051:226:341;2013:142:155;;;:::i;3314:258:328:-;;;:::i;1572:26:148:-;;;;;;;;;2289:569:338;2328:13;:11;:13::i;:::-;2362:12;;2347:5;:28;;-1:-1:-1;;2347:28:338;-1:-1:-1;;;;;2362:12:338;;;2347:28;;;;;;2382:25;2414:12;:10;:12::i;:::-;2432:24;2454:1;2432:21;:24::i;:::-;2502:5;;:40;;;;;;;;4450:25:341;;;2502:5:338;4491:18:341;;;4484:50;-1:-1:-1;;;;;2502:5:338;;;;:25;;4423:18:341;;2502:40:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2611:5:338;;2593:33;;-1:-1:-1;;;;;;2611:5:338;;-1:-1:-1;2618:7:338;2593:17;:33::i;:::-;2581:9;:45;2632:78;2639:25;2654:9;;2639:14;:25::i;:::-;2668:1;2639:30;2632:78;;2679:5;;2693:9;;2679:24;;;;;-1:-1:-1;;;;;2679:5:338;;;;:13;;:24;;;;4691:25:341;;;4679:2;4664:18;;4545:177;2679:24:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2632:78;;;2715:52;2740:9;;2751:15;2715:24;:52::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;2773:12:338;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2802:9;:7;:9::i;:::-;2794:5;:17;;-1:-1:-1;;2794:17:338;-1:-1:-1;;;;;2794:17:338;;;;;;;;;;2823:9;:7;:9::i;:::-;2817:3;:15;;-1:-1:-1;;2817:15:338;-1:-1:-1;;;;;2817:15:338;;;;;;;;;;2844:9;:7;:9::i;:::-;2838:3;:15;;-1:-1:-1;;2838:15:338;-1:-1:-1;;;;;2838:15:338;;;;;;;;;;-1:-1:-1;2289:569:338:o;2973:337:328:-;3025:14;:12;:14::i;:::-;3046:12;:10;:12::i;:::-;3064:56;3076:9;;3087:7;;3096:23;3064:11;:56::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;3126:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3161:5:328;;3147:20;;-1:-1:-1;;;3147:20:328;;-1:-1:-1;;;;;3161:5:328;;;3147:20;;;4197:74:341;3147:13:328;;-1:-1:-1;3147:13:328;;-1:-1:-1;4170:18:341;;3147:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3173:46:328;;-1:-1:-1;;;3173:46:328;;5167:2:341;3173:46:328;;;5149:21:341;5206:2;5186:18;;;5179:30;5245:29;5225:18;;;5218:57;3173:15:328;;-1:-1:-1;3173:15:328;;-1:-1:-1;5292:18:341;;3173:46:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3225:5:328;;3237:9;;3248:7;;3257:11;;3225:60;;-1:-1:-1;;;3225:60:328;;;;;5613:25:341;;;;5654:18;;;5647:34;;;;5697:18;;;5690:34;3270:14:328;5750:13:341;5810:1;5799:24;;;5779:18;;;5772:52;5669:2;5875:18;;;;5861:33;;5840:19;;;5833:62;-1:-1:-1;;;;;3225:5:328;;;;-1:-1:-1;3225:11:328;;-1:-1:-1;5585:19:341;;3225:60:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:149;309:37;;-1:-1:-1;;;;;3291:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:337::o;2372:266::-;2424:14;:12;:14::i;:::-;2459:5;;2445:20;;-1:-1:-1;;;2445:20:328;;-1:-1:-1;;;;;2459:5:328;;;2445:20;;;4197:74:341;2445:13:328;;;;4170:18:341;;2445:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2471:59:328;;-1:-1:-1;;;2471:59:328;;6296:2:341;2471:59:328;;;6278:21:341;6335:2;6315:18;;;6308:30;6374:34;6354:18;;;6347:62;6445:10;6425:18;;;6418:38;2471:15:328;;-1:-1:-1;2471:15:328;;-1:-1:-1;6473:19:341;;2471:59:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2536:5:328;;2548:9;;2559:7;;2536:77;;-1:-1:-1;;;2536:77:328;;;;;5613:25:341;;;;5654:18;;;5647:34;2568:28:328;5697:18:341;;;5690:34;2598:14:328;5750:13:341;5810:1;5799:24;;;5779:18;;;5772:52;5669:2;5875:18;;;;5861:33;;5840:19;;;5833:62;-1:-1:-1;;;;;2536:5:328;;;;-1:-1:-1;2536:11:328;;-1:-1:-1;5585:19:341;;2536:77:328;5321:580:341;2046:322:328;2086:14;:12;:14::i;:::-;2107:12;:10;:12::i;:::-;2125:40;2146:9;;2157:7;;2125:20;:40::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;2171:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2206:5:328;;2192:20;;-1:-1:-1;;;2192:20:328;;-1:-1:-1;;;;;2206:5:328;;;2192:20;;;4197:74:341;2192:13:328;;-1:-1:-1;2192:13:328;;-1:-1:-1;4170:18:341;;2192:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2218:59:328;;-1:-1:-1;;;2218:59:328;;6296:2:341;2218:59:328;;;6278:21:341;6335:2;6315:18;;;6308:30;6374:34;6354:18;;;6347:62;6445:10;6425:18;;;6418:38;2218:15:328;;-1:-1:-1;2218:15:328;;-1:-1:-1;6473:19:341;;2218:59:328;6095:403:341;2161:134:155;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:155;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;2666:303:328:-;2722:14;:12;:14::i;:::-;2743:12;:10;:12::i;:::-;2761:30;2770:9;;2781:6;;2789:1;2761:8;:30::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;2797:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2832:5:328;;2818:20;;-1:-1:-1;;;2818:20:328;;-1:-1:-1;;;;;2832:5:328;;;2818:20;;;4197:74:341;2818:13:328;;-1:-1:-1;2818:13:328;;-1:-1:-1;4170:18:341;;2818:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2844:34:328;;-1:-1:-1;;;2844:34:328;;6704:2:341;2844:34:328;;;6686:21:341;6743:2;6723:18;;;6716:30;6782:17;6762:18;;;6755:45;2844:15:328;;-1:-1:-1;2844:15:328;;-1:-1:-1;6817:18:341;;2844:34:328;6503:338:341;1354:688:328;1392:14;:12;:14::i;:::-;1427:5;;1413:20;;-1:-1:-1;;;1413:20:328;;-1:-1:-1;;;;;1427:5:328;;;1413:20;;;4197:74:341;1413:13:328;;;;4170:18:341;;1413:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:21;1463:27;1472:9;;1483:6;;1463:8;:27::i;:::-;1439:51;;1497:28;;;;;;;;;;;;;;;;;;:14;:28::i;:::-;1546:5;;1558:9;;1569:7;;1578:11;;1546:60;;-1:-1:-1;;;1546:60:328;;;;;5613:25:341;;;;5654:18;;;5647:34;;;;5697:18;;;5690:34;1591:14:328;5750:13:341;5810:1;5799:24;;;5779:18;;;5772:52;5669:2;5875:18;;;;5861:33;;5840:19;;;5833:62;1531:12:328;;-1:-1:-1;;;;;1546:5:328;;:11;;5585:19:341;;1546:60:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1531:75;;1612:14;:12;:14::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;1632:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1653:74;1662:28;1674:9;;1685:4;1662:11;:28::i;:::-;1692:6;;1653:74;;;;;;;;;;;;;;;;;:8;:74::i;:::-;1733:90;1742:29;1755:9;;1766:4;1742:12;:29::i;:::-;:31;1775:14;:16;1733:90;;;;;;;;;;;;;;;;;;;;;;1775:16;;;;;1733:8;:90::i;:::-;1829;1838:29;1851:9;;1862:4;1838:12;:29::i;:::-;:31;;;1829:90;;1871:14;:16;;;;;;;;;;;;1829:90;;;;;;;;;;;;;;;;;;;:8;:90::i;:::-;1952:85;1961:27;1970:9;;1981:6;;1961:8;:27::i;:::-;1952:85;;1990:21;2008:3;1990:15;:21;:::i;:::-;1952:85;;;;;;;;;;;;;;;;;;;:8;:85::i;:::-;1386:656;;1354:688::o;2930:133:155:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:155;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:155;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;3576:370:328:-;3633:14;:12;:14::i;:::-;3654:12;:10;:12::i;:::-;3688:9;;3720:6;;3728:30;;;;;;;;;3746:2;3728:30;;3753:2;3728:30;;;;3672:87;;3688:9;608:10:268;;3672:15:328;:87::i;:::-;;317:28:149;309:37;;-1:-1:-1;;;;;3765:12:328;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3800:5:328;;3786:20;;-1:-1:-1;;;3786:20:328;;-1:-1:-1;;;;;3800:5:328;;;3786:20;;;4197:74:341;3786:13:328;;-1:-1:-1;3786:13:328;;-1:-1:-1;4170:18:341;;3786:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3812:43:328;;-1:-1:-1;;;3812:43:328;;7490:2:341;3812:43:328;;;7472:21:341;7529:2;7509:18;;;7502:30;7568:26;7548:18;;;7541:54;3812:15:328;;-1:-1:-1;3812:15:328;;-1:-1:-1;7612:18:341;;3812:43:328;7289:347:341;2447:178:155;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;789:561:328:-;826:12;:10;:12::i;:::-;872:9;;883:5;;853:36;;872:9;-1:-1:-1;;;;;883:5:328;853:18;:36::i;:::-;844:6;:45;928:16;;;942:1;928:16;;;;;;;;;896:29;;928:16;;;;;;;;;;;-1:-1:-1;928:16:328;896:48;;968:11;;950:12;963:1;950:15;;;;;;;;:::i;:::-;;;;;;;;;;:29;1013:14;;;1025:1;1013:14;;;;;;;;;986:24;;1013:14;;;;;;;;;;;;-1:-1:-1;1013:14:328;986:41;;1048:3;1033:9;1043:1;1033:12;;;;;;;;:::i;:::-;;;;;;:18;;;;;;;;;;;1058:98;1070:9;;1081:7;;1090:65;;;;;;;;1118:12;1090:65;;;;1143:9;1090:65;;;1058:11;:98::i;:::-;1162:39;1174:9;;1185:7;;1194:6;;1162:11;:39::i;:::-;1219:9;;1230:7;;1239:30;;;;;;;;;1257:2;1239:30;;;;;;;1207:63;;1219:9;1230:7;1207:11;:63::i;:::-;1294:30;;;;;;;;1312:2;1294:30;;1319:2;1294:30;;;;;1277:14;:47;;;;;;;;1331:14;;;;;;;:12;;;;1277:47;1331:14;;;;-1:-1:-1;;1331:14:328;;;;;;;-1:-1:-1;1331:12:328;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;820:530;;789:561::o;2301:140:155:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:148;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:148;;;;;;;;1819:584::o;1869:528::-;1941:17;2990:42;2978:55;3059:16;1980:374;;2196:43;;;1671:64;2196:43;;;8635:74:341;;;2221:17:148;8725:18:341;;;8718:34;2196:43:148;;;;;;;;;8608:18:341;;;2196:43:148;;;-1:-1:-1;;1671:64:148;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:148;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:148:o;2013:142:155:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:155;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;3314:258:328:-;3368:14;:12;:14::i;:::-;3403:5;;3389:20;;-1:-1:-1;;;3389:20:328;;-1:-1:-1;;;;;3403:5:328;;;3389:20;;;4197:74:341;3389:13:328;;;;4170:18:341;;3389:20:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3415:50:328;;-1:-1:-1;;;3415:50:328;;9973:2:341;3415:50:328;;;9955:21:341;10012:2;9992:18;;;9985:30;10051:33;10031:18;;;10024:61;3415:15:328;;-1:-1:-1;3415:15:328;;-1:-1:-1;10102:18:341;;3415:50:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3471:5:328;;3483:9;;3494:7;;3503:11;;3516:30;;;;;;;;3534:2;3516:30;;;;;;;3471:76;;-1:-1:-1;;;3471:76:328;;-1:-1:-1;;;;;3471:5:328;;;;-1:-1:-1;3471:11:328;;-1:-1:-1;3471:76:328;;;;10426:25:341;;;10482:2;10467:18;;;10460:34;;;;10525:2;10510:18;;10503:34;;;;10587:13;;10584:1;10573:28;;;10568:2;10553:18;;10546:56;10659:15;;10653:22;10639:37;;10633:3;10618:19;;10611:66;10413:3;10398:19;;10131:552;242:135:144;295:30;;;;;10890:2:341;295:30:144;;;10872:21:341;10929:2;10909:18;;;10902:30;10968:15;10948:18;;;10941:43;295:13:144;;;;11001:18:341;;295:30:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;280:12;:45;;-1:-1:-1;;;;;280:45:144;;;;-1:-1:-1;;280:45:144;;;;;;;;1066:42:37;2374:38;;;;;;;;242:135:144:o;3287:94:338:-;625:63:139;;;642:18;625:63;;;11531:92:341;309:37:149;11639:11:341;;;11632:100;;;11748:12;;;11741:101;3324:13:338;;;;3338:37;;11858:12:341;625:63:139;;;;;;;;;;;;617:72;;;:::i;:::-;3338:18:338;:37::i;:::-;3324:52;;;;;;;;;;-1:-1:-1;;;;;4215:55:341;;;3324:52:338;;;4197:74:341;4170:18;;3324:52:338;;;;;;;;;;;;;;;;;;;4512:193:240;4587:16;;;4558:26;4587:16;;;;;;;4661:24;;;12372:19:341;;;4610:90:240;1222:66;4587:16;4658:1;12407:12:341;;;4661:24:240;;;-1:-1:-1;;4661:24:240;;;;;;;;;1351:66;4610:26;:90::i;1600:513:338:-;1667:19;1755:20;:18;:20::i;:::-;:24;;1778:1;1755:24;:::i;:::-;1747:33;;;-1:-1:-1;1739:42:338;1813:47;1834:25;:23;:25::i;:::-;1813:20;:47::i;:::-;1785:75;;1864:26;1893:46;1921:17;1893:27;:46::i;:::-;1864:75;-1:-1:-1;1969:1:338;1947:23;;;1943:72;;-1:-1:-1;1999:11:338;1943:72;2019:68;;;;;12893:3:341;2019:68:338;;;12875:22:341;12934:1;12913:19;;;12906:30;12973:7;12952:19;;;12945:36;13033:20;;;13026:36;;;13078:18;;;13071:34;;;13121:18;;;13114:34;;;-1:-1:-1;;;;;2019:17:338;;;;;12998:19:341;;2019:68:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:18;;1600:513;;;;;:::o;3212:267:218:-;3310:16;;;3324:1;3310:16;;;;;;;;;3260:13;;;;3310:16;;;;;;;;;;;;-1:-1:-1;3310:16:218;3281:45;;3347:2;3332:9;3342:1;3332:12;;;;;;;;:::i;:::-;;;;;;;;;;:17;3356:13;3372:64;1067:66;3409:9;3356:13;-1:-1:-1;;;3372:26:218;:64::i;:::-;3356:80;3212:267;-1:-1:-1;;;;3212:267:218:o;5067:261:208:-;5173:16;;;5187:1;5173:16;;;;;;;;;5144:26;;5173:16;;;;;;;;;;;-1:-1:-1;5173:16:208;5144:45;;5210:11;5195:9;5205:1;5195:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5228:95;1234:66;1218:83;;5265:9;5276:1;5297:9;5279:29;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;5279:29:208;;;;-1:-1:-1;;5279:29:208;;;;;;;;;1363:66;5228:26;:95::i;:::-;5138:190;5067:261;;:::o;2862:211:338:-;3004:9;:11;;2899:15;;;;3004:11;2899:15;3004:11;;;:::i;:::-;;;;;2987:29;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;2987:29:338;;;;;;;-1:-1:-1;;2987:29:338;;;;;;;2977:40;;2987:29;2977:40;;;;3027:24;;;-1:-1:-1;;;;;8653:55:341;;3027:24:338;;;8635:74:341;3041:9:338;8725:18:341;;;8718:34;2977:40:338;-1:-1:-1;3027:7:338;;;;8608:18:341;;3027:24:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3064:4:338;;2862:211;-1:-1:-1;;;;2862:211:338:o;4736:287:230:-;4845:16;;;4859:1;4845:16;;;;;;;;4816:26;;4845:16;;;;;;;;;;-1:-1:-1;4845:16:230;4816:45;;4882:11;4867:9;4877:1;4867:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4914:6;4899:9;4909:1;4899:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4927:91;1061:66;1045:83;;4964:9;4975:1;4996:5;4978:25;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;4978:25:230;;;;-1:-1:-1;;4978:25:230;;;;;;;;;-1:-1:-1;;;4927:26:230;:91::i;18782:235:191:-;18885:16;;;18899:1;18885:16;;;;;;;;18856:26;;18885:16;;;;;;;;;;-1:-1:-1;18885:16:191;18856:45;;18922:11;18907:9;18917:1;18907:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;18954:6;18939:9;18949:1;18939:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;18967:45;1132:66;19002:9;18967:24;:45::i;4812:289:192:-;4921:16;;;4935:1;4921:16;;;;;;;;4892:26;;4921:16;;;;;;;;;;-1:-1:-1;4921:16:192;4892:45;;4958:11;4943:9;4953:1;4943:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4990:6;4975:9;4985:1;4975:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;5003:93;1055:66;1039:83;;5040:9;5051:1;5072:7;5054:27;;;;;;;14025:3:341;14021:16;;;;14009:29;;14063:1;14054:11;;13884:187;5054:27:192;;;;-1:-1:-1;;5054:27:192;;;;;;;;;-1:-1:-1;;;5003:26:192;:93::i;3388:333::-;3511:16;;;3525:1;3511:16;;;;;;;;3461:13;;;;3511:16;3525:1;3511:16;;;;;;;;;;-1:-1:-1;3511:16:192;3482:45;;3548:11;3533:9;3543:1;3533:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3580:6;3565:9;3575:1;3565:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3593:13;3609:64;1055:66;3646:9;3593:13;-1:-1:-1;;;3609:26:192;:64::i;:::-;3693:21;;;3388:333;-1:-1:-1;;;;;3388:333:192:o;330:580:12:-;394:39;;;;;;;;;14282:21:341;;;;14339:2;14319:18;;;14312:30;14378:22;14358:18;;;14351:50;309:37:149;14453:20:341;;;14446:52;394:8:12;;;;14418:19:341;;394:39:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;389:53;;330:580;:::o;389:53::-;468:22;462:36;;;;;:::i;:::-;;;502:1;462:41;558:22;511:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;447:220;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;681:12;694:4;681:18;;;;;;:::i;:::-;;;;;;;;;;;;;;703:1;681:23;736:4;706:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;673:101;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;780:22:12;:29;805:4;780:22;:29;:::i;:::-;;317:28:149;309:37;;-1:-1:-1;;;;;815:19:12;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:9;842:23;:35;883:22;;;;;;;;:20;;;;:22;;;;;309:37:149;;883:22:12;;;;;;;309:37:149;883:20:12;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;330:580;:::o;914:534::-;953:11;967:9;987:39;;;;;;;;;14282:21:341;;;;14339:2;14319:18;;;14312:30;14378:22;14358:18;;;14351:50;309:37:149;14453:20:341;;;14446:52;953:23:12;;-1:-1:-1;987:8:12;;;;14418:19:341;;987:39:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;982:53;;1028:7;914:534::o;982:53::-;1151:15;1201:3;1195;1169:23;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;:39;;1207:1;1169:39;:::i;:::-;1151:57;;1232:1;1222:7;:11;1214:49;;;;;;;20021:2:341;1214:49:12;;;20003:21:341;20060:2;20040:18;;;20033:30;20099:27;20079:18;;;20072:55;20144:18;;1214:49:12;19819:349:341;1214:49:12;1308:7;1269:12;1282:22;1269:36;;;;;;:::i;:::-;;;;;;;;;;;;;;:46;1321:16;:45;;;;;;;-1:-1:-1;1321:45:12;;;;;;;1343:22;1321:45;;:::i;:::-;;1372:38;1387:22;1372:38;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:38::i;:::-;1416:27;;;;;;;;;-1:-1:-1;1416:27:12;;:22;;:27;;:22;:27;:::i;3356:319:230:-;3479:16;;;3493:1;3479:16;;;;;;;;3429:13;;;;3479:16;3493:1;3479:16;;;;;;;;;;-1:-1:-1;3479:16:230;3450:45;;3516:11;3501:9;3511:1;3501:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3548:6;3533:9;3543:1;3533:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3561:13;3577:64;1061:66;3614:9;3561:13;-1:-1:-1;;;3577:26:230;:64::i;:::-;3561:80;3356:319;-1:-1:-1;;;;;3356:319:230:o;4370:185:148:-;4457:1;4452;:6;4448:101;;4479:31;4506:3;4479:31;;;;;;:::i;:::-;;;;;;;;4524:14;4533:1;4536;4524:8;:14::i;5420:454:233:-;-1:-1:-1;;;;;;;;;;;;;;;;;;5556:16:233;;5570:1;5556:16;;;;;;;;;-1:-1:-1;;;;5556:16:233;;;;;;;;;;;;;-1:-1:-1;5556:16:233;5527:45;;5593:11;5578:9;5588:1;5578:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5625:6;5610:9;5620:1;5610:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5639:24;;;5726:80;1110:66;5771:9;1239:66;5726:21;:80::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;5868:27:14;;5862:34;5868:27;;;5862:34;8561:33:233;8957:48;;;;;;;;;;5638:168;;-1:-1:-1;5638:168:233;;-1:-1:-1;5638:168:233;-1:-1:-1;5819:50:233;5812:57;5420:454;-1:-1:-1;;;;;;;5420:454:233:o;5021:176:148:-;5100:1;5095;:6;5091:100;;5122:30;5148:3;5122:30;;;;;;:::i;:::-;;;;;;;;5166:14;5175:1;5178;5166:8;:14::i;447:437:303:-;580:14;609:30;627:11;609:17;:30::i;:::-;600:39;;644:71;664:11;677:37;694:11;707:6;677:16;:37::i;:::-;644:19;:71::i;:::-;720:42;732:11;745:6;753:8;720:11;:42::i;:::-;766:52;781:11;794:6;802:15;766:14;:52::i;:::-;822:41;834:11;847:6;855:7;822:11;:41::i;407:569:298:-;488:7;-1:-1:-1;;;;;693:21:304;;488:7:298;582:30;600:11;582:17;:30::i;:::-;559:53;;617:62;638:11;651:12;665:13;617:20;:62::i;:::-;683:57;699:11;712:13;727:12;683:15;:57::i;:::-;744:44;762:11;775:12;744:17;:44::i;:::-;793:40;804:11;817:12;831:1;793:10;:40::i;:::-;837:50;846:11;859:12;400:4;837:8;:50::i;:::-;891:58;906:11;919:12;933:15;891:14;:58::i;16537:502:191:-;16629:24;16659:30;16692:52;16706:6;:19;;;16727:6;:16;;;16692:13;:52::i;:::-;16659:85;;16750:25;16778:52;16792:6;:19;;;16813:6;:16;;;16778:13;:52::i;:::-;16866:16;;;16880:1;16866:16;;;;;;;;16750:80;;-1:-1:-1;16837:26:191;;16866:16;;;;;;;;;;;;-1:-1:-1;16866:16:191;16837:45;;16903:11;16888:9;16898:1;16888:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;16935:6;16920:9;16930:1;16920:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;16948:86;1132:66;16980:9;16991:11;17004:15;17021:12;16948:21;:86::i;:::-;16623:416;;;;16537:502;;;:::o;826:257:300:-;918:43;941:11;954:6;918:22;:43::i;:::-;965;978:11;991:6;999:8;965:12;:43::i;:::-;1012:68;1036:11;1049:8;:10;;;1061:8;:10;;;1073:6;1012:23;:68::i;3403:307:133:-;3513:16;;;3527:1;3513:16;;;;;;;;;3463:13;;;;3513:16;;;;;;;;;;;;-1:-1:-1;3513:16:133;3484:45;;3568:11;3535:9;3545:1;3535:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3587:13;3603:64;1169:66;3640:9;3587:13;1298:66;3603:26;:64::i;:::-;3681:23;;;3403:307;-1:-1:-1;;;;3403:307:133:o;10761:455:37:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:37;-1:-1:-1;;;;;10984:30:37;;;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:36:37;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;3156:236:197:-;3248:16;;;3194:17;3248:16;;;;;;;;;3271:13;3287:64;1075:66;3219:45;3271:13;-1:-1:-1;;;3287:26:197;:64::i;:::-;3365:21;;;3156:236;-1:-1:-1;;;3156:236:197:o;4977:241:240:-;5072:16;;;5021:14;5072:16;;;;;;;;;5095:13;5111:64;1222:66;5043:45;5159:1;1351:66;5111:26;:64::i;:::-;5095:80;4977:241;-1:-1:-1;;;4977:241:240:o;3847:210:301:-;3907:7;3943:15;3907:7;3983:21;;;:49;;4031:1;3983:49;;;4007:21;4022:6;4007:12;:21;:::i;1005:395:338:-;1075:7;;1130:1;1136:240;1157:1;1143:15;;;1136:240;;1166:19;1188:20;1197:10;1188:8;:20::i;:::-;1166:42;-1:-1:-1;1233:1:338;1218:16;;;1214:42;;1244:5;;;1214:42;1304:9;1266:34;1288:11;1266:21;:34::i;:::-;:47;1262:92;;1336:11;1323:24;;1262:92;1359:12;;;;:::i;:::-;;;;1160:216;1136:240;;;-1:-1:-1;1387:10:338;1005:395;-1:-1:-1;;1005:395:338:o;17775:457:37:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:37;-1:-1:-1;;;;;17998:30:37;;;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:36:37;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13847:301::-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:37;-1:-1:-1;;;;;13982:30:37;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;;;;-1:-1:-1;;;;;14084:34:37;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1754:155:12;1818:86;317:28:149;309:37;;-1:-1:-1;;;;;1860:11:12;;1872:12;1885:4;1872:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;1860:31;;;;;;;;;;;;4691:25:341;;;4679:2;4664:18;;4545:177;1860:31:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1860:31:12;;;;;;;;;;;;:::i;:::-;1898:4;1830:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1818:11;:86::i;:::-;1754:155;:::o;4088:277:148:-;4156:1;4151;:6;4147:212;;4178:44;;;;;26963:2:341;26945:21;;;27002:2;26982:18;;;26975:30;27041:34;27036:2;27021:18;;27014:62;27112:7;27107:2;27092:18;;27085:35;27152:3;27137:19;;26761:401;4178:44:148;;;;;;;;4241:34;4273:1;4241:34;;;;;;:::i;:::-;;;;;;;;4294;4326:1;4294:34;;;;;;:::i;:::-;;;;;;;;4342:6;:4;:6::i;15347:431:37:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:37;-1:-1:-1;;;;;15578:30:37;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:37;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:37;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;4759:257:148:-;4819:1;4814;:6;4810:200;;4841:40;;;;;29774:2:341;29756:21;;;29813:2;29793:18;;;29786:30;29852:34;29847:2;29832:18;;29825:62;29923:3;29918:2;29903:18;;29896:31;29959:3;29944:19;;29572:397;4841:40:148;;;;;;;;4900:30;4928:1;4900:30;;;;;;:::i;:::-;;;;;;;;4949;4977:1;4949:30;;;;;;:::i;159:327:287:-;216:14;236:18;257:35;280:11;257:22;:35::i;:::-;:39;;295:1;257:39;:::i;:::-;236:60;;300:48;323:11;336;300:22;:48::i;:::-;369:20;;;;-1:-1:-1;440:43:287;450:11;369:20;450:11;440:9;:43::i;:::-;232:254;159:327;;;:::o;831:191:304:-;950:16;;;964:1;950:16;;;908:25;950:16;;;;;908:25;950:16;;;;;;;;;;-1:-1:-1;950:16:304;939:27;;984:11;970:8;979:1;970:11;;;;;;;;:::i;:::-;;;;;;:25;;;;;1013:6;999:8;1008:1;999:11;;;;;;;;:::i;:::-;;;;;;:20;;;;;831:191;;;;:::o;415:519:309:-;495:25;523:30;542:10;523:18;:30::i;:::-;495:58;;563:9;558:374;578:8;:15;574:1;:19;558:374;;;606:21;646:8;655:1;646:11;;;;;;;;:::i;:::-;;;;;;;606:52;;665:42;710:43;730:10;742;710:19;:43::i;:::-;665:88;;759:168;788:10;806:8;822:15;:26;;;856:15;:30;;;894:15;:27;;;759:21;:168::i;:::-;-1:-1:-1;;595:3:309;;558:374;;4778:287:196;4887:16;;;4901:1;4887:16;;;;;;;;4858:26;;4887:16;;;;;;;;;;-1:-1:-1;4887:16:196;4858:45;;4924:11;4909:9;4919:1;4909:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4956:6;4941:9;4951:1;4941:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4969:91;1067:66;1051:83;;5006:9;5017:1;5038:5;5020:25;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;4832:299:189;4947:16;;;4961:1;4947:16;;;;;;;;4918:26;;4947:16;;;;;;;;;;-1:-1:-1;4947:16:189;4918:45;;4984:11;4969:9;4979:1;4969:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5016:12;5001:9;5011:1;5001:12;;;;;;;;:::i;:::-;;;;;;:27;;;;;5035:91;1079:66;1063:83;;5072:9;5083:1;5104:5;5086:25;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;5137:342:215;5260:16;;;5274:1;5260:16;;;;;;;;5231:26;;5260:16;;;;;;;;;;-1:-1:-1;5260:16:215;5231:45;;5297:11;5282:9;5292:1;5282:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5353:13;-1:-1:-1;;;;;5337:31:215;5329:40;;5314:9;5324:1;5314:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5376:98;1069:66;1053:83;;5413:9;5424:1;5445:12;5427:32;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;8867:223:216;8955:16;;;8969:1;8955:16;;;;;;;;;8926:26;;8955:16;;;;;;;;;;;-1:-1:-1;8955:16:216;8926:45;;8992:2;8977:9;8987:1;8977:12;;;;;;;;:::i;:::-;;;;;;:17;;;;;9001:84;1071:66;1055:83;;9042:9;9053:1;9074:8;9056:28;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;9056:28:216;;;;;;;;;;;;;9001:30;:84::i;4755:286:231:-;4863:16;;;4877:1;4863:16;;;;;;;;4834:26;;4863:16;;;;;;;;;;-1:-1:-1;4863:16:231;4834:45;;4900:11;4885:9;4895:1;4885:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4932:6;4917:9;4927:1;4917:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4945:91;1059:66;1043:83;;4982:9;4993:1;5014:5;4996:25;;;;;;;30823:3:341;30819:16;;;;30837:66;30815:89;30803:102;;30930:1;30921:11;;30676:262;19517:357:191;19632:30;19793:70;19816:12;:19;19838:2;19816:24;19842:9;:16;19861:1;19842:20;2776:23:15;2761:39;;;975:16;2694:39;;;2662:5;;;2675:59;2742;2518:351;;;;;20039:220:191;20142:12;20186:34;20206:12;20186:18;:34::i;:::-;20222:31;20242:9;20222:18;:31::i;:::-;20169:85;;;;;;;;;:::i;:::-;;;;;;;;;;;;;20162:92;;20039:220;;;;:::o;6458:480:37:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:37;-1:-1:-1;;;;;6696:30:37;;;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:31:37;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;265:559:300:-;338:36;377:33;390:11;403:6;377:12;:33::i;:::-;338:72;;414:43;460:100;553:6;460:80;488:11;501:16;:18;;;521:16;:18;;;460:27;:80::i;:::-;:92;;:100::i;:::-;568:33;;414:146;;-1:-1:-1;568:37:300;564:258;;613:103;636:11;649:16;:18;;;669:16;:18;;;689:26;613:22;:103::i;:::-;564:258;;;733:84;765:11;778:16;:18;;;798:16;:18;;;733:31;:84::i;7412:429:233:-;7505:24;7532:32;7545:6;:8;;;7555:6;:8;;;7532:12;:32::i;:::-;7668:16;;;7682:1;7668:16;;;7607:25;7668:16;;;;;7505:59;;-1:-1:-1;7571:30:233;;7607:25;7571:30;;7668:16;7682:1;7668:16;;;;;;;;;;-1:-1:-1;7668:16:233;7639:45;;7705:11;7690:9;7700:1;7690:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7737:6;7722:9;7732:1;7722:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;7750:86;1110:66;7782:9;7793:11;7806:15;7823:12;7750:21;:86::i;11448:355:190:-;11563:16;;;11577:1;11563:16;;;;;;;;;11534:26;;11563:16;;;;;;;;;;-1:-1:-1;11563:16:190;11534:45;;11600:11;11585:9;11595:1;11585:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;11655:1;11648:9;;11632:27;;11617:9;11627:1;11617:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;11703:1;11696:9;;11680:27;;11665:9;11675:1;11665:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;11714:84;1081:66;1065:83;;11755:9;11766:1;11787:8;11769:28;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;1836:227:37;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:37;;1953:106;;2001:10;1994:17;;;1836:227;:::o;23107:355:36:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;1382:108:304:-;1433:7;1453:34;1476:10;1453:22;:34::i;2705:298:221:-;2825:16;;;2839:1;2825:16;;;;;;;;;2771:17;;;;2825:16;;;;;;;;;;;;-1:-1:-1;2825:16:221;2796:45;;2862:11;2847:9;2857:1;2847:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;2880:13;2896:64;1127:66;2933:9;2880:13;1256:66;2896:26;:64::i;36171:541:36:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:16;:27;579:1:43;4322:44:16;4288:79;;;4275:93;36635:63:36;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;5630:121:162:-;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:162;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;2410:424:148:-;2990:42;2978:55;3059:16;2445:359;;2645:67;;;1671:64;2645:67;;;32441:74:341;;;2670:17:148;32531:18:341;;;32524:34;;;;2705:4:148;32574:18:341;;;32567:34;2482:11:148;;1671:64;2579:43;;32414:18:341;;2645:67:148;;;-1:-1:-1;;2645:67:148;;;;;;;;;;2534:196;;;2645:67;2534:196;;:::i;:::-;;;;-1:-1:-1;;2534:196:148;;;;;;;;;;2499:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:148;2813:7;:14;;;;;;;;2410:424::o;32759:1315:36:-;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:36;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:15;;;33532:33:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:36;-1:-1:-1;33518:47:36;-1:-1:-1;894:4:31;884:15;;33573:21:36;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:36;33808:25;:14;33831:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:36;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;3328:290:209:-;3442:16;;;3456:1;3442:16;;;;;;;;;3385:20;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:209;3413:45;;3479:11;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;3497:13;3513:64;1081:66;3550:9;3497:13;-1:-1:-1;;;3513:26:209;:64::i;:::-;3591:21;;;3328:290;-1:-1:-1;;;;3328:290:209:o;4642:259::-;4742:16;;;4756:1;4742:16;;;;;;;;;4713:26;;4742:16;;;;;;;;;;;-1:-1:-1;4742:16:209;4713:45;;4779:11;4764:9;4774:1;4764:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4797:99;1081:66;1065:83;;4834:9;4845:1;4866:13;4848:33;;;;;;;30823:3:341;30819:16;;;;30837:66;30815:89;30803:102;;30930:1;30921:11;;30676:262;3398:421:205;3487:24;3514:25;3527:11;3514:12;:25::i;:::-;3643:16;;;3657:1;3643:16;;;3582:25;3643:16;;;;;3487:52;;-1:-1:-1;3546:30:205;;3582:25;3546:30;;3643:16;3657:1;3643:16;;;;;;;;;;-1:-1:-1;3643:16:205;3614:45;;3680:14;3665:9;3675:1;3665:12;;;;;;;;:::i;:::-;;;;;;:29;;;;;3715:6;3700:9;3710:1;3700:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3728:86;1066:66;3760:9;3771:11;3784:15;3801:12;3728:21;:86::i;3310:311:245:-;3417:16;;;3431:1;3417:16;;;;;;;;;3358:22;;3388:26;;3417:16;;;;;;;;;;;;-1:-1:-1;3417:16:245;3388:45;;3454:2;3439:9;3449:1;3439:12;;;;;;;;:::i;:::-;;;;;;;;;;:17;3463:18;3484:51;1075:66;3522:9;3463:18;3484:27;:51::i;:::-;3463:72;;3549:66;:44;3570:5;3577:1;3580:5;:12;3549:20;:44::i;:::-;:64;:66::i;16675:483:244:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;16821:16:244;;16835:1;16821:16;;;;;;;;;-1:-1:-1;;16821:16:244;;;;;;;;;;;;;-1:-1:-1;16821:16:244;16792:45;;16858:10;16843:9;16853:1;16843:12;;;;;;;;:::i;:::-;;;;;;:25;;;;;16907:7;16874:9;16884:1;16874:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;16923:24;;;17010:80;1347:66;17055:9;1476:66;17010:21;:80::i;:::-;16922:168;;;;;;17103:50;17110:11;17123:15;17140:12;17103:6;:50::i;12345:451:37:-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:37;-1:-1:-1;;;;;12556:30:37;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:37;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:297;12345:451;;;;:::o;44950:222:48:-;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;16979:221::-;17041:12;17131:6;17155:40;17131:6;17188:1;17191:3;17155:17;:40::i;12066:286:36:-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;3673:446:190:-;3810:16;;;3824:1;3810:16;;;;;;;;;3748:25;;3781:26;;3810:16;;;;3748:25;;3810:16;;;;;-1:-1:-1;3810:16:190;3781:45;;3847:11;3832:9;3842:1;3832:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3902:1;3895:9;;3879:27;;3864:9;3874:1;3864:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;3950:1;3943:9;;3927:27;;3912:9;3922:1;3912:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3961:18;3982:51;1081:66;4020:9;3961:18;3982:27;:51::i;:::-;3961:72;;4047:66;:44;4068:5;4075:1;4078:5;:12;4047:20;:44::i;:66::-;4039:75;3673:446;-1:-1:-1;;;;;;3673:446:190:o;834:531:99:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:99;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:99;;;834:531;-1:-1:-1;;;834:531:99:o;5475:362:190:-;5598:16;;;5612:1;5598:16;;;;;;;;;5569:26;;5598:16;;;;;;;;;;-1:-1:-1;5598:16:190;5569:45;;5635:11;5620:9;5630:1;5620:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5690:1;5683:9;;5667:27;;5652:9;5662:1;5652:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;5738:1;5731:9;;5715:27;;5700:9;5710:1;5700:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;5749:83;1081:66;5787:9;1065:83;5801:30;5821:8;5801:18;:30::i;:::-;5749:27;:83::i;16000:306::-;16105:16;;;16119:1;16105:16;;;;;;;;;16076:26;;16105:16;;;;;;;;;;-1:-1:-1;16105:16:190;16076:45;;16142:11;16127:9;16137:1;16127:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;16197:1;16190:9;;16174:27;;16159:9;16169:1;16159:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;16245:1;16238:9;;16222:27;;16207:9;16217:1;16207:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;16256:45;1081:66;16291:9;16256:24;:45::i;9775:117:233:-;9865:22;;33566:3:341;33562:16;;;9865:22:233;;;33550:29:341;33608:16;;;33595:11;;;33588:37;9838:12:233;;33641:11:341;;9865:22:233;33401:257:341;51823:242:36;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:16;4323:19;:27;;;579:1:43;4322:44:16;4288:79;;;4275:93;52003:32:36;;:::i;:::-;;-1:-1:-1;51990:3:36;;51958:84;;;-1:-1:-1;52054:6:36;51823:242;-1:-1:-1;;;51823:242:36:o;17013:1682::-;17213:23;17192:7;:44;;;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:45;17798:4:36;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:17;;;;;17851:54:36;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:36;;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:45;18455:4:36;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:17;;;;;18507:53:36;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:36;;18365:326;;3329:297:212;3440:16;;;3454:1;3440:16;;;;;;;;;3384:19;;;;3440:16;;;;;;;;;;;;-1:-1:-1;3440:16:212;3411:45;;3493:10;3485:19;;3477:28;;3462:9;3472:1;3462:12;;;;;;;;:::i;:::-;;;;;;;;;;:43;3512:13;3528:64;1081:66;3565:9;3512:13;-1:-1:-1;;;3528:26:212;:64::i;50806:191:36:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:36;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:36:o;8945:812:35:-;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:35;;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;4015:652:36:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:42;;4015:652:36;-1:-1:-1;4015:652:36:o;4314:111::-;4469:185;4515:85;1213:66:42;4591:7:36;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;26296:1804::-;26484:23;26463:7;:44;;;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:45;26918:4:36;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:17;;;;;26966:50:36;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:36;;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:36;;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:45;27953:4:36;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:17;;;;;28000:49:36;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:36;;27863:233;;181:376:162;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4598:171:16:-;4672:7;579:1:43;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:16;;;;;4598:171;-1:-1:-1;4598:171:16:o;48823:360:36:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:36;;;;;;;;;-1:-1:-1;48986:9:36;;;;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:16:-;5451:7;579:1:43;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:16;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:16:o;53939:303:36:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:35;;4605:137;52742:274:36;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:35:-;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:43;804:25:44;;782:48;6806:135:35;;;-1:-1:-1;;;579:1:43;804:25:44;;782:48;6806:135:35;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:35;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:35;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;8389:20:35;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:35;;;;:::o;5675:127:205:-;5741:12;5785:11;5768:29;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;5768:29:205;;;;;;;;;;;;;5761:36;;5675:127;;;:::o;18598:431:37:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:37;-1:-1:-1;;;;;18805:30:37;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:37;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:37;;;;;;;;;;;;:::i;2003:574:34:-;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;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:34;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:34:o;45284:220:47:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;21513:330:244:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;21720:25:244;21733:11;21720:12;:25::i;:::-;21694:51;;21794:44;21808:15;21825:12;21794:13;:44::i;:::-;21772:18;;;21752:86;21753:17;;;21752:86;21753:6;21513:330;-1:-1:-1;;;21513:330:244:o;28764:791:36:-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:36;29171:49;29023:106;29202:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:36;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;830:1343:49:-;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:49;1474:15;;-1:-1:-1;;1358:16:49;1531:32;;;1358:16;1354:32;1503:4;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;;;1632:102;;;1222:947;;830:1343;;;;;:::o;13212:3165:36:-;13507:23;13486:7;:44;;;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:45;13976:4:36;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:17;;;;;14021:47:36;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:36;;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:36;894:4:31;884:15;;14520:54:36;;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:35;;;14915:102:36;-1:-1:-1;894:4:31;884:15;;15191:47:36;;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:36;:14;15615:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:36;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:36;;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:45;16125:4:36;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:17;;;;;16169:46:36;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:36;;16035:338;;11569:424:37;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:37;-1:-1:-1;;;;;11771:30:37;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;11767:222::-;11901:81;;;;;-1:-1:-1;;;;;11901:37:37;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;3658:342:41:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:41;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:17:-;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:35:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::31;884:15;;758:151;1098:24:35;1055:5;:68::i;51249:282:36:-;51494:30;;;;;;39011:19:341;;;39046:12;;;39039:28;;;51337:7:36;;39083:12:341;;51494:30:36;38823:278:341;53371:230:36;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:36;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:36:o;4032:370:35:-;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;;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:49;5546:26:35;;;1358:16:49;1354:32;5518:4:35;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;37180:522:36:-;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:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:36;37440:12;:257::i;2681:1129:49:-;2801:22;2831:21;2855;:11;2997:3:34;2975:25;;2901:104;2855:21:49;2831:45;-1:-1:-1;692:17:34;3238:38;;2882:20:49;3044:11;3238:38:34;3044:11:49;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;;20462:171:244;5882:4:14;5868:27;;5862:34;20527:29:244;;20601:26;5738:168:14;20736:510:244;20846:23;;20903:14;975:16:15;7017:70;;;6995:94;;21024:51:244;:41;21045:5;20903:14;6995:94:15;21024:20:244;:41::i;:::-;:49;:51::i;:::-;21004:73;-1:-1:-1;21093:4:244;-1:-1:-1;21093:4:244;6995:94:15;7059:27;7017:70;;;6995:94;21121:34:244;21188:51;:41;21209:5;21216:6;21121:34;21188:20;:41::i;:51::-;21167:74;;20897:349;;20736:510;;;;;:::o;44254:4001:36:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12372:19:341;;12416:2;12407:12;;12243:182;44775:25:36;;;;-1:-1:-1;;44775:25:36;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:36;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:36;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;40457:12:341;40496:15;;;45340:92:36;;;40478:34:341;40548:15;;;40528:18;;;40521:43;40600:15;;40580:18;;;40573:43;40420:18;;45340:92:36;40251:371:341;45221:218:36;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;40800:25:341;;;40873:12;40861:25;;40841:18;;;40834:53;40773:18;;45581:74:36;40627:266:341;45522:140:36;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:45;46104:4:36;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:17;;;;-1:-1:-1;;;;;46158:55:36;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:36;;46014:486;;;-1:-1:-1;46558:32:36;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:36;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:35;;;-1:-1:-1;47216:248:36;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:45;47858:4:36;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:17;;;;-1:-1:-1;;;;;47911:54:36;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:36;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;1489:2340:35:-;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:43;804:25:44;;782:48;2208:18:35;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:35;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:35;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;3761:21:35;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:35;;;;:::o;24152:738:36:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:36;24551:49;24403:106;24582:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:36;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;40103:220:47:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;3545:418:34:-;3597:17;3622:19;3644:13;3652:4;2997:3;2975:25;;2901:104;3644:13;3622:35;-1:-1:-1;692:17:34;3238:38;;;3767:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3767:18:34;-1:-1:-1;3760:25:34;-1:-1:-1;3854:4:34;3844:15;;3914:44;3926:11;3844:15;3950:7;3914:11;:44::i;:::-;3616:347;;;3545:418;;;:::o;7468:1525:15:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4691:25:341;;;4664:18;;7664:67:15;4545:177:341;7618:120:15;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:15;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:15;;;;;:::o;1229:823:31:-;1346:324;1363:2;1353:6;:12;1346:324;;1453:18;;1435:37;;1604:2;1616:17;;;;1591:15;;;;-1:-1:-1;;1643:12:31;1346:324;;;1679:6;1689:1;1679:11;1675:24;;1229:823;;;:::o;1675:24::-;1738:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;1738:32:31;;2019:4;2007:9;2001:16;1997:27;1942:4;1938:9;1924:11;1918:18;1914:34;1867:167;1848:9;1832:210;1824:224;1229:823;;;:::o;14:681:341:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;-1:-1:-1;;;;;526:62:341;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:341;;14:681;-1:-1:-1;;;;;;14:681:341:o;700:1697::-;904:4;933:2;973;962:9;958:18;1003:2;992:9;985:21;1026:6;1061;1055:13;1092:6;1084;1077:22;1118:2;1108:12;;1151:2;1140:9;1136:18;1129:25;;1213:2;1203:6;1200:1;1196:14;1185:9;1181:30;1177:39;1251:2;1243:6;1239:15;1272:1;1293;1303:1065;1319:6;1314:3;1311:15;1303:1065;;;1388:22;;;-1:-1:-1;;1384:95:341;1372:108;;1503:13;;1590:9;;-1:-1:-1;;;;;1586:58:341;1571:74;;1684:11;;1678:18;1716:15;;;1709:27;;;1797:19;;1543:15;;;1829:24;;;1919:21;;;;1964:1;;1887:2;1875:15;;;1978:282;1994:8;1989:3;1986:17;1978:282;;;2075:15;;2092:66;2071:88;2057:103;;2229:17;;;;2022:1;2013:11;;;;;2186:14;;;;1978:282;;;-1:-1:-1;2346:12:341;;;;2283:5;-1:-1:-1;;;2311:15:341;;;;1345:1;1336:11;1303:1065;;;-1:-1:-1;2385:6:341;;700:1697;-1:-1:-1;;;;;;;;;700:1697:341:o;2402:250::-;2487:1;2497:113;2511:6;2508:1;2505:13;2497:113;;;2587:11;;;2581:18;2568:11;;;2561:39;2533:2;2526:10;2497:113;;;-1:-1:-1;;2644:1:341;2626:16;;2619:27;2402:250::o;2657:330::-;2699:3;2737:5;2731:12;2764:6;2759:3;2752:19;2780:76;2849:6;2842:4;2837:3;2833:14;2826:4;2819:5;2815:16;2780:76;:::i;:::-;2901:2;2889:15;-1:-1:-1;;2885:88:341;2876:98;;;;2976:4;2872:109;;2657:330;-1:-1:-1;;2657:330:341:o;2992:862::-;3154:4;3183:2;3223;3212:9;3208:18;3253:2;3242:9;3235:21;3276:6;3311;3305:13;3342:6;3334;3327:22;3380:2;3369:9;3365:18;3358:25;;3442:2;3432:6;3429:1;3425:14;3414:9;3410:30;3406:39;3392:53;;3480:2;3472:6;3468:15;3501:1;3511:314;3525:6;3522:1;3519:13;3511:314;;;-1:-1:-1;;3602:9:341;3594:6;3590:22;3586:95;3581:3;3574:108;3705:40;3738:6;3729;3723:13;3705:40;:::i;:::-;3695:50;-1:-1:-1;3803:12:341;;;;3768:15;;;;3547:1;3540:9;3511:314;;;-1:-1:-1;3842:6:341;;2992:862;-1:-1:-1;;;;;;;2992:862:341:o;5906:184::-;5976:6;6029:2;6017:9;6008:7;6004:23;6000:32;5997:52;;;6045:1;6042;6035:12;5997:52;-1:-1:-1;6068:16:341;;5906:184;-1:-1:-1;5906:184:341:o;6846:::-;-1:-1:-1;;;6895:1:341;6888:88;6995:4;6992:1;6985:15;7019:4;7016:1;7009:15;7035:249;7133:1;7122:16;;;7104;;;;7100:39;7164:66;7154:77;;7243:10;7233:21;;7151:104;7148:130;;;7258:18;;:::i;7641:184::-;-1:-1:-1;;;7690:1:341;7683:88;7790:4;7787:1;7780:15;7814:4;7811:1;7804:15;7830:184;-1:-1:-1;;;7879:1:341;7872:88;7979:4;7976:1;7969:15;8003:4;8000:1;7993:15;8019:437;8098:1;8094:12;;;;8141;;;8162:61;;8216:4;8208:6;8204:17;8194:27;;8162:61;8269:2;8261:6;8258:14;8238:18;8235:38;8232:218;;-1:-1:-1;;;8303:1:341;8296:88;8407:4;8404:1;8397:15;8435:4;8432:1;8425:15;8763:430;8960:66;8952:6;8948:79;8943:3;8936:92;8918:3;9057:6;9051:13;9073:74;9140:6;9136:1;9131:3;9127:11;9120:4;9112:6;9108:17;9073:74;:::i;:::-;9167:16;;;;9185:1;9163:24;;8763:430;-1:-1:-1;;;8763:430:341:o;9198:287::-;9327:3;9365:6;9359:13;9381:66;9440:6;9435:3;9428:4;9420:6;9416:17;9381:66;:::i;:::-;9463:16;;;;;9198:287;-1:-1:-1;;9198:287:341:o;9490:277::-;9557:6;9610:2;9598:9;9589:7;9585:23;9581:32;9578:52;;;9626:1;9623;9616:12;9578:52;9658:9;9652:16;9711:5;9704:13;9697:21;9690:5;9687:32;9677:60;;9733:1;9730;9723:12;11030:313;11100:6;11153:2;11141:9;11132:7;11128:23;11124:32;11121:52;;;11169:1;11166;11159:12;11121:52;11201:9;11195:16;-1:-1:-1;;;;;11244:5:341;11240:54;11233:5;11230:65;11220:93;;11309:1;11306;11299:12;11881:357;11999:12;;12046:4;12035:16;;;12029:23;;11999:12;12064:16;;12061:171;;;-1:-1:-1;;12138:4:341;12134:17;;;;12131:1;12127:25;12123:98;12112:110;;11881:357;-1:-1:-1;11881:357:341:o;12430:172::-;12497:10;12527;;;12539;;;12523:27;;12562:11;;;12559:37;;;12576:18;;:::i;13159:195::-;13198:3;-1:-1:-1;;13222:5:341;13219:77;13216:103;;13299:18;;:::i;:::-;-1:-1:-1;13346:1:341;13335:13;;13159:195::o;14635:781::-;14685:3;14726:5;14720:12;14755:36;14781:9;14755:36;:::i;:::-;14810:1;14827:17;;;14853:191;;;;15058:1;15053:357;;;;14820:590;;14853:191;14901:66;14890:9;14886:82;14881:3;14874:95;15024:6;15017:14;15010:22;15002:6;14998:35;14993:3;14989:45;14982:52;;14853:191;;15053:357;15084:5;15081:1;15074:16;15113:4;15158;15155:1;15145:18;15185:1;15199:165;15213:6;15210:1;15207:13;15199:165;;;15291:14;;15278:11;;;15271:35;15334:16;;;;15228:10;;15199:165;;;15203:3;;;15393:6;15388:3;15384:16;15377:23;;14820:590;;;;;14635:781;;;;:::o;15421:664::-;15771:66;15766:3;15759:79;15741:3;15857:47;15900:2;15895:3;15891:12;15883:6;15857:47;:::i;:::-;15924:66;15913:78;;16020:31;16015:2;16007:11;;16000:52;16076:2;16068:11;;15421:664;-1:-1:-1;;;15421:664:341:o;16090:220::-;16239:2;16228:9;16221:21;16202:4;16259:45;16300:2;16289:9;16285:18;16277:6;16259:45;:::i;16609:694::-;16952:66;16947:3;16940:79;16922:3;17048:6;17042:13;17064:75;17132:6;17127:2;17122:3;17118:12;17111:4;17103:6;17099:17;17064:75;:::i;:::-;17203:66;17198:2;17158:16;;;;17190:11;;;17183:87;-1:-1:-1;17294:2:341;17286:11;;16609:694;-1:-1:-1;16609:694:341:o;17308:543::-;17410:2;17405:3;17402:11;17399:446;;;17446:1;17470:5;17467:1;17460:16;17514:4;17511:1;17501:18;17584:2;17572:10;17568:19;17565:1;17561:27;17555:4;17551:38;17620:4;17608:10;17605:20;17602:47;;;-1:-1:-1;17643:4:341;17602:47;17698:2;17693:3;17689:12;17686:1;17682:20;17676:4;17672:31;17662:41;;17753:82;17771:2;17764:5;17761:13;17753:82;;;17816:17;;;17797:1;17786:13;17753:82;;18087:1464;18213:3;18207:10;18240:18;18232:6;18229:30;18226:56;;;18262:18;;:::i;:::-;18291:97;18381:6;18341:38;18373:4;18367:11;18341:38;:::i;:::-;18335:4;18291:97;:::i;:::-;18443:4;;18500:2;18489:14;;18517:1;18512:782;;;;19338:1;19355:6;19352:89;;;-1:-1:-1;19407:19:341;;;19401:26;19352:89;-1:-1:-1;;17984:1:341;17980:11;;;17976:84;17972:89;17962:100;18068:1;18064:11;;;17959:117;19454:81;;18482:1063;;18512:782;14582:1;14575:14;;;14619:4;14606:18;;-1:-1:-1;;18548:79:341;;;18725:236;18739:7;18736:1;18733:14;18725:236;;;18828:19;;;18822:26;18807:42;;18920:27;;;;18888:1;18876:14;;;;18755:19;;18725:236;;;18729:3;18989:6;18980:7;18977:19;18974:261;;;19050:19;;;19044:26;-1:-1:-1;;19133:1:341;19129:14;;;19145:3;19125:24;19121:97;19117:102;19102:118;19087:134;;18974:261;-1:-1:-1;;;;;19281:1:341;19265:14;;;19261:22;19248:36;;-1:-1:-1;18087:1464:341:o;19556:128::-;19623:9;;;19644:11;;;19641:37;;;19658:18;;:::i;19689:125::-;19754:9;;;19775:10;;;19772:36;;;19788:18;;:::i;20173:197::-;20301:3;20326:38;20360:3;20352:6;20326:38;:::i;20375:1554::-;20494:3;20488:4;20485:13;20482:26;;20501:5;;20375:1554::o;20482:26::-;20531:37;20563:3;20557:10;20531:37;:::i;:::-;20591:18;20583:6;20580:30;20577:56;;;20613:18;;:::i;:::-;20642:97;20732:6;20692:38;20724:4;20718:11;20692:38;:::i;20642:97::-;20765:1;20793:2;20785:6;20782:14;20810:1;20805:867;;;;21716:1;21733:6;21730:89;;;-1:-1:-1;21785:19:341;;;21779:26;21730:89;-1:-1:-1;;17984:1:341;17980:11;;;17976:84;17972:89;17962:100;18068:1;18064:11;;;17959:117;21832:81;;20775:1148;;20805:867;14582:1;14575:14;;;14619:4;14606:18;;-1:-1:-1;;20841:79:341;;;14582:1;14575:14;;;14619:4;14606:18;;21064:9;21086:251;21100:7;21097:1;21094:14;21086:251;;;21182:21;;;21176:28;21161:44;;21232:1;21305:18;;;;21260:15;;;;21123:4;21116:12;21086:251;;;21090:3;21365:6;21356:7;21353:19;21350:263;;;21426:21;;21420:28;-1:-1:-1;;21523:3:341;21511:1;21507:14;;;21503:24;21499:97;21495:102;21480:118;21465:134;;;-1:-1:-1;;21659:1:341;21643:14;;;21639:22;21626:36;;-1:-1:-1;20375:1554:341:o;21934:446::-;22184:2;22173:9;22166:21;22223:1;22218:2;22207:9;22203:18;22196:29;22261:7;22256:2;22245:9;22241:18;22234:35;22307:3;22300:4;22289:9;22285:20;22278:33;22147:4;22328:46;22369:3;22358:9;22354:19;22346:6;22328:46;:::i;22385:439::-;22438:3;22476:5;22470:12;22503:6;22498:3;22491:19;22529:4;22558;22553:3;22549:14;22542:21;;22597:4;22590:5;22586:16;22620:1;22630:169;22644:6;22641:1;22638:13;22630:169;;;22705:13;;22693:26;;22739:12;;;;22774:15;;;;22666:1;22659:9;22630:169;;;-1:-1:-1;22815:3:341;;22385:439;-1:-1:-1;;;;;22385:439:341:o;22829:708::-;23197:6;23186:9;23179:25;23240:3;23235:2;23224:9;23220:18;23213:31;23160:4;23267:57;23319:3;23308:9;23304:19;23296:6;23267:57;:::i;:::-;23372:4;23364:6;23360:17;23355:2;23344:9;23340:18;23333:45;23426:9;23418:6;23414:22;23409:2;23398:9;23394:18;23387:50;23454:33;23480:6;23472;23454:33;:::i;:::-;23446:41;;;23524:6;23518:3;23507:9;23503:19;23496:35;22829:708;;;;;;;;:::o;23542:201::-;23580:3;23608:10;23653:2;23646:5;23642:14;23680:2;23671:7;23668:15;23665:41;;23686:18;;:::i;:::-;23735:1;23722:15;;23542:201;-1:-1:-1;;;23542:201:341:o;23748:546::-;24070:6;24059:9;24052:25;24113:3;24108:2;24097:9;24093:18;24086:31;24033:4;24134:57;24186:3;24175:9;24171:19;24163:6;24134:57;:::i;:::-;24239:4;24227:17;;;;24222:2;24207:18;;24200:45;-1:-1:-1;24276:2:341;24261:18;24254:34;24126:65;23748:546;-1:-1:-1;;23748:546:341:o;24299:363::-;24537:6;24526:9;24519:25;24580:2;24575;24564:9;24560:18;24553:30;24500:4;24600:56;24652:2;24641:9;24637:18;24629:6;24600:56;:::i;24849:674::-;24925:5;24955:18;24996:2;24988:6;24985:14;24982:40;;;25002:18;;:::i;:::-;25136:2;25130:9;25202:2;25190:15;;-1:-1:-1;;25186:24:341;;;25212:2;25182:33;25178:42;25166:55;;;25236:18;;;25256:22;;;25233:46;25230:72;;;25282:18;;:::i;:::-;25322:10;25318:2;25311:22;25351:6;25342:15;;25381:6;25373;25366:22;25421:3;25412:6;25407:3;25403:16;25400:25;25397:45;;;25438:1;25435;25428:12;25397:45;25451:66;25510:6;25503:4;25495:6;25491:17;25486:3;25451:66;:::i;:::-;;;;24849:674;;;;;:::o;25528:459::-;25608:6;25661:2;25649:9;25640:7;25636:23;25632:32;25629:52;;;25677:1;25674;25667:12;25629:52;25710:9;25704:16;25743:18;25735:6;25732:30;25729:50;;;25775:1;25772;25765:12;25729:50;25798:22;;25851:4;25843:13;;25839:27;-1:-1:-1;25829:55:341;;25880:1;25877;25870:12;25829:55;25903:78;25973:7;25968:2;25962:9;25957:2;25953;25949:11;25903:78;:::i;25992:764::-;26382:14;26377:3;26370:27;26352:3;26426:6;26420:13;26442:75;26510:6;26505:2;26500:3;26496:12;26489:4;26481:6;26477:17;26442:75;:::i;:::-;26581:3;26576:2;26536:16;;;26568:11;;;26561:24;26610:13;;26632:76;26610:13;26694:2;26686:11;;26679:4;26667:17;;26632:76;:::i;:::-;26728:17;26747:2;26724:26;;25992:764;-1:-1:-1;;;;25992:764:341:o;27331:348::-;27561:2;27550:9;27543:21;27524:4;27581:49;27626:2;27615:9;27611:18;27244:2;27232:15;;27279:12;27272:4;27263:14;;27256:36;27317:2;27308:12;;27167:159;27581:49;27573:57;;27666:6;27661:2;27650:9;27646:18;27639:34;27331:348;;;;:::o;27848:::-;28078:2;28067:9;28060:21;28041:4;28098:49;28143:2;28132:9;28128:18;27761:2;27749:15;;27796:12;27789:4;27780:14;;27773:36;27834:2;27825:12;;27684:159;28201:466;28499:6;28488:9;28481:25;28542:2;28537;28526:9;28522:18;28515:30;28462:4;28562:56;28614:2;28603:9;28599:18;28591:6;28562:56;:::i;:::-;28554:64;;28654:6;28649:2;28638:9;28634:18;28627:34;28201:466;;;;;;:::o;28672:236::-;28725:5;28778:3;28771:4;28763:6;28759:17;28755:27;28745:55;;28796:1;28793;28786:12;28745:55;28818:84;28898:3;28889:6;28883:13;28876:4;28868:6;28864:17;28818:84;:::i;28913:654::-;29054:6;29062;29070;29123:2;29111:9;29102:7;29098:23;29094:32;29091:52;;;29139:1;29136;29129:12;29091:52;29172:9;29166:16;29201:18;29242:2;29234:6;29231:14;29228:34;;;29258:1;29255;29248:12;29228:34;29281:60;29333:7;29324:6;29313:9;29309:22;29281:60;:::i;:::-;29271:70;;29381:2;29370:9;29366:18;29360:25;29350:35;;29431:2;29420:9;29416:18;29410:25;29394:41;;29460:2;29450:8;29447:16;29444:36;;;29476:1;29473;29466:12;29444:36;;29499:62;29553:7;29542:8;29531:9;29527:24;29499:62;:::i;:::-;29489:72;;;28913:654;;;;;:::o;30943:492::-;31118:3;31156:6;31150:13;31172:66;31231:6;31226:3;31219:4;31211:6;31207:17;31172:66;:::i;:::-;31301:13;;31260:16;;;;31323:70;31301:13;31260:16;31370:4;31358:17;;31323:70;:::i;:::-;31409:20;;30943:492;-1:-1:-1;;;;30943:492:341:o;31440:794::-;31833:6;31822:9;31815:25;31876:3;31871:2;31860:9;31856:18;31849:31;31796:4;31903:57;31955:3;31944:9;31940:19;31932:6;31903:57;:::i;:::-;32008:9;32000:6;31996:22;31991:2;31980:9;31976:18;31969:50;32042:33;32068:6;32060;32042:33;:::i;:::-;32028:47;;32111:6;32106:2;32095:9;32091:18;32084:34;32167:9;32159:6;32155:22;32149:3;32138:9;32134:19;32127:51;32195:33;32221:6;32213;32195:33;:::i;:::-;32187:41;31440:794;-1:-1:-1;;;;;;;;31440:794:341:o;32612:175::-;32649:3;32693:4;32686:5;32682:16;32722:4;32713:7;32710:17;32707:43;;32730:18;;:::i;:::-;32779:1;32766:15;;32612:175;-1:-1:-1;;32612:175:341:o;32792:604::-;33100:6;33089:9;33082:25;33143:3;33138:2;33127:9;33123:18;33116:31;33063:4;33170:57;33222:3;33211:9;33207:19;33199:6;33170:57;:::i;:::-;33275:4;33267:6;33263:17;33258:2;33247:9;33243:18;33236:45;33329:9;33321:6;33317:22;33312:2;33301:9;33297:18;33290:50;33357:33;33383:6;33375;33357:33;:::i;33663:512::-;33914:2;33903:9;33896:21;33877:4;33940:56;33992:2;33981:9;33977:18;33969:6;33940:56;:::i;:::-;34044:14;34036:6;34032:27;34027:2;34016:9;34012:18;34005:55;34108:9;34100:6;34096:22;34091:2;34080:9;34076:18;34069:50;34136:33;34162:6;34154;34136:33;:::i;34180:616::-;34490:6;34479:9;34472:25;34533:3;34528:2;34517:9;34513:18;34506:31;34453:4;34560:57;34612:3;34601:9;34597:19;34589:6;34560:57;:::i;:::-;34665:14;34657:6;34653:27;34648:2;34637:9;34633:18;34626:55;34729:9;34721:6;34717:22;34712:2;34701:9;34697:18;34690:50;34757:33;34783:6;34775;34757:33;:::i;34801:639::-;35051:6;35046:3;35039:19;35021:3;35077:2;35110;35105:3;35101:12;35142:6;35136:13;35207:2;35199:6;35195:15;35228:1;35238:175;35252:6;35249:1;35246:13;35238:175;;;35315:13;;35301:28;;35351:14;;;;35388:15;;;;35274:1;35267:9;35238:175;;;-1:-1:-1;35429:5:341;;34801:639;-1:-1:-1;;;;;;;34801:639:341:o;35445:184::-;-1:-1:-1;;;35494:1:341;35487:88;35594:4;35591:1;35584:15;35618:4;35615:1;35608:15;35634:261;35813:2;35802:9;35795:21;35776:4;35833:56;35885:2;35874:9;35870:18;35862:6;35833:56;:::i;35900:168::-;35973:9;;;36004;;36021:15;;;36015:22;;36001:37;35991:71;;36042:18;;:::i;36073:441::-;36335:6;36324:9;36317:25;36378:2;36373;36362:9;36358:18;36351:30;36298:4;36398:56;36450:2;36439:9;36435:18;36427:6;36398:56;:::i;:::-;36390:64;;36502:4;36494:6;36490:17;36485:2;36474:9;36470:18;36463:45;36073:441;;;;;;:::o;36519:335::-;36598:6;36651:2;36639:9;36630:7;36626:23;36622:32;36619:52;;;36667:1;36664;36657:12;36619:52;36700:9;36694:16;36733:18;36725:6;36722:30;36719:50;;;36765:1;36762;36755:12;36719:50;36788:60;36840:7;36831:6;36820:9;36816:22;36788:60;:::i;36859:360::-;37062:2;37051:9;37044:21;37025:4;37082:45;37123:2;37112:9;37108:18;37100:6;37082:45;:::i;:::-;37158:2;37143:18;;37136:34;;;;-1:-1:-1;37201:2:341;37186:18;37179:34;37074:53;36859:360;-1:-1:-1;36859:360:341:o;37224:691::-;37558:3;37547:9;37540:22;37521:4;37585:57;37637:3;37626:9;37622:19;37614:6;37585:57;:::i;:::-;37690:9;37682:6;37678:22;37673:2;37662:9;37658:18;37651:50;37724:33;37750:6;37742;37724:33;:::i;:::-;37710:47;;37793:6;37788:2;37777:9;37773:18;37766:34;37848:9;37840:6;37836:22;37831:2;37820:9;37816:18;37809:50;37876:33;37902:6;37894;37876:33;:::i;37920:898::-;38373:6;38362:9;38355:25;38416:3;38411:2;38400:9;38396:18;38389:31;38336:4;38443:57;38495:3;38484:9;38480:19;38472:6;38443:57;:::i;:::-;38548:9;38540:6;38536:22;38531:2;38520:9;38516:18;38509:50;38582:33;38608:6;38600;38582:33;:::i;:::-;38568:47;;38651:6;38646:2;38635:9;38631:18;38624:34;38707:9;38699:6;38695:22;38689:3;38678:9;38674:19;38667:51;38735:33;38761:6;38753;38735:33;:::i;:::-;38727:41;;;38805:6;38799:3;38788:9;38784:19;38777:35;37920:898;;;;;;;;;:::o;39106:274::-;39146:1;39172;39162:189;;-1:-1:-1;;;39204:1:341;39197:88;39308:4;39305:1;39298:15;39336:4;39333:1;39326:15;39162:189;-1:-1:-1;39365:9:341;;39106:274::o;39603:464::-;39849:66;39841:6;39837:79;39826:9;39819:98;39953:6;39948:2;39937:9;39933:18;39926:34;39996:2;39991;39980:9;39976:18;39969:30;39800:4;40016:45;40057:2;40046:9;40042:18;40034:6;40016:45;:::i;40072:174::-;40139:12;40171:10;;;40183;;;40167:27;;40206:11;;;40203:37;;;40220:18;;:::i;40898:900::-;41321:6;41310:9;41303:25;41364:3;41359:2;41348:9;41344:18;41337:31;41284:4;41391:57;41443:3;41432:9;41428:19;41420:6;41391:57;:::i;:::-;41496:4;41484:17;;41479:2;41464:18;;41457:45;41521:12;41569:15;;;41564:2;41549:18;;41542:43;41622:15;;41616:3;41601:19;;41594:44;41669:3;41654:19;;41647:35;;;41719:22;;;41713:3;41698:19;;41691:51;41759:33;41723:6;41777;41759:33;:::i;:::-;41751:41;40898:900;-1:-1:-1;;;;;;;;;;40898:900:341:o;41803:788::-;42167:3;42156:9;42149:22;42130:4;42194:57;42246:3;42235:9;42231:19;42223:6;42194:57;:::i;:::-;42299:4;42291:6;42287:17;42282:2;42271:9;42267:18;42260:45;42353:14;42345:6;42341:27;42336:2;42325:9;42321:18;42314:55;42417:12;42409:6;42405:25;42400:2;42389:9;42385:18;42378:53;42468:6;42462:3;42451:9;42447:19;42440:35;42524:9;42516:6;42512:22;42506:3;42495:9;42491:19;42484:51;42552:33;42578:6;42570;42552:33;:::i;:::-;42544:41;41803:788;-1:-1:-1;;;;;;;;;41803:788:341:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","setupFactory()":"6bceb769","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testBuildUnit()":"3d724c66","testEntityBlockingTargetPosition()":"4870a312","testNotAFactory()":"176cec43","testNotAbleToBuildPrototype()":"160fc192","testPlayerDoesNotHaveEnoughGold()":"29c3d6a4","testPlayerDoesNotOwnFactory()":"0c4e92b0","testTargetPositionNotAdjacent()":"e3fd4057","worldAddress()":"d46a7065"},"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\":\"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\":\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setupFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBuildUnit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testEntityBlockingTargetPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNotAFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNotAbleToBuildPrototype\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPlayerDoesNotHaveEnoughGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPlayerDoesNotOwnFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTargetPositionNotAdjacent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"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_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\":{},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"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_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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/BuildSystem.t.sol\":\"BuildSystemTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798\",\"dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W\"]},\"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\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"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\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"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-modules/src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047\",\"dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc\"]},\"node_modules/@latticexyz/world-modules/src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]},\"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\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"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\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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\"]},\"node_modules/@latticexyz/world/test/MudTest.t.sol\":{\"keccak256\":\"0x7d5a7010debe541fa26701a01524cecf81ef329fd7a9dd7d5edf546e0a48aea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://193f9193286327d97b8cf38d3034760459fcf3d3622fa12e1b72c7fd02c45c03\",\"dweb:/ipfs/Qmezz4SxgVVEiFv72HZF1cEBUX5xBU8zBCWs16Jwg8Udgk\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x38c788c4869b7692243c98de26857f392175ba292de160d9eac24fa34ed1d1b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4b18b42ccd9f51ace79f470fe2d196974ae867667c5a7e9b7e8ddb47a5e83a6\",\"dweb:/ipfs/QmZ8AJdCrMVFLsZJsvp2d4Zi7c7wVgQh45XrVwdrzR3Vmr\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0x8134c22af343e12f0ee5c565a2eb0d8a5472da7f499abac7b519f634a69c7c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1552599c06a879f4938e14b1fd1e4a4a7eda097b1c984ce0a9cbca33ea64f7d6\",\"dweb:/ipfs/QmNxyLpvNX3woGMHJAQGz89dzRsMFaxT38ZmtgPVMG2DLD\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/solmate/src/auth/Owned.sol\":{\"keccak256\":\"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4\",\"dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx\"]},\"src/codegen/Templates.sol\":{\"keccak256\":\"0x39ee06e740a5bf5022a54eefcfda6c408ed0c3038080f3f3d1a61092c4e12070\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77c8ece77feaa0c9e92fee71c662e9137eb2e49f697b08eb6fe3caceb9b47b6f\",\"dweb:/ipfs/QmapJpVqP4GZ2QvDRKCzG4KcHAm95P4EWG2vsSLUR8bkC3\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xde2e4be7aca0c3e8251af4967910c5134427aae34480f4a443a0f0ef97304ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://646bd92523b977f3d71d23c858bcc1d60d22cdb3c0008debe68008dab535480c\",\"dweb:/ipfs/QmQe7Jn1xt6sjCc7R6RSnZXDbCpfsuK3WEHEc3ZXF66YaJ\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xcd45b20519d350da7ed4b0478a8367e43c49a91ecd2c532f0c14bd4a888c2beb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfec1c17ade7d90dd40032f6e018a1f6e1b4e2d5d7d882a75601882899046852\",\"dweb:/ipfs/QmVH2RD6rejRjarwqkTcB1fm7kB2KzYJ3diq35YiceB3GV\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xf10e4e3cfb7e4c5fb9bbdbbf5680ec9068a91ef4921f0f34e7e3dc9c636ece96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e8d4dc995834e1d435266034f072339ace519d2db0db0dba319aa18c22b9f5\",\"dweb:/ipfs/QmSnKW4cMLYoZ5TEHqsgVXebBCh4RKQTnBJ3jS7gG9oWwc\"]},\"src/codegen/tables/ArchetypeModifier.sol\":{\"keccak256\":\"0x2774f0bce106cb276fb82b29eb863105ffa4f3e39f5c4f68e1859ad017868d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c97bd37991895be1a497eb86c280ee4e77d3d8f2c189a99dc262302296da3360\",\"dweb:/ipfs/QmV9TUcUThRPqdwfDVN4BrqYWzZNVCnbGappRfEAaZHsGx\"]},\"src/codegen/tables/ArmorModifier.sol\":{\"keccak256\":\"0x859465345a990b8f47886a4d9fa9e8c242e58640a287e9efd44933120cb15753\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://871eabf4155d6d6f0526e04a67d828cf92b31dd74b160317238f754e0ecf5e6c\",\"dweb:/ipfs/QmQP2GfftiUALMSnuTPuanZ7XuumvEVxHmU5aGnv166jeA\"]},\"src/codegen/tables/Capturable.sol\":{\"keccak256\":\"0x7d4470907329ad648ef968b2fca6fd0274e7949cd36958d4e982cfabb4064b62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a0b83506b6e48c200b2da24f534ab7814b69123e2c5bb752f0e5a589af6ca83\",\"dweb:/ipfs/QmXd6mtKVrksyobryS6NXsyTHAkNzcQz3Tx367JBh8DcxS\"]},\"src/codegen/tables/ChargeCap.sol\":{\"keccak256\":\"0x7a83dbeb22169d6ebfcdb5643d66d92b5ec86131a0653203c2481b0e05c95db7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce738c202ac6192eaef051fb2c31f161aa25342c412a6573b16a90c739c9d6c6\",\"dweb:/ipfs/QmSbgUHgyfRYayVZ46cEDNAQMFTAAAUp3EVNnPbboUKJmC\"]},\"src/codegen/tables/ChargedByStart.sol\":{\"keccak256\":\"0x5e57251fa96cff2d688521a9d027e0a1d10e6dd6aeb3d17b50218051206ce7c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7e380bd7efc5ec3342aa92a5baeeec4daf9a8e4d0a5d014e8885cf43f0f509\",\"dweb:/ipfs/QmRT35J1DjmrsayXf7Ah5mG6M8DL5GYpugF9pjUjMunHGL\"]},\"src/codegen/tables/Chargee.sol\":{\"keccak256\":\"0x4d0667015c05d2ce9fb2d2bc21bfd624c52185e2a13ccfd24a31db7ab7bcd229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e41ca5034b0c715c58b7d07d7e5eca056b8124fb29d54ffbbcc67bee85e6c672\",\"dweb:/ipfs/QmWQGSHjTtqUipQCs9k3ApE1QH513U6dT4fWLbmhR3XhKG\"]},\"src/codegen/tables/Charger.sol\":{\"keccak256\":\"0x207ba440b1726fd34eaf3b06534cb6b8ded261cd18e8ba293b71513fb30d4e59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d7d5ec258be098dc360450083f387e8883bfc5e04c7a397661c246c3a0d9c98\",\"dweb:/ipfs/QmXh7WUv6nVGaWwVUPzqZWxa6ZdH6dvbRyHpNyXMAkYkTS\"]},\"src/codegen/tables/Chargers.sol\":{\"keccak256\":\"0xe53ec363e1b998df4fbf1b224a422fed9e7318985b3254445ff6382c690f2d39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e145661f9a411fd80d3a1345c3a884733a70e3a0692a6976c83ea1082ab7eefd\",\"dweb:/ipfs/QmfHP8TjfffzoxBvMEkbWweRbMJdkj7S25CjuKEhbDwBQh\"]},\"src/codegen/tables/Combat.sol\":{\"keccak256\":\"0xfb75582c7b47a2c3a039b2363990778a09ad881f807c6059c089e327dd5622c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9025892eb625a405bf5c6e73243aba096552623bbc65a70a8535e52b7aa9ac12\",\"dweb:/ipfs/QmajtipyJe4nvwRFUGeWyvkPdPUmNbSyiBvMU2ReaDcWQe\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0x39c34c16752de956bc808338eaeb3f8c50d8c43708760bb48da2ba9522659716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d50ed5660f8c49a0587ca124ba6a863069983f680a0809f18b6e7bf7bbf7c\",\"dweb:/ipfs/QmbYmq8WLedbhTRKTyVzu9KHbQDGUkBa7Kjkk6gWSBXP68\"]},\"src/codegen/tables/CreatedByAddress.sol\":{\"keccak256\":\"0xee280d7f4f8fd0a521be5bba95a0b2506391b5cf61a40671ced8a550137ba926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b33847b93edbe83be6cc9f87aa589f7419b2e631a475a8a3cf50cd3b50d334d9\",\"dweb:/ipfs/QmP9aM73jjRTcWpgQFNjB69P7LEAdSJSP3HFYq4Pb26W9s\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x9b7c55dc61d9ecfba53baf29240424272243a7cabf51a2fe77649dfc60757775\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6cd8f65bca9918f2fd26b61af7055ff949e63c48c1dbce88cf42339e73528a8a\",\"dweb:/ipfs/QmSGsPVQZHeAFwPasf55dWgVY2pNubS8AyABb5L2faqR7s\"]},\"src/codegen/tables/Factory.sol\":{\"keccak256\":\"0x3c9d8dc200b6812b2860b947dc7dbcb2b5f09988ceafdf5cda9e015258672e51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ba9b493aea9440f5b8d5fd0f7ea5626e60003a6a328c982d1e6f892744b198\",\"dweb:/ipfs/QmWwASAHJ7xXKx8F2y8vaH3uFvo1SCtKBwapiMy7X9kKgD\"]},\"src/codegen/tables/Gold.sol\":{\"keccak256\":\"0xb1a08fb494fb3dd7ad6c55ef1c4b007d2782681334e313a3b4e6367bfac46eeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9b04b672466b0a86d8d6bd945805aaa3df29a9bc6ca388ed266625f95f11666\",\"dweb:/ipfs/QmZzDoG8gzERLqFvpRTZaxp63z175w2Kc6n4BeQqRqQsn7\"]},\"src/codegen/tables/GoldOnKill.sol\":{\"keccak256\":\"0x2648461ac0ca9286a16105b54b5e99d214e73e7bc0e38e536e04036759ec28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb72d5e3d68bceb9dbf9e980aa9ec6da998c08aa3928a865e6bc42a2c68c6ed0\",\"dweb:/ipfs/Qmbpaz1M3gSLRe2oCaXjg6N9DcTkt9dKLpt7GVqRfqPc9E\"]},\"src/codegen/tables/HeroInRotation.sol\":{\"keccak256\":\"0xc767deccaa4afdfa100908ea469eb74f0fb03862fb4bc314bca49accba781bc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b396cbc21852732ef7dfcc20c451414c621f48800e3bf8a50c509d99fbf2c22\",\"dweb:/ipfs/QmeGZsKbwjg6NUr2zGDZZVAJWtZMaKNVi8GmM8ferQ9nwm\"]},\"src/codegen/tables/HeroInSeasonPassRotation.sol\":{\"keccak256\":\"0x97e034873505b7620541b0e76d3be71d1eeb5bb167b9bea0a9c79755b3af7a64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71670f47d76690aee6e2e09616695dfc48fb10f676a590aca400b72b2b8c0278\",\"dweb:/ipfs/QmWYep89a3xEecxce6VQDcqiDP2oQwb9brw9YdZ3cAgAHZ\"]},\"src/codegen/tables/LastAction.sol\":{\"keccak256\":\"0x8efb6c27febb4017c5f12749fa6bb7b9ee4d96836f5f648112402b64d6471dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00adc0def56f28c5ec1bb67138dd52047df62532f6d35c9c0d8510c2892aec21\",\"dweb:/ipfs/QmXTAEnVsdaqDYhz1Pa1GY6jLwRbQL2v1rmruXTAg6tqq9\"]},\"src/codegen/tables/LastMatchIndex.sol\":{\"keccak256\":\"0xd0cd2ff0bf4322f86d686aab0133b817ff2ceaa525efda859b63ee56414e5d9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4db125d4a831723b4f8a9304aac762a87ee20b01bcd1942201930d434fb4729e\",\"dweb:/ipfs/QmUAUQvZThNAqu86pzRisKcGEyPwpGAThUMDgURZE54qDZ\"]},\"src/codegen/tables/LevelInSeasonPassRotation.sol\":{\"keccak256\":\"0x0ce58903a78500f2e425b10d4ad4246350267e365bc1c6583d0f0509a572ee60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43a29c5c794d42e97e1cde84b9312617d744db8e1fda5ee81a6479864f594e91\",\"dweb:/ipfs/QmUSk4bvPB5QDHD5BHGbQ2acwFqMF6gzn2vJqbzbY5m4yv\"]},\"src/codegen/tables/LevelInStandardRotation.sol\":{\"keccak256\":\"0xd5f2745e9308f6208de9395ccfbd1bef51762ac38afa13faf89115504664678c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a3386c2de1b28a2519a9987eb0b844adcab8025785b938def1b76c94d31a8a\",\"dweb:/ipfs/QmV7hGDSEx4qjrVdR98Y5wodz8BU4k9Vuoi7TNTyC8L6Gs\"]},\"src/codegen/tables/LevelPosition.sol\":{\"keccak256\":\"0x7b007bf3b5acd3ed78b7f9b854b9f87de7f9686a5391348e61102624daa34320\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fe78370d1c63483c1ee26c716cb7bec1c8fc0630a11eb805f2970fcb629f8dd\",\"dweb:/ipfs/QmQG4gCC1VPoPSqQyJQBLBKZFVMRaP2HL4w7y7N1zo281u\"]},\"src/codegen/tables/LevelPositionIndex.sol\":{\"keccak256\":\"0x5ae3287cdc0993f0a566752c11c794a5f3cef613137633a5b5710b27ee50dba8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e1bbe6c98bcc9cdc71723721ff8226f32d1c113a7ac3dc3e32c699ef9ced61c\",\"dweb:/ipfs/QmeTq3eJkUt2tABVSVkvUYb3GkJddgvSx9YrS1c9wmh1X2\"]},\"src/codegen/tables/LevelTemplates.sol\":{\"keccak256\":\"0x7416e62c88753dae52abf397f9a8efedd3b7f57fe2a6c8d64746bb971fdcbc5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4c50a1b2aae84a6f120d098cc7228a0908350926758d518d76e6fe8af7bee6\",\"dweb:/ipfs/QmT2uLbrcruogZVGPnimAhELuXhPrsCi372t6AdrwiCwLc\"]},\"src/codegen/tables/LevelTemplatesIndex.sol\":{\"keccak256\":\"0x23dce66b52fe3276b92e633351bef206795dbd770d1b3969a708e3f594145ab7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49a48ef1c877c70c308305bc890f326ac6fabaafd375c372228d1b1c76e88228\",\"dweb:/ipfs/QmYU9H4pUdGHmKpb9Xoa2F1oaixSE46FRbjL6DJqEETRC6\"]},\"src/codegen/tables/MapCenter.sol\":{\"keccak256\":\"0x33ca78f53d059eb85a87a778e3567e1beb08b0a7f5b1cda1fbbc3cccd5809895\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28288d4a845a45e31f7b3c6133b40a670cf081a62502a317c13822ec2122ce06\",\"dweb:/ipfs/QmbYotHQrmowTusHUPKY1d3RhufGqPzdkFEK5inCakcTPz\"]},\"src/codegen/tables/Match.sol\":{\"keccak256\":\"0x6047491e98fd77fa6d8455a22de36c69aba94365f0a56a8de7871cc5a9ae47a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b073d9ed5c30a1d576a8bf87d579d887a66a27f6d5be64852efc1b1c1906fa8c\",\"dweb:/ipfs/QmV7uZ3Eu3Gr9UzF826WRQvqFA8ZaUBkmopEtMSFy8ze4C\"]},\"src/codegen/tables/MatchAccessControl.sol\":{\"keccak256\":\"0x37288fa25ba25104191c5456c6fd7b7380a0d6201c2a9427b5e1eb74002ef0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b61848d2d319bda3c882b020c4b50953f4bde7c77280ce6251a5aadff11a7d22\",\"dweb:/ipfs/QmPgaYhDgN39ZJMiZ92N8wRbvvSpLZDYUYgeQoupvckGXt\"]},\"src/codegen/tables/MatchAllowed.sol\":{\"keccak256\":\"0xd4bd94fca7cd88e4a1c1af87b8b718311e850c231a1f8927938f2273bfadd8f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c333c604c745c496f0a19b52851e767be70f6c18c6b25c0c5ec3bf4f1887082\",\"dweb:/ipfs/QmQFNBQrAcnoCj1WwdK3asHcscwUa7ijmAMzgGp5U37odN\"]},\"src/codegen/tables/MatchConfig.sol\":{\"keccak256\":\"0xe7043b09e90efca02f0f00c74a76cf6d5a77566c22839cb04c84f9af7a104d92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f9eb78465fc312fe06f8c46404367990e039fb86281da7f87d5fa515bf4c125\",\"dweb:/ipfs/QmW5keQr1kgsoREvctNEo6qdeWyE6TCcFogtxziRNM2zES\"]},\"src/codegen/tables/MatchEntityCounter.sol\":{\"keccak256\":\"0x9b1ee0c8f43b3335c8b7ba283a7e8c720e675637e67b96f8e1f99e23ca6351a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a809c81f0534f038ed6d7e4fae7e4c14ed403345196eb8e9147998564608fc3\",\"dweb:/ipfs/QmWsQ8nGm8FwDwrD7Tm5axpsLcjE175wtR7mGdPfhZ4snE\"]},\"src/codegen/tables/MatchFinished.sol\":{\"keccak256\":\"0x128aca9ae5df0b7d2f49256ed738f0c4940e183a78a905e66e4786b65225b2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13e2ca1e62ee9129a4aff30416fd067216005dab1ef890e83f22eb2fb921a3cd\",\"dweb:/ipfs/QmNkoDRhYkQGbey8y3NVjRHj65ywt4N6teh3xLUkVvChCR\"]},\"src/codegen/tables/MatchIndex.sol\":{\"keccak256\":\"0xfc79f9d5165d12e52d0d98c8bd1d9218c7edab051b1fe5855985c8b8cbbafd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3821f80fbdce89cc3c298af23be6b3d9c72af782613dd9c6ac76e6109ee9ef76\",\"dweb:/ipfs/QmQT5gyjetVUiEtu26w3F35vijHN8uMNjLYhkdoGNRF641\"]},\"src/codegen/tables/MatchIndexToEntity.sol\":{\"keccak256\":\"0x643d1bfb36f3eaeb02f9d40d4e15e99156231ad4aca4bc6a1cc9ddce63e4c7f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://546d579174c65ff4dbccafdfbc840f7fc514e23ca2523a88c0ff97c6c2cf593c\",\"dweb:/ipfs/QmaFfVPQVVfVVJmj2wwWCP8Hc7Nh1uBi4vvxc4ZEL8Fwkw\"]},\"src/codegen/tables/MatchMapCopyProgress.sol\":{\"keccak256\":\"0x330646e80e0032b5bb10d89c380b9673d47b712fe22cd6756789811cf03fddc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34920da22632a7dab6b30a2a2bc966f74b3bec7f980091cd090d5cd7f7e389bf\",\"dweb:/ipfs/QmQ1P7CCNBxGjkuj3hHCxyYdftHfdnhEayPDHkJmjLi1z1\"]},\"src/codegen/tables/MatchName.sol\":{\"keccak256\":\"0xcbeafc76a6acf829a55a550b2a3eadde85d7bca60f466ecded2d774dbf0a20cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a73cf84685913febcc31ddef9e1a99f30f8396642fcf8da48063c0585022f7ff\",\"dweb:/ipfs/QmawusYMCnSrdYZoyqpm1Ge4LgV1R5gocUNB9wPTUV1m45\"]},\"src/codegen/tables/MatchPlayer.sol\":{\"keccak256\":\"0xee101160ad514436bca33cd248d1db005dc617079446e108b51e634e4b733466\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1513a939211b457618b1b6ee51b1aaf6a7d27155e9b1b1f6f1092994dc5cb2e\",\"dweb:/ipfs/QmYM38eguwxrdoY2aCYgPjkmv4Zy1TQKqnUzSLnmgQ6efy\"]},\"src/codegen/tables/MatchPlayers.sol\":{\"keccak256\":\"0x15be786172faac4a093405cbed6b04179e346f6d7fa406c1655e662fe5cd5ff0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74accee4317b30169319461722907f0bc15fb68e3a559ee5a20243ec05951b29\",\"dweb:/ipfs/QmcTrgqqepqATKz7o3xRu9U87pUcjoofdDWyyoCpSscADR\"]},\"src/codegen/tables/MatchRanking.sol\":{\"keccak256\":\"0x495d1fff5a589eb704cdce9dc204140a986ac3f0d127cb53b2457d155f0ec3c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f4bf1e9c909892736d6fc96a74756aaa38824eff350f108a09294251765e86\",\"dweb:/ipfs/QmVnHpCzj2jXYDmUz3D2BpmYL4PfpDdtdxhr4BHVzhx8tt\"]},\"src/codegen/tables/MatchReady.sol\":{\"keccak256\":\"0x55de77e1cb9c3885457a4fa929b103c08dbcf2f98a772ca1a0b0e1b53a258f95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8304446db0452005a96cadf4ff8a7cb608b2622b0e422463774477495637c576\",\"dweb:/ipfs/Qmbhwxi9jWL6ZKgo8Hok5C9oqX6gWSf2fbGMxAdeSL9a7W\"]},\"src/codegen/tables/MatchReward.sol\":{\"keccak256\":\"0x405c42f0bae0bcf542e1558992ce79e47ba4ddf4bf7d7e825764215c15b484c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://913eb3da7a38e336efffa9882f00833ade8ec5f963714cee8ce59ab533baeacd\",\"dweb:/ipfs/QmV6fxYzRLsu7KGiiEEpA8R8ZqV8G6d64cu4J8E7PuxzVG\"]},\"src/codegen/tables/MatchRewardPercentages.sol\":{\"keccak256\":\"0x23e7f2766800ac019a1bcdf72a02f031c3b134dd0adc4b0987d16480cedafedb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c20400c50d17afba333659761d0dd2e76bba5a769e51a771b6838955ef89db9\",\"dweb:/ipfs/Qmdcqs7NHBWzFTkSchmsLggxZvFFfav7hWv3VJxmKXpUUw\"]},\"src/codegen/tables/MatchSky.sol\":{\"keccak256\":\"0x16ec4183a84c7ff1970582370856a8e1e77d681aec3cdf6d7e8b082f40ffb2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e2e35940eb37143c33c4483231043553b04ecb2b71eaed75484193d847333d9\",\"dweb:/ipfs/QmU9yxrLzpF6v55gs8mkTgnw8mCP6VkXZfmHQe1b1EMmvK\"]},\"src/codegen/tables/MatchSpawnPoints.sol\":{\"keccak256\":\"0x756a07f839a1865b93cfd3a1e89dff0c09cc68900b948c2481908b20a0e30c40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93de577f605f94d6b2d9e977bc6ea57d085a57d36633afe87deaecb976d669aa\",\"dweb:/ipfs/QmeTCmN3Y1wiGd4oKGEPz57vy4p4hhx9go6XYMNzSYzUXH\"]},\"src/codegen/tables/MatchSweepstake.sol\":{\"keccak256\":\"0x116a1b8e65f1e388a9ec2959940370e4e1ad6202ae694f84a05ee5f9330471e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7977b6835cf0326a539a8df2ef50eaa1b842be1ed4115aa4fc1e2ba24468211\",\"dweb:/ipfs/QmbD3oWJLR2LqsjfUFbLZVpMq1iYfvA4Sa2actx3Qe9eH4\"]},\"src/codegen/tables/MatchesPerDay.sol\":{\"keccak256\":\"0xc2a833021b54a6fb7fa22912951e148a94db4a243529ec0f2773eeea96552909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c3beeb6a1b4953ea158eae7c6fa48f1e7cad821db69ba13065cf9a6a7d3d973\",\"dweb:/ipfs/QmYHNwJxaaxdVCLJ4FBy8HbfvZG5uvUSZZGhbBVT7CP62T\"]},\"src/codegen/tables/Movable.sol\":{\"keccak256\":\"0x992cd2679446862395f78738431562132ba2ebe19d356f3f4a5f84dfa98766e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://586483965abd1455641d717c8026b2547831b65a98babb223bd1daa494eb1300\",\"dweb:/ipfs/QmT8qmrmzvqfPvekMqc5gvCUpVGvm2jVHiikpqb9eBB2tc\"]},\"src/codegen/tables/MoveDifficulty.sol\":{\"keccak256\":\"0x61d1c51f9a38261a1e28d1623a34e68c8712212e4e2ea68fb1d036da313dc795\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdbfcc096f892fe1e18d8ad02347e06a14e3fb9bda2c0e4c7de5966ad23960b4\",\"dweb:/ipfs/QmaM57xNvhSTjgfHEwjj1s5rhug3vmyUQgnaKUoDrKHqEi\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x587ffc590fbecde23fb55c032dc640421a6ecf1eb5e31a05cc9b624f6024cdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3896bc33760910c0f97fc6c44390ce7d811642111d1cd723d7d6360b68c4bbd2\",\"dweb:/ipfs/QmYZguqg1GnBCAzqUMWzzgy5nr6jJj2qn54DW7VSogDMLS\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0x737370a09bf6ba5603156a800695545996c2411d452fe2cb4601bc250aa6ce85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://414c641f57ef05ec011c23c386e536eb16a8d3fc09ee6c3ee28e4a9097071a5d\",\"dweb:/ipfs/QmeFDFdVto3dejjMhQJPigGRt5EXtBB32TBN1UfMHpS4ts\"]},\"src/codegen/tables/OfficialLevel.sol\":{\"keccak256\":\"0xdf385936440217206a6c58d4acc92435dbce85ff27b28934d8d04a6e6263e61c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7986b6d0d66ba0d02b2121b11dd15fa883684373e05d346d0ffc3bb09c33479a\",\"dweb:/ipfs/QmSDHQaxzvjyWpb2Q9XSSMgkwFNQ4pRDxUDCXbWjxYzzJ3\"]},\"src/codegen/tables/OwnedBy.sol\":{\"keccak256\":\"0x54dc90730a1d26c273135b68a2eafa692ea7bbebe2c8093901fb6dfb7241f616\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b1a76c29a92ffba96b8d3eb3fc3703979be26fd9524e282aea95ae9b635c240\",\"dweb:/ipfs/QmQMCZnYdoRdDrYdQ9tAmVKCpZ13nk2SpSCnQkHxLfTSiZ\"]},\"src/codegen/tables/Player.sol\":{\"keccak256\":\"0xe254f3c4755d5e3c0e693610f97bec61c43af6ac47e211f608f5f6264c884b92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e408973d1c4fe436247935bcc79d9a8d64dc81e56ee52ab07f3c35340e950f32\",\"dweb:/ipfs/QmQgH7rvY2gYsyircaihk5oXnesupQ39xu3npARj9snHkF\"]},\"src/codegen/tables/PlayerReady.sol\":{\"keccak256\":\"0xd6d88d036e7e044eb033f40dcac52a72cfc883dbb1a3e8c0f805d0262302584a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b85b2eb8171153981e617ce3c3b3081d4c3dabb1086a5ba30839f5f8c8b8b4e\",\"dweb:/ipfs/QmYDzjiQEqQa1ZmeQvqp2Np5CHWJGuBgN9KJqWwBj33odK\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xfdb0bfdcdd0faa001251237c1d8d11dfa5c5f55e92a73c3e9bcc8d15da6d2f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f2c6ba12f7c1c4d2bc532953f0eb308b1acc367fd8e9f8a9c22080d1b2a26cf\",\"dweb:/ipfs/QmSSrdowViDQzdQNFZtQAiV64uobjvcbyqKeJYiB3SuiKo\"]},\"src/codegen/tables/RequiresSetup.sol\":{\"keccak256\":\"0x66f46d938735289692660cc2e662d9af917b7f0e1d3bf72d5816cd2d1d052bb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3099118257562b270eb9de2c59e010930873e75671b8325d2e889c0c4f1d9813\",\"dweb:/ipfs/QmWtbBEZkbs7WkXPYcc4nh2YhSoDNvwJZS4vHjG5pn2GGp\"]},\"src/codegen/tables/SeasonPassConfig.sol\":{\"keccak256\":\"0xbfc1bf9367cbfbf51720c42368e00fa5d1205376506dd6a5c774cf3671f25783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c1d5630a095574ea6ff159d4d789811de1a94944708e13e5565c10b3dd9fee\",\"dweb:/ipfs/QmYXGjBVKWe6a6mQYAmFjQURzux1A1RJCKndypXXi4DqGL\"]},\"src/codegen/tables/SeasonPassIndex.sol\":{\"keccak256\":\"0x4e9391e9f74a6bc7584d68b39299e7cbc46bbd19cb9ff41757e543f4d4d8076f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce4f38a82777d872e77680c4247a3fb7a0d3382d928343838cdbe560b23df1cb\",\"dweb:/ipfs/QmUEwc1Xx7eGyBzjuWMTvL9ZZ54GHotB7z5TVUR2CRfXi5\"]},\"src/codegen/tables/SeasonPassLastSaleAt.sol\":{\"keccak256\":\"0x4e2dc83f3bb7a69219900138b8bbeca95b1b3db499b652b46e82af3d800c900a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edf4e0b57fc1953f0d010c1d1e9f89d64f6a71c08062d2865bd82fd7e31962db\",\"dweb:/ipfs/QmTqUhccjfA7g1ihndFmX1KnXSkngrA8ZezipxQbC5q9Zp\"]},\"src/codegen/tables/SeasonPassSale.sol\":{\"keccak256\":\"0xdc1e6a8010139fbe50abe14ec230b7e7e6d8ea51862017f89e943c37e4ed9eef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c872f8bc71d0c6564816543078ab471d855162372e38b7efcc28f2935aef79a5\",\"dweb:/ipfs/QmUzToGutHfjtEuafTwTS8VqTA9Ed4hSd1DeG2ZtCs8Utp\"]},\"src/codegen/tables/SeasonTimes.sol\":{\"keccak256\":\"0x14b138e1714c163093d765bd993108ed3d42aa7ed6347464645c14d3e8b4948b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58d5e5c5fdbda3fada43a356725ecd9c2d07223b66f26863bf3da68a9c10ca3f\",\"dweb:/ipfs/QmPnGaKuWe6mUsmeSjvvVmx3xheFSminMeu1WzbdFzpQ4J\"]},\"src/codegen/tables/SkyPoolConfig.sol\":{\"keccak256\":\"0x5d64965969a4fd273bfc63d403d9c7fb8966afc532136bdf786c72b762f0247f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a68f12857bd4991da2d55b2036088ab06a2260332cb2d9d19dbee17afaf98aa\",\"dweb:/ipfs/QmRtiHverx5CKGyuwjQCTkhwwmpEX5MEtCkgH3vYve1nvt\"]},\"src/codegen/tables/SpawnPoint.sol\":{\"keccak256\":\"0x78906bea1e126b05a40746224a19bf08245617ebf36d5b00533d78f600ed80cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://14609f17a3e50a3dd514cf66ce2c67cc53da0b098cc35a9b95555a4e35ef32f3\",\"dweb:/ipfs/QmZiX5dEHttgdiYPfCknkNN4vYfrRdnEsp8GERqGLNhB2f\"]},\"src/codegen/tables/SpawnReservedBy.sol\":{\"keccak256\":\"0x6a17e250b900eb9d623f4926de4489882c2b2026acd08605053151ef6350d473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80a2ad46e8004219d931f2dd5c5b4e95107ce0280f06af0f1a8f87df32cb4f8\",\"dweb:/ipfs/QmRKyjDXJ1j879J5TcYq6yBECFxtZivZDNPUjy1QrGf6qQ\"]},\"src/codegen/tables/StructureType.sol\":{\"keccak256\":\"0xf2a62d3afc680a0425b964d752e1b3aaa12f66e9ae20a80ff61f2063f9f74033\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83323d65688309464f06fdb08d0e46e09d6f9498627e61ea9c79e30347dba797\",\"dweb:/ipfs/Qmc2hS9eqV9tdESgHt2iu6YHMEGHToxv2KFrvt4LPG8TCZ\"]},\"src/codegen/tables/TemplateContent.sol\":{\"keccak256\":\"0x0cdf0cf6588d72332903764dfafde5331e5b68ec132eb6b40e6b324dd1fcb710\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0e40422c1a173cc04e5df496714aaadbb98086f06e2fef736b99b540253d92d\",\"dweb:/ipfs/QmWoSy7wPUMM4Udoi7M6M95tJjUDFpuFPgBwoXbsZnRv3e\"]},\"src/codegen/tables/TemplateTables.sol\":{\"keccak256\":\"0x07146cd69cc87c73e5aa04cd033f54f04c82cac09b57c7427d631d4d8df17035\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48e6f9586a1a77b90c3e86138c9560394ed420517b2c8a4c407823f505188d7f\",\"dweb:/ipfs/QmYjusEWnpwFGZDQV2AvLwY4DRV3oLHMrNDxp9EbzbimPA\"]},\"src/codegen/tables/TerrainType.sol\":{\"keccak256\":\"0xa67a0edb0d1a70470de01dbf43327f9d911c12fa08aca734c417c591721e6b87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4927c5e934cfd8575799f5bcef8c7392bc2da2bb84d463c9441f785dff8fc077\",\"dweb:/ipfs/QmYK9Swtc48ndGcaeyqpj3o248nspgkmcN5kFEaCAwF9pm\"]},\"src/codegen/tables/UnitType.sol\":{\"keccak256\":\"0x5703cd50d2cdb70757024245231899a35de083c49239a10cb1515f459aae0ffb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f3f90e9a9e08b9dc4e58092fe7802f3671c9684ee998a4014613b03725ea6bf\",\"dweb:/ipfs/QmZZjKPByxqcbEYhE95f794ud6i1tkqJPSbGsqSXHNMQ6S\"]},\"src/codegen/tables/Untraversable.sol\":{\"keccak256\":\"0x0ac641c25a8910d70d3b092d152063a49c6353c16b17e1590de0b72f2fca75d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb94e6a5eced54b95558842986aaafbdebf27363e9363402f72885845b72e12c\",\"dweb:/ipfs/QmcxBUHXXbcxgxq31Ss1vi2BtsW3enedLspVmV1Pd21UFd\"]},\"src/codegen/tables/VirtualLevelTemplates.sol\":{\"keccak256\":\"0xa2ae7f4ff1efd2518ab854c0883b2f696cc29635232bd241786a3fae7246bc35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd78db57fea870896bac73809330841d091fb2234ca79c8caca6eae350557b7c\",\"dweb:/ipfs/Qmae8optd6w4gP47g9kGAAVRybGivKBq36saxEdZq5qV12\"]},\"src/codegen/templates/ArcherTemplate.sol\":{\"keccak256\":\"0xe20cbd1ce5cf812261ba289a1903c9026f74e43455a31b17625025f2d59a00d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff74f89173e6d956e53acd27c9a780e75cb3c713c6515b4ce0e1bae2d43657c4\",\"dweb:/ipfs/QmYdfbj7r1PQ6Z6dj7R5ZzADxCkoS5dK6y8rvXVDbLGQFh\"]},\"src/codegen/templates/BruteTemplate.sol\":{\"keccak256\":\"0xa0a0af2f3b20342ccff808b2a458b6415040aabeff3ee790a354bff816c1213d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70ac7a219f2ccdf81ebbaa96eab4c34ea31bb59a89d87fe848d73f5ebe879a6d\",\"dweb:/ipfs/QmNVdMdsU62Qq8iNtiXogR4mRyyDggkQ8NhNe2XYLAprdD\"]},\"src/codegen/templates/CatapultTemplate.sol\":{\"keccak256\":\"0x0833482fef791bcd2f4a126ae5e83645c4916602ac5f1927fdf36385d8e9bc16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f332bd2f7b94332250ff00730074ac19b9b75f76b5c904130153dc0d4910a79a\",\"dweb:/ipfs/QmTmqHohwgQGRkAnA7MsXjb8yrhohe8WS2UdvVryNFZybK\"]},\"src/codegen/templates/DragoonTemplate.sol\":{\"keccak256\":\"0xcd3936768f1fa980670f25812ae1d6611331857410d0c413773b38f0393bdf92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bede35fea188ad5db77857bf062c97da9e2d348add3e94c522df56db4a32394a\",\"dweb:/ipfs/QmSrNEpWJtxFSbDVkUM9yhSxAWHREsHuwb95sc9H4v1imm\"]},\"src/codegen/templates/ForestTemplate.sol\":{\"keccak256\":\"0xf894556fe0fb1c1f7823dee417a0faf794565818b4762d681ffc396370732b96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94dbd067cead39a4bfc29c675e399a783186520a25e4fdee99a30f2d81dcf46\",\"dweb:/ipfs/QmPh9rgDXZEErNEH8Y4LchvqHagbHuBa5zzzBCfidVKzgS\"]},\"src/codegen/templates/GodUnitTemplate.sol\":{\"keccak256\":\"0x0f11c751143dbae24ec4854d29ab75a8f3fd6528d779a472b735e36079106e7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaa2b94beb37b62f162fa4c86cf8c7f067aa631e7f7f6463a45b1583636bb692\",\"dweb:/ipfs/QmTonMfoiXUcuCKTrKLfzUCwWTD71y788VfqMY6AsCUxEF\"]},\"src/codegen/templates/GoldCacheTemplate.sol\":{\"keccak256\":\"0x547964c7f96cee22195979d3ae013ab95722dedb346d45dede970a25782d2b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9e082b4e506ad2c5916a384aa5ac39b88ae537eda4b2858255e5698fbc749ea\",\"dweb:/ipfs/QmamtdwGskTjj3zjFV2B8NL2RZCiJefbh4Jmk8sAmsKiHx\"]},\"src/codegen/templates/GoldMineTemplate.sol\":{\"keccak256\":\"0x8eb42338c914c92ec8495829d21f6f6237ee5ceee862dad535c7eddb1b4c1685\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a09b8da90b3eb8c75185efb8d0d1b1ce0b6449f91f4723b95de90614edb9851\",\"dweb:/ipfs/QmNq3WKikoEyJAgdAn7oN7KAS8Bn1V7WarCNjCGjwnW4RB\"]},\"src/codegen/templates/GrassTemplate.sol\":{\"keccak256\":\"0x5db4a62ac388cd8b93e841a344400ae57f19a206c1531bb1ee82e4791aa396ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d4e61e61f41dc09778a3c6cb5330cf0dd6ff86372a7d73ec0a473f1a8c68063\",\"dweb:/ipfs/QmSmuZeQm3uUMzBKbdeYz6LCxy1W6UxdfZGZtUwdayW5uG\"]},\"src/codegen/templates/HalberdierTemplate.sol\":{\"keccak256\":\"0x32ff84d3570344d9301e355ac3b88cb9bb1a3f767a50eb0c7ac2cf7c03733af8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ffac2b11ea7d8a72ff9d681870e153551f9536775e27ab18374133cac78349e\",\"dweb:/ipfs/Qmbo4A91jf7HwCtBKzmTb8UAKk7aRjGnpxK9g6PJhGDLsQ\"]},\"src/codegen/templates/KnightTemplate.sol\":{\"keccak256\":\"0x32bf3f717904299b0d6cde7f8a86ecf30c939ff649adeb6c725eb45e31792668\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afadfbee18c69f2adb93d53a71156a29417e451c6b38e8643d6b80c90cc558b3\",\"dweb:/ipfs/QmQSZtcPxBXD2LR9QJkhDi2GpjXWqdC9zrzXzh8QPQeGVe\"]},\"src/codegen/templates/MapCenterMarkerTemplate.sol\":{\"keccak256\":\"0xeaed604fc98855994004f491e1d0d9c7997d7aa1f1f11199a80544e611153907\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b8aac494b8baefa5fa136c3d067a4cb8b0d26050c3c9ccb842cca2c337d8f83\",\"dweb:/ipfs/QmR4k6UhoavJaKPSw1Uv1LarMMEtnqsBMkVHcLAHyQNsQf\"]},\"src/codegen/templates/MarksmanTemplate.sol\":{\"keccak256\":\"0x09d868b0ecf914864e766be4a9a2c8c0d95246d00d0900531cf2f72c8a680d65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e463d065789e86a7c59dd9754cdd55f909a46de205f0eaecaaa61c5d806ce7\",\"dweb:/ipfs/QmawpW9aAEswTXQwmjN2Po1QoopqEzFkpgRLHTGCvUcrwc\"]},\"src/codegen/templates/MountainTemplate.sol\":{\"keccak256\":\"0xd229215132cec0ec809d4f992f32dd6c185f880b27c7b405f46403d923954694\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe78242b299b59843a6f2ffdd3846c6c04b667c1bf92434163979c32a5d2a02e\",\"dweb:/ipfs/QmQCETmNKLXSXTLh7nHcvGMXJJW4hBWRfNxFr241MnyUse\"]},\"src/codegen/templates/PikemanTemplate.sol\":{\"keccak256\":\"0xa44a24e6a25859b7bc8557a4219495cfcfd0252788753d08e6ad7f02f7492514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413d8ae3ac6eef8cb39fa0129948e2b8474dffb576cd8e4780318adf87e70df3\",\"dweb:/ipfs/QmTY8W3igMqrrSv7SVMhUqCvDVMWKWRZ9MRg7xfRG6gSro\"]},\"src/codegen/templates/PillagerTemplate.sol\":{\"keccak256\":\"0xface53dc686f8ab6c9b65d9519c6a10c018cb8e77c92db67454f86070be05715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08caf20cb7704e079af74983e7273dfff6712c7743d32977461cfe483126e6f0\",\"dweb:/ipfs/QmYfc5VnjMaMaNZ9fwngQ3Qi9pZhHGoNqKDM1ABUHUgiTZ\"]},\"src/codegen/templates/SettlementTemplate.sol\":{\"keccak256\":\"0x5055dcdfa392fc0bef6827df91c28f67b39816bed62cf8e4d92ce2590a029ac6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc9fdd4a865b897436ee2209a2ec67301b8738d9583f122ceb195a64c44e0262\",\"dweb:/ipfs/QmQgTquRMKYriKzC7Cu41PyD3EYvwsAWFbPJk2NyqcXeHd\"]},\"src/codegen/templates/SpawnSettlementTemplate.sol\":{\"keccak256\":\"0xc59b9be6231afb0e5e67440e57e66da33f5ef14eea125659079568b8d1421163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e50a5f09238267c30fb9818fb7bd8e36490a26052aaf7567888088014a531847\",\"dweb:/ipfs/QmemBz6UK1RVKftXQ6uJQGnczLohfAksmjxfHQwa5n6Q27\"]},\"src/codegen/templates/SwordsmanTemplate.sol\":{\"keccak256\":\"0xe8aaaf0f075d2c7a50f6617c433dbee7268a7f7bfda34a57812600b116ea475e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a57eb795f8e2d6b12d76b738d49a6f0ca082c0047b3747233ed6bb461e169383\",\"dweb:/ipfs/QmXLk27nVNA8EryHhGYRNMLMAeUeJ4bQngeXvpydhNzcEE\"]},\"src/codegen/templates/WoodenWallTemplate.sol\":{\"keccak256\":\"0x88626992dddc1dd3f5dfea49a055426a43ea1831c59698f37e5f5cb165518961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e008817fe025b12442557f45566cf4bed3f9e2558931829629dca4cf74f00cc\",\"dweb:/ipfs/QmR76mtWLSHBNHo5kZv7DpEAH8k9qkcXrydz14sCpxvezC\"]},\"src/codegen/world/IAllowListSystem.sol\":{\"keccak256\":\"0x8958c76cf4f35d7e43c5a49b12732a9a725fa06d7e77313168b5e9b42a88b39c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c042ff238594b069b0b1ada2237c88da339971ac7a30caeeb6c66b2ca5af996\",\"dweb:/ipfs/QmUk2fyv88qMWEddv9wt7vKLiyqWYcCsXrVjH4qDdoBJqy\"]},\"src/codegen/world/IBuildSystem.sol\":{\"keccak256\":\"0xff7f221abf4c22011fb9cfe80003b7fcd7a947cad11bf49424858d168ae54a2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a923bc0b9a5293bad68da0874829f8d3f95f66acc33813bb8eed6081794c233c\",\"dweb:/ipfs/QmajStCGSfVg8QxUxxuF851JVVtNpWuLHeLoAkXX2mXPfg\"]},\"src/codegen/world/ICopyMapSystem.sol\":{\"keccak256\":\"0x94281b53710027985efc1c6a2b4eab3ccb9fbf372550d52cf3b7441a88d0285e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1417935c753b9103d4bc390c02ace4b64416e32222e48ab923a4d1564aa1682e\",\"dweb:/ipfs/QmQ87YXTphbSGUV8Ke9SAMCo5i4R6Wc8MzAFQMpH41KJFM\"]},\"src/codegen/world/ICreateSeasonPassSystem.sol\":{\"keccak256\":\"0x8cde232a77dfa16401a28a0f50293dfb6f58fcfb89bf2688a304daf61e793be3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cf288971d2f0f72f94120431edae84718a9097385af9a47d3f4bcf2fae137a\",\"dweb:/ipfs/QmXTxju4NpTwpGufaKuGWmL7PzcVVcdw5wNLkL8rApzaUS\"]},\"src/codegen/world/IHeroConfigSystem.sol\":{\"keccak256\":\"0x5d07d59d448644a3d71cdffe5abf105d4b5f700aa9cb14e7d4017d112e00cbfd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f9529eabb45d3b375ab42dbfbf4373cfd53333752c049c71969c0713fb3b85e\",\"dweb:/ipfs/QmbpZ2fbBXkpiabF2876qoA2GHw3q132cWar8AtvdX2D59\"]},\"src/codegen/world/ILevelRotationSystem.sol\":{\"keccak256\":\"0x20ea9b9de804dcce05669df00cee4f74f08fb917bb6977908dd9fa2d64cf5794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4cd52ae3c73607d141d7bf3f57ab164e4cb6d56885547fc9756e7f2060afe83\",\"dweb:/ipfs/QmVThQBsTZ31ES4YDMwDMTGsC2iKMkqcCqpb3AMyfDUUxX\"]},\"src/codegen/world/ILevelUploadSystem.sol\":{\"keccak256\":\"0x4566550b14ec0dc73b0d51dd66044914e1d1264e0575b19513287dc351cfb14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec1f60316a185a34a3cd8067db039e3487cd8863a8809a38752012bfc5588bd4\",\"dweb:/ipfs/QmdF9w2x2FR4JXzbiLPE6b4afGFb6J6VyfNcgzn3tecWAx\"]},\"src/codegen/world/ILobbySystem.sol\":{\"keccak256\":\"0x60336980ea525104dd355a6b9b3fe090ee397e992df05bda693150654a503a34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9b9e886e5aa4c5053e47cc8806b354c79ddad6fbc5cffadf9979bb0232b9487\",\"dweb:/ipfs/QmaZ5QPk5gKKeRXBa48jzHhpPEfBFxuYbnwDRDZ2GjmCgJ\"]},\"src/codegen/world/IMatchSystem.sol\":{\"keccak256\":\"0x82ad6910c22c7c20538316a1a035a1aa3be1acc292b37c8ec129e64e4e405e9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e76c609ebaa9779bb1892c07ec592e6b977afb86301cc6ea3971e1b0b5e6b3f5\",\"dweb:/ipfs/QmbPc3WNVVkjfMyQic7bS5xjBEAwsXjRWpNGV1Szyqpg2n\"]},\"src/codegen/world/IMoveSystem.sol\":{\"keccak256\":\"0x682464a443f2a38b3c129912942659099ca7cbe53a687d81eca8d54dca7c81c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://058d2fa294d513f1a7db0a9a02853f51438cf137440033aaca098c00489cc47a\",\"dweb:/ipfs/Qme2sxE8GJJKtGrG7ZwedeS3ydqaoVvqHynaKHtpgmgp6u\"]},\"src/codegen/world/INameSystem.sol\":{\"keccak256\":\"0x472bb99514235bb48480aeeb8065206a98819fb9eba80676405774b976414ffc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c2aedc54f458ab1bce7040e32968e61448cb513e06657b71798d190663f73c\",\"dweb:/ipfs/QmPHNrSkyNABoUbY66hVzr8nZZaMhaxLgzfVQQh8FYJ7Mg\"]},\"src/codegen/world/IOfficialLevelSystem.sol\":{\"keccak256\":\"0x8b922b2b5e1b91f4196dd690777e0b39eae76bffe4ec8d11303b5915873d87bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8c6a568bfcae690ffa33ad4997d43b6542563d675369ad44acfc8891e0e6a8\",\"dweb:/ipfs/QmNeueSXpzTV86LCpsePsSoTgLw6htLhGvapgyhD8iVD1q\"]},\"src/codegen/world/IPlayerRegisterSystem.sol\":{\"keccak256\":\"0x567123e947c171bd349dc5b5d970c94b8b5fb7b2b168aaa7be94ddcb0fafd148\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2325dbca04dc7e655e0f269d5c725ba25f368f8750185e6d274634626d53e3d\",\"dweb:/ipfs/QmTrdTUMZwMzQebsa4jXTee74oyvRx7wiB36fjUdnahDAE\"]},\"src/codegen/world/ISeasonPassSystem.sol\":{\"keccak256\":\"0xaf6205c715a42e4dd20e097e3cf51a2f756733483c29e468c1aa721dc9a24e4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d036a25460398394c1f44ca7defaf0f4e531286e07814eb4856ccdeebaef8fe\",\"dweb:/ipfs/QmbwSQVHDceD7C8eKbkXDRS8RWYNeNzBgs8ACU9JJadtfH\"]},\"src/codegen/world/ITemplateSpawnSystem.sol\":{\"keccak256\":\"0x5a584e21ccd0e9a5b7fbbe450e65b975f86b0c0be53a2af0cdb6f821e87030b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b3f578e9017d81d8498af5032b8fe2d4a913b1356f59fc946de434354c340f2\",\"dweb:/ipfs/QmXU21EvqQHZYyxBUQW6jhukVG4CG9pvfTV7Tj1XFTAsoC\"]},\"src/codegen/world/IWithdrawSystem.sol\":{\"keccak256\":\"0xe85269ffff67c58739571609021f6a9d8d96b313349715878c96d269a987cd0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb28547cf73f27880219bd862a3d11241aaf312bead993de6173f3b9aca4f910\",\"dweb:/ipfs/QmThq2cUsM673aCk6Nfu7JhoxEnAJ5NLWBSEfipjBQ6yyQ\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xaa09910f8627c4912867821d397a3ff40c84ae9a70d34353870c88a39fc78857\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f545bf8c1ab49848ad7ae710c50f5bf6d6152cb7775851212db14caab433c6fe\",\"dweb:/ipfs/QmaZxcuBKATG9FwfWHBRC2LKAxiBFpidVYmDunpECShVMy\"]},\"src/createMatchEntity.sol\":{\"keccak256\":\"0xafc364338d2268475b4227417f3373f45fd7b742455c78bf11a132b08647accd\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://82d55fd9f57c42f4c43df06cf4a51787816a997fae7037f7c9621fbd82931ace\",\"dweb:/ipfs/QmcemA4LDRR3Eg9wBGdHjX22umLXuzM7Fh5bG9ewuZTYdz\"]},\"src/hasToken.sol\":{\"keccak256\":\"0x44e71d6a9aa33d02b504360447686ff1f3a2cbcf4f4aa931fc7d26dec735fad1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a44bd8b67ea0592494ce1a08d943d867f5f463bc290aec58c2a096c427fa676\",\"dweb:/ipfs/QmQmBisU3wannQYyMZzyPKhp4ooaecsKZGnWFsGqPgBTDC\"]},\"src/libraries/LibCharge.sol\":{\"keccak256\":\"0x4318fcecfcc53e634d062ddb61eead0e494c139fb58cf69c1d017617d1b24653\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9535843a7124650ce66cdc1883bd1a7835b1b3d6f774da572bdc2398ed51d6d2\",\"dweb:/ipfs/QmSr4xiiA3DJe77NukhLYNvfNBBnDPUuxwgrogDjDF6hJQ\"]},\"src/libraries/LibPlayer.sol\":{\"keccak256\":\"0xe9de8b759ed2b8ff36aa5f94fb621c35d0022a2f950d419c2cf1473423a0dcb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bd4e2f8d5ee654644e3eb054e1a10a0f037431d4f2a58ed9abe55287118b2d\",\"dweb:/ipfs/QmfWJeXMHCEY1pqmGXkBydj9ZvEz8t2PTtbxd1pxHW2Ktg\"]},\"src/libraries/LibPosition.sol\":{\"keccak256\":\"0x9ae1a290214c0caeea66fbfd5eff276d691abaaac31f87f66f33c478429f3eaf\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://d86f9edb82ac20a5adeb8a52686bfc0f85c15077f63d6e124f41d1080ac97661\",\"dweb:/ipfs/QmSu1jFLZyGtHzybfogokh5UNcZQnsj69T8GRTx7CZoMPW\"]},\"src/libraries/LibSkyPool.sol\":{\"keccak256\":\"0x3612721f598609d2e6192e7e569f1753c7388085443a014099019b895bc10b9f\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://297eb7bb2e12a3b2e988b515f463e5843605b5dc0876a7f0ab10f2a4ba859ca5\",\"dweb:/ipfs/QmdxH5yvtBRGaNYV3NfUejMEM76QxzBmKfWhUCRP5Kc45X\"]},\"src/libraries/LibTemplate.sol\":{\"keccak256\":\"0x470f40c0f9be626745a48a8e04e764f04d1a31cd57769a3f2d5836913b085105\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://932874d730297cf2ba85a6479fca998241e91940b2ef9995215c97e78677746f\",\"dweb:/ipfs/QmQW4JPJyJU6WfaWQ9oMggQ8MzfhMyzstK4KEjpRYvDhHU\"]},\"src/libraries/LibUtils.sol\":{\"keccak256\":\"0xdcee541e94e617c1f6ae0ae9b271758acff7f49170d7b2373f7f0a54297fe332\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://c094a9a0a6939e9e92eeff3de242ad34c68d1850713c4bb286ba760082e8989a\",\"dweb:/ipfs/QmZ8KZFwche6syBrfgswKiTJRsDTNCPxz7bR9b2tpvFU8S\"]},\"src/libraries/Transactor.sol\":{\"keccak256\":\"0x208d328c343e03bac58074bb71388c4b5bbac2a4933a432ba3edfb931d40ebd1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7287ee856a69ee5ff116536cf45e8876be6e8ed8f4dab27b6d65b8123adcbbb\",\"dweb:/ipfs/Qmdjseoj7sZfeLMHPqnqMNQXEP55xgehezRgKNhJar2rPf\"]},\"src/libraries/templates/createTemplate.sol\":{\"keccak256\":\"0xda5f57dd98a9a6c08573583300e095fd05bcb169c91cda43e11728893ee12209\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143d572d105badeb524e25c45aa711bc89b511c18adc62538221b6177a444b16\",\"dweb:/ipfs/QmehGCyRRuLeqnKWGugV74hixnsyNc92tp1uQ4S2RQ9mFp\"]},\"src/libraries/templates/instantiateTemplate.sol\":{\"keccak256\":\"0xa09c25ac29a68dd9c455fb7760874d0fa25224532e05458e2e2d01dc367fa992\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://393b441ba615f451c2966607766845fd83cf94264ccd03aca2754ed3732288ec\",\"dweb:/ipfs/Qmc1cQ1YJcq7PgKp6ZgSK2UwyVxh45A86WDxKbfC7Mhxft\"]},\"test/BuildSystem.t.sol\":{\"keccak256\":\"0xe4c2d9a4f8d1323f825242225db6297d5a45ce6bd1ae0cf93e89901de8add3d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca92a1c86280f20bf88d635c23e4d14f9368202ea46aac9f03b80c33836c35cc\",\"dweb:/ipfs/QmP4jHS8KB3Qvv7UK8BWz34fa91p3qCtaTGrosLcNAXPtx\"]},\"test/SkyStrifeTest.sol\":{\"keccak256\":\"0xda4c779e10aa44943c178a231654541c56d8433e396aa004f5e005810e8f87ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c034a0ea9446fdf927f3ded96523ee0b8873bbefaf9951ead565d65bf7f395ae\",\"dweb:/ipfs/QmdPgUwnUV6QW8pAWN2wpUvxaC3uxJGz3D6GMA4pZpBjaP\"]}},\"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":"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":"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":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setupFactory"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBuildUnit"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testEntityBlockingTargetPosition"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testNotAFactory"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testNotAbleToBuildPrototype"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testPlayerDoesNotHaveEnoughGold"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testPlayerDoesNotOwnFactory"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testTargetPositionNotAdjacent"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldAddress","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/BuildSystem.t.sol":"BuildSystemTest"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd","urls":["bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798","dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W"],"license":"MIT"},"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":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"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":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"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-modules/src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol":{"keccak256":"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc","urls":["bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047","dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"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":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"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":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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"},"node_modules/@latticexyz/world/test/MudTest.t.sol":{"keccak256":"0x7d5a7010debe541fa26701a01524cecf81ef329fd7a9dd7d5edf546e0a48aea5","urls":["bzz-raw://193f9193286327d97b8cf38d3034760459fcf3d3622fa12e1b72c7fd02c45c03","dweb:/ipfs/Qmezz4SxgVVEiFv72HZF1cEBUX5xBU8zBCWs16Jwg8Udgk"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54","urls":["bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5","dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9","urls":["bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c","dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x38c788c4869b7692243c98de26857f392175ba292de160d9eac24fa34ed1d1b8","urls":["bzz-raw://d4b18b42ccd9f51ace79f470fe2d196974ae867667c5a7e9b7e8ddb47a5e83a6","dweb:/ipfs/QmZ8AJdCrMVFLsZJsvp2d4Zi7c7wVgQh45XrVwdrzR3Vmr"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f","urls":["bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4","dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612","urls":["bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f","dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0x8134c22af343e12f0ee5c565a2eb0d8a5472da7f499abac7b519f634a69c7c4d","urls":["bzz-raw://1552599c06a879f4938e14b1fd1e4a4a7eda097b1c984ce0a9cbca33ea64f7d6","dweb:/ipfs/QmNxyLpvNX3woGMHJAQGz89dzRsMFaxT38ZmtgPVMG2DLD"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a","urls":["bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3","dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/solmate/src/auth/Owned.sol":{"keccak256":"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea","urls":["bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4","dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx"],"license":"AGPL-3.0-only"},"src/codegen/Templates.sol":{"keccak256":"0x39ee06e740a5bf5022a54eefcfda6c408ed0c3038080f3f3d1a61092c4e12070","urls":["bzz-raw://77c8ece77feaa0c9e92fee71c662e9137eb2e49f697b08eb6fe3caceb9b47b6f","dweb:/ipfs/QmapJpVqP4GZ2QvDRKCzG4KcHAm95P4EWG2vsSLUR8bkC3"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xde2e4be7aca0c3e8251af4967910c5134427aae34480f4a443a0f0ef97304ca8","urls":["bzz-raw://646bd92523b977f3d71d23c858bcc1d60d22cdb3c0008debe68008dab535480c","dweb:/ipfs/QmQe7Jn1xt6sjCc7R6RSnZXDbCpfsuK3WEHEc3ZXF66YaJ"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xcd45b20519d350da7ed4b0478a8367e43c49a91ecd2c532f0c14bd4a888c2beb","urls":["bzz-raw://bfec1c17ade7d90dd40032f6e018a1f6e1b4e2d5d7d882a75601882899046852","dweb:/ipfs/QmVH2RD6rejRjarwqkTcB1fm7kB2KzYJ3diq35YiceB3GV"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xf10e4e3cfb7e4c5fb9bbdbbf5680ec9068a91ef4921f0f34e7e3dc9c636ece96","urls":["bzz-raw://66e8d4dc995834e1d435266034f072339ace519d2db0db0dba319aa18c22b9f5","dweb:/ipfs/QmSnKW4cMLYoZ5TEHqsgVXebBCh4RKQTnBJ3jS7gG9oWwc"],"license":"MIT"},"src/codegen/tables/ArchetypeModifier.sol":{"keccak256":"0x2774f0bce106cb276fb82b29eb863105ffa4f3e39f5c4f68e1859ad017868d69","urls":["bzz-raw://c97bd37991895be1a497eb86c280ee4e77d3d8f2c189a99dc262302296da3360","dweb:/ipfs/QmV9TUcUThRPqdwfDVN4BrqYWzZNVCnbGappRfEAaZHsGx"],"license":"MIT"},"src/codegen/tables/ArmorModifier.sol":{"keccak256":"0x859465345a990b8f47886a4d9fa9e8c242e58640a287e9efd44933120cb15753","urls":["bzz-raw://871eabf4155d6d6f0526e04a67d828cf92b31dd74b160317238f754e0ecf5e6c","dweb:/ipfs/QmQP2GfftiUALMSnuTPuanZ7XuumvEVxHmU5aGnv166jeA"],"license":"MIT"},"src/codegen/tables/Capturable.sol":{"keccak256":"0x7d4470907329ad648ef968b2fca6fd0274e7949cd36958d4e982cfabb4064b62","urls":["bzz-raw://5a0b83506b6e48c200b2da24f534ab7814b69123e2c5bb752f0e5a589af6ca83","dweb:/ipfs/QmXd6mtKVrksyobryS6NXsyTHAkNzcQz3Tx367JBh8DcxS"],"license":"MIT"},"src/codegen/tables/ChargeCap.sol":{"keccak256":"0x7a83dbeb22169d6ebfcdb5643d66d92b5ec86131a0653203c2481b0e05c95db7","urls":["bzz-raw://ce738c202ac6192eaef051fb2c31f161aa25342c412a6573b16a90c739c9d6c6","dweb:/ipfs/QmSbgUHgyfRYayVZ46cEDNAQMFTAAAUp3EVNnPbboUKJmC"],"license":"MIT"},"src/codegen/tables/ChargedByStart.sol":{"keccak256":"0x5e57251fa96cff2d688521a9d027e0a1d10e6dd6aeb3d17b50218051206ce7c0","urls":["bzz-raw://ab7e380bd7efc5ec3342aa92a5baeeec4daf9a8e4d0a5d014e8885cf43f0f509","dweb:/ipfs/QmRT35J1DjmrsayXf7Ah5mG6M8DL5GYpugF9pjUjMunHGL"],"license":"MIT"},"src/codegen/tables/Chargee.sol":{"keccak256":"0x4d0667015c05d2ce9fb2d2bc21bfd624c52185e2a13ccfd24a31db7ab7bcd229","urls":["bzz-raw://e41ca5034b0c715c58b7d07d7e5eca056b8124fb29d54ffbbcc67bee85e6c672","dweb:/ipfs/QmWQGSHjTtqUipQCs9k3ApE1QH513U6dT4fWLbmhR3XhKG"],"license":"MIT"},"src/codegen/tables/Charger.sol":{"keccak256":"0x207ba440b1726fd34eaf3b06534cb6b8ded261cd18e8ba293b71513fb30d4e59","urls":["bzz-raw://9d7d5ec258be098dc360450083f387e8883bfc5e04c7a397661c246c3a0d9c98","dweb:/ipfs/QmXh7WUv6nVGaWwVUPzqZWxa6ZdH6dvbRyHpNyXMAkYkTS"],"license":"MIT"},"src/codegen/tables/Chargers.sol":{"keccak256":"0xe53ec363e1b998df4fbf1b224a422fed9e7318985b3254445ff6382c690f2d39","urls":["bzz-raw://e145661f9a411fd80d3a1345c3a884733a70e3a0692a6976c83ea1082ab7eefd","dweb:/ipfs/QmfHP8TjfffzoxBvMEkbWweRbMJdkj7S25CjuKEhbDwBQh"],"license":"MIT"},"src/codegen/tables/Combat.sol":{"keccak256":"0xfb75582c7b47a2c3a039b2363990778a09ad881f807c6059c089e327dd5622c8","urls":["bzz-raw://9025892eb625a405bf5c6e73243aba096552623bbc65a70a8535e52b7aa9ac12","dweb:/ipfs/QmajtipyJe4nvwRFUGeWyvkPdPUmNbSyiBvMU2ReaDcWQe"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0x39c34c16752de956bc808338eaeb3f8c50d8c43708760bb48da2ba9522659716","urls":["bzz-raw://f74d50ed5660f8c49a0587ca124ba6a863069983f680a0809f18b6e7bf7bbf7c","dweb:/ipfs/QmbYmq8WLedbhTRKTyVzu9KHbQDGUkBa7Kjkk6gWSBXP68"],"license":"MIT"},"src/codegen/tables/CreatedByAddress.sol":{"keccak256":"0xee280d7f4f8fd0a521be5bba95a0b2506391b5cf61a40671ced8a550137ba926","urls":["bzz-raw://b33847b93edbe83be6cc9f87aa589f7419b2e631a475a8a3cf50cd3b50d334d9","dweb:/ipfs/QmP9aM73jjRTcWpgQFNjB69P7LEAdSJSP3HFYq4Pb26W9s"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x9b7c55dc61d9ecfba53baf29240424272243a7cabf51a2fe77649dfc60757775","urls":["bzz-raw://6cd8f65bca9918f2fd26b61af7055ff949e63c48c1dbce88cf42339e73528a8a","dweb:/ipfs/QmSGsPVQZHeAFwPasf55dWgVY2pNubS8AyABb5L2faqR7s"],"license":"MIT"},"src/codegen/tables/Factory.sol":{"keccak256":"0x3c9d8dc200b6812b2860b947dc7dbcb2b5f09988ceafdf5cda9e015258672e51","urls":["bzz-raw://08ba9b493aea9440f5b8d5fd0f7ea5626e60003a6a328c982d1e6f892744b198","dweb:/ipfs/QmWwASAHJ7xXKx8F2y8vaH3uFvo1SCtKBwapiMy7X9kKgD"],"license":"MIT"},"src/codegen/tables/Gold.sol":{"keccak256":"0xb1a08fb494fb3dd7ad6c55ef1c4b007d2782681334e313a3b4e6367bfac46eeb","urls":["bzz-raw://e9b04b672466b0a86d8d6bd945805aaa3df29a9bc6ca388ed266625f95f11666","dweb:/ipfs/QmZzDoG8gzERLqFvpRTZaxp63z175w2Kc6n4BeQqRqQsn7"],"license":"MIT"},"src/codegen/tables/GoldOnKill.sol":{"keccak256":"0x2648461ac0ca9286a16105b54b5e99d214e73e7bc0e38e536e04036759ec28d9","urls":["bzz-raw://bb72d5e3d68bceb9dbf9e980aa9ec6da998c08aa3928a865e6bc42a2c68c6ed0","dweb:/ipfs/Qmbpaz1M3gSLRe2oCaXjg6N9DcTkt9dKLpt7GVqRfqPc9E"],"license":"MIT"},"src/codegen/tables/HeroInRotation.sol":{"keccak256":"0xc767deccaa4afdfa100908ea469eb74f0fb03862fb4bc314bca49accba781bc0","urls":["bzz-raw://5b396cbc21852732ef7dfcc20c451414c621f48800e3bf8a50c509d99fbf2c22","dweb:/ipfs/QmeGZsKbwjg6NUr2zGDZZVAJWtZMaKNVi8GmM8ferQ9nwm"],"license":"MIT"},"src/codegen/tables/HeroInSeasonPassRotation.sol":{"keccak256":"0x97e034873505b7620541b0e76d3be71d1eeb5bb167b9bea0a9c79755b3af7a64","urls":["bzz-raw://71670f47d76690aee6e2e09616695dfc48fb10f676a590aca400b72b2b8c0278","dweb:/ipfs/QmWYep89a3xEecxce6VQDcqiDP2oQwb9brw9YdZ3cAgAHZ"],"license":"MIT"},"src/codegen/tables/LastAction.sol":{"keccak256":"0x8efb6c27febb4017c5f12749fa6bb7b9ee4d96836f5f648112402b64d6471dd2","urls":["bzz-raw://00adc0def56f28c5ec1bb67138dd52047df62532f6d35c9c0d8510c2892aec21","dweb:/ipfs/QmXTAEnVsdaqDYhz1Pa1GY6jLwRbQL2v1rmruXTAg6tqq9"],"license":"MIT"},"src/codegen/tables/LastMatchIndex.sol":{"keccak256":"0xd0cd2ff0bf4322f86d686aab0133b817ff2ceaa525efda859b63ee56414e5d9c","urls":["bzz-raw://4db125d4a831723b4f8a9304aac762a87ee20b01bcd1942201930d434fb4729e","dweb:/ipfs/QmUAUQvZThNAqu86pzRisKcGEyPwpGAThUMDgURZE54qDZ"],"license":"MIT"},"src/codegen/tables/LevelInSeasonPassRotation.sol":{"keccak256":"0x0ce58903a78500f2e425b10d4ad4246350267e365bc1c6583d0f0509a572ee60","urls":["bzz-raw://43a29c5c794d42e97e1cde84b9312617d744db8e1fda5ee81a6479864f594e91","dweb:/ipfs/QmUSk4bvPB5QDHD5BHGbQ2acwFqMF6gzn2vJqbzbY5m4yv"],"license":"MIT"},"src/codegen/tables/LevelInStandardRotation.sol":{"keccak256":"0xd5f2745e9308f6208de9395ccfbd1bef51762ac38afa13faf89115504664678c","urls":["bzz-raw://77a3386c2de1b28a2519a9987eb0b844adcab8025785b938def1b76c94d31a8a","dweb:/ipfs/QmV7hGDSEx4qjrVdR98Y5wodz8BU4k9Vuoi7TNTyC8L6Gs"],"license":"MIT"},"src/codegen/tables/LevelPosition.sol":{"keccak256":"0x7b007bf3b5acd3ed78b7f9b854b9f87de7f9686a5391348e61102624daa34320","urls":["bzz-raw://5fe78370d1c63483c1ee26c716cb7bec1c8fc0630a11eb805f2970fcb629f8dd","dweb:/ipfs/QmQG4gCC1VPoPSqQyJQBLBKZFVMRaP2HL4w7y7N1zo281u"],"license":"MIT"},"src/codegen/tables/LevelPositionIndex.sol":{"keccak256":"0x5ae3287cdc0993f0a566752c11c794a5f3cef613137633a5b5710b27ee50dba8","urls":["bzz-raw://8e1bbe6c98bcc9cdc71723721ff8226f32d1c113a7ac3dc3e32c699ef9ced61c","dweb:/ipfs/QmeTq3eJkUt2tABVSVkvUYb3GkJddgvSx9YrS1c9wmh1X2"],"license":"MIT"},"src/codegen/tables/LevelTemplates.sol":{"keccak256":"0x7416e62c88753dae52abf397f9a8efedd3b7f57fe2a6c8d64746bb971fdcbc5a","urls":["bzz-raw://0a4c50a1b2aae84a6f120d098cc7228a0908350926758d518d76e6fe8af7bee6","dweb:/ipfs/QmT2uLbrcruogZVGPnimAhELuXhPrsCi372t6AdrwiCwLc"],"license":"MIT"},"src/codegen/tables/LevelTemplatesIndex.sol":{"keccak256":"0x23dce66b52fe3276b92e633351bef206795dbd770d1b3969a708e3f594145ab7","urls":["bzz-raw://49a48ef1c877c70c308305bc890f326ac6fabaafd375c372228d1b1c76e88228","dweb:/ipfs/QmYU9H4pUdGHmKpb9Xoa2F1oaixSE46FRbjL6DJqEETRC6"],"license":"MIT"},"src/codegen/tables/MapCenter.sol":{"keccak256":"0x33ca78f53d059eb85a87a778e3567e1beb08b0a7f5b1cda1fbbc3cccd5809895","urls":["bzz-raw://28288d4a845a45e31f7b3c6133b40a670cf081a62502a317c13822ec2122ce06","dweb:/ipfs/QmbYotHQrmowTusHUPKY1d3RhufGqPzdkFEK5inCakcTPz"],"license":"MIT"},"src/codegen/tables/Match.sol":{"keccak256":"0x6047491e98fd77fa6d8455a22de36c69aba94365f0a56a8de7871cc5a9ae47a8","urls":["bzz-raw://b073d9ed5c30a1d576a8bf87d579d887a66a27f6d5be64852efc1b1c1906fa8c","dweb:/ipfs/QmV7uZ3Eu3Gr9UzF826WRQvqFA8ZaUBkmopEtMSFy8ze4C"],"license":"MIT"},"src/codegen/tables/MatchAccessControl.sol":{"keccak256":"0x37288fa25ba25104191c5456c6fd7b7380a0d6201c2a9427b5e1eb74002ef0c8","urls":["bzz-raw://b61848d2d319bda3c882b020c4b50953f4bde7c77280ce6251a5aadff11a7d22","dweb:/ipfs/QmPgaYhDgN39ZJMiZ92N8wRbvvSpLZDYUYgeQoupvckGXt"],"license":"MIT"},"src/codegen/tables/MatchAllowed.sol":{"keccak256":"0xd4bd94fca7cd88e4a1c1af87b8b718311e850c231a1f8927938f2273bfadd8f6","urls":["bzz-raw://4c333c604c745c496f0a19b52851e767be70f6c18c6b25c0c5ec3bf4f1887082","dweb:/ipfs/QmQFNBQrAcnoCj1WwdK3asHcscwUa7ijmAMzgGp5U37odN"],"license":"MIT"},"src/codegen/tables/MatchConfig.sol":{"keccak256":"0xe7043b09e90efca02f0f00c74a76cf6d5a77566c22839cb04c84f9af7a104d92","urls":["bzz-raw://3f9eb78465fc312fe06f8c46404367990e039fb86281da7f87d5fa515bf4c125","dweb:/ipfs/QmW5keQr1kgsoREvctNEo6qdeWyE6TCcFogtxziRNM2zES"],"license":"MIT"},"src/codegen/tables/MatchEntityCounter.sol":{"keccak256":"0x9b1ee0c8f43b3335c8b7ba283a7e8c720e675637e67b96f8e1f99e23ca6351a4","urls":["bzz-raw://4a809c81f0534f038ed6d7e4fae7e4c14ed403345196eb8e9147998564608fc3","dweb:/ipfs/QmWsQ8nGm8FwDwrD7Tm5axpsLcjE175wtR7mGdPfhZ4snE"],"license":"MIT"},"src/codegen/tables/MatchFinished.sol":{"keccak256":"0x128aca9ae5df0b7d2f49256ed738f0c4940e183a78a905e66e4786b65225b2bf","urls":["bzz-raw://13e2ca1e62ee9129a4aff30416fd067216005dab1ef890e83f22eb2fb921a3cd","dweb:/ipfs/QmNkoDRhYkQGbey8y3NVjRHj65ywt4N6teh3xLUkVvChCR"],"license":"MIT"},"src/codegen/tables/MatchIndex.sol":{"keccak256":"0xfc79f9d5165d12e52d0d98c8bd1d9218c7edab051b1fe5855985c8b8cbbafd05","urls":["bzz-raw://3821f80fbdce89cc3c298af23be6b3d9c72af782613dd9c6ac76e6109ee9ef76","dweb:/ipfs/QmQT5gyjetVUiEtu26w3F35vijHN8uMNjLYhkdoGNRF641"],"license":"MIT"},"src/codegen/tables/MatchIndexToEntity.sol":{"keccak256":"0x643d1bfb36f3eaeb02f9d40d4e15e99156231ad4aca4bc6a1cc9ddce63e4c7f0","urls":["bzz-raw://546d579174c65ff4dbccafdfbc840f7fc514e23ca2523a88c0ff97c6c2cf593c","dweb:/ipfs/QmaFfVPQVVfVVJmj2wwWCP8Hc7Nh1uBi4vvxc4ZEL8Fwkw"],"license":"MIT"},"src/codegen/tables/MatchMapCopyProgress.sol":{"keccak256":"0x330646e80e0032b5bb10d89c380b9673d47b712fe22cd6756789811cf03fddc5","urls":["bzz-raw://34920da22632a7dab6b30a2a2bc966f74b3bec7f980091cd090d5cd7f7e389bf","dweb:/ipfs/QmQ1P7CCNBxGjkuj3hHCxyYdftHfdnhEayPDHkJmjLi1z1"],"license":"MIT"},"src/codegen/tables/MatchName.sol":{"keccak256":"0xcbeafc76a6acf829a55a550b2a3eadde85d7bca60f466ecded2d774dbf0a20cf","urls":["bzz-raw://a73cf84685913febcc31ddef9e1a99f30f8396642fcf8da48063c0585022f7ff","dweb:/ipfs/QmawusYMCnSrdYZoyqpm1Ge4LgV1R5gocUNB9wPTUV1m45"],"license":"MIT"},"src/codegen/tables/MatchPlayer.sol":{"keccak256":"0xee101160ad514436bca33cd248d1db005dc617079446e108b51e634e4b733466","urls":["bzz-raw://b1513a939211b457618b1b6ee51b1aaf6a7d27155e9b1b1f6f1092994dc5cb2e","dweb:/ipfs/QmYM38eguwxrdoY2aCYgPjkmv4Zy1TQKqnUzSLnmgQ6efy"],"license":"MIT"},"src/codegen/tables/MatchPlayers.sol":{"keccak256":"0x15be786172faac4a093405cbed6b04179e346f6d7fa406c1655e662fe5cd5ff0","urls":["bzz-raw://74accee4317b30169319461722907f0bc15fb68e3a559ee5a20243ec05951b29","dweb:/ipfs/QmcTrgqqepqATKz7o3xRu9U87pUcjoofdDWyyoCpSscADR"],"license":"MIT"},"src/codegen/tables/MatchRanking.sol":{"keccak256":"0x495d1fff5a589eb704cdce9dc204140a986ac3f0d127cb53b2457d155f0ec3c3","urls":["bzz-raw://34f4bf1e9c909892736d6fc96a74756aaa38824eff350f108a09294251765e86","dweb:/ipfs/QmVnHpCzj2jXYDmUz3D2BpmYL4PfpDdtdxhr4BHVzhx8tt"],"license":"MIT"},"src/codegen/tables/MatchReady.sol":{"keccak256":"0x55de77e1cb9c3885457a4fa929b103c08dbcf2f98a772ca1a0b0e1b53a258f95","urls":["bzz-raw://8304446db0452005a96cadf4ff8a7cb608b2622b0e422463774477495637c576","dweb:/ipfs/Qmbhwxi9jWL6ZKgo8Hok5C9oqX6gWSf2fbGMxAdeSL9a7W"],"license":"MIT"},"src/codegen/tables/MatchReward.sol":{"keccak256":"0x405c42f0bae0bcf542e1558992ce79e47ba4ddf4bf7d7e825764215c15b484c4","urls":["bzz-raw://913eb3da7a38e336efffa9882f00833ade8ec5f963714cee8ce59ab533baeacd","dweb:/ipfs/QmV6fxYzRLsu7KGiiEEpA8R8ZqV8G6d64cu4J8E7PuxzVG"],"license":"MIT"},"src/codegen/tables/MatchRewardPercentages.sol":{"keccak256":"0x23e7f2766800ac019a1bcdf72a02f031c3b134dd0adc4b0987d16480cedafedb","urls":["bzz-raw://7c20400c50d17afba333659761d0dd2e76bba5a769e51a771b6838955ef89db9","dweb:/ipfs/Qmdcqs7NHBWzFTkSchmsLggxZvFFfav7hWv3VJxmKXpUUw"],"license":"MIT"},"src/codegen/tables/MatchSky.sol":{"keccak256":"0x16ec4183a84c7ff1970582370856a8e1e77d681aec3cdf6d7e8b082f40ffb2c8","urls":["bzz-raw://7e2e35940eb37143c33c4483231043553b04ecb2b71eaed75484193d847333d9","dweb:/ipfs/QmU9yxrLzpF6v55gs8mkTgnw8mCP6VkXZfmHQe1b1EMmvK"],"license":"MIT"},"src/codegen/tables/MatchSpawnPoints.sol":{"keccak256":"0x756a07f839a1865b93cfd3a1e89dff0c09cc68900b948c2481908b20a0e30c40","urls":["bzz-raw://93de577f605f94d6b2d9e977bc6ea57d085a57d36633afe87deaecb976d669aa","dweb:/ipfs/QmeTCmN3Y1wiGd4oKGEPz57vy4p4hhx9go6XYMNzSYzUXH"],"license":"MIT"},"src/codegen/tables/MatchSweepstake.sol":{"keccak256":"0x116a1b8e65f1e388a9ec2959940370e4e1ad6202ae694f84a05ee5f9330471e2","urls":["bzz-raw://a7977b6835cf0326a539a8df2ef50eaa1b842be1ed4115aa4fc1e2ba24468211","dweb:/ipfs/QmbD3oWJLR2LqsjfUFbLZVpMq1iYfvA4Sa2actx3Qe9eH4"],"license":"MIT"},"src/codegen/tables/MatchesPerDay.sol":{"keccak256":"0xc2a833021b54a6fb7fa22912951e148a94db4a243529ec0f2773eeea96552909","urls":["bzz-raw://9c3beeb6a1b4953ea158eae7c6fa48f1e7cad821db69ba13065cf9a6a7d3d973","dweb:/ipfs/QmYHNwJxaaxdVCLJ4FBy8HbfvZG5uvUSZZGhbBVT7CP62T"],"license":"MIT"},"src/codegen/tables/Movable.sol":{"keccak256":"0x992cd2679446862395f78738431562132ba2ebe19d356f3f4a5f84dfa98766e8","urls":["bzz-raw://586483965abd1455641d717c8026b2547831b65a98babb223bd1daa494eb1300","dweb:/ipfs/QmT8qmrmzvqfPvekMqc5gvCUpVGvm2jVHiikpqb9eBB2tc"],"license":"MIT"},"src/codegen/tables/MoveDifficulty.sol":{"keccak256":"0x61d1c51f9a38261a1e28d1623a34e68c8712212e4e2ea68fb1d036da313dc795","urls":["bzz-raw://cdbfcc096f892fe1e18d8ad02347e06a14e3fb9bda2c0e4c7de5966ad23960b4","dweb:/ipfs/QmaM57xNvhSTjgfHEwjj1s5rhug3vmyUQgnaKUoDrKHqEi"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x587ffc590fbecde23fb55c032dc640421a6ecf1eb5e31a05cc9b624f6024cdc7","urls":["bzz-raw://3896bc33760910c0f97fc6c44390ce7d811642111d1cd723d7d6360b68c4bbd2","dweb:/ipfs/QmYZguqg1GnBCAzqUMWzzgy5nr6jJj2qn54DW7VSogDMLS"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0x737370a09bf6ba5603156a800695545996c2411d452fe2cb4601bc250aa6ce85","urls":["bzz-raw://414c641f57ef05ec011c23c386e536eb16a8d3fc09ee6c3ee28e4a9097071a5d","dweb:/ipfs/QmeFDFdVto3dejjMhQJPigGRt5EXtBB32TBN1UfMHpS4ts"],"license":"MIT"},"src/codegen/tables/OfficialLevel.sol":{"keccak256":"0xdf385936440217206a6c58d4acc92435dbce85ff27b28934d8d04a6e6263e61c","urls":["bzz-raw://7986b6d0d66ba0d02b2121b11dd15fa883684373e05d346d0ffc3bb09c33479a","dweb:/ipfs/QmSDHQaxzvjyWpb2Q9XSSMgkwFNQ4pRDxUDCXbWjxYzzJ3"],"license":"MIT"},"src/codegen/tables/OwnedBy.sol":{"keccak256":"0x54dc90730a1d26c273135b68a2eafa692ea7bbebe2c8093901fb6dfb7241f616","urls":["bzz-raw://4b1a76c29a92ffba96b8d3eb3fc3703979be26fd9524e282aea95ae9b635c240","dweb:/ipfs/QmQMCZnYdoRdDrYdQ9tAmVKCpZ13nk2SpSCnQkHxLfTSiZ"],"license":"MIT"},"src/codegen/tables/Player.sol":{"keccak256":"0xe254f3c4755d5e3c0e693610f97bec61c43af6ac47e211f608f5f6264c884b92","urls":["bzz-raw://e408973d1c4fe436247935bcc79d9a8d64dc81e56ee52ab07f3c35340e950f32","dweb:/ipfs/QmQgH7rvY2gYsyircaihk5oXnesupQ39xu3npARj9snHkF"],"license":"MIT"},"src/codegen/tables/PlayerReady.sol":{"keccak256":"0xd6d88d036e7e044eb033f40dcac52a72cfc883dbb1a3e8c0f805d0262302584a","urls":["bzz-raw://2b85b2eb8171153981e617ce3c3b3081d4c3dabb1086a5ba30839f5f8c8b8b4e","dweb:/ipfs/QmYDzjiQEqQa1ZmeQvqp2Np5CHWJGuBgN9KJqWwBj33odK"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xfdb0bfdcdd0faa001251237c1d8d11dfa5c5f55e92a73c3e9bcc8d15da6d2f5e","urls":["bzz-raw://1f2c6ba12f7c1c4d2bc532953f0eb308b1acc367fd8e9f8a9c22080d1b2a26cf","dweb:/ipfs/QmSSrdowViDQzdQNFZtQAiV64uobjvcbyqKeJYiB3SuiKo"],"license":"MIT"},"src/codegen/tables/RequiresSetup.sol":{"keccak256":"0x66f46d938735289692660cc2e662d9af917b7f0e1d3bf72d5816cd2d1d052bb4","urls":["bzz-raw://3099118257562b270eb9de2c59e010930873e75671b8325d2e889c0c4f1d9813","dweb:/ipfs/QmWtbBEZkbs7WkXPYcc4nh2YhSoDNvwJZS4vHjG5pn2GGp"],"license":"MIT"},"src/codegen/tables/SeasonPassConfig.sol":{"keccak256":"0xbfc1bf9367cbfbf51720c42368e00fa5d1205376506dd6a5c774cf3671f25783","urls":["bzz-raw://47c1d5630a095574ea6ff159d4d789811de1a94944708e13e5565c10b3dd9fee","dweb:/ipfs/QmYXGjBVKWe6a6mQYAmFjQURzux1A1RJCKndypXXi4DqGL"],"license":"MIT"},"src/codegen/tables/SeasonPassIndex.sol":{"keccak256":"0x4e9391e9f74a6bc7584d68b39299e7cbc46bbd19cb9ff41757e543f4d4d8076f","urls":["bzz-raw://ce4f38a82777d872e77680c4247a3fb7a0d3382d928343838cdbe560b23df1cb","dweb:/ipfs/QmUEwc1Xx7eGyBzjuWMTvL9ZZ54GHotB7z5TVUR2CRfXi5"],"license":"MIT"},"src/codegen/tables/SeasonPassLastSaleAt.sol":{"keccak256":"0x4e2dc83f3bb7a69219900138b8bbeca95b1b3db499b652b46e82af3d800c900a","urls":["bzz-raw://edf4e0b57fc1953f0d010c1d1e9f89d64f6a71c08062d2865bd82fd7e31962db","dweb:/ipfs/QmTqUhccjfA7g1ihndFmX1KnXSkngrA8ZezipxQbC5q9Zp"],"license":"MIT"},"src/codegen/tables/SeasonPassSale.sol":{"keccak256":"0xdc1e6a8010139fbe50abe14ec230b7e7e6d8ea51862017f89e943c37e4ed9eef","urls":["bzz-raw://c872f8bc71d0c6564816543078ab471d855162372e38b7efcc28f2935aef79a5","dweb:/ipfs/QmUzToGutHfjtEuafTwTS8VqTA9Ed4hSd1DeG2ZtCs8Utp"],"license":"MIT"},"src/codegen/tables/SeasonTimes.sol":{"keccak256":"0x14b138e1714c163093d765bd993108ed3d42aa7ed6347464645c14d3e8b4948b","urls":["bzz-raw://58d5e5c5fdbda3fada43a356725ecd9c2d07223b66f26863bf3da68a9c10ca3f","dweb:/ipfs/QmPnGaKuWe6mUsmeSjvvVmx3xheFSminMeu1WzbdFzpQ4J"],"license":"MIT"},"src/codegen/tables/SkyPoolConfig.sol":{"keccak256":"0x5d64965969a4fd273bfc63d403d9c7fb8966afc532136bdf786c72b762f0247f","urls":["bzz-raw://0a68f12857bd4991da2d55b2036088ab06a2260332cb2d9d19dbee17afaf98aa","dweb:/ipfs/QmRtiHverx5CKGyuwjQCTkhwwmpEX5MEtCkgH3vYve1nvt"],"license":"MIT"},"src/codegen/tables/SpawnPoint.sol":{"keccak256":"0x78906bea1e126b05a40746224a19bf08245617ebf36d5b00533d78f600ed80cb","urls":["bzz-raw://14609f17a3e50a3dd514cf66ce2c67cc53da0b098cc35a9b95555a4e35ef32f3","dweb:/ipfs/QmZiX5dEHttgdiYPfCknkNN4vYfrRdnEsp8GERqGLNhB2f"],"license":"MIT"},"src/codegen/tables/SpawnReservedBy.sol":{"keccak256":"0x6a17e250b900eb9d623f4926de4489882c2b2026acd08605053151ef6350d473","urls":["bzz-raw://a80a2ad46e8004219d931f2dd5c5b4e95107ce0280f06af0f1a8f87df32cb4f8","dweb:/ipfs/QmRKyjDXJ1j879J5TcYq6yBECFxtZivZDNPUjy1QrGf6qQ"],"license":"MIT"},"src/codegen/tables/StructureType.sol":{"keccak256":"0xf2a62d3afc680a0425b964d752e1b3aaa12f66e9ae20a80ff61f2063f9f74033","urls":["bzz-raw://83323d65688309464f06fdb08d0e46e09d6f9498627e61ea9c79e30347dba797","dweb:/ipfs/Qmc2hS9eqV9tdESgHt2iu6YHMEGHToxv2KFrvt4LPG8TCZ"],"license":"MIT"},"src/codegen/tables/TemplateContent.sol":{"keccak256":"0x0cdf0cf6588d72332903764dfafde5331e5b68ec132eb6b40e6b324dd1fcb710","urls":["bzz-raw://f0e40422c1a173cc04e5df496714aaadbb98086f06e2fef736b99b540253d92d","dweb:/ipfs/QmWoSy7wPUMM4Udoi7M6M95tJjUDFpuFPgBwoXbsZnRv3e"],"license":"MIT"},"src/codegen/tables/TemplateTables.sol":{"keccak256":"0x07146cd69cc87c73e5aa04cd033f54f04c82cac09b57c7427d631d4d8df17035","urls":["bzz-raw://48e6f9586a1a77b90c3e86138c9560394ed420517b2c8a4c407823f505188d7f","dweb:/ipfs/QmYjusEWnpwFGZDQV2AvLwY4DRV3oLHMrNDxp9EbzbimPA"],"license":"MIT"},"src/codegen/tables/TerrainType.sol":{"keccak256":"0xa67a0edb0d1a70470de01dbf43327f9d911c12fa08aca734c417c591721e6b87","urls":["bzz-raw://4927c5e934cfd8575799f5bcef8c7392bc2da2bb84d463c9441f785dff8fc077","dweb:/ipfs/QmYK9Swtc48ndGcaeyqpj3o248nspgkmcN5kFEaCAwF9pm"],"license":"MIT"},"src/codegen/tables/UnitType.sol":{"keccak256":"0x5703cd50d2cdb70757024245231899a35de083c49239a10cb1515f459aae0ffb","urls":["bzz-raw://9f3f90e9a9e08b9dc4e58092fe7802f3671c9684ee998a4014613b03725ea6bf","dweb:/ipfs/QmZZjKPByxqcbEYhE95f794ud6i1tkqJPSbGsqSXHNMQ6S"],"license":"MIT"},"src/codegen/tables/Untraversable.sol":{"keccak256":"0x0ac641c25a8910d70d3b092d152063a49c6353c16b17e1590de0b72f2fca75d7","urls":["bzz-raw://cb94e6a5eced54b95558842986aaafbdebf27363e9363402f72885845b72e12c","dweb:/ipfs/QmcxBUHXXbcxgxq31Ss1vi2BtsW3enedLspVmV1Pd21UFd"],"license":"MIT"},"src/codegen/tables/VirtualLevelTemplates.sol":{"keccak256":"0xa2ae7f4ff1efd2518ab854c0883b2f696cc29635232bd241786a3fae7246bc35","urls":["bzz-raw://bd78db57fea870896bac73809330841d091fb2234ca79c8caca6eae350557b7c","dweb:/ipfs/Qmae8optd6w4gP47g9kGAAVRybGivKBq36saxEdZq5qV12"],"license":"MIT"},"src/codegen/templates/ArcherTemplate.sol":{"keccak256":"0xe20cbd1ce5cf812261ba289a1903c9026f74e43455a31b17625025f2d59a00d9","urls":["bzz-raw://ff74f89173e6d956e53acd27c9a780e75cb3c713c6515b4ce0e1bae2d43657c4","dweb:/ipfs/QmYdfbj7r1PQ6Z6dj7R5ZzADxCkoS5dK6y8rvXVDbLGQFh"],"license":"MIT"},"src/codegen/templates/BruteTemplate.sol":{"keccak256":"0xa0a0af2f3b20342ccff808b2a458b6415040aabeff3ee790a354bff816c1213d","urls":["bzz-raw://70ac7a219f2ccdf81ebbaa96eab4c34ea31bb59a89d87fe848d73f5ebe879a6d","dweb:/ipfs/QmNVdMdsU62Qq8iNtiXogR4mRyyDggkQ8NhNe2XYLAprdD"],"license":"MIT"},"src/codegen/templates/CatapultTemplate.sol":{"keccak256":"0x0833482fef791bcd2f4a126ae5e83645c4916602ac5f1927fdf36385d8e9bc16","urls":["bzz-raw://f332bd2f7b94332250ff00730074ac19b9b75f76b5c904130153dc0d4910a79a","dweb:/ipfs/QmTmqHohwgQGRkAnA7MsXjb8yrhohe8WS2UdvVryNFZybK"],"license":"MIT"},"src/codegen/templates/DragoonTemplate.sol":{"keccak256":"0xcd3936768f1fa980670f25812ae1d6611331857410d0c413773b38f0393bdf92","urls":["bzz-raw://bede35fea188ad5db77857bf062c97da9e2d348add3e94c522df56db4a32394a","dweb:/ipfs/QmSrNEpWJtxFSbDVkUM9yhSxAWHREsHuwb95sc9H4v1imm"],"license":"MIT"},"src/codegen/templates/ForestTemplate.sol":{"keccak256":"0xf894556fe0fb1c1f7823dee417a0faf794565818b4762d681ffc396370732b96","urls":["bzz-raw://d94dbd067cead39a4bfc29c675e399a783186520a25e4fdee99a30f2d81dcf46","dweb:/ipfs/QmPh9rgDXZEErNEH8Y4LchvqHagbHuBa5zzzBCfidVKzgS"],"license":"MIT"},"src/codegen/templates/GodUnitTemplate.sol":{"keccak256":"0x0f11c751143dbae24ec4854d29ab75a8f3fd6528d779a472b735e36079106e7f","urls":["bzz-raw://aaa2b94beb37b62f162fa4c86cf8c7f067aa631e7f7f6463a45b1583636bb692","dweb:/ipfs/QmTonMfoiXUcuCKTrKLfzUCwWTD71y788VfqMY6AsCUxEF"],"license":"MIT"},"src/codegen/templates/GoldCacheTemplate.sol":{"keccak256":"0x547964c7f96cee22195979d3ae013ab95722dedb346d45dede970a25782d2b99","urls":["bzz-raw://c9e082b4e506ad2c5916a384aa5ac39b88ae537eda4b2858255e5698fbc749ea","dweb:/ipfs/QmamtdwGskTjj3zjFV2B8NL2RZCiJefbh4Jmk8sAmsKiHx"],"license":"MIT"},"src/codegen/templates/GoldMineTemplate.sol":{"keccak256":"0x8eb42338c914c92ec8495829d21f6f6237ee5ceee862dad535c7eddb1b4c1685","urls":["bzz-raw://4a09b8da90b3eb8c75185efb8d0d1b1ce0b6449f91f4723b95de90614edb9851","dweb:/ipfs/QmNq3WKikoEyJAgdAn7oN7KAS8Bn1V7WarCNjCGjwnW4RB"],"license":"MIT"},"src/codegen/templates/GrassTemplate.sol":{"keccak256":"0x5db4a62ac388cd8b93e841a344400ae57f19a206c1531bb1ee82e4791aa396ee","urls":["bzz-raw://9d4e61e61f41dc09778a3c6cb5330cf0dd6ff86372a7d73ec0a473f1a8c68063","dweb:/ipfs/QmSmuZeQm3uUMzBKbdeYz6LCxy1W6UxdfZGZtUwdayW5uG"],"license":"MIT"},"src/codegen/templates/HalberdierTemplate.sol":{"keccak256":"0x32ff84d3570344d9301e355ac3b88cb9bb1a3f767a50eb0c7ac2cf7c03733af8","urls":["bzz-raw://1ffac2b11ea7d8a72ff9d681870e153551f9536775e27ab18374133cac78349e","dweb:/ipfs/Qmbo4A91jf7HwCtBKzmTb8UAKk7aRjGnpxK9g6PJhGDLsQ"],"license":"MIT"},"src/codegen/templates/KnightTemplate.sol":{"keccak256":"0x32bf3f717904299b0d6cde7f8a86ecf30c939ff649adeb6c725eb45e31792668","urls":["bzz-raw://afadfbee18c69f2adb93d53a71156a29417e451c6b38e8643d6b80c90cc558b3","dweb:/ipfs/QmQSZtcPxBXD2LR9QJkhDi2GpjXWqdC9zrzXzh8QPQeGVe"],"license":"MIT"},"src/codegen/templates/MapCenterMarkerTemplate.sol":{"keccak256":"0xeaed604fc98855994004f491e1d0d9c7997d7aa1f1f11199a80544e611153907","urls":["bzz-raw://8b8aac494b8baefa5fa136c3d067a4cb8b0d26050c3c9ccb842cca2c337d8f83","dweb:/ipfs/QmR4k6UhoavJaKPSw1Uv1LarMMEtnqsBMkVHcLAHyQNsQf"],"license":"MIT"},"src/codegen/templates/MarksmanTemplate.sol":{"keccak256":"0x09d868b0ecf914864e766be4a9a2c8c0d95246d00d0900531cf2f72c8a680d65","urls":["bzz-raw://f5e463d065789e86a7c59dd9754cdd55f909a46de205f0eaecaaa61c5d806ce7","dweb:/ipfs/QmawpW9aAEswTXQwmjN2Po1QoopqEzFkpgRLHTGCvUcrwc"],"license":"MIT"},"src/codegen/templates/MountainTemplate.sol":{"keccak256":"0xd229215132cec0ec809d4f992f32dd6c185f880b27c7b405f46403d923954694","urls":["bzz-raw://fe78242b299b59843a6f2ffdd3846c6c04b667c1bf92434163979c32a5d2a02e","dweb:/ipfs/QmQCETmNKLXSXTLh7nHcvGMXJJW4hBWRfNxFr241MnyUse"],"license":"MIT"},"src/codegen/templates/PikemanTemplate.sol":{"keccak256":"0xa44a24e6a25859b7bc8557a4219495cfcfd0252788753d08e6ad7f02f7492514","urls":["bzz-raw://413d8ae3ac6eef8cb39fa0129948e2b8474dffb576cd8e4780318adf87e70df3","dweb:/ipfs/QmTY8W3igMqrrSv7SVMhUqCvDVMWKWRZ9MRg7xfRG6gSro"],"license":"MIT"},"src/codegen/templates/PillagerTemplate.sol":{"keccak256":"0xface53dc686f8ab6c9b65d9519c6a10c018cb8e77c92db67454f86070be05715","urls":["bzz-raw://08caf20cb7704e079af74983e7273dfff6712c7743d32977461cfe483126e6f0","dweb:/ipfs/QmYfc5VnjMaMaNZ9fwngQ3Qi9pZhHGoNqKDM1ABUHUgiTZ"],"license":"MIT"},"src/codegen/templates/SettlementTemplate.sol":{"keccak256":"0x5055dcdfa392fc0bef6827df91c28f67b39816bed62cf8e4d92ce2590a029ac6","urls":["bzz-raw://cc9fdd4a865b897436ee2209a2ec67301b8738d9583f122ceb195a64c44e0262","dweb:/ipfs/QmQgTquRMKYriKzC7Cu41PyD3EYvwsAWFbPJk2NyqcXeHd"],"license":"MIT"},"src/codegen/templates/SpawnSettlementTemplate.sol":{"keccak256":"0xc59b9be6231afb0e5e67440e57e66da33f5ef14eea125659079568b8d1421163","urls":["bzz-raw://e50a5f09238267c30fb9818fb7bd8e36490a26052aaf7567888088014a531847","dweb:/ipfs/QmemBz6UK1RVKftXQ6uJQGnczLohfAksmjxfHQwa5n6Q27"],"license":"MIT"},"src/codegen/templates/SwordsmanTemplate.sol":{"keccak256":"0xe8aaaf0f075d2c7a50f6617c433dbee7268a7f7bfda34a57812600b116ea475e","urls":["bzz-raw://a57eb795f8e2d6b12d76b738d49a6f0ca082c0047b3747233ed6bb461e169383","dweb:/ipfs/QmXLk27nVNA8EryHhGYRNMLMAeUeJ4bQngeXvpydhNzcEE"],"license":"MIT"},"src/codegen/templates/WoodenWallTemplate.sol":{"keccak256":"0x88626992dddc1dd3f5dfea49a055426a43ea1831c59698f37e5f5cb165518961","urls":["bzz-raw://0e008817fe025b12442557f45566cf4bed3f9e2558931829629dca4cf74f00cc","dweb:/ipfs/QmR76mtWLSHBNHo5kZv7DpEAH8k9qkcXrydz14sCpxvezC"],"license":"MIT"},"src/codegen/world/IAllowListSystem.sol":{"keccak256":"0x8958c76cf4f35d7e43c5a49b12732a9a725fa06d7e77313168b5e9b42a88b39c","urls":["bzz-raw://4c042ff238594b069b0b1ada2237c88da339971ac7a30caeeb6c66b2ca5af996","dweb:/ipfs/QmUk2fyv88qMWEddv9wt7vKLiyqWYcCsXrVjH4qDdoBJqy"],"license":"MIT"},"src/codegen/world/IBuildSystem.sol":{"keccak256":"0xff7f221abf4c22011fb9cfe80003b7fcd7a947cad11bf49424858d168ae54a2f","urls":["bzz-raw://a923bc0b9a5293bad68da0874829f8d3f95f66acc33813bb8eed6081794c233c","dweb:/ipfs/QmajStCGSfVg8QxUxxuF851JVVtNpWuLHeLoAkXX2mXPfg"],"license":"MIT"},"src/codegen/world/ICopyMapSystem.sol":{"keccak256":"0x94281b53710027985efc1c6a2b4eab3ccb9fbf372550d52cf3b7441a88d0285e","urls":["bzz-raw://1417935c753b9103d4bc390c02ace4b64416e32222e48ab923a4d1564aa1682e","dweb:/ipfs/QmQ87YXTphbSGUV8Ke9SAMCo5i4R6Wc8MzAFQMpH41KJFM"],"license":"MIT"},"src/codegen/world/ICreateSeasonPassSystem.sol":{"keccak256":"0x8cde232a77dfa16401a28a0f50293dfb6f58fcfb89bf2688a304daf61e793be3","urls":["bzz-raw://b4cf288971d2f0f72f94120431edae84718a9097385af9a47d3f4bcf2fae137a","dweb:/ipfs/QmXTxju4NpTwpGufaKuGWmL7PzcVVcdw5wNLkL8rApzaUS"],"license":"MIT"},"src/codegen/world/IHeroConfigSystem.sol":{"keccak256":"0x5d07d59d448644a3d71cdffe5abf105d4b5f700aa9cb14e7d4017d112e00cbfd","urls":["bzz-raw://0f9529eabb45d3b375ab42dbfbf4373cfd53333752c049c71969c0713fb3b85e","dweb:/ipfs/QmbpZ2fbBXkpiabF2876qoA2GHw3q132cWar8AtvdX2D59"],"license":"MIT"},"src/codegen/world/ILevelRotationSystem.sol":{"keccak256":"0x20ea9b9de804dcce05669df00cee4f74f08fb917bb6977908dd9fa2d64cf5794","urls":["bzz-raw://f4cd52ae3c73607d141d7bf3f57ab164e4cb6d56885547fc9756e7f2060afe83","dweb:/ipfs/QmVThQBsTZ31ES4YDMwDMTGsC2iKMkqcCqpb3AMyfDUUxX"],"license":"MIT"},"src/codegen/world/ILevelUploadSystem.sol":{"keccak256":"0x4566550b14ec0dc73b0d51dd66044914e1d1264e0575b19513287dc351cfb14b","urls":["bzz-raw://ec1f60316a185a34a3cd8067db039e3487cd8863a8809a38752012bfc5588bd4","dweb:/ipfs/QmdF9w2x2FR4JXzbiLPE6b4afGFb6J6VyfNcgzn3tecWAx"],"license":"MIT"},"src/codegen/world/ILobbySystem.sol":{"keccak256":"0x60336980ea525104dd355a6b9b3fe090ee397e992df05bda693150654a503a34","urls":["bzz-raw://e9b9e886e5aa4c5053e47cc8806b354c79ddad6fbc5cffadf9979bb0232b9487","dweb:/ipfs/QmaZ5QPk5gKKeRXBa48jzHhpPEfBFxuYbnwDRDZ2GjmCgJ"],"license":"MIT"},"src/codegen/world/IMatchSystem.sol":{"keccak256":"0x82ad6910c22c7c20538316a1a035a1aa3be1acc292b37c8ec129e64e4e405e9f","urls":["bzz-raw://e76c609ebaa9779bb1892c07ec592e6b977afb86301cc6ea3971e1b0b5e6b3f5","dweb:/ipfs/QmbPc3WNVVkjfMyQic7bS5xjBEAwsXjRWpNGV1Szyqpg2n"],"license":"MIT"},"src/codegen/world/IMoveSystem.sol":{"keccak256":"0x682464a443f2a38b3c129912942659099ca7cbe53a687d81eca8d54dca7c81c9","urls":["bzz-raw://058d2fa294d513f1a7db0a9a02853f51438cf137440033aaca098c00489cc47a","dweb:/ipfs/Qme2sxE8GJJKtGrG7ZwedeS3ydqaoVvqHynaKHtpgmgp6u"],"license":"MIT"},"src/codegen/world/INameSystem.sol":{"keccak256":"0x472bb99514235bb48480aeeb8065206a98819fb9eba80676405774b976414ffc","urls":["bzz-raw://30c2aedc54f458ab1bce7040e32968e61448cb513e06657b71798d190663f73c","dweb:/ipfs/QmPHNrSkyNABoUbY66hVzr8nZZaMhaxLgzfVQQh8FYJ7Mg"],"license":"MIT"},"src/codegen/world/IOfficialLevelSystem.sol":{"keccak256":"0x8b922b2b5e1b91f4196dd690777e0b39eae76bffe4ec8d11303b5915873d87bc","urls":["bzz-raw://fb8c6a568bfcae690ffa33ad4997d43b6542563d675369ad44acfc8891e0e6a8","dweb:/ipfs/QmNeueSXpzTV86LCpsePsSoTgLw6htLhGvapgyhD8iVD1q"],"license":"MIT"},"src/codegen/world/IPlayerRegisterSystem.sol":{"keccak256":"0x567123e947c171bd349dc5b5d970c94b8b5fb7b2b168aaa7be94ddcb0fafd148","urls":["bzz-raw://a2325dbca04dc7e655e0f269d5c725ba25f368f8750185e6d274634626d53e3d","dweb:/ipfs/QmTrdTUMZwMzQebsa4jXTee74oyvRx7wiB36fjUdnahDAE"],"license":"MIT"},"src/codegen/world/ISeasonPassSystem.sol":{"keccak256":"0xaf6205c715a42e4dd20e097e3cf51a2f756733483c29e468c1aa721dc9a24e4a","urls":["bzz-raw://5d036a25460398394c1f44ca7defaf0f4e531286e07814eb4856ccdeebaef8fe","dweb:/ipfs/QmbwSQVHDceD7C8eKbkXDRS8RWYNeNzBgs8ACU9JJadtfH"],"license":"MIT"},"src/codegen/world/ITemplateSpawnSystem.sol":{"keccak256":"0x5a584e21ccd0e9a5b7fbbe450e65b975f86b0c0be53a2af0cdb6f821e87030b3","urls":["bzz-raw://0b3f578e9017d81d8498af5032b8fe2d4a913b1356f59fc946de434354c340f2","dweb:/ipfs/QmXU21EvqQHZYyxBUQW6jhukVG4CG9pvfTV7Tj1XFTAsoC"],"license":"MIT"},"src/codegen/world/IWithdrawSystem.sol":{"keccak256":"0xe85269ffff67c58739571609021f6a9d8d96b313349715878c96d269a987cd0c","urls":["bzz-raw://bb28547cf73f27880219bd862a3d11241aaf312bead993de6173f3b9aca4f910","dweb:/ipfs/QmThq2cUsM673aCk6Nfu7JhoxEnAJ5NLWBSEfipjBQ6yyQ"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xaa09910f8627c4912867821d397a3ff40c84ae9a70d34353870c88a39fc78857","urls":["bzz-raw://f545bf8c1ab49848ad7ae710c50f5bf6d6152cb7775851212db14caab433c6fe","dweb:/ipfs/QmaZxcuBKATG9FwfWHBRC2LKAxiBFpidVYmDunpECShVMy"],"license":"MIT"},"src/createMatchEntity.sol":{"keccak256":"0xafc364338d2268475b4227417f3373f45fd7b742455c78bf11a132b08647accd","urls":["bzz-raw://82d55fd9f57c42f4c43df06cf4a51787816a997fae7037f7c9621fbd82931ace","dweb:/ipfs/QmcemA4LDRR3Eg9wBGdHjX22umLXuzM7Fh5bG9ewuZTYdz"],"license":"Unlicense"},"src/hasToken.sol":{"keccak256":"0x44e71d6a9aa33d02b504360447686ff1f3a2cbcf4f4aa931fc7d26dec735fad1","urls":["bzz-raw://9a44bd8b67ea0592494ce1a08d943d867f5f463bc290aec58c2a096c427fa676","dweb:/ipfs/QmQmBisU3wannQYyMZzyPKhp4ooaecsKZGnWFsGqPgBTDC"],"license":"MIT"},"src/libraries/LibCharge.sol":{"keccak256":"0x4318fcecfcc53e634d062ddb61eead0e494c139fb58cf69c1d017617d1b24653","urls":["bzz-raw://9535843a7124650ce66cdc1883bd1a7835b1b3d6f774da572bdc2398ed51d6d2","dweb:/ipfs/QmSr4xiiA3DJe77NukhLYNvfNBBnDPUuxwgrogDjDF6hJQ"],"license":"MIT"},"src/libraries/LibPlayer.sol":{"keccak256":"0xe9de8b759ed2b8ff36aa5f94fb621c35d0022a2f950d419c2cf1473423a0dcb8","urls":["bzz-raw://c5bd4e2f8d5ee654644e3eb054e1a10a0f037431d4f2a58ed9abe55287118b2d","dweb:/ipfs/QmfWJeXMHCEY1pqmGXkBydj9ZvEz8t2PTtbxd1pxHW2Ktg"],"license":"MIT"},"src/libraries/LibPosition.sol":{"keccak256":"0x9ae1a290214c0caeea66fbfd5eff276d691abaaac31f87f66f33c478429f3eaf","urls":["bzz-raw://d86f9edb82ac20a5adeb8a52686bfc0f85c15077f63d6e124f41d1080ac97661","dweb:/ipfs/QmSu1jFLZyGtHzybfogokh5UNcZQnsj69T8GRTx7CZoMPW"],"license":"Unlicense"},"src/libraries/LibSkyPool.sol":{"keccak256":"0x3612721f598609d2e6192e7e569f1753c7388085443a014099019b895bc10b9f","urls":["bzz-raw://297eb7bb2e12a3b2e988b515f463e5843605b5dc0876a7f0ab10f2a4ba859ca5","dweb:/ipfs/QmdxH5yvtBRGaNYV3NfUejMEM76QxzBmKfWhUCRP5Kc45X"],"license":"Unlicense"},"src/libraries/LibTemplate.sol":{"keccak256":"0x470f40c0f9be626745a48a8e04e764f04d1a31cd57769a3f2d5836913b085105","urls":["bzz-raw://932874d730297cf2ba85a6479fca998241e91940b2ef9995215c97e78677746f","dweb:/ipfs/QmQW4JPJyJU6WfaWQ9oMggQ8MzfhMyzstK4KEjpRYvDhHU"],"license":"Unlicense"},"src/libraries/LibUtils.sol":{"keccak256":"0xdcee541e94e617c1f6ae0ae9b271758acff7f49170d7b2373f7f0a54297fe332","urls":["bzz-raw://c094a9a0a6939e9e92eeff3de242ad34c68d1850713c4bb286ba760082e8989a","dweb:/ipfs/QmZ8KZFwche6syBrfgswKiTJRsDTNCPxz7bR9b2tpvFU8S"],"license":"Unlicense"},"src/libraries/Transactor.sol":{"keccak256":"0x208d328c343e03bac58074bb71388c4b5bbac2a4933a432ba3edfb931d40ebd1","urls":["bzz-raw://e7287ee856a69ee5ff116536cf45e8876be6e8ed8f4dab27b6d65b8123adcbbb","dweb:/ipfs/Qmdjseoj7sZfeLMHPqnqMNQXEP55xgehezRgKNhJar2rPf"],"license":"MIT"},"src/libraries/templates/createTemplate.sol":{"keccak256":"0xda5f57dd98a9a6c08573583300e095fd05bcb169c91cda43e11728893ee12209","urls":["bzz-raw://143d572d105badeb524e25c45aa711bc89b511c18adc62538221b6177a444b16","dweb:/ipfs/QmehGCyRRuLeqnKWGugV74hixnsyNc92tp1uQ4S2RQ9mFp"],"license":"MIT"},"src/libraries/templates/instantiateTemplate.sol":{"keccak256":"0xa09c25ac29a68dd9c455fb7760874d0fa25224532e05458e2e2d01dc367fa992","urls":["bzz-raw://393b441ba615f451c2966607766845fd83cf94264ccd03aca2754ed3732288ec","dweb:/ipfs/Qmc1cQ1YJcq7PgKp6ZgSK2UwyVxh45A86WDxKbfC7Mhxft"],"license":"MIT"},"test/BuildSystem.t.sol":{"keccak256":"0xe4c2d9a4f8d1323f825242225db6297d5a45ce6bd1ae0cf93e89901de8add3d9","urls":["bzz-raw://ca92a1c86280f20bf88d635c23e4d14f9368202ea46aac9f03b80c33836c35cc","dweb:/ipfs/QmP4jHS8KB3Qvv7UK8BWz34fa91p3qCtaTGrosLcNAXPtx"],"license":"MIT"},"test/SkyStrifeTest.sol":{"keccak256":"0xda4c779e10aa44943c178a231654541c56d8433e396aa004f5e005810e8f87ec","urls":["bzz-raw://c034a0ea9446fdf927f3ded96523ee0b8873bbefaf9951ead565d65bf7f395ae","dweb:/ipfs/QmdPgUwnUV6QW8pAWN2wpUvxaC3uxJGz3D6GMA4pZpBjaP"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/BuildSystem.t.sol","id":180796,"exportedSymbols":{"BuildSystemTest":[180795],"DSTest":[61196],"Factory":[108192],"FactoryData":[105915],"GasReporter":[6191],"Gold":[108910],"OwnedBy":[146308],"Position":[148876],"PositionData":[147750],"SkyStrifeTest":[186507],"StdAssertions":[62539],"StdChains":[63203],"StdCheats":[65164],"StdInvariant":[65454],"StdStorage":[66295],"StdUtils":[68535],"SwordsmanTemplateId":[170279],"Test":[68582],"TestBase":[61256],"Vm":[69872],"console":[77936],"console2":[86032],"createPlayerEntity":[175380],"setPosition":[175673],"spawnTemplateAt":[176615],"stdError":[65230],"stdJson":[66121],"stdMath":[66263],"stdStorage":[67728]},"nodeType":"SourceUnit","src":"32:3917:328","nodes":[{"id":180310,"nodeType":"PragmaDirective","src":"32:25:328","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":180311,"nodeType":"ImportDirective","src":"59:28:328","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":68583,"symbolAliases":[],"unitAlias":""},{"id":180313,"nodeType":"ImportDirective","src":"88:52:328","nodes":[],"absolutePath":"test/SkyStrifeTest.sol","file":"./SkyStrifeTest.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":186508,"symbolAliases":[{"foreign":{"id":180312,"name":"SkyStrifeTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186507,"src":"97:13:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180315,"nodeType":"ImportDirective","src":"142:73:328","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":6192,"symbolAliases":[{"foreign":{"id":180314,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"151:11:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180317,"nodeType":"ImportDirective","src":"217:67:328","nodes":[],"absolutePath":"src/libraries/LibTemplate.sol","file":"../src/libraries/LibTemplate.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":176616,"symbolAliases":[{"foreign":{"id":180316,"name":"spawnTemplateAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176615,"src":"226:15:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180324,"nodeType":"ImportDirective","src":"286:103:328","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../src/codegen/index.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":180318,"name":"Factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108192,"src":"295:7:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180319,"name":"FactoryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105915,"src":"304:11:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180320,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"317:7:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180321,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148876,"src":"326:8:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180322,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"336:12:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180323,"name":"Gold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108910,"src":"350:4:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180326,"nodeType":"ImportDirective","src":"390:67:328","nodes":[],"absolutePath":"src/codegen/Templates.sol","file":"../src/codegen/Templates.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":87281,"symbolAliases":[{"foreign":{"id":180325,"name":"SwordsmanTemplateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":170279,"src":"399:19:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180328,"nodeType":"ImportDirective","src":"459:68:328","nodes":[],"absolutePath":"src/libraries/LibPlayer.sol","file":"../src/libraries/LibPlayer.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":175445,"symbolAliases":[{"foreign":{"id":180327,"name":"createPlayerEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175380,"src":"468:18:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180330,"nodeType":"ImportDirective","src":"528:63:328","nodes":[],"absolutePath":"src/libraries/LibPosition.sol","file":"../src/libraries/LibPosition.sol","nameLocation":"-1:-1:-1","scope":180796,"sourceUnit":175694,"symbolAliases":[{"foreign":{"id":180329,"name":"setPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175673,"src":"537:11:328","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180795,"nodeType":"ContractDefinition","src":"593:3355:328","nodes":[{"id":180336,"nodeType":"VariableDeclaration","src":"652:14:328","nodes":[],"constant":false,"mutability":"mutable","name":"player","nameLocation":"660:6:328","scope":180795,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"652:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180341,"nodeType":"VariableDeclaration","src":"670:38:328","nodes":[],"constant":false,"mutability":"mutable","name":"factory","nameLocation":"678:7:328","scope":180795,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"670:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"666163746f7279","id":180339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"698:9:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_e366a98476020cb9ff8cc566d0cdeac414e546d2e7ede445f4e7032a4272c771","typeString":"literal_string \"factory\""},"value":"factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e366a98476020cb9ff8cc566d0cdeac414e546d2e7ede445f4e7032a4272c771","typeString":"literal_string \"factory\""}],"id":180338,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"688:9:328","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":180340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"688:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180344,"nodeType":"VariableDeclaration","src":"712:41:328","nodes":[],"constant":false,"mutability":"mutable","name":"prototypeId","nameLocation":"720:11:328","scope":180795,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"712:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"id":180343,"name":"SwordsmanTemplateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":170279,"src":"734:19:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180347,"nodeType":"VariableDeclaration","src":"757:27:328","nodes":[],"constant":false,"mutability":"mutable","name":"targetPosition","nameLocation":"770:14:328","scope":180795,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData"},"typeName":{"id":180346,"nodeType":"UserDefinedTypeName","pathNode":{"id":180345,"name":"PositionData","nameLocations":["757:12:328"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"757:12:328"},"referencedDeclaration":147750,"src":"757:12:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"visibility":"internal"},{"id":180435,"nodeType":"FunctionDefinition","src":"789:561:328","nodes":[],"body":{"id":180434,"nodeType":"Block","src":"820:530:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180350,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"826:10:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"826:12:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180352,"nodeType":"ExpressionStatement","src":"826:12:328"},{"expression":{"id":180358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180353,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"844:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":180355,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"872:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180356,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"883:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":180354,"name":"createPlayerEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175380,"src":"853:18:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) returns (bytes32)"}},"id":180357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"853:36:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"844:45:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180359,"nodeType":"ExpressionStatement","src":"844:45:328"},{"assignments":[180364],"declarations":[{"constant":false,"id":180364,"mutability":"mutable","name":"prototypeIds","nameLocation":"913:12:328","nodeType":"VariableDeclaration","scope":180434,"src":"896:29:328","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":180362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"896:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180363,"nodeType":"ArrayTypeName","src":"896:9:328","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":180370,"initialValue":{"arguments":[{"hexValue":"31","id":180368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"942:1:328","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":180367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"928:13:328","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":180365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"932:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180366,"nodeType":"ArrayTypeName","src":"932:9:328","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":180369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"928:16:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"896:48:328"},{"expression":{"id":180375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":180371,"name":"prototypeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180364,"src":"950:12:328","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":180373,"indexExpression":{"hexValue":"30","id":180372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"963:1:328","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"950:15:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":180374,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"968:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"950:29:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180376,"nodeType":"ExpressionStatement","src":"950:29:328"},{"assignments":[180381],"declarations":[{"constant":false,"id":180381,"mutability":"mutable","name":"goldCosts","nameLocation":"1001:9:328","nodeType":"VariableDeclaration","scope":180434,"src":"986:24:328","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":180379,"name":"int32","nodeType":"ElementaryTypeName","src":"986:5:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":180380,"nodeType":"ArrayTypeName","src":"986:7:328","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"id":180387,"initialValue":{"arguments":[{"hexValue":"31","id":180385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1025:1:328","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":180384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1013:11:328","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_int32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (int32[] memory)"},"typeName":{"baseType":{"id":180382,"name":"int32","nodeType":"ElementaryTypeName","src":"1017:5:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":180383,"nodeType":"ArrayTypeName","src":"1017:7:328","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}}},"id":180386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1013:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"986:41:328"},{"expression":{"id":180392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":180388,"name":"goldCosts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180381,"src":"1033:9:328","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}},"id":180390,"indexExpression":{"hexValue":"30","id":180389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1043:1:328","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1033:12:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"313030","id":180391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1048:3:328","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"1033:18:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":180393,"nodeType":"ExpressionStatement","src":"1033:18:328"},{"expression":{"arguments":[{"id":180397,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1070:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180398,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"1081:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":180400,"name":"prototypeIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180364,"src":"1118:12:328","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":180401,"name":"goldCosts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180381,"src":"1143:9:328","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[] memory"}],"id":180399,"name":"FactoryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105915,"src":"1090:11:328","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FactoryData_$105915_storage_ptr_$","typeString":"type(struct FactoryData storage pointer)"}},"id":180402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1104:12:328","1132:9:328"],"names":["prototypeIds","goldCosts"],"nodeType":"FunctionCall","src":"1090:65:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FactoryData_$105915_memory_ptr","typeString":"struct FactoryData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_FactoryData_$105915_memory_ptr","typeString":"struct FactoryData memory"}],"expression":{"id":180394,"name":"Factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108192,"src":"1058:7:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Factory_$108192_$","typeString":"type(library Factory)"}},"id":180396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1066:3:328","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":107817,"src":"1058:11:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_FactoryData_$105915_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct FactoryData memory)"}},"id":180403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1058:98:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180404,"nodeType":"ExpressionStatement","src":"1058:98:328"},{"expression":{"arguments":[{"id":180408,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1174:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180409,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"1185:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180410,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"1194:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180405,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"1162:7:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":180407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1170:3:328","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":146097,"src":"1162:11:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":180411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1162:39:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180412,"nodeType":"ExpressionStatement","src":"1162:39:328"},{"expression":{"arguments":[{"id":180414,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1219:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180415,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"1230:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3130","id":180417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1257:2:328","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"3130","id":180418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1264:2:328","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"id":180416,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"1239:12:328","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1254:1:328","1261:1:328"],"names":["x","y"],"nodeType":"FunctionCall","src":"1239:30:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":180413,"name":"setPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175673,"src":"1207:11:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct PositionData memory)"}},"id":180420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1207:63:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180421,"nodeType":"ExpressionStatement","src":"1207:63:328"},{"expression":{"id":180427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180422,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"1277:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"3131","id":180424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1312:2:328","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"3130","id":180425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1319:2:328","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"id":180423,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"1294:12:328","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1309:1:328","1316:1:328"],"names":["x","y"],"nodeType":"FunctionCall","src":"1294:30:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"src":"1277:47:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}},"id":180428,"nodeType":"ExpressionStatement","src":"1277:47:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180429,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"1331:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1334:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"1331:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1331:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180433,"nodeType":"ExpressionStatement","src":"1331:14:328"}]},"functionSelector":"6bceb769","implemented":true,"kind":"function","modifiers":[],"name":"setupFactory","nameLocation":"798:12:328","parameters":{"id":180348,"nodeType":"ParameterList","parameters":[],"src":"810:2:328"},"returnParameters":{"id":180349,"nodeType":"ParameterList","parameters":[],"src":"820:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180524,"nodeType":"FunctionDefinition","src":"1354:688:328","nodes":[],"body":{"id":180523,"nodeType":"Block","src":"1386:656:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180438,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"1392:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1392:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180440,"nodeType":"ExpressionStatement","src":"1392:14:328"},{"expression":{"arguments":[{"id":180444,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"1427:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"1413:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1416:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"1413:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180446,"nodeType":"ExpressionStatement","src":"1413:20:328"},{"assignments":[180448],"declarations":[{"constant":false,"id":180448,"mutability":"mutable","name":"goldBeforeBuild","nameLocation":"1445:15:328","nodeType":"VariableDeclaration","scope":180523,"src":"1439:21:328","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":180447,"name":"int32","nodeType":"ElementaryTypeName","src":"1439:5:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":180454,"initialValue":{"arguments":[{"id":180451,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1472:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180452,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"1483:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180449,"name":"Gold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108910,"src":"1463:4:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Gold_$108910_$","typeString":"type(library Gold)"}},"id":180450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1468:3:328","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":108499,"src":"1463:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":180453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1463:27:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"1439:51:328"},{"expression":{"arguments":[{"hexValue":"4275696c6420756e6974","id":180456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1512:12:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_771a795d2989f0b806fdff8388f4bcece42e5b3e6998ab62853a13c1cf1c518c","typeString":"literal_string \"Build unit\""},"value":"Build unit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_771a795d2989f0b806fdff8388f4bcece42e5b3e6998ab62853a13c1cf1c518c","typeString":"literal_string \"Build unit\""}],"id":180455,"name":"startGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6049,"src":"1497:14:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":180457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:28:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180458,"nodeType":"ExpressionStatement","src":"1497:28:328"},{"assignments":[180460],"declarations":[{"constant":false,"id":180460,"mutability":"mutable","name":"unit","nameLocation":"1539:4:328","nodeType":"VariableDeclaration","scope":180523,"src":"1531:12:328","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1531:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":180468,"initialValue":{"arguments":[{"id":180463,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1558:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180464,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"1569:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180465,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"1578:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180466,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"1591:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180461,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"1546:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1552:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"1546:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1546:60:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1531:75:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180469,"name":"endGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"1612:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180471,"nodeType":"ExpressionStatement","src":"1612:14:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180472,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"1632:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1635:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"1632:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1632:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180476,"nodeType":"ExpressionStatement","src":"1632:14:328"},{"expression":{"arguments":[{"arguments":[{"id":180480,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1674:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180481,"name":"unit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180460,"src":"1685:4:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180478,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"1662:7:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":180479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1670:3:328","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"1662:11:328","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":180482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:28:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180483,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"1692:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"756e6974206e6f74206f776e656420627920706c61796572","id":180484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1700:26:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_03b6cf3f5a2210b63ad06ea8b9b3dc04fc4ec960d99c1496ee85521393457710","typeString":"literal_string \"unit not owned by player\""},"value":"unit not owned by player"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_03b6cf3f5a2210b63ad06ea8b9b3dc04fc4ec960d99c1496ee85521393457710","typeString":"literal_string \"unit not owned by player\""}],"id":180477,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59810,"src":"1653:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":180485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1653:74:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180486,"nodeType":"ExpressionStatement","src":"1653:74:328"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":180490,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1755:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180491,"name":"unit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180460,"src":"1766:4:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180488,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148876,"src":"1742:8:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Position_$148876_$","typeString":"type(library Position)"}},"id":180489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1751:3:328","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":148341,"src":"1742:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_struct$_PositionData_$147750_memory_ptr_$","typeString":"function (bytes32,bytes32) view returns (struct PositionData memory)"}},"id":180492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:29:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":180493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1772:1:328","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1742:31:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"expression":{"id":180494,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"1775:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}},"id":180495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1790:1:328","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1775:16:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e6974206e6f742061742074617267657420706f736974696f6e","id":180496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1793:29:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_9163e7cf5de67d34f23a9ac78bcecc90c21fe854629bcfac60155b9965b8cc81","typeString":"literal_string \"unit not at target position\""},"value":"unit not at target position"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_9163e7cf5de67d34f23a9ac78bcecc90c21fe854629bcfac60155b9965b8cc81","typeString":"literal_string \"unit not at target position\""}],"id":180487,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"1733:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":180497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1733:90:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180498,"nodeType":"ExpressionStatement","src":"1733:90:328"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":180502,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1851:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180503,"name":"unit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180460,"src":"1862:4:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180500,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148876,"src":"1838:8:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Position_$148876_$","typeString":"type(library Position)"}},"id":180501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1847:3:328","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":148341,"src":"1838:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_struct$_PositionData_$147750_memory_ptr_$","typeString":"function (bytes32,bytes32) view returns (struct PositionData memory)"}},"id":180504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1838:29:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":180505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1868:1:328","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1838:31:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"expression":{"id":180506,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"1871:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}},"id":180507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1886:1:328","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1871:16:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e6974206e6f742061742074617267657420706f736974696f6e","id":180508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1889:29:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_9163e7cf5de67d34f23a9ac78bcecc90c21fe854629bcfac60155b9965b8cc81","typeString":"literal_string \"unit not at target position\""},"value":"unit not at target position"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_9163e7cf5de67d34f23a9ac78bcecc90c21fe854629bcfac60155b9965b8cc81","typeString":"literal_string \"unit not at target position\""}],"id":180499,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"1829:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":180509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1829:90:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180510,"nodeType":"ExpressionStatement","src":"1829:90:328"},{"expression":{"arguments":[{"arguments":[{"id":180514,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1970:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180515,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"1981:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180512,"name":"Gold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108910,"src":"1961:4:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Gold_$108910_$","typeString":"type(library Gold)"}},"id":180513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1966:3:328","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":108499,"src":"1961:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":180516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1961:27:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":180519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":180517,"name":"goldBeforeBuild","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180448,"src":"1990:15:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"313030","id":180518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2008:3:328","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"1990:21:328","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"706c6179657220676f6c64206e6f74207370656e74","id":180520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2013:23:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8ac6821cdff5dd3d4455412030ef6dd5c8cada476241d799641a05caa8373ca","typeString":"literal_string \"player gold not spent\""},"value":"player gold not spent"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_a8ac6821cdff5dd3d4455412030ef6dd5c8cada476241d799641a05caa8373ca","typeString":"literal_string \"player gold not spent\""}],"id":180511,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"1952:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":180521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1952:85:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180522,"nodeType":"ExpressionStatement","src":"1952:85:328"}]},"functionSelector":"3d724c66","implemented":true,"kind":"function","modifiers":[],"name":"testBuildUnit","nameLocation":"1363:13:328","parameters":{"id":180436,"nodeType":"ParameterList","parameters":[],"src":"1376:2:328"},"returnParameters":{"id":180437,"nodeType":"ParameterList","parameters":[],"src":"1386:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180572,"nodeType":"FunctionDefinition","src":"2046:322:328","nodes":[],"body":{"id":180571,"nodeType":"Block","src":"2080:288:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180527,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"2086:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2086:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180529,"nodeType":"ExpressionStatement","src":"2086:14:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180530,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"2107:10:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2107:12:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180532,"nodeType":"ExpressionStatement","src":"2107:12:328"},{"expression":{"arguments":[{"id":180536,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2146:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180537,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"2157:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180533,"name":"Factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108192,"src":"2125:7:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Factory_$108192_$","typeString":"type(library Factory)"}},"id":180535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2133:12:328","memberName":"deleteRecord","nodeType":"MemberAccess","referencedDeclaration":108017,"src":"2125:20:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":180538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2125:40:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180539,"nodeType":"ExpressionStatement","src":"2125:40:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180540,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2171:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2174:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2171:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2171:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180544,"nodeType":"ExpressionStatement","src":"2171:14:328"},{"expression":{"arguments":[{"id":180548,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"2206:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180545,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2192:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2195:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"2192:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2192:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180550,"nodeType":"ExpressionStatement","src":"2192:20:328"},{"expression":{"arguments":[{"hexValue":"7468697320666163746f727920646f6573206e6f74206861766520746869732074656d706c617465","id":180554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2234:42:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b0f013f02b67b74c237934e749dae7f11e62dea3914ada54f38a7f0561159e1","typeString":"literal_string \"this factory does not have this template\""},"value":"this factory does not have this template"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b0f013f02b67b74c237934e749dae7f11e62dea3914ada54f38a7f0561159e1","typeString":"literal_string \"this factory does not have this template\""}],"expression":{"id":180551,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2218:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2221:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"2218:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2218:59:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180556,"nodeType":"ExpressionStatement","src":"2218:59:328"},{"expression":{"arguments":[{"id":180560,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2295:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180561,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"2306:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180562,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"2315:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180563,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"2328:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180557,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"2283:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2289:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"2283:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2283:60:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180565,"nodeType":"ExpressionStatement","src":"2283:60:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180566,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2349:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2349:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180570,"nodeType":"ExpressionStatement","src":"2349:14:328"}]},"functionSelector":"176cec43","implemented":true,"kind":"function","modifiers":[],"name":"testNotAFactory","nameLocation":"2055:15:328","parameters":{"id":180525,"nodeType":"ParameterList","parameters":[],"src":"2070:2:328"},"returnParameters":{"id":180526,"nodeType":"ParameterList","parameters":[],"src":"2080:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180607,"nodeType":"FunctionDefinition","src":"2372:266:328","nodes":[],"body":{"id":180606,"nodeType":"Block","src":"2418:220:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180575,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"2424:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2424:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180577,"nodeType":"ExpressionStatement","src":"2424:14:328"},{"expression":{"arguments":[{"id":180581,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"2459:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180578,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2445:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2448:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"2445:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180583,"nodeType":"ExpressionStatement","src":"2445:20:328"},{"expression":{"arguments":[{"hexValue":"7468697320666163746f727920646f6573206e6f74206861766520746869732074656d706c617465","id":180587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2487:42:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b0f013f02b67b74c237934e749dae7f11e62dea3914ada54f38a7f0561159e1","typeString":"literal_string \"this factory does not have this template\""},"value":"this factory does not have this template"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b0f013f02b67b74c237934e749dae7f11e62dea3914ada54f38a7f0561159e1","typeString":"literal_string \"this factory does not have this template\""}],"expression":{"id":180584,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2471:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2474:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"2471:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2471:59:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180589,"nodeType":"ExpressionStatement","src":"2471:59:328"},{"expression":{"arguments":[{"id":180593,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2548:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180594,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"2559:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"6e6f7420612070726f746f74797065","id":180596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2578:17:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b849d6b7af0a1560952dea97c612700398fbc14227d3938c3ef8ae36ff98f12","typeString":"literal_string \"not a prototype\""},"value":"not a prototype"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b849d6b7af0a1560952dea97c612700398fbc14227d3938c3ef8ae36ff98f12","typeString":"literal_string \"not a prototype\""}],"id":180595,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2568:9:328","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":180597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2568:28:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180598,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"2598:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180590,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"2536:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2542:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"2536:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2536:77:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180600,"nodeType":"ExpressionStatement","src":"2536:77:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180601,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2619:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2622:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2619:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2619:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180605,"nodeType":"ExpressionStatement","src":"2619:14:328"}]},"functionSelector":"160fc192","implemented":true,"kind":"function","modifiers":[],"name":"testNotAbleToBuildPrototype","nameLocation":"2381:27:328","parameters":{"id":180573,"nodeType":"ParameterList","parameters":[],"src":"2408:2:328"},"returnParameters":{"id":180574,"nodeType":"ParameterList","parameters":[],"src":"2418:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180656,"nodeType":"FunctionDefinition","src":"2666:303:328","nodes":[],"body":{"id":180655,"nodeType":"Block","src":"2716:253:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180610,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"2722:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2722:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180612,"nodeType":"ExpressionStatement","src":"2722:14:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180613,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"2743:10:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2743:12:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180615,"nodeType":"ExpressionStatement","src":"2743:12:328"},{"expression":{"arguments":[{"id":180619,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2770:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180620,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"2781:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":180621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:1:328","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":180616,"name":"Gold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108910,"src":"2761:4:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Gold_$108910_$","typeString":"type(library Gold)"}},"id":180618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2766:3:328","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":108699,"src":"2761:8:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":180622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:30:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180623,"nodeType":"ExpressionStatement","src":"2761:30:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2797:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2800:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2797:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2797:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180628,"nodeType":"ExpressionStatement","src":"2797:14:328"},{"expression":{"arguments":[{"id":180632,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"2832:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180629,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2818:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2821:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"2818:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2818:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180634,"nodeType":"ExpressionStatement","src":"2818:20:328"},{"expression":{"arguments":[{"hexValue":"6e6f7420656e6f75676820676f6c64","id":180638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2860:17:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_e572621ab3a7e8e0b77ef5cb66f75fcfd2f746688e6b7d8d05cd810325948068","typeString":"literal_string \"not enough gold\""},"value":"not enough gold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e572621ab3a7e8e0b77ef5cb66f75fcfd2f746688e6b7d8d05cd810325948068","typeString":"literal_string \"not enough gold\""}],"expression":{"id":180635,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2844:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2847:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"2844:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:34:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180640,"nodeType":"ExpressionStatement","src":"2844:34:328"},{"expression":{"arguments":[{"id":180644,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2896:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180645,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"2907:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180646,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"2916:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180647,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"2929:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180641,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"2884:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2890:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"2884:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2884:60:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180649,"nodeType":"ExpressionStatement","src":"2884:60:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180650,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2950:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2953:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2950:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2950:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180654,"nodeType":"ExpressionStatement","src":"2950:14:328"}]},"functionSelector":"29c3d6a4","implemented":true,"kind":"function","modifiers":[],"name":"testPlayerDoesNotHaveEnoughGold","nameLocation":"2675:31:328","parameters":{"id":180608,"nodeType":"ParameterList","parameters":[],"src":"2706:2:328"},"returnParameters":{"id":180609,"nodeType":"ParameterList","parameters":[],"src":"2716:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180707,"nodeType":"FunctionDefinition","src":"2973:337:328","nodes":[],"body":{"id":180706,"nodeType":"Block","src":"3019:291:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180659,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"3025:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180661,"nodeType":"ExpressionStatement","src":"3025:14:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180662,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"3046:10:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:12:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180664,"nodeType":"ExpressionStatement","src":"3046:12:328"},{"expression":{"arguments":[{"id":180668,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3076:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180669,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"3087:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"6e6f7420706c61796572","id":180671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3106:12:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_04218b383e5b3ca3b5f51e995f12c59c2f59e6e1988b4e627906082af050affc","typeString":"literal_string \"not player\""},"value":"not player"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04218b383e5b3ca3b5f51e995f12c59c2f59e6e1988b4e627906082af050affc","typeString":"literal_string \"not player\""}],"id":180670,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3096:9:328","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":180672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:23:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180665,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"3064:7:328","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":180667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3072:3:328","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":146097,"src":"3064:11:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":180673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3064:56:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180674,"nodeType":"ExpressionStatement","src":"3064:56:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3126:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3129:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3126:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3126:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180679,"nodeType":"ExpressionStatement","src":"3126:14:328"},{"expression":{"arguments":[{"id":180683,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"3161:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180680,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3147:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3150:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"3147:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3147:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180685,"nodeType":"ExpressionStatement","src":"3147:20:328"},{"expression":{"arguments":[{"hexValue":"796f7520646f206e6f74206f776e207468697320666163746f7279","id":180689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3189:29:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_13f949da067da407d0f5cfc45c2ea604ca542c9b4d9f68938da802d6c149a5d6","typeString":"literal_string \"you do not own this factory\""},"value":"you do not own this factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_13f949da067da407d0f5cfc45c2ea604ca542c9b4d9f68938da802d6c149a5d6","typeString":"literal_string \"you do not own this factory\""}],"expression":{"id":180686,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3173:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3176:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"3173:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3173:46:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180691,"nodeType":"ExpressionStatement","src":"3173:46:328"},{"expression":{"arguments":[{"id":180695,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3237:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180696,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"3248:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180697,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"3257:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180698,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"3270:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180692,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"3225:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3231:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"3225:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3225:60:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180700,"nodeType":"ExpressionStatement","src":"3225:60:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180701,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3291:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3294:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3291:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3291:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180705,"nodeType":"ExpressionStatement","src":"3291:14:328"}]},"functionSelector":"0c4e92b0","implemented":true,"kind":"function","modifiers":[],"name":"testPlayerDoesNotOwnFactory","nameLocation":"2982:27:328","parameters":{"id":180657,"nodeType":"ParameterList","parameters":[],"src":"3009:2:328"},"returnParameters":{"id":180658,"nodeType":"ParameterList","parameters":[],"src":"3019:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180743,"nodeType":"FunctionDefinition","src":"3314:258:328","nodes":[],"body":{"id":180742,"nodeType":"Block","src":"3362:210:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180710,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"3368:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3368:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180712,"nodeType":"ExpressionStatement","src":"3368:14:328"},{"expression":{"arguments":[{"id":180716,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"3403:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3389:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3392:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"3389:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180718,"nodeType":"ExpressionStatement","src":"3389:20:328"},{"expression":{"arguments":[{"hexValue":"74617267657420706f736974696f6e206973206e6f742061646a6163656e74","id":180722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3431:33:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_8bbe5593d9cb6bff3f9cc7c7af3b5aa174d464c29640c742ba3efb50d758079e","typeString":"literal_string \"target position is not adjacent\""},"value":"target position is not adjacent"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8bbe5593d9cb6bff3f9cc7c7af3b5aa174d464c29640c742ba3efb50d758079e","typeString":"literal_string \"target position is not adjacent\""}],"expression":{"id":180719,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3415:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3418:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"3415:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3415:50:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180724,"nodeType":"ExpressionStatement","src":"3415:50:328"},{"expression":{"arguments":[{"id":180728,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3483:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180729,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"3494:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180730,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"3503:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3230","id":180732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3534:2:328","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3230","id":180733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3541:2:328","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"id":180731,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"3516:12:328","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3531:1:328","3538:1:328"],"names":["x","y"],"nodeType":"FunctionCall","src":"3516:30:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"expression":{"id":180725,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"3471:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3477:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"3471:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:76:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180736,"nodeType":"ExpressionStatement","src":"3471:76:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180737,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3553:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3556:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3553:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180741,"nodeType":"ExpressionStatement","src":"3553:14:328"}]},"functionSelector":"e3fd4057","implemented":true,"kind":"function","modifiers":[],"name":"testTargetPositionNotAdjacent","nameLocation":"3323:29:328","parameters":{"id":180708,"nodeType":"ParameterList","parameters":[],"src":"3352:2:328"},"returnParameters":{"id":180709,"nodeType":"ParameterList","parameters":[],"src":"3362:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180794,"nodeType":"FunctionDefinition","src":"3576:370:328","nodes":[],"body":{"id":180793,"nodeType":"Block","src":"3627:319:328","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180746,"name":"setupFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180435,"src":"3633:12:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3633:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180748,"nodeType":"ExpressionStatement","src":"3633:14:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180749,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"3654:10:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3654:12:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180751,"nodeType":"ExpressionStatement","src":"3654:12:328"},{"expression":{"arguments":[{"id":180753,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3688:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180754,"name":"SwordsmanTemplateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":170279,"src":"3699:19:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180755,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180336,"src":"3720:6:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3131","id":180757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3746:2:328","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"3130","id":180758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3753:2:328","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"id":180756,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"3728:12:328","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3743:1:328","3750:1:328"],"names":["x","y"],"nodeType":"FunctionCall","src":"3728:30:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":180752,"name":"spawnTemplateAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176615,"src":"3672:15:328","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) returns (bytes32)"}},"id":180760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3672:87:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180761,"nodeType":"ExpressionStatement","src":"3672:87:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180762,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3765:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3768:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3765:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3765:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180766,"nodeType":"ExpressionStatement","src":"3765:14:328"},{"expression":{"arguments":[{"id":180770,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"3800:5:328","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":180767,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3786:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3789:10:328","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"3786:13:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":180771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3786:20:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180772,"nodeType":"ExpressionStatement","src":"3786:20:328"},{"expression":{"arguments":[{"hexValue":"656e7469747920626c6f636b696e6720706f736974696f6e","id":180776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3828:26:328","typeDescriptions":{"typeIdentifier":"t_stringliteral_fd3223cfeab998ee49670cac5dcf52d38ef0fdba99e88ac73df0dca63064f9d1","typeString":"literal_string \"entity blocking position\""},"value":"entity blocking position"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fd3223cfeab998ee49670cac5dcf52d38ef0fdba99e88ac73df0dca63064f9d1","typeString":"literal_string \"entity blocking position\""}],"expression":{"id":180773,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3812:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3815:12:328","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"3812:15:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":180777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:43:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180778,"nodeType":"ExpressionStatement","src":"3812:43:328"},{"expression":{"arguments":[{"id":180782,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3873:9:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180783,"name":"factory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180341,"src":"3884:7:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180784,"name":"prototypeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180344,"src":"3893:11:328","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180785,"name":"targetPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180347,"src":"3906:14:328","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_storage","typeString":"struct PositionData storage ref"}],"expression":{"id":180779,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"3861:5:328","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3867:5:328","memberName":"build","nodeType":"MemberAccess","referencedDeclaration":170841,"src":"3861:11:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) external returns (bytes32)"}},"id":180786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3861:60:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180787,"nodeType":"ExpressionStatement","src":"3861:60:328"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3927:2:328","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3930:9:328","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3927:12:328","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3927:14:328","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180792,"nodeType":"ExpressionStatement","src":"3927:14:328"}]},"functionSelector":"4870a312","implemented":true,"kind":"function","modifiers":[],"name":"testEntityBlockingTargetPosition","nameLocation":"3585:32:328","parameters":{"id":180744,"nodeType":"ParameterList","parameters":[],"src":"3617:2:328"},"returnParameters":{"id":180745,"nodeType":"ParameterList","parameters":[],"src":"3627:0:328"},"scope":180795,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":180331,"name":"SkyStrifeTest","nameLocations":["621:13:328"],"nodeType":"IdentifierPath","referencedDeclaration":186507,"src":"621:13:328"},"id":180332,"nodeType":"InheritanceSpecifier","src":"621:13:328"},{"baseName":{"id":180333,"name":"GasReporter","nameLocations":["636:11:328"],"nodeType":"IdentifierPath","referencedDeclaration":6191,"src":"636:11:328"},"id":180334,"nodeType":"InheritanceSpecifier","src":"636:11:328"}],"canonicalName":"BuildSystemTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[180795,6191,186507,59203,68582,61256,61253,68535,65454,65164,64775,63203,62539,61196],"name":"BuildSystemTest","nameLocation":"602:15:328","scope":180796,"usedErrors":[8577,8645,8689,8703,8754],"usedEvents":[8783,8796,8816,8825,59415,59419,59423,59427,59431,59435,59439,59443,59449,59455,59463,59471,59477,59483,59489,59495,61318,61323,61328,61335,61342,61349]}],"license":"MIT"},"id":328}