{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/codegen/templates/ForestTemplate.sol","id":166101,"exportedSymbols":{"ArmorModifier":[90762],"CombatArchetypes":[87309],"EncodedLengths":[7251],"ForestTemplate":[166100],"ForestTemplateId":[165902],"LENGTH":[165905],"MoveDifficulty":[142970],"ResourceId":[9486],"StructureTypes":[87321],"TerrainType":[162649],"TerrainTypes":[87314],"UnitTypes":[87294],"createTemplate":[177313],"templateId":[165899]},"nodeType":"SourceUnit","src":"32:1820:254","nodes":[{"id":165881,"nodeType":"PragmaDirective","src":"32:25:254","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":165883,"nodeType":"ImportDirective","src":"108:74:254","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","file":"@latticexyz/store/src/EncodedLengths.sol","nameLocation":"-1:-1:-1","scope":166101,"sourceUnit":7873,"symbolAliases":[{"foreign":{"id":165882,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"117:14:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":165885,"nodeType":"ImportDirective","src":"183:66:254","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":166101,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":165884,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"192:10:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":165887,"nodeType":"ImportDirective","src":"250:77:254","nodes":[],"absolutePath":"src/libraries/templates/createTemplate.sol","file":"base/libraries/templates/createTemplate.sol","nameLocation":"-1:-1:-1","scope":166101,"sourceUnit":177314,"symbolAliases":[{"foreign":{"id":165886,"name":"createTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177313,"src":"259:14:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":165892,"nodeType":"ImportDirective","src":"328:100:254","nodes":[],"absolutePath":"src/codegen/common.sol","file":"base/codegen/common.sol","nameLocation":"-1:-1:-1","scope":166101,"sourceUnit":87322,"symbolAliases":[{"foreign":{"id":165888,"name":"UnitTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87294,"src":"337:9:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":165889,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"348:16:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":165890,"name":"TerrainTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87314,"src":"366:12:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":165891,"name":"StructureTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87321,"src":"380:14:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":165896,"nodeType":"ImportDirective","src":"430:84:254","nodes":[],"absolutePath":"src/codegen/index.sol","file":"base/codegen/index.sol","nameLocation":"-1:-1:-1","scope":166101,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":165893,"name":"TerrainType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162649,"src":"439:11:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":165894,"name":"MoveDifficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142970,"src":"452:14:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":165895,"name":"ArmorModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90762,"src":"468:13:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":165899,"nodeType":"VariableDeclaration","src":"516:38:254","nodes":[],"constant":true,"mutability":"constant","name":"templateId","nameLocation":"533:10:254","scope":166101,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":165897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"516:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"466f72657374","id":165898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"546:8:254","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef26d9355546bfc57b414cf2af5da16032c1fe234fa23a70f623b616fc5f01ea","typeString":"literal_string \"Forest\""},"value":"Forest"},"visibility":"internal"},{"id":165902,"nodeType":"VariableDeclaration","src":"556:46:254","nodes":[],"constant":true,"mutability":"constant","name":"ForestTemplateId","nameLocation":"573:16:254","scope":166101,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":165900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"556:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"id":165901,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165899,"src":"592:10:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":165905,"nodeType":"VariableDeclaration","src":"604:27:254","nodes":[],"constant":true,"mutability":"constant","name":"LENGTH","nameLocation":"621:6:254","scope":166101,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":165903,"name":"uint256","nodeType":"ElementaryTypeName","src":"604:7:254","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":165904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"630:1:254","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"id":166100,"nodeType":"FunctionDefinition","src":"634:1217:254","nodes":[],"body":{"id":166099,"nodeType":"Block","src":"660:1191:254","nodes":[],"statements":[{"assignments":[165912],"declarations":[{"constant":false,"id":165912,"mutability":"mutable","name":"tableIds","nameLocation":"681:8:254","nodeType":"VariableDeclaration","scope":166099,"src":"664:25:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":165910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"664:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165911,"nodeType":"ArrayTypeName","src":"664:9:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":165918,"initialValue":{"arguments":[{"id":165916,"name":"LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165905,"src":"706:6:254","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":165915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"692:13:254","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":165913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"696:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165914,"nodeType":"ArrayTypeName","src":"696:9:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":165917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:21:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"664:49:254"},{"assignments":[165923],"declarations":[{"constant":false,"id":165923,"mutability":"mutable","name":"encodedLengthss","nameLocation":"734:15:254","nodeType":"VariableDeclaration","scope":166099,"src":"717:32:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":165921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"717:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165922,"nodeType":"ArrayTypeName","src":"717:9:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":165929,"initialValue":{"arguments":[{"id":165927,"name":"LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165905,"src":"766:6:254","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":165926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"752:13:254","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":165924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"756:7:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165925,"nodeType":"ArrayTypeName","src":"756:9:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":165928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"752:21:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"717:56:254"},{"assignments":[165934],"declarations":[{"constant":false,"id":165934,"mutability":"mutable","name":"staticDatas","nameLocation":"792:11:254","nodeType":"VariableDeclaration","scope":166099,"src":"777:26:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":165932,"name":"bytes","nodeType":"ElementaryTypeName","src":"777:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":165933,"nodeType":"ArrayTypeName","src":"777:7:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":165940,"initialValue":{"arguments":[{"id":165938,"name":"LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165905,"src":"818:6:254","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":165937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"806:11:254","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":165935,"name":"bytes","nodeType":"ElementaryTypeName","src":"810:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":165936,"nodeType":"ArrayTypeName","src":"810:7:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":165939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"806:19:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"777:48:254"},{"assignments":[165945],"declarations":[{"constant":false,"id":165945,"mutability":"mutable","name":"dynamicDatas","nameLocation":"844:12:254","nodeType":"VariableDeclaration","scope":166099,"src":"829:27:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":165943,"name":"bytes","nodeType":"ElementaryTypeName","src":"829:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":165944,"nodeType":"ArrayTypeName","src":"829:7:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":165951,"initialValue":{"arguments":[{"id":165949,"name":"LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165905,"src":"871:6:254","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":165948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"859:11:254","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":165946,"name":"bytes","nodeType":"ElementaryTypeName","src":"863:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":165947,"nodeType":"ArrayTypeName","src":"863:7:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":165950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"859:19:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"829:49:254"},{"assignments":[165953],"declarations":[{"constant":false,"id":165953,"mutability":"mutable","name":"staticData","nameLocation":"896:10:254","nodeType":"VariableDeclaration","scope":166099,"src":"883:23:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":165952,"name":"bytes","nodeType":"ElementaryTypeName","src":"883:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":165954,"nodeType":"VariableDeclarationStatement","src":"883:23:254"},{"assignments":[165957],"declarations":[{"constant":false,"id":165957,"mutability":"mutable","name":"encodedLengths","nameLocation":"925:14:254","nodeType":"VariableDeclaration","scope":166099,"src":"910:29:254","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":165956,"nodeType":"UserDefinedTypeName","pathNode":{"id":165955,"name":"EncodedLengths","nameLocations":["910:14:254"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"910:14:254"},"referencedDeclaration":7251,"src":"910:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":165958,"nodeType":"VariableDeclarationStatement","src":"910:29:254"},{"assignments":[165960],"declarations":[{"constant":false,"id":165960,"mutability":"mutable","name":"dynamicData","nameLocation":"956:11:254","nodeType":"VariableDeclaration","scope":166099,"src":"943:24:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":165959,"name":"bytes","nodeType":"ElementaryTypeName","src":"943:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":165961,"nodeType":"VariableDeclarationStatement","src":"943:24:254"},{"expression":{"id":165970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":165962,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165912,"src":"972:8:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":165964,"indexExpression":{"hexValue":"30","id":165963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"981:1:254","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"972:11:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":165967,"name":"TerrainType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162649,"src":"1004:11:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TerrainType_$162649_$","typeString":"type(library TerrainType)"}},"id":165968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1016:8:254","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":162113,"src":"1004:20:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":165965,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"986:10:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":165966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"997:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"986:17:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":165969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:39:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"972:53:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165971,"nodeType":"ExpressionStatement","src":"972:53:254"},{"expression":{"id":165980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":165972,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165912,"src":"1029:8:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":165974,"indexExpression":{"hexValue":"31","id":165973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1038:1:254","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1029:11:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":165977,"name":"MoveDifficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142970,"src":"1061:14:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MoveDifficulty_$142970_$","typeString":"type(library MoveDifficulty)"}},"id":165978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1076:8:254","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":142284,"src":"1061:23:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":165975,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"1043:10:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":165976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"1043:17:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":165979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1043:42:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1029:56:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165981,"nodeType":"ExpressionStatement","src":"1029:56:254"},{"expression":{"id":165990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":165982,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165912,"src":"1089:8:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":165984,"indexExpression":{"hexValue":"32","id":165983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1098:1:254","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1089:11:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":165987,"name":"ArmorModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90762,"src":"1121:13:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArmorModifier_$90762_$","typeString":"type(library ArmorModifier)"}},"id":165988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1135:8:254","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":90076,"src":"1121:22:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":165985,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"1103:10:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":165986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1114:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"1103:17:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":165989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1103:41:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1089:55:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":165991,"nodeType":"ExpressionStatement","src":"1089:55:254"},{"expression":{"id":166005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":165992,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1150:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":165993,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1162:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":165994,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1178:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":165995,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1149:41:254","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"33","id":166001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:1:254","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":166000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1225:5:254","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":165999,"name":"uint8","nodeType":"ElementaryTypeName","src":"1225:5:254","typeDescriptions":{}}},"id":166002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:8:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":165998,"name":"TerrainTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87314,"src":"1212:12:254","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_TerrainTypes_$87314_$","typeString":"type(enum TerrainTypes)"}},"id":166003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:22:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_TerrainTypes_$87314","typeString":"enum TerrainTypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_TerrainTypes_$87314","typeString":"enum TerrainTypes"}],"expression":{"id":165996,"name":"TerrainType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162649,"src":"1193:11:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TerrainType_$162649_$","typeString":"type(library TerrainType)"}},"id":165997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1205:6:254","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":162611,"src":"1193:18:254","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_TerrainTypes_$87314_$returns$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"function (enum TerrainTypes) pure returns (bytes memory,EncodedLengths,bytes memory)"}},"id":166004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1193:42:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"src":"1149:86:254","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166006,"nodeType":"ExpressionStatement","src":"1149:86:254"},{"expression":{"id":166011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166007,"name":"staticDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165934,"src":"1239:11:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166009,"indexExpression":{"hexValue":"30","id":166008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1251:1:254","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1239:14:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166010,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1256:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1239:27:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166012,"nodeType":"ExpressionStatement","src":"1239:27:254"},{"expression":{"id":166020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166013,"name":"encodedLengthss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165923,"src":"1270:15:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":166015,"indexExpression":{"hexValue":"30","id":166014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1286:1:254","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1270:18:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":166018,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1313:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":166016,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"1291:14:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":166017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1306:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"1291:21:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":166019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1291:37:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1270:58:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":166021,"nodeType":"ExpressionStatement","src":"1270:58:254"},{"expression":{"id":166026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166022,"name":"dynamicDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165945,"src":"1332:12:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166024,"indexExpression":{"hexValue":"30","id":166023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1345:1:254","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1332:15:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166025,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1350:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1332:29:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166027,"nodeType":"ExpressionStatement","src":"1332:29:254"},{"expression":{"id":166036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":166028,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1367:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":166029,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1379:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":166030,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1395:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":166031,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1366:41:254","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31353030","id":166034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1432:4:254","typeDescriptions":{"typeIdentifier":"t_rational_1500_by_1","typeString":"int_const 1500"},"value":"1500"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1500_by_1","typeString":"int_const 1500"}],"expression":{"id":166032,"name":"MoveDifficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":142970,"src":"1410:14:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MoveDifficulty_$142970_$","typeString":"type(library MoveDifficulty)"}},"id":166033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1425:6:254","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":142932,"src":"1410:21:254","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int32_$returns$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"function (int32) pure returns (bytes memory,EncodedLengths,bytes memory)"}},"id":166035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1410:27:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"src":"1366:71:254","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166037,"nodeType":"ExpressionStatement","src":"1366:71:254"},{"expression":{"id":166042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166038,"name":"staticDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165934,"src":"1441:11:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166040,"indexExpression":{"hexValue":"31","id":166039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1453:1:254","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1441:14:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166041,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1458:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1441:27:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166043,"nodeType":"ExpressionStatement","src":"1441:27:254"},{"expression":{"id":166051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166044,"name":"encodedLengthss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165923,"src":"1472:15:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":166046,"indexExpression":{"hexValue":"31","id":166045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1488:1:254","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1472:18:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":166049,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1515:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":166047,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"1493:14:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":166048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1508:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"1493:21:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":166050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:37:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1472:58:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":166052,"nodeType":"ExpressionStatement","src":"1472:58:254"},{"expression":{"id":166057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166053,"name":"dynamicDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165945,"src":"1534:12:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166055,"indexExpression":{"hexValue":"31","id":166054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1547:1:254","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1534:15:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166056,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1552:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1534:29:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166058,"nodeType":"ExpressionStatement","src":"1534:29:254"},{"expression":{"id":166068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":166059,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1569:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":166060,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1581:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":166061,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1597:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":166062,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1568:41:254","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":166066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1633:3:254","subExpression":{"hexValue":"3135","id":166065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1634:2:254","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_15_by_1","typeString":"int_const -15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_15_by_1","typeString":"int_const -15"}],"expression":{"id":166063,"name":"ArmorModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90762,"src":"1612:13:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArmorModifier_$90762_$","typeString":"type(library ArmorModifier)"}},"id":166064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1626:6:254","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":90724,"src":"1612:20:254","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int32_$returns$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"function (int32) pure returns (bytes memory,EncodedLengths,bytes memory)"}},"id":166067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:25:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"src":"1568:69:254","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166069,"nodeType":"ExpressionStatement","src":"1568:69:254"},{"expression":{"id":166074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166070,"name":"staticDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165934,"src":"1641:11:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166072,"indexExpression":{"hexValue":"32","id":166071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1653:1:254","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1641:14:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166073,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165953,"src":"1658:10:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1641:27:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166075,"nodeType":"ExpressionStatement","src":"1641:27:254"},{"expression":{"id":166083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166076,"name":"encodedLengthss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165923,"src":"1672:15:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":166078,"indexExpression":{"hexValue":"32","id":166077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1688:1:254","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1672:18:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":166081,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165957,"src":"1715:14:254","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":166079,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"1693:14:254","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":166080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1708:6:254","memberName":"unwrap","nodeType":"MemberAccess","src":"1693:21:254","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":166082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1693:37:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1672:58:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":166084,"nodeType":"ExpressionStatement","src":"1672:58:254"},{"expression":{"id":166089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":166085,"name":"dynamicDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165945,"src":"1734:12:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":166087,"indexExpression":{"hexValue":"32","id":166086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1747:1:254","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1734:15:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":166088,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165960,"src":"1752:11:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1734:29:254","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":166090,"nodeType":"ExpressionStatement","src":"1734:29:254"},{"expression":{"arguments":[{"id":166092,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165899,"src":"1783:10:254","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":166093,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165912,"src":"1795:8:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":166094,"name":"staticDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165934,"src":"1805:11:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":166095,"name":"encodedLengthss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165923,"src":"1818:15:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":166096,"name":"dynamicDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165945,"src":"1835:12:254","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"id":166091,"name":"createTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177313,"src":"1768:14:254","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32[] memory,bytes memory[] memory,bytes32[] memory,bytes memory[] memory)"}},"id":166097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1768:80:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166098,"nodeType":"ExpressionStatement","src":"1768:80:254"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"ForestTemplate","nameLocation":"643:14:254","parameters":{"id":165906,"nodeType":"ParameterList","parameters":[],"src":"657:2:254"},"returnParameters":{"id":165907,"nodeType":"ParameterList","parameters":[],"src":"660:0:254"},"scope":166101,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":254}