{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201536baa39182ea59e85ec94bf7bb32c4e5ed00646afa5ffbfbeaee8418417aed64736f6c63430008180033","sourceMap":"354:45749:48:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;354:45749:48;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201536baa39182ea59e85ec94bf7bb32c4e5ed00646afa5ffbfbeaee8418417aed64736f6c63430008180033","sourceMap":"354:45749:48:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This library provides utilities for encoding arrays into tightly packed bytes representations.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EncodeArray\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":\"EncodeArray\"},\"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/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"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/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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"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":{"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":"EncodeArray"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"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/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"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/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"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol","id":26428,"exportedSymbols":{"EncodeArray":[26427],"TightCoder":[26498]},"nodeType":"SourceUnit","src":"32:46072:48","nodes":[{"id":24071,"nodeType":"PragmaDirective","src":"32:25:48","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":24073,"nodeType":"ImportDirective","src":"107:46:48","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol","file":"./TightCoder.sol","nameLocation":"-1:-1:-1","scope":26428,"sourceUnit":26499,"symbolAliases":[{"foreign":{"id":24072,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"116:10:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":26427,"nodeType":"ContractDefinition","src":"354:45749:48","nodes":[{"id":24098,"nodeType":"FunctionDefinition","src":"616:221:48","nodes":[],"body":{"id":24097,"nodeType":"Block","src":"692:145:48","nodes":[],"statements":[{"assignments":[24087],"declarations":[{"constant":false,"id":24087,"mutability":"mutable","name":"_genericArray","nameLocation":"715:13:48","nodeType":"VariableDeclaration","scope":24097,"src":"698:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"698:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24086,"nodeType":"ArrayTypeName","src":"698:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24088,"nodeType":"VariableDeclarationStatement","src":"698:30:48"},{"AST":{"nativeSrc":"743:37:48","nodeType":"YulBlock","src":"743:37:48","statements":[{"nativeSrc":"751:23:48","nodeType":"YulAssignment","src":"751:23:48","value":{"name":"_input","nativeSrc":"768:6:48","nodeType":"YulIdentifier","src":"768:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"751:13:48","nodeType":"YulIdentifier","src":"751:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24087,"isOffset":false,"isSlot":false,"src":"751:13:48","valueSize":1},{"declaration":24078,"isOffset":false,"isSlot":false,"src":"768:6:48","valueSize":1}],"id":24089,"nodeType":"InlineAssembly","src":"734:46:48"},{"expression":{"arguments":[{"id":24092,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24087,"src":"810:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"31","id":24093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"825:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"323438","id":24094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"828:3:48","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"}],"expression":{"id":24090,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"792:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"803:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"792:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"792:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24082,"id":24096,"nodeType":"Return","src":"785:47:48"}]},"documentation":{"id":24075,"nodeType":"StructuredDocumentation","src":"378:235:48","text":" @notice Encodes an array of uint8 into a tightly packed bytes representation.\n @param _input The array of uint8 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"625:6:48","parameters":{"id":24079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24078,"mutability":"mutable","name":"_input","nameLocation":"647:6:48","nodeType":"VariableDeclaration","scope":24098,"src":"632:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":24076,"name":"uint8","nodeType":"ElementaryTypeName","src":"632:5:48","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":24077,"nodeType":"ArrayTypeName","src":"632:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"631:23:48"},"returnParameters":{"id":24082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24098,"src":"678:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24080,"name":"bytes","nodeType":"ElementaryTypeName","src":"678:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"677:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24122,"nodeType":"FunctionDefinition","src":"1081:222:48","nodes":[],"body":{"id":24121,"nodeType":"Block","src":"1158:145:48","nodes":[],"statements":[{"assignments":[24111],"declarations":[{"constant":false,"id":24111,"mutability":"mutable","name":"_genericArray","nameLocation":"1181:13:48","nodeType":"VariableDeclaration","scope":24121,"src":"1164:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1164:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24110,"nodeType":"ArrayTypeName","src":"1164:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24112,"nodeType":"VariableDeclarationStatement","src":"1164:30:48"},{"AST":{"nativeSrc":"1209:37:48","nodeType":"YulBlock","src":"1209:37:48","statements":[{"nativeSrc":"1217:23:48","nodeType":"YulAssignment","src":"1217:23:48","value":{"name":"_input","nativeSrc":"1234:6:48","nodeType":"YulIdentifier","src":"1234:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"1217:13:48","nodeType":"YulIdentifier","src":"1217:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24111,"isOffset":false,"isSlot":false,"src":"1217:13:48","valueSize":1},{"declaration":24102,"isOffset":false,"isSlot":false,"src":"1234:6:48","valueSize":1}],"id":24113,"nodeType":"InlineAssembly","src":"1200:46:48"},{"expression":{"arguments":[{"id":24116,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24111,"src":"1276:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"32","id":24117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1291:1:48","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"323430","id":24118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1294:3:48","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"}],"expression":{"id":24114,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"1258:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1269:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"1258:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24106,"id":24120,"nodeType":"Return","src":"1251:47:48"}]},"documentation":{"id":24099,"nodeType":"StructuredDocumentation","src":"841:237:48","text":" @notice Encodes an array of uint16 into a tightly packed bytes representation.\n @param _input The array of uint16 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"1090:6:48","parameters":{"id":24103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24102,"mutability":"mutable","name":"_input","nameLocation":"1113:6:48","nodeType":"VariableDeclaration","scope":24122,"src":"1097:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":24100,"name":"uint16","nodeType":"ElementaryTypeName","src":"1097:6:48","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":24101,"nodeType":"ArrayTypeName","src":"1097:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"}],"src":"1096:24:48"},"returnParameters":{"id":24106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24122,"src":"1144:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24104,"name":"bytes","nodeType":"ElementaryTypeName","src":"1144:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1143:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24146,"nodeType":"FunctionDefinition","src":"1547:222:48","nodes":[],"body":{"id":24145,"nodeType":"Block","src":"1624:145:48","nodes":[],"statements":[{"assignments":[24135],"declarations":[{"constant":false,"id":24135,"mutability":"mutable","name":"_genericArray","nameLocation":"1647:13:48","nodeType":"VariableDeclaration","scope":24145,"src":"1630:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1630:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24134,"nodeType":"ArrayTypeName","src":"1630:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24136,"nodeType":"VariableDeclarationStatement","src":"1630:30:48"},{"AST":{"nativeSrc":"1675:37:48","nodeType":"YulBlock","src":"1675:37:48","statements":[{"nativeSrc":"1683:23:48","nodeType":"YulAssignment","src":"1683:23:48","value":{"name":"_input","nativeSrc":"1700:6:48","nodeType":"YulIdentifier","src":"1700:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"1683:13:48","nodeType":"YulIdentifier","src":"1683:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24135,"isOffset":false,"isSlot":false,"src":"1683:13:48","valueSize":1},{"declaration":24126,"isOffset":false,"isSlot":false,"src":"1700:6:48","valueSize":1}],"id":24137,"nodeType":"InlineAssembly","src":"1666:46:48"},{"expression":{"arguments":[{"id":24140,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24135,"src":"1742:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"33","id":24141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1757:1:48","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"323332","id":24142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1760:3:48","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"}],"expression":{"id":24138,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"1724:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1735:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"1724:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1724:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24130,"id":24144,"nodeType":"Return","src":"1717:47:48"}]},"documentation":{"id":24123,"nodeType":"StructuredDocumentation","src":"1307:237:48","text":" @notice Encodes an array of uint24 into a tightly packed bytes representation.\n @param _input The array of uint24 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"1556:6:48","parameters":{"id":24127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24126,"mutability":"mutable","name":"_input","nameLocation":"1579:6:48","nodeType":"VariableDeclaration","scope":24146,"src":"1563:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint24_$dyn_memory_ptr","typeString":"uint24[]"},"typeName":{"baseType":{"id":24124,"name":"uint24","nodeType":"ElementaryTypeName","src":"1563:6:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":24125,"nodeType":"ArrayTypeName","src":"1563:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint24_$dyn_storage_ptr","typeString":"uint24[]"}},"visibility":"internal"}],"src":"1562:24:48"},"returnParameters":{"id":24130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24146,"src":"1610:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24128,"name":"bytes","nodeType":"ElementaryTypeName","src":"1610:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1609:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24170,"nodeType":"FunctionDefinition","src":"2013:222:48","nodes":[],"body":{"id":24169,"nodeType":"Block","src":"2090:145:48","nodes":[],"statements":[{"assignments":[24159],"declarations":[{"constant":false,"id":24159,"mutability":"mutable","name":"_genericArray","nameLocation":"2113:13:48","nodeType":"VariableDeclaration","scope":24169,"src":"2096:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2096:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24158,"nodeType":"ArrayTypeName","src":"2096:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24160,"nodeType":"VariableDeclarationStatement","src":"2096:30:48"},{"AST":{"nativeSrc":"2141:37:48","nodeType":"YulBlock","src":"2141:37:48","statements":[{"nativeSrc":"2149:23:48","nodeType":"YulAssignment","src":"2149:23:48","value":{"name":"_input","nativeSrc":"2166:6:48","nodeType":"YulIdentifier","src":"2166:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"2149:13:48","nodeType":"YulIdentifier","src":"2149:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24159,"isOffset":false,"isSlot":false,"src":"2149:13:48","valueSize":1},{"declaration":24150,"isOffset":false,"isSlot":false,"src":"2166:6:48","valueSize":1}],"id":24161,"nodeType":"InlineAssembly","src":"2132:46:48"},{"expression":{"arguments":[{"id":24164,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24159,"src":"2208:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"34","id":24165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2223:1:48","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"hexValue":"323234","id":24166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2226:3:48","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"}],"expression":{"id":24162,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"2190:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2201:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"2190:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2190:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24154,"id":24168,"nodeType":"Return","src":"2183:47:48"}]},"documentation":{"id":24147,"nodeType":"StructuredDocumentation","src":"1773:237:48","text":" @notice Encodes an array of uint32 into a tightly packed bytes representation.\n @param _input The array of uint32 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"2022:6:48","parameters":{"id":24151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24150,"mutability":"mutable","name":"_input","nameLocation":"2045:6:48","nodeType":"VariableDeclaration","scope":24170,"src":"2029:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_memory_ptr","typeString":"uint32[]"},"typeName":{"baseType":{"id":24148,"name":"uint32","nodeType":"ElementaryTypeName","src":"2029:6:48","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":24149,"nodeType":"ArrayTypeName","src":"2029:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_storage_ptr","typeString":"uint32[]"}},"visibility":"internal"}],"src":"2028:24:48"},"returnParameters":{"id":24154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24170,"src":"2076:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24152,"name":"bytes","nodeType":"ElementaryTypeName","src":"2076:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2075:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24194,"nodeType":"FunctionDefinition","src":"2479:222:48","nodes":[],"body":{"id":24193,"nodeType":"Block","src":"2556:145:48","nodes":[],"statements":[{"assignments":[24183],"declarations":[{"constant":false,"id":24183,"mutability":"mutable","name":"_genericArray","nameLocation":"2579:13:48","nodeType":"VariableDeclaration","scope":24193,"src":"2562:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2562:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24182,"nodeType":"ArrayTypeName","src":"2562:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24184,"nodeType":"VariableDeclarationStatement","src":"2562:30:48"},{"AST":{"nativeSrc":"2607:37:48","nodeType":"YulBlock","src":"2607:37:48","statements":[{"nativeSrc":"2615:23:48","nodeType":"YulAssignment","src":"2615:23:48","value":{"name":"_input","nativeSrc":"2632:6:48","nodeType":"YulIdentifier","src":"2632:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"2615:13:48","nodeType":"YulIdentifier","src":"2615:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24183,"isOffset":false,"isSlot":false,"src":"2615:13:48","valueSize":1},{"declaration":24174,"isOffset":false,"isSlot":false,"src":"2632:6:48","valueSize":1}],"id":24185,"nodeType":"InlineAssembly","src":"2598:46:48"},{"expression":{"arguments":[{"id":24188,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24183,"src":"2674:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"35","id":24189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2689:1:48","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"323136","id":24190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2692:3:48","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"expression":{"id":24186,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"2656:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2667:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"2656:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2656:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24178,"id":24192,"nodeType":"Return","src":"2649:47:48"}]},"documentation":{"id":24171,"nodeType":"StructuredDocumentation","src":"2239:237:48","text":" @notice Encodes an array of uint40 into a tightly packed bytes representation.\n @param _input The array of uint40 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"2488:6:48","parameters":{"id":24175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24174,"mutability":"mutable","name":"_input","nameLocation":"2511:6:48","nodeType":"VariableDeclaration","scope":24194,"src":"2495:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint40_$dyn_memory_ptr","typeString":"uint40[]"},"typeName":{"baseType":{"id":24172,"name":"uint40","nodeType":"ElementaryTypeName","src":"2495:6:48","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"id":24173,"nodeType":"ArrayTypeName","src":"2495:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint40_$dyn_storage_ptr","typeString":"uint40[]"}},"visibility":"internal"}],"src":"2494:24:48"},"returnParameters":{"id":24178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24194,"src":"2542:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24176,"name":"bytes","nodeType":"ElementaryTypeName","src":"2542:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2541:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24218,"nodeType":"FunctionDefinition","src":"2945:222:48","nodes":[],"body":{"id":24217,"nodeType":"Block","src":"3022:145:48","nodes":[],"statements":[{"assignments":[24207],"declarations":[{"constant":false,"id":24207,"mutability":"mutable","name":"_genericArray","nameLocation":"3045:13:48","nodeType":"VariableDeclaration","scope":24217,"src":"3028:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3028:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24206,"nodeType":"ArrayTypeName","src":"3028:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24208,"nodeType":"VariableDeclarationStatement","src":"3028:30:48"},{"AST":{"nativeSrc":"3073:37:48","nodeType":"YulBlock","src":"3073:37:48","statements":[{"nativeSrc":"3081:23:48","nodeType":"YulAssignment","src":"3081:23:48","value":{"name":"_input","nativeSrc":"3098:6:48","nodeType":"YulIdentifier","src":"3098:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"3081:13:48","nodeType":"YulIdentifier","src":"3081:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24207,"isOffset":false,"isSlot":false,"src":"3081:13:48","valueSize":1},{"declaration":24198,"isOffset":false,"isSlot":false,"src":"3098:6:48","valueSize":1}],"id":24209,"nodeType":"InlineAssembly","src":"3064:46:48"},{"expression":{"arguments":[{"id":24212,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24207,"src":"3140:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"36","id":24213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3155:1:48","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},{"hexValue":"323038","id":24214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3158:3:48","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"}],"expression":{"id":24210,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"3122:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3133:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"3122:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3122:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24202,"id":24216,"nodeType":"Return","src":"3115:47:48"}]},"documentation":{"id":24195,"nodeType":"StructuredDocumentation","src":"2705:237:48","text":" @notice Encodes an array of uint48 into a tightly packed bytes representation.\n @param _input The array of uint48 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"2954:6:48","parameters":{"id":24199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24198,"mutability":"mutable","name":"_input","nameLocation":"2977:6:48","nodeType":"VariableDeclaration","scope":24218,"src":"2961:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint48_$dyn_memory_ptr","typeString":"uint48[]"},"typeName":{"baseType":{"id":24196,"name":"uint48","nodeType":"ElementaryTypeName","src":"2961:6:48","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":24197,"nodeType":"ArrayTypeName","src":"2961:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint48_$dyn_storage_ptr","typeString":"uint48[]"}},"visibility":"internal"}],"src":"2960:24:48"},"returnParameters":{"id":24202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24218,"src":"3008:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24200,"name":"bytes","nodeType":"ElementaryTypeName","src":"3008:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3007:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24242,"nodeType":"FunctionDefinition","src":"3411:222:48","nodes":[],"body":{"id":24241,"nodeType":"Block","src":"3488:145:48","nodes":[],"statements":[{"assignments":[24231],"declarations":[{"constant":false,"id":24231,"mutability":"mutable","name":"_genericArray","nameLocation":"3511:13:48","nodeType":"VariableDeclaration","scope":24241,"src":"3494:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3494:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24230,"nodeType":"ArrayTypeName","src":"3494:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24232,"nodeType":"VariableDeclarationStatement","src":"3494:30:48"},{"AST":{"nativeSrc":"3539:37:48","nodeType":"YulBlock","src":"3539:37:48","statements":[{"nativeSrc":"3547:23:48","nodeType":"YulAssignment","src":"3547:23:48","value":{"name":"_input","nativeSrc":"3564:6:48","nodeType":"YulIdentifier","src":"3564:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"3547:13:48","nodeType":"YulIdentifier","src":"3547:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24231,"isOffset":false,"isSlot":false,"src":"3547:13:48","valueSize":1},{"declaration":24222,"isOffset":false,"isSlot":false,"src":"3564:6:48","valueSize":1}],"id":24233,"nodeType":"InlineAssembly","src":"3530:46:48"},{"expression":{"arguments":[{"id":24236,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24231,"src":"3606:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"37","id":24237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3621:1:48","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},{"hexValue":"323030","id":24238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3624:3:48","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"}],"expression":{"id":24234,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"3588:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3599:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"3588:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3588:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24226,"id":24240,"nodeType":"Return","src":"3581:47:48"}]},"documentation":{"id":24219,"nodeType":"StructuredDocumentation","src":"3171:237:48","text":" @notice Encodes an array of uint56 into a tightly packed bytes representation.\n @param _input The array of uint56 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"3420:6:48","parameters":{"id":24223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24222,"mutability":"mutable","name":"_input","nameLocation":"3443:6:48","nodeType":"VariableDeclaration","scope":24242,"src":"3427:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint56_$dyn_memory_ptr","typeString":"uint56[]"},"typeName":{"baseType":{"id":24220,"name":"uint56","nodeType":"ElementaryTypeName","src":"3427:6:48","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"id":24221,"nodeType":"ArrayTypeName","src":"3427:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint56_$dyn_storage_ptr","typeString":"uint56[]"}},"visibility":"internal"}],"src":"3426:24:48"},"returnParameters":{"id":24226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24242,"src":"3474:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24224,"name":"bytes","nodeType":"ElementaryTypeName","src":"3474:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3473:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24266,"nodeType":"FunctionDefinition","src":"3877:222:48","nodes":[],"body":{"id":24265,"nodeType":"Block","src":"3954:145:48","nodes":[],"statements":[{"assignments":[24255],"declarations":[{"constant":false,"id":24255,"mutability":"mutable","name":"_genericArray","nameLocation":"3977:13:48","nodeType":"VariableDeclaration","scope":24265,"src":"3960:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3960:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24254,"nodeType":"ArrayTypeName","src":"3960:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24256,"nodeType":"VariableDeclarationStatement","src":"3960:30:48"},{"AST":{"nativeSrc":"4005:37:48","nodeType":"YulBlock","src":"4005:37:48","statements":[{"nativeSrc":"4013:23:48","nodeType":"YulAssignment","src":"4013:23:48","value":{"name":"_input","nativeSrc":"4030:6:48","nodeType":"YulIdentifier","src":"4030:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"4013:13:48","nodeType":"YulIdentifier","src":"4013:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24255,"isOffset":false,"isSlot":false,"src":"4013:13:48","valueSize":1},{"declaration":24246,"isOffset":false,"isSlot":false,"src":"4030:6:48","valueSize":1}],"id":24257,"nodeType":"InlineAssembly","src":"3996:46:48"},{"expression":{"arguments":[{"id":24260,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24255,"src":"4072:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"38","id":24261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4087:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"hexValue":"313932","id":24262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4090:3:48","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"}],"expression":{"id":24258,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"4054:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"4054:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4054:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24250,"id":24264,"nodeType":"Return","src":"4047:47:48"}]},"documentation":{"id":24243,"nodeType":"StructuredDocumentation","src":"3637:237:48","text":" @notice Encodes an array of uint64 into a tightly packed bytes representation.\n @param _input The array of uint64 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"3886:6:48","parameters":{"id":24247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24246,"mutability":"mutable","name":"_input","nameLocation":"3909:6:48","nodeType":"VariableDeclaration","scope":24266,"src":"3893:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_memory_ptr","typeString":"uint64[]"},"typeName":{"baseType":{"id":24244,"name":"uint64","nodeType":"ElementaryTypeName","src":"3893:6:48","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":24245,"nodeType":"ArrayTypeName","src":"3893:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint64_$dyn_storage_ptr","typeString":"uint64[]"}},"visibility":"internal"}],"src":"3892:24:48"},"returnParameters":{"id":24250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24249,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24266,"src":"3940:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24248,"name":"bytes","nodeType":"ElementaryTypeName","src":"3940:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3939:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24290,"nodeType":"FunctionDefinition","src":"4343:222:48","nodes":[],"body":{"id":24289,"nodeType":"Block","src":"4420:145:48","nodes":[],"statements":[{"assignments":[24279],"declarations":[{"constant":false,"id":24279,"mutability":"mutable","name":"_genericArray","nameLocation":"4443:13:48","nodeType":"VariableDeclaration","scope":24289,"src":"4426:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4426:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24278,"nodeType":"ArrayTypeName","src":"4426:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24280,"nodeType":"VariableDeclarationStatement","src":"4426:30:48"},{"AST":{"nativeSrc":"4471:37:48","nodeType":"YulBlock","src":"4471:37:48","statements":[{"nativeSrc":"4479:23:48","nodeType":"YulAssignment","src":"4479:23:48","value":{"name":"_input","nativeSrc":"4496:6:48","nodeType":"YulIdentifier","src":"4496:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"4479:13:48","nodeType":"YulIdentifier","src":"4479:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24279,"isOffset":false,"isSlot":false,"src":"4479:13:48","valueSize":1},{"declaration":24270,"isOffset":false,"isSlot":false,"src":"4496:6:48","valueSize":1}],"id":24281,"nodeType":"InlineAssembly","src":"4462:46:48"},{"expression":{"arguments":[{"id":24284,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24279,"src":"4538:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"39","id":24285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4553:1:48","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},{"hexValue":"313834","id":24286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4556:3:48","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"}],"expression":{"id":24282,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"4520:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4531:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"4520:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24274,"id":24288,"nodeType":"Return","src":"4513:47:48"}]},"documentation":{"id":24267,"nodeType":"StructuredDocumentation","src":"4103:237:48","text":" @notice Encodes an array of uint72 into a tightly packed bytes representation.\n @param _input The array of uint72 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"4352:6:48","parameters":{"id":24271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24270,"mutability":"mutable","name":"_input","nameLocation":"4375:6:48","nodeType":"VariableDeclaration","scope":24290,"src":"4359:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint72_$dyn_memory_ptr","typeString":"uint72[]"},"typeName":{"baseType":{"id":24268,"name":"uint72","nodeType":"ElementaryTypeName","src":"4359:6:48","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"id":24269,"nodeType":"ArrayTypeName","src":"4359:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint72_$dyn_storage_ptr","typeString":"uint72[]"}},"visibility":"internal"}],"src":"4358:24:48"},"returnParameters":{"id":24274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24290,"src":"4406:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24272,"name":"bytes","nodeType":"ElementaryTypeName","src":"4406:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4405:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24314,"nodeType":"FunctionDefinition","src":"4809:223:48","nodes":[],"body":{"id":24313,"nodeType":"Block","src":"4886:146:48","nodes":[],"statements":[{"assignments":[24303],"declarations":[{"constant":false,"id":24303,"mutability":"mutable","name":"_genericArray","nameLocation":"4909:13:48","nodeType":"VariableDeclaration","scope":24313,"src":"4892:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4892:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24302,"nodeType":"ArrayTypeName","src":"4892:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24304,"nodeType":"VariableDeclarationStatement","src":"4892:30:48"},{"AST":{"nativeSrc":"4937:37:48","nodeType":"YulBlock","src":"4937:37:48","statements":[{"nativeSrc":"4945:23:48","nodeType":"YulAssignment","src":"4945:23:48","value":{"name":"_input","nativeSrc":"4962:6:48","nodeType":"YulIdentifier","src":"4962:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"4945:13:48","nodeType":"YulIdentifier","src":"4945:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24303,"isOffset":false,"isSlot":false,"src":"4945:13:48","valueSize":1},{"declaration":24294,"isOffset":false,"isSlot":false,"src":"4962:6:48","valueSize":1}],"id":24305,"nodeType":"InlineAssembly","src":"4928:46:48"},{"expression":{"arguments":[{"id":24308,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24303,"src":"5004:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3130","id":24309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5019:2:48","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"313736","id":24310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5023:3:48","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"}],"expression":{"id":24306,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"4986:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4997:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"4986:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4986:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24298,"id":24312,"nodeType":"Return","src":"4979:48:48"}]},"documentation":{"id":24291,"nodeType":"StructuredDocumentation","src":"4569:237:48","text":" @notice Encodes an array of uint80 into a tightly packed bytes representation.\n @param _input The array of uint80 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"4818:6:48","parameters":{"id":24295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24294,"mutability":"mutable","name":"_input","nameLocation":"4841:6:48","nodeType":"VariableDeclaration","scope":24314,"src":"4825:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint80_$dyn_memory_ptr","typeString":"uint80[]"},"typeName":{"baseType":{"id":24292,"name":"uint80","nodeType":"ElementaryTypeName","src":"4825:6:48","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"id":24293,"nodeType":"ArrayTypeName","src":"4825:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint80_$dyn_storage_ptr","typeString":"uint80[]"}},"visibility":"internal"}],"src":"4824:24:48"},"returnParameters":{"id":24298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24314,"src":"4872:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24296,"name":"bytes","nodeType":"ElementaryTypeName","src":"4872:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4871:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24338,"nodeType":"FunctionDefinition","src":"5276:223:48","nodes":[],"body":{"id":24337,"nodeType":"Block","src":"5353:146:48","nodes":[],"statements":[{"assignments":[24327],"declarations":[{"constant":false,"id":24327,"mutability":"mutable","name":"_genericArray","nameLocation":"5376:13:48","nodeType":"VariableDeclaration","scope":24337,"src":"5359:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5359:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24326,"nodeType":"ArrayTypeName","src":"5359:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24328,"nodeType":"VariableDeclarationStatement","src":"5359:30:48"},{"AST":{"nativeSrc":"5404:37:48","nodeType":"YulBlock","src":"5404:37:48","statements":[{"nativeSrc":"5412:23:48","nodeType":"YulAssignment","src":"5412:23:48","value":{"name":"_input","nativeSrc":"5429:6:48","nodeType":"YulIdentifier","src":"5429:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"5412:13:48","nodeType":"YulIdentifier","src":"5412:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24327,"isOffset":false,"isSlot":false,"src":"5412:13:48","valueSize":1},{"declaration":24318,"isOffset":false,"isSlot":false,"src":"5429:6:48","valueSize":1}],"id":24329,"nodeType":"InlineAssembly","src":"5395:46:48"},{"expression":{"arguments":[{"id":24332,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24327,"src":"5471:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3131","id":24333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5486:2:48","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"313638","id":24334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5490:3:48","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"}],"expression":{"id":24330,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"5453:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5464:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"5453:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5453:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24322,"id":24336,"nodeType":"Return","src":"5446:48:48"}]},"documentation":{"id":24315,"nodeType":"StructuredDocumentation","src":"5036:237:48","text":" @notice Encodes an array of uint88 into a tightly packed bytes representation.\n @param _input The array of uint88 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"5285:6:48","parameters":{"id":24319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24318,"mutability":"mutable","name":"_input","nameLocation":"5308:6:48","nodeType":"VariableDeclaration","scope":24338,"src":"5292:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint88_$dyn_memory_ptr","typeString":"uint88[]"},"typeName":{"baseType":{"id":24316,"name":"uint88","nodeType":"ElementaryTypeName","src":"5292:6:48","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"id":24317,"nodeType":"ArrayTypeName","src":"5292:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint88_$dyn_storage_ptr","typeString":"uint88[]"}},"visibility":"internal"}],"src":"5291:24:48"},"returnParameters":{"id":24322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24338,"src":"5339:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24320,"name":"bytes","nodeType":"ElementaryTypeName","src":"5339:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5338:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24362,"nodeType":"FunctionDefinition","src":"5743:223:48","nodes":[],"body":{"id":24361,"nodeType":"Block","src":"5820:146:48","nodes":[],"statements":[{"assignments":[24351],"declarations":[{"constant":false,"id":24351,"mutability":"mutable","name":"_genericArray","nameLocation":"5843:13:48","nodeType":"VariableDeclaration","scope":24361,"src":"5826:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5826:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24350,"nodeType":"ArrayTypeName","src":"5826:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24352,"nodeType":"VariableDeclarationStatement","src":"5826:30:48"},{"AST":{"nativeSrc":"5871:37:48","nodeType":"YulBlock","src":"5871:37:48","statements":[{"nativeSrc":"5879:23:48","nodeType":"YulAssignment","src":"5879:23:48","value":{"name":"_input","nativeSrc":"5896:6:48","nodeType":"YulIdentifier","src":"5896:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"5879:13:48","nodeType":"YulIdentifier","src":"5879:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24351,"isOffset":false,"isSlot":false,"src":"5879:13:48","valueSize":1},{"declaration":24342,"isOffset":false,"isSlot":false,"src":"5896:6:48","valueSize":1}],"id":24353,"nodeType":"InlineAssembly","src":"5862:46:48"},{"expression":{"arguments":[{"id":24356,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24351,"src":"5938:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3132","id":24357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5953:2:48","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},{"hexValue":"313630","id":24358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5957:3:48","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"}],"expression":{"id":24354,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"5920:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5931:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"5920:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5920:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24346,"id":24360,"nodeType":"Return","src":"5913:48:48"}]},"documentation":{"id":24339,"nodeType":"StructuredDocumentation","src":"5503:237:48","text":" @notice Encodes an array of uint96 into a tightly packed bytes representation.\n @param _input The array of uint96 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"5752:6:48","parameters":{"id":24343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24342,"mutability":"mutable","name":"_input","nameLocation":"5775:6:48","nodeType":"VariableDeclaration","scope":24362,"src":"5759:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint96_$dyn_memory_ptr","typeString":"uint96[]"},"typeName":{"baseType":{"id":24340,"name":"uint96","nodeType":"ElementaryTypeName","src":"5759:6:48","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"id":24341,"nodeType":"ArrayTypeName","src":"5759:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint96_$dyn_storage_ptr","typeString":"uint96[]"}},"visibility":"internal"}],"src":"5758:24:48"},"returnParameters":{"id":24346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24362,"src":"5806:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24344,"name":"bytes","nodeType":"ElementaryTypeName","src":"5806:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5805:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24386,"nodeType":"FunctionDefinition","src":"6212:224:48","nodes":[],"body":{"id":24385,"nodeType":"Block","src":"6290:146:48","nodes":[],"statements":[{"assignments":[24375],"declarations":[{"constant":false,"id":24375,"mutability":"mutable","name":"_genericArray","nameLocation":"6313:13:48","nodeType":"VariableDeclaration","scope":24385,"src":"6296:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6296:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24374,"nodeType":"ArrayTypeName","src":"6296:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24376,"nodeType":"VariableDeclarationStatement","src":"6296:30:48"},{"AST":{"nativeSrc":"6341:37:48","nodeType":"YulBlock","src":"6341:37:48","statements":[{"nativeSrc":"6349:23:48","nodeType":"YulAssignment","src":"6349:23:48","value":{"name":"_input","nativeSrc":"6366:6:48","nodeType":"YulIdentifier","src":"6366:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"6349:13:48","nodeType":"YulIdentifier","src":"6349:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24375,"isOffset":false,"isSlot":false,"src":"6349:13:48","valueSize":1},{"declaration":24366,"isOffset":false,"isSlot":false,"src":"6366:6:48","valueSize":1}],"id":24377,"nodeType":"InlineAssembly","src":"6332:46:48"},{"expression":{"arguments":[{"id":24380,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24375,"src":"6408:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3133","id":24381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6423:2:48","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},{"hexValue":"313532","id":24382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6427:3:48","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"}],"expression":{"id":24378,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"6390:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6401:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"6390:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6390:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24370,"id":24384,"nodeType":"Return","src":"6383:48:48"}]},"documentation":{"id":24363,"nodeType":"StructuredDocumentation","src":"5970:239:48","text":" @notice Encodes an array of uint104 into a tightly packed bytes representation.\n @param _input The array of uint104 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"6221:6:48","parameters":{"id":24367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24366,"mutability":"mutable","name":"_input","nameLocation":"6245:6:48","nodeType":"VariableDeclaration","scope":24386,"src":"6228:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint104_$dyn_memory_ptr","typeString":"uint104[]"},"typeName":{"baseType":{"id":24364,"name":"uint104","nodeType":"ElementaryTypeName","src":"6228:7:48","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"id":24365,"nodeType":"ArrayTypeName","src":"6228:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint104_$dyn_storage_ptr","typeString":"uint104[]"}},"visibility":"internal"}],"src":"6227:25:48"},"returnParameters":{"id":24370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24386,"src":"6276:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24368,"name":"bytes","nodeType":"ElementaryTypeName","src":"6276:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6275:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24410,"nodeType":"FunctionDefinition","src":"6682:224:48","nodes":[],"body":{"id":24409,"nodeType":"Block","src":"6760:146:48","nodes":[],"statements":[{"assignments":[24399],"declarations":[{"constant":false,"id":24399,"mutability":"mutable","name":"_genericArray","nameLocation":"6783:13:48","nodeType":"VariableDeclaration","scope":24409,"src":"6766:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6766:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24398,"nodeType":"ArrayTypeName","src":"6766:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24400,"nodeType":"VariableDeclarationStatement","src":"6766:30:48"},{"AST":{"nativeSrc":"6811:37:48","nodeType":"YulBlock","src":"6811:37:48","statements":[{"nativeSrc":"6819:23:48","nodeType":"YulAssignment","src":"6819:23:48","value":{"name":"_input","nativeSrc":"6836:6:48","nodeType":"YulIdentifier","src":"6836:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"6819:13:48","nodeType":"YulIdentifier","src":"6819:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24399,"isOffset":false,"isSlot":false,"src":"6819:13:48","valueSize":1},{"declaration":24390,"isOffset":false,"isSlot":false,"src":"6836:6:48","valueSize":1}],"id":24401,"nodeType":"InlineAssembly","src":"6802:46:48"},{"expression":{"arguments":[{"id":24404,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24399,"src":"6878:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3134","id":24405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6893:2:48","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"313434","id":24406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6897:3:48","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"}],"expression":{"id":24402,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"6860:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6871:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"6860:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6860:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24394,"id":24408,"nodeType":"Return","src":"6853:48:48"}]},"documentation":{"id":24387,"nodeType":"StructuredDocumentation","src":"6440:239:48","text":" @notice Encodes an array of uint112 into a tightly packed bytes representation.\n @param _input The array of uint112 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"6691:6:48","parameters":{"id":24391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24390,"mutability":"mutable","name":"_input","nameLocation":"6715:6:48","nodeType":"VariableDeclaration","scope":24410,"src":"6698:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint112_$dyn_memory_ptr","typeString":"uint112[]"},"typeName":{"baseType":{"id":24388,"name":"uint112","nodeType":"ElementaryTypeName","src":"6698:7:48","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"id":24389,"nodeType":"ArrayTypeName","src":"6698:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint112_$dyn_storage_ptr","typeString":"uint112[]"}},"visibility":"internal"}],"src":"6697:25:48"},"returnParameters":{"id":24394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24410,"src":"6746:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24392,"name":"bytes","nodeType":"ElementaryTypeName","src":"6746:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6745:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24434,"nodeType":"FunctionDefinition","src":"7152:224:48","nodes":[],"body":{"id":24433,"nodeType":"Block","src":"7230:146:48","nodes":[],"statements":[{"assignments":[24423],"declarations":[{"constant":false,"id":24423,"mutability":"mutable","name":"_genericArray","nameLocation":"7253:13:48","nodeType":"VariableDeclaration","scope":24433,"src":"7236:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7236:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24422,"nodeType":"ArrayTypeName","src":"7236:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24424,"nodeType":"VariableDeclarationStatement","src":"7236:30:48"},{"AST":{"nativeSrc":"7281:37:48","nodeType":"YulBlock","src":"7281:37:48","statements":[{"nativeSrc":"7289:23:48","nodeType":"YulAssignment","src":"7289:23:48","value":{"name":"_input","nativeSrc":"7306:6:48","nodeType":"YulIdentifier","src":"7306:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"7289:13:48","nodeType":"YulIdentifier","src":"7289:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24423,"isOffset":false,"isSlot":false,"src":"7289:13:48","valueSize":1},{"declaration":24414,"isOffset":false,"isSlot":false,"src":"7306:6:48","valueSize":1}],"id":24425,"nodeType":"InlineAssembly","src":"7272:46:48"},{"expression":{"arguments":[{"id":24428,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24423,"src":"7348:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3135","id":24429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7363:2:48","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},{"hexValue":"313336","id":24430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7367:3:48","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"}],"expression":{"id":24426,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"7330:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7341:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"7330:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7330:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24418,"id":24432,"nodeType":"Return","src":"7323:48:48"}]},"documentation":{"id":24411,"nodeType":"StructuredDocumentation","src":"6910:239:48","text":" @notice Encodes an array of uint120 into a tightly packed bytes representation.\n @param _input The array of uint120 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"7161:6:48","parameters":{"id":24415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24414,"mutability":"mutable","name":"_input","nameLocation":"7185:6:48","nodeType":"VariableDeclaration","scope":24434,"src":"7168:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint120_$dyn_memory_ptr","typeString":"uint120[]"},"typeName":{"baseType":{"id":24412,"name":"uint120","nodeType":"ElementaryTypeName","src":"7168:7:48","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"id":24413,"nodeType":"ArrayTypeName","src":"7168:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint120_$dyn_storage_ptr","typeString":"uint120[]"}},"visibility":"internal"}],"src":"7167:25:48"},"returnParameters":{"id":24418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24434,"src":"7216:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24416,"name":"bytes","nodeType":"ElementaryTypeName","src":"7216:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7215:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24458,"nodeType":"FunctionDefinition","src":"7622:224:48","nodes":[],"body":{"id":24457,"nodeType":"Block","src":"7700:146:48","nodes":[],"statements":[{"assignments":[24447],"declarations":[{"constant":false,"id":24447,"mutability":"mutable","name":"_genericArray","nameLocation":"7723:13:48","nodeType":"VariableDeclaration","scope":24457,"src":"7706:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7706:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24446,"nodeType":"ArrayTypeName","src":"7706:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24448,"nodeType":"VariableDeclarationStatement","src":"7706:30:48"},{"AST":{"nativeSrc":"7751:37:48","nodeType":"YulBlock","src":"7751:37:48","statements":[{"nativeSrc":"7759:23:48","nodeType":"YulAssignment","src":"7759:23:48","value":{"name":"_input","nativeSrc":"7776:6:48","nodeType":"YulIdentifier","src":"7776:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"7759:13:48","nodeType":"YulIdentifier","src":"7759:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24447,"isOffset":false,"isSlot":false,"src":"7759:13:48","valueSize":1},{"declaration":24438,"isOffset":false,"isSlot":false,"src":"7776:6:48","valueSize":1}],"id":24449,"nodeType":"InlineAssembly","src":"7742:46:48"},{"expression":{"arguments":[{"id":24452,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24447,"src":"7818:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3136","id":24453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7833:2:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"hexValue":"313238","id":24454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7837:3:48","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"expression":{"id":24450,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"7800:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7811:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"7800:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7800:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24442,"id":24456,"nodeType":"Return","src":"7793:48:48"}]},"documentation":{"id":24435,"nodeType":"StructuredDocumentation","src":"7380:239:48","text":" @notice Encodes an array of uint128 into a tightly packed bytes representation.\n @param _input The array of uint128 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"7631:6:48","parameters":{"id":24439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24438,"mutability":"mutable","name":"_input","nameLocation":"7655:6:48","nodeType":"VariableDeclaration","scope":24458,"src":"7638:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint128_$dyn_memory_ptr","typeString":"uint128[]"},"typeName":{"baseType":{"id":24436,"name":"uint128","nodeType":"ElementaryTypeName","src":"7638:7:48","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":24437,"nodeType":"ArrayTypeName","src":"7638:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint128_$dyn_storage_ptr","typeString":"uint128[]"}},"visibility":"internal"}],"src":"7637:25:48"},"returnParameters":{"id":24442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24458,"src":"7686:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24440,"name":"bytes","nodeType":"ElementaryTypeName","src":"7686:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7685:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24482,"nodeType":"FunctionDefinition","src":"8092:224:48","nodes":[],"body":{"id":24481,"nodeType":"Block","src":"8170:146:48","nodes":[],"statements":[{"assignments":[24471],"declarations":[{"constant":false,"id":24471,"mutability":"mutable","name":"_genericArray","nameLocation":"8193:13:48","nodeType":"VariableDeclaration","scope":24481,"src":"8176:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8176:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24470,"nodeType":"ArrayTypeName","src":"8176:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24472,"nodeType":"VariableDeclarationStatement","src":"8176:30:48"},{"AST":{"nativeSrc":"8221:37:48","nodeType":"YulBlock","src":"8221:37:48","statements":[{"nativeSrc":"8229:23:48","nodeType":"YulAssignment","src":"8229:23:48","value":{"name":"_input","nativeSrc":"8246:6:48","nodeType":"YulIdentifier","src":"8246:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"8229:13:48","nodeType":"YulIdentifier","src":"8229:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24471,"isOffset":false,"isSlot":false,"src":"8229:13:48","valueSize":1},{"declaration":24462,"isOffset":false,"isSlot":false,"src":"8246:6:48","valueSize":1}],"id":24473,"nodeType":"InlineAssembly","src":"8212:46:48"},{"expression":{"arguments":[{"id":24476,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24471,"src":"8288:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3137","id":24477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8303:2:48","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},{"hexValue":"313230","id":24478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8307:3:48","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"}],"expression":{"id":24474,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"8270:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8281:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"8270:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8270:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24466,"id":24480,"nodeType":"Return","src":"8263:48:48"}]},"documentation":{"id":24459,"nodeType":"StructuredDocumentation","src":"7850:239:48","text":" @notice Encodes an array of uint136 into a tightly packed bytes representation.\n @param _input The array of uint136 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"8101:6:48","parameters":{"id":24463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24462,"mutability":"mutable","name":"_input","nameLocation":"8125:6:48","nodeType":"VariableDeclaration","scope":24482,"src":"8108:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint136_$dyn_memory_ptr","typeString":"uint136[]"},"typeName":{"baseType":{"id":24460,"name":"uint136","nodeType":"ElementaryTypeName","src":"8108:7:48","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"id":24461,"nodeType":"ArrayTypeName","src":"8108:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint136_$dyn_storage_ptr","typeString":"uint136[]"}},"visibility":"internal"}],"src":"8107:25:48"},"returnParameters":{"id":24466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24482,"src":"8156:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24464,"name":"bytes","nodeType":"ElementaryTypeName","src":"8156:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8155:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24506,"nodeType":"FunctionDefinition","src":"8562:224:48","nodes":[],"body":{"id":24505,"nodeType":"Block","src":"8640:146:48","nodes":[],"statements":[{"assignments":[24495],"declarations":[{"constant":false,"id":24495,"mutability":"mutable","name":"_genericArray","nameLocation":"8663:13:48","nodeType":"VariableDeclaration","scope":24505,"src":"8646:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8646:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24494,"nodeType":"ArrayTypeName","src":"8646:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24496,"nodeType":"VariableDeclarationStatement","src":"8646:30:48"},{"AST":{"nativeSrc":"8691:37:48","nodeType":"YulBlock","src":"8691:37:48","statements":[{"nativeSrc":"8699:23:48","nodeType":"YulAssignment","src":"8699:23:48","value":{"name":"_input","nativeSrc":"8716:6:48","nodeType":"YulIdentifier","src":"8716:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"8699:13:48","nodeType":"YulIdentifier","src":"8699:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24495,"isOffset":false,"isSlot":false,"src":"8699:13:48","valueSize":1},{"declaration":24486,"isOffset":false,"isSlot":false,"src":"8716:6:48","valueSize":1}],"id":24497,"nodeType":"InlineAssembly","src":"8682:46:48"},{"expression":{"arguments":[{"id":24500,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24495,"src":"8758:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3138","id":24501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8773:2:48","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},{"hexValue":"313132","id":24502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8777:3:48","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"}],"expression":{"id":24498,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"8740:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8751:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"8740:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8740:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24490,"id":24504,"nodeType":"Return","src":"8733:48:48"}]},"documentation":{"id":24483,"nodeType":"StructuredDocumentation","src":"8320:239:48","text":" @notice Encodes an array of uint144 into a tightly packed bytes representation.\n @param _input The array of uint144 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"8571:6:48","parameters":{"id":24487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24486,"mutability":"mutable","name":"_input","nameLocation":"8595:6:48","nodeType":"VariableDeclaration","scope":24506,"src":"8578:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint144_$dyn_memory_ptr","typeString":"uint144[]"},"typeName":{"baseType":{"id":24484,"name":"uint144","nodeType":"ElementaryTypeName","src":"8578:7:48","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"id":24485,"nodeType":"ArrayTypeName","src":"8578:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint144_$dyn_storage_ptr","typeString":"uint144[]"}},"visibility":"internal"}],"src":"8577:25:48"},"returnParameters":{"id":24490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24506,"src":"8626:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24488,"name":"bytes","nodeType":"ElementaryTypeName","src":"8626:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8625:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24530,"nodeType":"FunctionDefinition","src":"9032:224:48","nodes":[],"body":{"id":24529,"nodeType":"Block","src":"9110:146:48","nodes":[],"statements":[{"assignments":[24519],"declarations":[{"constant":false,"id":24519,"mutability":"mutable","name":"_genericArray","nameLocation":"9133:13:48","nodeType":"VariableDeclaration","scope":24529,"src":"9116:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9116:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24518,"nodeType":"ArrayTypeName","src":"9116:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24520,"nodeType":"VariableDeclarationStatement","src":"9116:30:48"},{"AST":{"nativeSrc":"9161:37:48","nodeType":"YulBlock","src":"9161:37:48","statements":[{"nativeSrc":"9169:23:48","nodeType":"YulAssignment","src":"9169:23:48","value":{"name":"_input","nativeSrc":"9186:6:48","nodeType":"YulIdentifier","src":"9186:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"9169:13:48","nodeType":"YulIdentifier","src":"9169:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24519,"isOffset":false,"isSlot":false,"src":"9169:13:48","valueSize":1},{"declaration":24510,"isOffset":false,"isSlot":false,"src":"9186:6:48","valueSize":1}],"id":24521,"nodeType":"InlineAssembly","src":"9152:46:48"},{"expression":{"arguments":[{"id":24524,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24519,"src":"9228:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3139","id":24525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9243:2:48","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},{"hexValue":"313034","id":24526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9247:3:48","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"}],"expression":{"id":24522,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"9210:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9221:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"9210:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9210:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24514,"id":24528,"nodeType":"Return","src":"9203:48:48"}]},"documentation":{"id":24507,"nodeType":"StructuredDocumentation","src":"8790:239:48","text":" @notice Encodes an array of uint152 into a tightly packed bytes representation.\n @param _input The array of uint152 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"9041:6:48","parameters":{"id":24511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24510,"mutability":"mutable","name":"_input","nameLocation":"9065:6:48","nodeType":"VariableDeclaration","scope":24530,"src":"9048:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint152_$dyn_memory_ptr","typeString":"uint152[]"},"typeName":{"baseType":{"id":24508,"name":"uint152","nodeType":"ElementaryTypeName","src":"9048:7:48","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"id":24509,"nodeType":"ArrayTypeName","src":"9048:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint152_$dyn_storage_ptr","typeString":"uint152[]"}},"visibility":"internal"}],"src":"9047:25:48"},"returnParameters":{"id":24514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24530,"src":"9096:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24512,"name":"bytes","nodeType":"ElementaryTypeName","src":"9096:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9095:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24554,"nodeType":"FunctionDefinition","src":"9502:223:48","nodes":[],"body":{"id":24553,"nodeType":"Block","src":"9580:145:48","nodes":[],"statements":[{"assignments":[24543],"declarations":[{"constant":false,"id":24543,"mutability":"mutable","name":"_genericArray","nameLocation":"9603:13:48","nodeType":"VariableDeclaration","scope":24553,"src":"9586:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9586:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24542,"nodeType":"ArrayTypeName","src":"9586:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24544,"nodeType":"VariableDeclarationStatement","src":"9586:30:48"},{"AST":{"nativeSrc":"9631:37:48","nodeType":"YulBlock","src":"9631:37:48","statements":[{"nativeSrc":"9639:23:48","nodeType":"YulAssignment","src":"9639:23:48","value":{"name":"_input","nativeSrc":"9656:6:48","nodeType":"YulIdentifier","src":"9656:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"9639:13:48","nodeType":"YulIdentifier","src":"9639:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24543,"isOffset":false,"isSlot":false,"src":"9639:13:48","valueSize":1},{"declaration":24534,"isOffset":false,"isSlot":false,"src":"9656:6:48","valueSize":1}],"id":24545,"nodeType":"InlineAssembly","src":"9622:46:48"},{"expression":{"arguments":[{"id":24548,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24543,"src":"9698:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3230","id":24549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9713:2:48","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3936","id":24550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9717:2:48","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"}],"expression":{"id":24546,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"9680:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9691:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"9680:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9680:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24538,"id":24552,"nodeType":"Return","src":"9673:47:48"}]},"documentation":{"id":24531,"nodeType":"StructuredDocumentation","src":"9260:239:48","text":" @notice Encodes an array of uint160 into a tightly packed bytes representation.\n @param _input The array of uint160 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"9511:6:48","parameters":{"id":24535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24534,"mutability":"mutable","name":"_input","nameLocation":"9535:6:48","nodeType":"VariableDeclaration","scope":24554,"src":"9518:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[]"},"typeName":{"baseType":{"id":24532,"name":"uint160","nodeType":"ElementaryTypeName","src":"9518:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":24533,"nodeType":"ArrayTypeName","src":"9518:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_storage_ptr","typeString":"uint160[]"}},"visibility":"internal"}],"src":"9517:25:48"},"returnParameters":{"id":24538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24554,"src":"9566:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24536,"name":"bytes","nodeType":"ElementaryTypeName","src":"9566:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9565:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24578,"nodeType":"FunctionDefinition","src":"9971:223:48","nodes":[],"body":{"id":24577,"nodeType":"Block","src":"10049:145:48","nodes":[],"statements":[{"assignments":[24567],"declarations":[{"constant":false,"id":24567,"mutability":"mutable","name":"_genericArray","nameLocation":"10072:13:48","nodeType":"VariableDeclaration","scope":24577,"src":"10055:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10055:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24566,"nodeType":"ArrayTypeName","src":"10055:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24568,"nodeType":"VariableDeclarationStatement","src":"10055:30:48"},{"AST":{"nativeSrc":"10100:37:48","nodeType":"YulBlock","src":"10100:37:48","statements":[{"nativeSrc":"10108:23:48","nodeType":"YulAssignment","src":"10108:23:48","value":{"name":"_input","nativeSrc":"10125:6:48","nodeType":"YulIdentifier","src":"10125:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"10108:13:48","nodeType":"YulIdentifier","src":"10108:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24567,"isOffset":false,"isSlot":false,"src":"10108:13:48","valueSize":1},{"declaration":24558,"isOffset":false,"isSlot":false,"src":"10125:6:48","valueSize":1}],"id":24569,"nodeType":"InlineAssembly","src":"10091:46:48"},{"expression":{"arguments":[{"id":24572,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24567,"src":"10167:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3231","id":24573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10182:2:48","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},{"hexValue":"3838","id":24574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10186:2:48","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"}],"expression":{"id":24570,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"10149:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10160:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"10149:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10149:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24562,"id":24576,"nodeType":"Return","src":"10142:47:48"}]},"documentation":{"id":24555,"nodeType":"StructuredDocumentation","src":"9729:239:48","text":" @notice Encodes an array of uint168 into a tightly packed bytes representation.\n @param _input The array of uint168 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"9980:6:48","parameters":{"id":24559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24558,"mutability":"mutable","name":"_input","nameLocation":"10004:6:48","nodeType":"VariableDeclaration","scope":24578,"src":"9987:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint168_$dyn_memory_ptr","typeString":"uint168[]"},"typeName":{"baseType":{"id":24556,"name":"uint168","nodeType":"ElementaryTypeName","src":"9987:7:48","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"id":24557,"nodeType":"ArrayTypeName","src":"9987:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint168_$dyn_storage_ptr","typeString":"uint168[]"}},"visibility":"internal"}],"src":"9986:25:48"},"returnParameters":{"id":24562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24561,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24578,"src":"10035:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24560,"name":"bytes","nodeType":"ElementaryTypeName","src":"10035:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10034:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24602,"nodeType":"FunctionDefinition","src":"10440:223:48","nodes":[],"body":{"id":24601,"nodeType":"Block","src":"10518:145:48","nodes":[],"statements":[{"assignments":[24591],"declarations":[{"constant":false,"id":24591,"mutability":"mutable","name":"_genericArray","nameLocation":"10541:13:48","nodeType":"VariableDeclaration","scope":24601,"src":"10524:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10524:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24590,"nodeType":"ArrayTypeName","src":"10524:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24592,"nodeType":"VariableDeclarationStatement","src":"10524:30:48"},{"AST":{"nativeSrc":"10569:37:48","nodeType":"YulBlock","src":"10569:37:48","statements":[{"nativeSrc":"10577:23:48","nodeType":"YulAssignment","src":"10577:23:48","value":{"name":"_input","nativeSrc":"10594:6:48","nodeType":"YulIdentifier","src":"10594:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"10577:13:48","nodeType":"YulIdentifier","src":"10577:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24591,"isOffset":false,"isSlot":false,"src":"10577:13:48","valueSize":1},{"declaration":24582,"isOffset":false,"isSlot":false,"src":"10594:6:48","valueSize":1}],"id":24593,"nodeType":"InlineAssembly","src":"10560:46:48"},{"expression":{"arguments":[{"id":24596,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24591,"src":"10636:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3232","id":24597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10651:2:48","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"22"},{"hexValue":"3830","id":24598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:2:48","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":24594,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"10618:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10629:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"10618:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10618:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24586,"id":24600,"nodeType":"Return","src":"10611:47:48"}]},"documentation":{"id":24579,"nodeType":"StructuredDocumentation","src":"10198:239:48","text":" @notice Encodes an array of uint176 into a tightly packed bytes representation.\n @param _input The array of uint176 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"10449:6:48","parameters":{"id":24583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24582,"mutability":"mutable","name":"_input","nameLocation":"10473:6:48","nodeType":"VariableDeclaration","scope":24602,"src":"10456:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint176_$dyn_memory_ptr","typeString":"uint176[]"},"typeName":{"baseType":{"id":24580,"name":"uint176","nodeType":"ElementaryTypeName","src":"10456:7:48","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"id":24581,"nodeType":"ArrayTypeName","src":"10456:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint176_$dyn_storage_ptr","typeString":"uint176[]"}},"visibility":"internal"}],"src":"10455:25:48"},"returnParameters":{"id":24586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24602,"src":"10504:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24584,"name":"bytes","nodeType":"ElementaryTypeName","src":"10504:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10503:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24626,"nodeType":"FunctionDefinition","src":"10909:223:48","nodes":[],"body":{"id":24625,"nodeType":"Block","src":"10987:145:48","nodes":[],"statements":[{"assignments":[24615],"declarations":[{"constant":false,"id":24615,"mutability":"mutable","name":"_genericArray","nameLocation":"11010:13:48","nodeType":"VariableDeclaration","scope":24625,"src":"10993:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10993:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24614,"nodeType":"ArrayTypeName","src":"10993:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24616,"nodeType":"VariableDeclarationStatement","src":"10993:30:48"},{"AST":{"nativeSrc":"11038:37:48","nodeType":"YulBlock","src":"11038:37:48","statements":[{"nativeSrc":"11046:23:48","nodeType":"YulAssignment","src":"11046:23:48","value":{"name":"_input","nativeSrc":"11063:6:48","nodeType":"YulIdentifier","src":"11063:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"11046:13:48","nodeType":"YulIdentifier","src":"11046:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24615,"isOffset":false,"isSlot":false,"src":"11046:13:48","valueSize":1},{"declaration":24606,"isOffset":false,"isSlot":false,"src":"11063:6:48","valueSize":1}],"id":24617,"nodeType":"InlineAssembly","src":"11029:46:48"},{"expression":{"arguments":[{"id":24620,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24615,"src":"11105:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3233","id":24621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11120:2:48","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},{"hexValue":"3732","id":24622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11124:2:48","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"}],"expression":{"id":24618,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"11087:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11098:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"11087:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11087:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24610,"id":24624,"nodeType":"Return","src":"11080:47:48"}]},"documentation":{"id":24603,"nodeType":"StructuredDocumentation","src":"10667:239:48","text":" @notice Encodes an array of uint184 into a tightly packed bytes representation.\n @param _input The array of uint184 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"10918:6:48","parameters":{"id":24607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24606,"mutability":"mutable","name":"_input","nameLocation":"10942:6:48","nodeType":"VariableDeclaration","scope":24626,"src":"10925:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint184_$dyn_memory_ptr","typeString":"uint184[]"},"typeName":{"baseType":{"id":24604,"name":"uint184","nodeType":"ElementaryTypeName","src":"10925:7:48","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"id":24605,"nodeType":"ArrayTypeName","src":"10925:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint184_$dyn_storage_ptr","typeString":"uint184[]"}},"visibility":"internal"}],"src":"10924:25:48"},"returnParameters":{"id":24610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24626,"src":"10973:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24608,"name":"bytes","nodeType":"ElementaryTypeName","src":"10973:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10972:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24650,"nodeType":"FunctionDefinition","src":"11378:223:48","nodes":[],"body":{"id":24649,"nodeType":"Block","src":"11456:145:48","nodes":[],"statements":[{"assignments":[24639],"declarations":[{"constant":false,"id":24639,"mutability":"mutable","name":"_genericArray","nameLocation":"11479:13:48","nodeType":"VariableDeclaration","scope":24649,"src":"11462:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11462:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24638,"nodeType":"ArrayTypeName","src":"11462:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24640,"nodeType":"VariableDeclarationStatement","src":"11462:30:48"},{"AST":{"nativeSrc":"11507:37:48","nodeType":"YulBlock","src":"11507:37:48","statements":[{"nativeSrc":"11515:23:48","nodeType":"YulAssignment","src":"11515:23:48","value":{"name":"_input","nativeSrc":"11532:6:48","nodeType":"YulIdentifier","src":"11532:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"11515:13:48","nodeType":"YulIdentifier","src":"11515:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24639,"isOffset":false,"isSlot":false,"src":"11515:13:48","valueSize":1},{"declaration":24630,"isOffset":false,"isSlot":false,"src":"11532:6:48","valueSize":1}],"id":24641,"nodeType":"InlineAssembly","src":"11498:46:48"},{"expression":{"arguments":[{"id":24644,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24639,"src":"11574:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3234","id":24645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11589:2:48","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"hexValue":"3634","id":24646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11593:2:48","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"}],"expression":{"id":24642,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"11556:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11567:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"11556:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24634,"id":24648,"nodeType":"Return","src":"11549:47:48"}]},"documentation":{"id":24627,"nodeType":"StructuredDocumentation","src":"11136:239:48","text":" @notice Encodes an array of uint192 into a tightly packed bytes representation.\n @param _input The array of uint192 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"11387:6:48","parameters":{"id":24631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24630,"mutability":"mutable","name":"_input","nameLocation":"11411:6:48","nodeType":"VariableDeclaration","scope":24650,"src":"11394:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[]"},"typeName":{"baseType":{"id":24628,"name":"uint192","nodeType":"ElementaryTypeName","src":"11394:7:48","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":24629,"nodeType":"ArrayTypeName","src":"11394:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_storage_ptr","typeString":"uint192[]"}},"visibility":"internal"}],"src":"11393:25:48"},"returnParameters":{"id":24634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24650,"src":"11442:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24632,"name":"bytes","nodeType":"ElementaryTypeName","src":"11442:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11441:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24674,"nodeType":"FunctionDefinition","src":"11847:223:48","nodes":[],"body":{"id":24673,"nodeType":"Block","src":"11925:145:48","nodes":[],"statements":[{"assignments":[24663],"declarations":[{"constant":false,"id":24663,"mutability":"mutable","name":"_genericArray","nameLocation":"11948:13:48","nodeType":"VariableDeclaration","scope":24673,"src":"11931:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11931:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24662,"nodeType":"ArrayTypeName","src":"11931:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24664,"nodeType":"VariableDeclarationStatement","src":"11931:30:48"},{"AST":{"nativeSrc":"11976:37:48","nodeType":"YulBlock","src":"11976:37:48","statements":[{"nativeSrc":"11984:23:48","nodeType":"YulAssignment","src":"11984:23:48","value":{"name":"_input","nativeSrc":"12001:6:48","nodeType":"YulIdentifier","src":"12001:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"11984:13:48","nodeType":"YulIdentifier","src":"11984:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24663,"isOffset":false,"isSlot":false,"src":"11984:13:48","valueSize":1},{"declaration":24654,"isOffset":false,"isSlot":false,"src":"12001:6:48","valueSize":1}],"id":24665,"nodeType":"InlineAssembly","src":"11967:46:48"},{"expression":{"arguments":[{"id":24668,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24663,"src":"12043:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3235","id":24669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12058:2:48","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"hexValue":"3536","id":24670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12062:2:48","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"}],"expression":{"id":24666,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"12025:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12036:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"12025:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12025:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24658,"id":24672,"nodeType":"Return","src":"12018:47:48"}]},"documentation":{"id":24651,"nodeType":"StructuredDocumentation","src":"11605:239:48","text":" @notice Encodes an array of uint200 into a tightly packed bytes representation.\n @param _input The array of uint200 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"11856:6:48","parameters":{"id":24655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24654,"mutability":"mutable","name":"_input","nameLocation":"11880:6:48","nodeType":"VariableDeclaration","scope":24674,"src":"11863:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint200_$dyn_memory_ptr","typeString":"uint200[]"},"typeName":{"baseType":{"id":24652,"name":"uint200","nodeType":"ElementaryTypeName","src":"11863:7:48","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"id":24653,"nodeType":"ArrayTypeName","src":"11863:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint200_$dyn_storage_ptr","typeString":"uint200[]"}},"visibility":"internal"}],"src":"11862:25:48"},"returnParameters":{"id":24658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24657,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24674,"src":"11911:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24656,"name":"bytes","nodeType":"ElementaryTypeName","src":"11911:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11910:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24698,"nodeType":"FunctionDefinition","src":"12316:223:48","nodes":[],"body":{"id":24697,"nodeType":"Block","src":"12394:145:48","nodes":[],"statements":[{"assignments":[24687],"declarations":[{"constant":false,"id":24687,"mutability":"mutable","name":"_genericArray","nameLocation":"12417:13:48","nodeType":"VariableDeclaration","scope":24697,"src":"12400:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12400:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24686,"nodeType":"ArrayTypeName","src":"12400:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24688,"nodeType":"VariableDeclarationStatement","src":"12400:30:48"},{"AST":{"nativeSrc":"12445:37:48","nodeType":"YulBlock","src":"12445:37:48","statements":[{"nativeSrc":"12453:23:48","nodeType":"YulAssignment","src":"12453:23:48","value":{"name":"_input","nativeSrc":"12470:6:48","nodeType":"YulIdentifier","src":"12470:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"12453:13:48","nodeType":"YulIdentifier","src":"12453:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24687,"isOffset":false,"isSlot":false,"src":"12453:13:48","valueSize":1},{"declaration":24678,"isOffset":false,"isSlot":false,"src":"12470:6:48","valueSize":1}],"id":24689,"nodeType":"InlineAssembly","src":"12436:46:48"},{"expression":{"arguments":[{"id":24692,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24687,"src":"12512:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3236","id":24693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12527:2:48","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},{"hexValue":"3438","id":24694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12531:2:48","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"}],"expression":{"id":24690,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"12494:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12505:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"12494:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12494:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24682,"id":24696,"nodeType":"Return","src":"12487:47:48"}]},"documentation":{"id":24675,"nodeType":"StructuredDocumentation","src":"12074:239:48","text":" @notice Encodes an array of uint208 into a tightly packed bytes representation.\n @param _input The array of uint208 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"12325:6:48","parameters":{"id":24679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24678,"mutability":"mutable","name":"_input","nameLocation":"12349:6:48","nodeType":"VariableDeclaration","scope":24698,"src":"12332:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_memory_ptr","typeString":"uint208[]"},"typeName":{"baseType":{"id":24676,"name":"uint208","nodeType":"ElementaryTypeName","src":"12332:7:48","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"id":24677,"nodeType":"ArrayTypeName","src":"12332:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint208_$dyn_storage_ptr","typeString":"uint208[]"}},"visibility":"internal"}],"src":"12331:25:48"},"returnParameters":{"id":24682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24681,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24698,"src":"12380:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24680,"name":"bytes","nodeType":"ElementaryTypeName","src":"12380:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12379:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24722,"nodeType":"FunctionDefinition","src":"12785:223:48","nodes":[],"body":{"id":24721,"nodeType":"Block","src":"12863:145:48","nodes":[],"statements":[{"assignments":[24711],"declarations":[{"constant":false,"id":24711,"mutability":"mutable","name":"_genericArray","nameLocation":"12886:13:48","nodeType":"VariableDeclaration","scope":24721,"src":"12869:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12869:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24710,"nodeType":"ArrayTypeName","src":"12869:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24712,"nodeType":"VariableDeclarationStatement","src":"12869:30:48"},{"AST":{"nativeSrc":"12914:37:48","nodeType":"YulBlock","src":"12914:37:48","statements":[{"nativeSrc":"12922:23:48","nodeType":"YulAssignment","src":"12922:23:48","value":{"name":"_input","nativeSrc":"12939:6:48","nodeType":"YulIdentifier","src":"12939:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"12922:13:48","nodeType":"YulIdentifier","src":"12922:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24711,"isOffset":false,"isSlot":false,"src":"12922:13:48","valueSize":1},{"declaration":24702,"isOffset":false,"isSlot":false,"src":"12939:6:48","valueSize":1}],"id":24713,"nodeType":"InlineAssembly","src":"12905:46:48"},{"expression":{"arguments":[{"id":24716,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24711,"src":"12981:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3237","id":24717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12996:2:48","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},{"hexValue":"3430","id":24718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13000:2:48","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"}],"expression":{"id":24714,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"12963:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12974:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"12963:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12963:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24706,"id":24720,"nodeType":"Return","src":"12956:47:48"}]},"documentation":{"id":24699,"nodeType":"StructuredDocumentation","src":"12543:239:48","text":" @notice Encodes an array of uint216 into a tightly packed bytes representation.\n @param _input The array of uint216 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"12794:6:48","parameters":{"id":24703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24702,"mutability":"mutable","name":"_input","nameLocation":"12818:6:48","nodeType":"VariableDeclaration","scope":24722,"src":"12801:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint216_$dyn_memory_ptr","typeString":"uint216[]"},"typeName":{"baseType":{"id":24700,"name":"uint216","nodeType":"ElementaryTypeName","src":"12801:7:48","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"id":24701,"nodeType":"ArrayTypeName","src":"12801:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint216_$dyn_storage_ptr","typeString":"uint216[]"}},"visibility":"internal"}],"src":"12800:25:48"},"returnParameters":{"id":24706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24722,"src":"12849:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24704,"name":"bytes","nodeType":"ElementaryTypeName","src":"12849:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12848:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24746,"nodeType":"FunctionDefinition","src":"13254:223:48","nodes":[],"body":{"id":24745,"nodeType":"Block","src":"13332:145:48","nodes":[],"statements":[{"assignments":[24735],"declarations":[{"constant":false,"id":24735,"mutability":"mutable","name":"_genericArray","nameLocation":"13355:13:48","nodeType":"VariableDeclaration","scope":24745,"src":"13338:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13338:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24734,"nodeType":"ArrayTypeName","src":"13338:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24736,"nodeType":"VariableDeclarationStatement","src":"13338:30:48"},{"AST":{"nativeSrc":"13383:37:48","nodeType":"YulBlock","src":"13383:37:48","statements":[{"nativeSrc":"13391:23:48","nodeType":"YulAssignment","src":"13391:23:48","value":{"name":"_input","nativeSrc":"13408:6:48","nodeType":"YulIdentifier","src":"13408:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"13391:13:48","nodeType":"YulIdentifier","src":"13391:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24735,"isOffset":false,"isSlot":false,"src":"13391:13:48","valueSize":1},{"declaration":24726,"isOffset":false,"isSlot":false,"src":"13408:6:48","valueSize":1}],"id":24737,"nodeType":"InlineAssembly","src":"13374:46:48"},{"expression":{"arguments":[{"id":24740,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24735,"src":"13450:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3238","id":24741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13465:2:48","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"28"},{"hexValue":"3332","id":24742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13469:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":24738,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"13432:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13443:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"13432:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13432:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24730,"id":24744,"nodeType":"Return","src":"13425:47:48"}]},"documentation":{"id":24723,"nodeType":"StructuredDocumentation","src":"13012:239:48","text":" @notice Encodes an array of uint224 into a tightly packed bytes representation.\n @param _input The array of uint224 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"13263:6:48","parameters":{"id":24727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24726,"mutability":"mutable","name":"_input","nameLocation":"13287:6:48","nodeType":"VariableDeclaration","scope":24746,"src":"13270:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint224_$dyn_memory_ptr","typeString":"uint224[]"},"typeName":{"baseType":{"id":24724,"name":"uint224","nodeType":"ElementaryTypeName","src":"13270:7:48","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":24725,"nodeType":"ArrayTypeName","src":"13270:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint224_$dyn_storage_ptr","typeString":"uint224[]"}},"visibility":"internal"}],"src":"13269:25:48"},"returnParameters":{"id":24730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24746,"src":"13318:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24728,"name":"bytes","nodeType":"ElementaryTypeName","src":"13318:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13317:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24770,"nodeType":"FunctionDefinition","src":"13723:223:48","nodes":[],"body":{"id":24769,"nodeType":"Block","src":"13801:145:48","nodes":[],"statements":[{"assignments":[24759],"declarations":[{"constant":false,"id":24759,"mutability":"mutable","name":"_genericArray","nameLocation":"13824:13:48","nodeType":"VariableDeclaration","scope":24769,"src":"13807:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13807:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24758,"nodeType":"ArrayTypeName","src":"13807:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24760,"nodeType":"VariableDeclarationStatement","src":"13807:30:48"},{"AST":{"nativeSrc":"13852:37:48","nodeType":"YulBlock","src":"13852:37:48","statements":[{"nativeSrc":"13860:23:48","nodeType":"YulAssignment","src":"13860:23:48","value":{"name":"_input","nativeSrc":"13877:6:48","nodeType":"YulIdentifier","src":"13877:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"13860:13:48","nodeType":"YulIdentifier","src":"13860:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24759,"isOffset":false,"isSlot":false,"src":"13860:13:48","valueSize":1},{"declaration":24750,"isOffset":false,"isSlot":false,"src":"13877:6:48","valueSize":1}],"id":24761,"nodeType":"InlineAssembly","src":"13843:46:48"},{"expression":{"arguments":[{"id":24764,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24759,"src":"13919:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3239","id":24765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13934:2:48","typeDescriptions":{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},"value":"29"},{"hexValue":"3234","id":24766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13938:2:48","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"}],"expression":{"id":24762,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"13901:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13912:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"13901:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13901:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24754,"id":24768,"nodeType":"Return","src":"13894:47:48"}]},"documentation":{"id":24747,"nodeType":"StructuredDocumentation","src":"13481:239:48","text":" @notice Encodes an array of uint232 into a tightly packed bytes representation.\n @param _input The array of uint232 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"13732:6:48","parameters":{"id":24751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24750,"mutability":"mutable","name":"_input","nameLocation":"13756:6:48","nodeType":"VariableDeclaration","scope":24770,"src":"13739:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint232_$dyn_memory_ptr","typeString":"uint232[]"},"typeName":{"baseType":{"id":24748,"name":"uint232","nodeType":"ElementaryTypeName","src":"13739:7:48","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"id":24749,"nodeType":"ArrayTypeName","src":"13739:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint232_$dyn_storage_ptr","typeString":"uint232[]"}},"visibility":"internal"}],"src":"13738:25:48"},"returnParameters":{"id":24754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24770,"src":"13787:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24752,"name":"bytes","nodeType":"ElementaryTypeName","src":"13787:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13786:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24794,"nodeType":"FunctionDefinition","src":"14192:223:48","nodes":[],"body":{"id":24793,"nodeType":"Block","src":"14270:145:48","nodes":[],"statements":[{"assignments":[24783],"declarations":[{"constant":false,"id":24783,"mutability":"mutable","name":"_genericArray","nameLocation":"14293:13:48","nodeType":"VariableDeclaration","scope":24793,"src":"14276:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14276:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24782,"nodeType":"ArrayTypeName","src":"14276:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24784,"nodeType":"VariableDeclarationStatement","src":"14276:30:48"},{"AST":{"nativeSrc":"14321:37:48","nodeType":"YulBlock","src":"14321:37:48","statements":[{"nativeSrc":"14329:23:48","nodeType":"YulAssignment","src":"14329:23:48","value":{"name":"_input","nativeSrc":"14346:6:48","nodeType":"YulIdentifier","src":"14346:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"14329:13:48","nodeType":"YulIdentifier","src":"14329:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24783,"isOffset":false,"isSlot":false,"src":"14329:13:48","valueSize":1},{"declaration":24774,"isOffset":false,"isSlot":false,"src":"14346:6:48","valueSize":1}],"id":24785,"nodeType":"InlineAssembly","src":"14312:46:48"},{"expression":{"arguments":[{"id":24788,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24783,"src":"14388:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3330","id":24789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14403:2:48","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},{"hexValue":"3136","id":24790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14407:2:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}],"expression":{"id":24786,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"14370:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14381:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"14370:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14370:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24778,"id":24792,"nodeType":"Return","src":"14363:47:48"}]},"documentation":{"id":24771,"nodeType":"StructuredDocumentation","src":"13950:239:48","text":" @notice Encodes an array of uint240 into a tightly packed bytes representation.\n @param _input The array of uint240 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"14201:6:48","parameters":{"id":24775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24774,"mutability":"mutable","name":"_input","nameLocation":"14225:6:48","nodeType":"VariableDeclaration","scope":24794,"src":"14208:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint240_$dyn_memory_ptr","typeString":"uint240[]"},"typeName":{"baseType":{"id":24772,"name":"uint240","nodeType":"ElementaryTypeName","src":"14208:7:48","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"id":24773,"nodeType":"ArrayTypeName","src":"14208:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint240_$dyn_storage_ptr","typeString":"uint240[]"}},"visibility":"internal"}],"src":"14207:25:48"},"returnParameters":{"id":24778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24794,"src":"14256:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24776,"name":"bytes","nodeType":"ElementaryTypeName","src":"14256:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14255:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24818,"nodeType":"FunctionDefinition","src":"14661:222:48","nodes":[],"body":{"id":24817,"nodeType":"Block","src":"14739:144:48","nodes":[],"statements":[{"assignments":[24807],"declarations":[{"constant":false,"id":24807,"mutability":"mutable","name":"_genericArray","nameLocation":"14762:13:48","nodeType":"VariableDeclaration","scope":24817,"src":"14745:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14745:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24806,"nodeType":"ArrayTypeName","src":"14745:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24808,"nodeType":"VariableDeclarationStatement","src":"14745:30:48"},{"AST":{"nativeSrc":"14790:37:48","nodeType":"YulBlock","src":"14790:37:48","statements":[{"nativeSrc":"14798:23:48","nodeType":"YulAssignment","src":"14798:23:48","value":{"name":"_input","nativeSrc":"14815:6:48","nodeType":"YulIdentifier","src":"14815:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"14798:13:48","nodeType":"YulIdentifier","src":"14798:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24807,"isOffset":false,"isSlot":false,"src":"14798:13:48","valueSize":1},{"declaration":24798,"isOffset":false,"isSlot":false,"src":"14815:6:48","valueSize":1}],"id":24809,"nodeType":"InlineAssembly","src":"14781:46:48"},{"expression":{"arguments":[{"id":24812,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24807,"src":"14857:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3331","id":24813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14872:2:48","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},{"hexValue":"38","id":24814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14876:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"}],"expression":{"id":24810,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"14839:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14850:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"14839:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14839:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24802,"id":24816,"nodeType":"Return","src":"14832:46:48"}]},"documentation":{"id":24795,"nodeType":"StructuredDocumentation","src":"14419:239:48","text":" @notice Encodes an array of uint248 into a tightly packed bytes representation.\n @param _input The array of uint248 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"14670:6:48","parameters":{"id":24799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24798,"mutability":"mutable","name":"_input","nameLocation":"14694:6:48","nodeType":"VariableDeclaration","scope":24818,"src":"14677:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint248_$dyn_memory_ptr","typeString":"uint248[]"},"typeName":{"baseType":{"id":24796,"name":"uint248","nodeType":"ElementaryTypeName","src":"14677:7:48","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"id":24797,"nodeType":"ArrayTypeName","src":"14677:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint248_$dyn_storage_ptr","typeString":"uint248[]"}},"visibility":"internal"}],"src":"14676:25:48"},"returnParameters":{"id":24802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24818,"src":"14725:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24800,"name":"bytes","nodeType":"ElementaryTypeName","src":"14725:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14724:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24842,"nodeType":"FunctionDefinition","src":"15129:222:48","nodes":[],"body":{"id":24841,"nodeType":"Block","src":"15207:144:48","nodes":[],"statements":[{"assignments":[24831],"declarations":[{"constant":false,"id":24831,"mutability":"mutable","name":"_genericArray","nameLocation":"15230:13:48","nodeType":"VariableDeclaration","scope":24841,"src":"15213:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15213:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24830,"nodeType":"ArrayTypeName","src":"15213:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24832,"nodeType":"VariableDeclarationStatement","src":"15213:30:48"},{"AST":{"nativeSrc":"15258:37:48","nodeType":"YulBlock","src":"15258:37:48","statements":[{"nativeSrc":"15266:23:48","nodeType":"YulAssignment","src":"15266:23:48","value":{"name":"_input","nativeSrc":"15283:6:48","nodeType":"YulIdentifier","src":"15283:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"15266:13:48","nodeType":"YulIdentifier","src":"15266:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24831,"isOffset":false,"isSlot":false,"src":"15266:13:48","valueSize":1},{"declaration":24822,"isOffset":false,"isSlot":false,"src":"15283:6:48","valueSize":1}],"id":24833,"nodeType":"InlineAssembly","src":"15249:46:48"},{"expression":{"arguments":[{"id":24836,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24831,"src":"15325:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3332","id":24837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15340:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"hexValue":"30","id":24838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15344:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":24834,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"15307:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15318:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"15307:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15307:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24826,"id":24840,"nodeType":"Return","src":"15300:46:48"}]},"documentation":{"id":24819,"nodeType":"StructuredDocumentation","src":"14887:239:48","text":" @notice Encodes an array of uint256 into a tightly packed bytes representation.\n @param _input The array of uint256 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"15138:6:48","parameters":{"id":24823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24822,"mutability":"mutable","name":"_input","nameLocation":"15162:6:48","nodeType":"VariableDeclaration","scope":24842,"src":"15145:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":24820,"name":"uint256","nodeType":"ElementaryTypeName","src":"15145:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":24821,"nodeType":"ArrayTypeName","src":"15145:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15144:25:48"},"returnParameters":{"id":24826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24842,"src":"15193:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24824,"name":"bytes","nodeType":"ElementaryTypeName","src":"15193:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15192:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24866,"nodeType":"FunctionDefinition","src":"15591:220:48","nodes":[],"body":{"id":24865,"nodeType":"Block","src":"15666:145:48","nodes":[],"statements":[{"assignments":[24855],"declarations":[{"constant":false,"id":24855,"mutability":"mutable","name":"_genericArray","nameLocation":"15689:13:48","nodeType":"VariableDeclaration","scope":24865,"src":"15672:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15672:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24854,"nodeType":"ArrayTypeName","src":"15672:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24856,"nodeType":"VariableDeclarationStatement","src":"15672:30:48"},{"AST":{"nativeSrc":"15717:37:48","nodeType":"YulBlock","src":"15717:37:48","statements":[{"nativeSrc":"15725:23:48","nodeType":"YulAssignment","src":"15725:23:48","value":{"name":"_input","nativeSrc":"15742:6:48","nodeType":"YulIdentifier","src":"15742:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"15725:13:48","nodeType":"YulIdentifier","src":"15725:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24855,"isOffset":false,"isSlot":false,"src":"15725:13:48","valueSize":1},{"declaration":24846,"isOffset":false,"isSlot":false,"src":"15742:6:48","valueSize":1}],"id":24857,"nodeType":"InlineAssembly","src":"15708:46:48"},{"expression":{"arguments":[{"id":24860,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24855,"src":"15784:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"31","id":24861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15799:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"323438","id":24862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15802:3:48","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"}],"expression":{"id":24858,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"15766:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15777:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"15766:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15766:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24850,"id":24864,"nodeType":"Return","src":"15759:47:48"}]},"documentation":{"id":24843,"nodeType":"StructuredDocumentation","src":"15355:233:48","text":" @notice Encodes an array of int8 into a tightly packed bytes representation.\n @param _input The array of int8 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"15600:6:48","parameters":{"id":24847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24846,"mutability":"mutable","name":"_input","nameLocation":"15621:6:48","nodeType":"VariableDeclaration","scope":24866,"src":"15607:20:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int8_$dyn_memory_ptr","typeString":"int8[]"},"typeName":{"baseType":{"id":24844,"name":"int8","nodeType":"ElementaryTypeName","src":"15607:4:48","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":24845,"nodeType":"ArrayTypeName","src":"15607:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int8_$dyn_storage_ptr","typeString":"int8[]"}},"visibility":"internal"}],"src":"15606:22:48"},"returnParameters":{"id":24850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24866,"src":"15652:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24848,"name":"bytes","nodeType":"ElementaryTypeName","src":"15652:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15651:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24890,"nodeType":"FunctionDefinition","src":"16053:221:48","nodes":[],"body":{"id":24889,"nodeType":"Block","src":"16129:145:48","nodes":[],"statements":[{"assignments":[24879],"declarations":[{"constant":false,"id":24879,"mutability":"mutable","name":"_genericArray","nameLocation":"16152:13:48","nodeType":"VariableDeclaration","scope":24889,"src":"16135:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16135:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24878,"nodeType":"ArrayTypeName","src":"16135:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24880,"nodeType":"VariableDeclarationStatement","src":"16135:30:48"},{"AST":{"nativeSrc":"16180:37:48","nodeType":"YulBlock","src":"16180:37:48","statements":[{"nativeSrc":"16188:23:48","nodeType":"YulAssignment","src":"16188:23:48","value":{"name":"_input","nativeSrc":"16205:6:48","nodeType":"YulIdentifier","src":"16205:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"16188:13:48","nodeType":"YulIdentifier","src":"16188:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24879,"isOffset":false,"isSlot":false,"src":"16188:13:48","valueSize":1},{"declaration":24870,"isOffset":false,"isSlot":false,"src":"16205:6:48","valueSize":1}],"id":24881,"nodeType":"InlineAssembly","src":"16171:46:48"},{"expression":{"arguments":[{"id":24884,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24879,"src":"16247:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"32","id":24885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16262:1:48","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"323430","id":24886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16265:3:48","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"}],"expression":{"id":24882,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"16229:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16240:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"16229:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16229:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24874,"id":24888,"nodeType":"Return","src":"16222:47:48"}]},"documentation":{"id":24867,"nodeType":"StructuredDocumentation","src":"15815:235:48","text":" @notice Encodes an array of int16 into a tightly packed bytes representation.\n @param _input The array of int16 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"16062:6:48","parameters":{"id":24871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24870,"mutability":"mutable","name":"_input","nameLocation":"16084:6:48","nodeType":"VariableDeclaration","scope":24890,"src":"16069:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int16_$dyn_memory_ptr","typeString":"int16[]"},"typeName":{"baseType":{"id":24868,"name":"int16","nodeType":"ElementaryTypeName","src":"16069:5:48","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":24869,"nodeType":"ArrayTypeName","src":"16069:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int16_$dyn_storage_ptr","typeString":"int16[]"}},"visibility":"internal"}],"src":"16068:23:48"},"returnParameters":{"id":24874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24890,"src":"16115:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24872,"name":"bytes","nodeType":"ElementaryTypeName","src":"16115:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16114:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24914,"nodeType":"FunctionDefinition","src":"16516:221:48","nodes":[],"body":{"id":24913,"nodeType":"Block","src":"16592:145:48","nodes":[],"statements":[{"assignments":[24903],"declarations":[{"constant":false,"id":24903,"mutability":"mutable","name":"_genericArray","nameLocation":"16615:13:48","nodeType":"VariableDeclaration","scope":24913,"src":"16598:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16598:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24902,"nodeType":"ArrayTypeName","src":"16598:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24904,"nodeType":"VariableDeclarationStatement","src":"16598:30:48"},{"AST":{"nativeSrc":"16643:37:48","nodeType":"YulBlock","src":"16643:37:48","statements":[{"nativeSrc":"16651:23:48","nodeType":"YulAssignment","src":"16651:23:48","value":{"name":"_input","nativeSrc":"16668:6:48","nodeType":"YulIdentifier","src":"16668:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"16651:13:48","nodeType":"YulIdentifier","src":"16651:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24903,"isOffset":false,"isSlot":false,"src":"16651:13:48","valueSize":1},{"declaration":24894,"isOffset":false,"isSlot":false,"src":"16668:6:48","valueSize":1}],"id":24905,"nodeType":"InlineAssembly","src":"16634:46:48"},{"expression":{"arguments":[{"id":24908,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24903,"src":"16710:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"33","id":24909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16725:1:48","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"323332","id":24910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16728:3:48","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"}],"expression":{"id":24906,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"16692:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16703:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"16692:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16692:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24898,"id":24912,"nodeType":"Return","src":"16685:47:48"}]},"documentation":{"id":24891,"nodeType":"StructuredDocumentation","src":"16278:235:48","text":" @notice Encodes an array of int24 into a tightly packed bytes representation.\n @param _input The array of int24 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"16525:6:48","parameters":{"id":24895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24894,"mutability":"mutable","name":"_input","nameLocation":"16547:6:48","nodeType":"VariableDeclaration","scope":24914,"src":"16532:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int24_$dyn_memory_ptr","typeString":"int24[]"},"typeName":{"baseType":{"id":24892,"name":"int24","nodeType":"ElementaryTypeName","src":"16532:5:48","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":24893,"nodeType":"ArrayTypeName","src":"16532:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int24_$dyn_storage_ptr","typeString":"int24[]"}},"visibility":"internal"}],"src":"16531:23:48"},"returnParameters":{"id":24898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24914,"src":"16578:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24896,"name":"bytes","nodeType":"ElementaryTypeName","src":"16578:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16577:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24938,"nodeType":"FunctionDefinition","src":"16979:221:48","nodes":[],"body":{"id":24937,"nodeType":"Block","src":"17055:145:48","nodes":[],"statements":[{"assignments":[24927],"declarations":[{"constant":false,"id":24927,"mutability":"mutable","name":"_genericArray","nameLocation":"17078:13:48","nodeType":"VariableDeclaration","scope":24937,"src":"17061:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17061:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24926,"nodeType":"ArrayTypeName","src":"17061:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24928,"nodeType":"VariableDeclarationStatement","src":"17061:30:48"},{"AST":{"nativeSrc":"17106:37:48","nodeType":"YulBlock","src":"17106:37:48","statements":[{"nativeSrc":"17114:23:48","nodeType":"YulAssignment","src":"17114:23:48","value":{"name":"_input","nativeSrc":"17131:6:48","nodeType":"YulIdentifier","src":"17131:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"17114:13:48","nodeType":"YulIdentifier","src":"17114:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24927,"isOffset":false,"isSlot":false,"src":"17114:13:48","valueSize":1},{"declaration":24918,"isOffset":false,"isSlot":false,"src":"17131:6:48","valueSize":1}],"id":24929,"nodeType":"InlineAssembly","src":"17097:46:48"},{"expression":{"arguments":[{"id":24932,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24927,"src":"17173:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"34","id":24933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17188:1:48","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"hexValue":"323234","id":24934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17191:3:48","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"}],"expression":{"id":24930,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"17155:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17166:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"17155:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17155:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24922,"id":24936,"nodeType":"Return","src":"17148:47:48"}]},"documentation":{"id":24915,"nodeType":"StructuredDocumentation","src":"16741:235:48","text":" @notice Encodes an array of int32 into a tightly packed bytes representation.\n @param _input The array of int32 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"16988:6:48","parameters":{"id":24919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24918,"mutability":"mutable","name":"_input","nameLocation":"17010:6:48","nodeType":"VariableDeclaration","scope":24938,"src":"16995:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_memory_ptr","typeString":"int32[]"},"typeName":{"baseType":{"id":24916,"name":"int32","nodeType":"ElementaryTypeName","src":"16995:5:48","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":24917,"nodeType":"ArrayTypeName","src":"16995:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int32_$dyn_storage_ptr","typeString":"int32[]"}},"visibility":"internal"}],"src":"16994:23:48"},"returnParameters":{"id":24922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24938,"src":"17041:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24920,"name":"bytes","nodeType":"ElementaryTypeName","src":"17041:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17040:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24962,"nodeType":"FunctionDefinition","src":"17442:221:48","nodes":[],"body":{"id":24961,"nodeType":"Block","src":"17518:145:48","nodes":[],"statements":[{"assignments":[24951],"declarations":[{"constant":false,"id":24951,"mutability":"mutable","name":"_genericArray","nameLocation":"17541:13:48","nodeType":"VariableDeclaration","scope":24961,"src":"17524:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17524:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24950,"nodeType":"ArrayTypeName","src":"17524:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24952,"nodeType":"VariableDeclarationStatement","src":"17524:30:48"},{"AST":{"nativeSrc":"17569:37:48","nodeType":"YulBlock","src":"17569:37:48","statements":[{"nativeSrc":"17577:23:48","nodeType":"YulAssignment","src":"17577:23:48","value":{"name":"_input","nativeSrc":"17594:6:48","nodeType":"YulIdentifier","src":"17594:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"17577:13:48","nodeType":"YulIdentifier","src":"17577:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24951,"isOffset":false,"isSlot":false,"src":"17577:13:48","valueSize":1},{"declaration":24942,"isOffset":false,"isSlot":false,"src":"17594:6:48","valueSize":1}],"id":24953,"nodeType":"InlineAssembly","src":"17560:46:48"},{"expression":{"arguments":[{"id":24956,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24951,"src":"17636:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"35","id":24957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17651:1:48","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"323136","id":24958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17654:3:48","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"expression":{"id":24954,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"17618:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17629:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"17618:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17618:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24946,"id":24960,"nodeType":"Return","src":"17611:47:48"}]},"documentation":{"id":24939,"nodeType":"StructuredDocumentation","src":"17204:235:48","text":" @notice Encodes an array of int40 into a tightly packed bytes representation.\n @param _input The array of int40 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"17451:6:48","parameters":{"id":24943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24942,"mutability":"mutable","name":"_input","nameLocation":"17473:6:48","nodeType":"VariableDeclaration","scope":24962,"src":"17458:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int40_$dyn_memory_ptr","typeString":"int40[]"},"typeName":{"baseType":{"id":24940,"name":"int40","nodeType":"ElementaryTypeName","src":"17458:5:48","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":24941,"nodeType":"ArrayTypeName","src":"17458:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int40_$dyn_storage_ptr","typeString":"int40[]"}},"visibility":"internal"}],"src":"17457:23:48"},"returnParameters":{"id":24946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24962,"src":"17504:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24944,"name":"bytes","nodeType":"ElementaryTypeName","src":"17504:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17503:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24986,"nodeType":"FunctionDefinition","src":"17905:221:48","nodes":[],"body":{"id":24985,"nodeType":"Block","src":"17981:145:48","nodes":[],"statements":[{"assignments":[24975],"declarations":[{"constant":false,"id":24975,"mutability":"mutable","name":"_genericArray","nameLocation":"18004:13:48","nodeType":"VariableDeclaration","scope":24985,"src":"17987:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17987:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24974,"nodeType":"ArrayTypeName","src":"17987:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":24976,"nodeType":"VariableDeclarationStatement","src":"17987:30:48"},{"AST":{"nativeSrc":"18032:37:48","nodeType":"YulBlock","src":"18032:37:48","statements":[{"nativeSrc":"18040:23:48","nodeType":"YulAssignment","src":"18040:23:48","value":{"name":"_input","nativeSrc":"18057:6:48","nodeType":"YulIdentifier","src":"18057:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"18040:13:48","nodeType":"YulIdentifier","src":"18040:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24975,"isOffset":false,"isSlot":false,"src":"18040:13:48","valueSize":1},{"declaration":24966,"isOffset":false,"isSlot":false,"src":"18057:6:48","valueSize":1}],"id":24977,"nodeType":"InlineAssembly","src":"18023:46:48"},{"expression":{"arguments":[{"id":24980,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24975,"src":"18099:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"36","id":24981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18114:1:48","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},{"hexValue":"323038","id":24982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18117:3:48","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"}],"expression":{"id":24978,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"18081:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":24979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18092:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"18081:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":24983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18081:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24970,"id":24984,"nodeType":"Return","src":"18074:47:48"}]},"documentation":{"id":24963,"nodeType":"StructuredDocumentation","src":"17667:235:48","text":" @notice Encodes an array of int48 into a tightly packed bytes representation.\n @param _input The array of int48 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"17914:6:48","parameters":{"id":24967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24966,"mutability":"mutable","name":"_input","nameLocation":"17936:6:48","nodeType":"VariableDeclaration","scope":24986,"src":"17921:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int48_$dyn_memory_ptr","typeString":"int48[]"},"typeName":{"baseType":{"id":24964,"name":"int48","nodeType":"ElementaryTypeName","src":"17921:5:48","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":24965,"nodeType":"ArrayTypeName","src":"17921:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int48_$dyn_storage_ptr","typeString":"int48[]"}},"visibility":"internal"}],"src":"17920:23:48"},"returnParameters":{"id":24970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24986,"src":"17967:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24968,"name":"bytes","nodeType":"ElementaryTypeName","src":"17967:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17966:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25010,"nodeType":"FunctionDefinition","src":"18368:221:48","nodes":[],"body":{"id":25009,"nodeType":"Block","src":"18444:145:48","nodes":[],"statements":[{"assignments":[24999],"declarations":[{"constant":false,"id":24999,"mutability":"mutable","name":"_genericArray","nameLocation":"18467:13:48","nodeType":"VariableDeclaration","scope":25009,"src":"18450:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":24997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18450:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":24998,"nodeType":"ArrayTypeName","src":"18450:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25000,"nodeType":"VariableDeclarationStatement","src":"18450:30:48"},{"AST":{"nativeSrc":"18495:37:48","nodeType":"YulBlock","src":"18495:37:48","statements":[{"nativeSrc":"18503:23:48","nodeType":"YulAssignment","src":"18503:23:48","value":{"name":"_input","nativeSrc":"18520:6:48","nodeType":"YulIdentifier","src":"18520:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"18503:13:48","nodeType":"YulIdentifier","src":"18503:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":24999,"isOffset":false,"isSlot":false,"src":"18503:13:48","valueSize":1},{"declaration":24990,"isOffset":false,"isSlot":false,"src":"18520:6:48","valueSize":1}],"id":25001,"nodeType":"InlineAssembly","src":"18486:46:48"},{"expression":{"arguments":[{"id":25004,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24999,"src":"18562:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"37","id":25005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18577:1:48","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},{"hexValue":"323030","id":25006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18580:3:48","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"}],"expression":{"id":25002,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"18544:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18555:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"18544:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18544:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":24994,"id":25008,"nodeType":"Return","src":"18537:47:48"}]},"documentation":{"id":24987,"nodeType":"StructuredDocumentation","src":"18130:235:48","text":" @notice Encodes an array of int56 into a tightly packed bytes representation.\n @param _input The array of int56 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"18377:6:48","parameters":{"id":24991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24990,"mutability":"mutable","name":"_input","nameLocation":"18399:6:48","nodeType":"VariableDeclaration","scope":25010,"src":"18384:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[]"},"typeName":{"baseType":{"id":24988,"name":"int56","nodeType":"ElementaryTypeName","src":"18384:5:48","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":24989,"nodeType":"ArrayTypeName","src":"18384:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_storage_ptr","typeString":"int56[]"}},"visibility":"internal"}],"src":"18383:23:48"},"returnParameters":{"id":24994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25010,"src":"18430:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":24992,"name":"bytes","nodeType":"ElementaryTypeName","src":"18430:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18429:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25034,"nodeType":"FunctionDefinition","src":"18831:221:48","nodes":[],"body":{"id":25033,"nodeType":"Block","src":"18907:145:48","nodes":[],"statements":[{"assignments":[25023],"declarations":[{"constant":false,"id":25023,"mutability":"mutable","name":"_genericArray","nameLocation":"18930:13:48","nodeType":"VariableDeclaration","scope":25033,"src":"18913:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18913:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25022,"nodeType":"ArrayTypeName","src":"18913:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25024,"nodeType":"VariableDeclarationStatement","src":"18913:30:48"},{"AST":{"nativeSrc":"18958:37:48","nodeType":"YulBlock","src":"18958:37:48","statements":[{"nativeSrc":"18966:23:48","nodeType":"YulAssignment","src":"18966:23:48","value":{"name":"_input","nativeSrc":"18983:6:48","nodeType":"YulIdentifier","src":"18983:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"18966:13:48","nodeType":"YulIdentifier","src":"18966:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25023,"isOffset":false,"isSlot":false,"src":"18966:13:48","valueSize":1},{"declaration":25014,"isOffset":false,"isSlot":false,"src":"18983:6:48","valueSize":1}],"id":25025,"nodeType":"InlineAssembly","src":"18949:46:48"},{"expression":{"arguments":[{"id":25028,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25023,"src":"19025:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"38","id":25029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19040:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"hexValue":"313932","id":25030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19043:3:48","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"}],"expression":{"id":25026,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"19007:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19018:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"19007:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19007:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25018,"id":25032,"nodeType":"Return","src":"19000:47:48"}]},"documentation":{"id":25011,"nodeType":"StructuredDocumentation","src":"18593:235:48","text":" @notice Encodes an array of int64 into a tightly packed bytes representation.\n @param _input The array of int64 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"18840:6:48","parameters":{"id":25015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25014,"mutability":"mutable","name":"_input","nameLocation":"18862:6:48","nodeType":"VariableDeclaration","scope":25034,"src":"18847:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":25012,"name":"int64","nodeType":"ElementaryTypeName","src":"18847:5:48","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":25013,"nodeType":"ArrayTypeName","src":"18847:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"18846:23:48"},"returnParameters":{"id":25018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25034,"src":"18893:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25016,"name":"bytes","nodeType":"ElementaryTypeName","src":"18893:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18892:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25058,"nodeType":"FunctionDefinition","src":"19294:221:48","nodes":[],"body":{"id":25057,"nodeType":"Block","src":"19370:145:48","nodes":[],"statements":[{"assignments":[25047],"declarations":[{"constant":false,"id":25047,"mutability":"mutable","name":"_genericArray","nameLocation":"19393:13:48","nodeType":"VariableDeclaration","scope":25057,"src":"19376:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19376:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25046,"nodeType":"ArrayTypeName","src":"19376:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25048,"nodeType":"VariableDeclarationStatement","src":"19376:30:48"},{"AST":{"nativeSrc":"19421:37:48","nodeType":"YulBlock","src":"19421:37:48","statements":[{"nativeSrc":"19429:23:48","nodeType":"YulAssignment","src":"19429:23:48","value":{"name":"_input","nativeSrc":"19446:6:48","nodeType":"YulIdentifier","src":"19446:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"19429:13:48","nodeType":"YulIdentifier","src":"19429:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25047,"isOffset":false,"isSlot":false,"src":"19429:13:48","valueSize":1},{"declaration":25038,"isOffset":false,"isSlot":false,"src":"19446:6:48","valueSize":1}],"id":25049,"nodeType":"InlineAssembly","src":"19412:46:48"},{"expression":{"arguments":[{"id":25052,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25047,"src":"19488:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"39","id":25053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19503:1:48","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},{"hexValue":"313834","id":25054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19506:3:48","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"}],"expression":{"id":25050,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"19470:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19481:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"19470:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19470:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25042,"id":25056,"nodeType":"Return","src":"19463:47:48"}]},"documentation":{"id":25035,"nodeType":"StructuredDocumentation","src":"19056:235:48","text":" @notice Encodes an array of int72 into a tightly packed bytes representation.\n @param _input The array of int72 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"19303:6:48","parameters":{"id":25039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25038,"mutability":"mutable","name":"_input","nameLocation":"19325:6:48","nodeType":"VariableDeclaration","scope":25058,"src":"19310:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int72_$dyn_memory_ptr","typeString":"int72[]"},"typeName":{"baseType":{"id":25036,"name":"int72","nodeType":"ElementaryTypeName","src":"19310:5:48","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":25037,"nodeType":"ArrayTypeName","src":"19310:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int72_$dyn_storage_ptr","typeString":"int72[]"}},"visibility":"internal"}],"src":"19309:23:48"},"returnParameters":{"id":25042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25058,"src":"19356:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25040,"name":"bytes","nodeType":"ElementaryTypeName","src":"19356:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19355:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25082,"nodeType":"FunctionDefinition","src":"19757:222:48","nodes":[],"body":{"id":25081,"nodeType":"Block","src":"19833:146:48","nodes":[],"statements":[{"assignments":[25071],"declarations":[{"constant":false,"id":25071,"mutability":"mutable","name":"_genericArray","nameLocation":"19856:13:48","nodeType":"VariableDeclaration","scope":25081,"src":"19839:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19839:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25070,"nodeType":"ArrayTypeName","src":"19839:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25072,"nodeType":"VariableDeclarationStatement","src":"19839:30:48"},{"AST":{"nativeSrc":"19884:37:48","nodeType":"YulBlock","src":"19884:37:48","statements":[{"nativeSrc":"19892:23:48","nodeType":"YulAssignment","src":"19892:23:48","value":{"name":"_input","nativeSrc":"19909:6:48","nodeType":"YulIdentifier","src":"19909:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"19892:13:48","nodeType":"YulIdentifier","src":"19892:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25071,"isOffset":false,"isSlot":false,"src":"19892:13:48","valueSize":1},{"declaration":25062,"isOffset":false,"isSlot":false,"src":"19909:6:48","valueSize":1}],"id":25073,"nodeType":"InlineAssembly","src":"19875:46:48"},{"expression":{"arguments":[{"id":25076,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25071,"src":"19951:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3130","id":25077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19966:2:48","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"313736","id":25078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19970:3:48","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"}],"expression":{"id":25074,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"19933:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19944:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"19933:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19933:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25066,"id":25080,"nodeType":"Return","src":"19926:48:48"}]},"documentation":{"id":25059,"nodeType":"StructuredDocumentation","src":"19519:235:48","text":" @notice Encodes an array of int80 into a tightly packed bytes representation.\n @param _input The array of int80 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"19766:6:48","parameters":{"id":25063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25062,"mutability":"mutable","name":"_input","nameLocation":"19788:6:48","nodeType":"VariableDeclaration","scope":25082,"src":"19773:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int80_$dyn_memory_ptr","typeString":"int80[]"},"typeName":{"baseType":{"id":25060,"name":"int80","nodeType":"ElementaryTypeName","src":"19773:5:48","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":25061,"nodeType":"ArrayTypeName","src":"19773:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int80_$dyn_storage_ptr","typeString":"int80[]"}},"visibility":"internal"}],"src":"19772:23:48"},"returnParameters":{"id":25066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25082,"src":"19819:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25064,"name":"bytes","nodeType":"ElementaryTypeName","src":"19819:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19818:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25106,"nodeType":"FunctionDefinition","src":"20221:222:48","nodes":[],"body":{"id":25105,"nodeType":"Block","src":"20297:146:48","nodes":[],"statements":[{"assignments":[25095],"declarations":[{"constant":false,"id":25095,"mutability":"mutable","name":"_genericArray","nameLocation":"20320:13:48","nodeType":"VariableDeclaration","scope":25105,"src":"20303:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20303:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25094,"nodeType":"ArrayTypeName","src":"20303:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25096,"nodeType":"VariableDeclarationStatement","src":"20303:30:48"},{"AST":{"nativeSrc":"20348:37:48","nodeType":"YulBlock","src":"20348:37:48","statements":[{"nativeSrc":"20356:23:48","nodeType":"YulAssignment","src":"20356:23:48","value":{"name":"_input","nativeSrc":"20373:6:48","nodeType":"YulIdentifier","src":"20373:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"20356:13:48","nodeType":"YulIdentifier","src":"20356:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25095,"isOffset":false,"isSlot":false,"src":"20356:13:48","valueSize":1},{"declaration":25086,"isOffset":false,"isSlot":false,"src":"20373:6:48","valueSize":1}],"id":25097,"nodeType":"InlineAssembly","src":"20339:46:48"},{"expression":{"arguments":[{"id":25100,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25095,"src":"20415:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3131","id":25101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20430:2:48","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"313638","id":25102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20434:3:48","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"}],"expression":{"id":25098,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"20397:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20408:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"20397:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20397:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25090,"id":25104,"nodeType":"Return","src":"20390:48:48"}]},"documentation":{"id":25083,"nodeType":"StructuredDocumentation","src":"19983:235:48","text":" @notice Encodes an array of int88 into a tightly packed bytes representation.\n @param _input The array of int88 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"20230:6:48","parameters":{"id":25087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25086,"mutability":"mutable","name":"_input","nameLocation":"20252:6:48","nodeType":"VariableDeclaration","scope":25106,"src":"20237:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int88_$dyn_memory_ptr","typeString":"int88[]"},"typeName":{"baseType":{"id":25084,"name":"int88","nodeType":"ElementaryTypeName","src":"20237:5:48","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":25085,"nodeType":"ArrayTypeName","src":"20237:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int88_$dyn_storage_ptr","typeString":"int88[]"}},"visibility":"internal"}],"src":"20236:23:48"},"returnParameters":{"id":25090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25106,"src":"20283:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25088,"name":"bytes","nodeType":"ElementaryTypeName","src":"20283:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20282:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25130,"nodeType":"FunctionDefinition","src":"20685:222:48","nodes":[],"body":{"id":25129,"nodeType":"Block","src":"20761:146:48","nodes":[],"statements":[{"assignments":[25119],"declarations":[{"constant":false,"id":25119,"mutability":"mutable","name":"_genericArray","nameLocation":"20784:13:48","nodeType":"VariableDeclaration","scope":25129,"src":"20767:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20767:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25118,"nodeType":"ArrayTypeName","src":"20767:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25120,"nodeType":"VariableDeclarationStatement","src":"20767:30:48"},{"AST":{"nativeSrc":"20812:37:48","nodeType":"YulBlock","src":"20812:37:48","statements":[{"nativeSrc":"20820:23:48","nodeType":"YulAssignment","src":"20820:23:48","value":{"name":"_input","nativeSrc":"20837:6:48","nodeType":"YulIdentifier","src":"20837:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"20820:13:48","nodeType":"YulIdentifier","src":"20820:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25119,"isOffset":false,"isSlot":false,"src":"20820:13:48","valueSize":1},{"declaration":25110,"isOffset":false,"isSlot":false,"src":"20837:6:48","valueSize":1}],"id":25121,"nodeType":"InlineAssembly","src":"20803:46:48"},{"expression":{"arguments":[{"id":25124,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25119,"src":"20879:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3132","id":25125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20894:2:48","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},{"hexValue":"313630","id":25126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20898:3:48","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"}],"expression":{"id":25122,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"20861:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20872:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"20861:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20861:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25114,"id":25128,"nodeType":"Return","src":"20854:48:48"}]},"documentation":{"id":25107,"nodeType":"StructuredDocumentation","src":"20447:235:48","text":" @notice Encodes an array of int96 into a tightly packed bytes representation.\n @param _input The array of int96 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"20694:6:48","parameters":{"id":25111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25110,"mutability":"mutable","name":"_input","nameLocation":"20716:6:48","nodeType":"VariableDeclaration","scope":25130,"src":"20701:21:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int96_$dyn_memory_ptr","typeString":"int96[]"},"typeName":{"baseType":{"id":25108,"name":"int96","nodeType":"ElementaryTypeName","src":"20701:5:48","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":25109,"nodeType":"ArrayTypeName","src":"20701:7:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int96_$dyn_storage_ptr","typeString":"int96[]"}},"visibility":"internal"}],"src":"20700:23:48"},"returnParameters":{"id":25114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25130,"src":"20747:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25112,"name":"bytes","nodeType":"ElementaryTypeName","src":"20747:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20746:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25154,"nodeType":"FunctionDefinition","src":"21151:223:48","nodes":[],"body":{"id":25153,"nodeType":"Block","src":"21228:146:48","nodes":[],"statements":[{"assignments":[25143],"declarations":[{"constant":false,"id":25143,"mutability":"mutable","name":"_genericArray","nameLocation":"21251:13:48","nodeType":"VariableDeclaration","scope":25153,"src":"21234:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21234:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25142,"nodeType":"ArrayTypeName","src":"21234:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25144,"nodeType":"VariableDeclarationStatement","src":"21234:30:48"},{"AST":{"nativeSrc":"21279:37:48","nodeType":"YulBlock","src":"21279:37:48","statements":[{"nativeSrc":"21287:23:48","nodeType":"YulAssignment","src":"21287:23:48","value":{"name":"_input","nativeSrc":"21304:6:48","nodeType":"YulIdentifier","src":"21304:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"21287:13:48","nodeType":"YulIdentifier","src":"21287:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25143,"isOffset":false,"isSlot":false,"src":"21287:13:48","valueSize":1},{"declaration":25134,"isOffset":false,"isSlot":false,"src":"21304:6:48","valueSize":1}],"id":25145,"nodeType":"InlineAssembly","src":"21270:46:48"},{"expression":{"arguments":[{"id":25148,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25143,"src":"21346:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3133","id":25149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21361:2:48","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},{"hexValue":"313532","id":25150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21365:3:48","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"}],"expression":{"id":25146,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"21328:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21339:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"21328:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21328:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25138,"id":25152,"nodeType":"Return","src":"21321:48:48"}]},"documentation":{"id":25131,"nodeType":"StructuredDocumentation","src":"20911:237:48","text":" @notice Encodes an array of int104 into a tightly packed bytes representation.\n @param _input The array of int104 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"21160:6:48","parameters":{"id":25135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25134,"mutability":"mutable","name":"_input","nameLocation":"21183:6:48","nodeType":"VariableDeclaration","scope":25154,"src":"21167:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int104_$dyn_memory_ptr","typeString":"int104[]"},"typeName":{"baseType":{"id":25132,"name":"int104","nodeType":"ElementaryTypeName","src":"21167:6:48","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":25133,"nodeType":"ArrayTypeName","src":"21167:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int104_$dyn_storage_ptr","typeString":"int104[]"}},"visibility":"internal"}],"src":"21166:24:48"},"returnParameters":{"id":25138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25154,"src":"21214:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25136,"name":"bytes","nodeType":"ElementaryTypeName","src":"21214:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21213:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25178,"nodeType":"FunctionDefinition","src":"21618:223:48","nodes":[],"body":{"id":25177,"nodeType":"Block","src":"21695:146:48","nodes":[],"statements":[{"assignments":[25167],"declarations":[{"constant":false,"id":25167,"mutability":"mutable","name":"_genericArray","nameLocation":"21718:13:48","nodeType":"VariableDeclaration","scope":25177,"src":"21701:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21701:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25166,"nodeType":"ArrayTypeName","src":"21701:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25168,"nodeType":"VariableDeclarationStatement","src":"21701:30:48"},{"AST":{"nativeSrc":"21746:37:48","nodeType":"YulBlock","src":"21746:37:48","statements":[{"nativeSrc":"21754:23:48","nodeType":"YulAssignment","src":"21754:23:48","value":{"name":"_input","nativeSrc":"21771:6:48","nodeType":"YulIdentifier","src":"21771:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"21754:13:48","nodeType":"YulIdentifier","src":"21754:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25167,"isOffset":false,"isSlot":false,"src":"21754:13:48","valueSize":1},{"declaration":25158,"isOffset":false,"isSlot":false,"src":"21771:6:48","valueSize":1}],"id":25169,"nodeType":"InlineAssembly","src":"21737:46:48"},{"expression":{"arguments":[{"id":25172,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25167,"src":"21813:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3134","id":25173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21828:2:48","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"313434","id":25174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21832:3:48","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"}],"expression":{"id":25170,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"21795:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21806:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"21795:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21795:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25162,"id":25176,"nodeType":"Return","src":"21788:48:48"}]},"documentation":{"id":25155,"nodeType":"StructuredDocumentation","src":"21378:237:48","text":" @notice Encodes an array of int112 into a tightly packed bytes representation.\n @param _input The array of int112 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"21627:6:48","parameters":{"id":25159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25158,"mutability":"mutable","name":"_input","nameLocation":"21650:6:48","nodeType":"VariableDeclaration","scope":25178,"src":"21634:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int112_$dyn_memory_ptr","typeString":"int112[]"},"typeName":{"baseType":{"id":25156,"name":"int112","nodeType":"ElementaryTypeName","src":"21634:6:48","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":25157,"nodeType":"ArrayTypeName","src":"21634:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int112_$dyn_storage_ptr","typeString":"int112[]"}},"visibility":"internal"}],"src":"21633:24:48"},"returnParameters":{"id":25162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25178,"src":"21681:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25160,"name":"bytes","nodeType":"ElementaryTypeName","src":"21681:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21680:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25202,"nodeType":"FunctionDefinition","src":"22085:223:48","nodes":[],"body":{"id":25201,"nodeType":"Block","src":"22162:146:48","nodes":[],"statements":[{"assignments":[25191],"declarations":[{"constant":false,"id":25191,"mutability":"mutable","name":"_genericArray","nameLocation":"22185:13:48","nodeType":"VariableDeclaration","scope":25201,"src":"22168:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22168:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25190,"nodeType":"ArrayTypeName","src":"22168:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25192,"nodeType":"VariableDeclarationStatement","src":"22168:30:48"},{"AST":{"nativeSrc":"22213:37:48","nodeType":"YulBlock","src":"22213:37:48","statements":[{"nativeSrc":"22221:23:48","nodeType":"YulAssignment","src":"22221:23:48","value":{"name":"_input","nativeSrc":"22238:6:48","nodeType":"YulIdentifier","src":"22238:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"22221:13:48","nodeType":"YulIdentifier","src":"22221:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25191,"isOffset":false,"isSlot":false,"src":"22221:13:48","valueSize":1},{"declaration":25182,"isOffset":false,"isSlot":false,"src":"22238:6:48","valueSize":1}],"id":25193,"nodeType":"InlineAssembly","src":"22204:46:48"},{"expression":{"arguments":[{"id":25196,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"22280:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3135","id":25197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22295:2:48","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},{"hexValue":"313336","id":25198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22299:3:48","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"}],"expression":{"id":25194,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"22262:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22273:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"22262:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22262:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25186,"id":25200,"nodeType":"Return","src":"22255:48:48"}]},"documentation":{"id":25179,"nodeType":"StructuredDocumentation","src":"21845:237:48","text":" @notice Encodes an array of int120 into a tightly packed bytes representation.\n @param _input The array of int120 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"22094:6:48","parameters":{"id":25183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25182,"mutability":"mutable","name":"_input","nameLocation":"22117:6:48","nodeType":"VariableDeclaration","scope":25202,"src":"22101:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int120_$dyn_memory_ptr","typeString":"int120[]"},"typeName":{"baseType":{"id":25180,"name":"int120","nodeType":"ElementaryTypeName","src":"22101:6:48","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":25181,"nodeType":"ArrayTypeName","src":"22101:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int120_$dyn_storage_ptr","typeString":"int120[]"}},"visibility":"internal"}],"src":"22100:24:48"},"returnParameters":{"id":25186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25202,"src":"22148:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25184,"name":"bytes","nodeType":"ElementaryTypeName","src":"22148:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22147:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25226,"nodeType":"FunctionDefinition","src":"22552:223:48","nodes":[],"body":{"id":25225,"nodeType":"Block","src":"22629:146:48","nodes":[],"statements":[{"assignments":[25215],"declarations":[{"constant":false,"id":25215,"mutability":"mutable","name":"_genericArray","nameLocation":"22652:13:48","nodeType":"VariableDeclaration","scope":25225,"src":"22635:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22635:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25214,"nodeType":"ArrayTypeName","src":"22635:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25216,"nodeType":"VariableDeclarationStatement","src":"22635:30:48"},{"AST":{"nativeSrc":"22680:37:48","nodeType":"YulBlock","src":"22680:37:48","statements":[{"nativeSrc":"22688:23:48","nodeType":"YulAssignment","src":"22688:23:48","value":{"name":"_input","nativeSrc":"22705:6:48","nodeType":"YulIdentifier","src":"22705:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"22688:13:48","nodeType":"YulIdentifier","src":"22688:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25215,"isOffset":false,"isSlot":false,"src":"22688:13:48","valueSize":1},{"declaration":25206,"isOffset":false,"isSlot":false,"src":"22705:6:48","valueSize":1}],"id":25217,"nodeType":"InlineAssembly","src":"22671:46:48"},{"expression":{"arguments":[{"id":25220,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25215,"src":"22747:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3136","id":25221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22762:2:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"hexValue":"313238","id":25222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22766:3:48","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"expression":{"id":25218,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"22729:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22740:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"22729:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22729:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25210,"id":25224,"nodeType":"Return","src":"22722:48:48"}]},"documentation":{"id":25203,"nodeType":"StructuredDocumentation","src":"22312:237:48","text":" @notice Encodes an array of int128 into a tightly packed bytes representation.\n @param _input The array of int128 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"22561:6:48","parameters":{"id":25207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25206,"mutability":"mutable","name":"_input","nameLocation":"22584:6:48","nodeType":"VariableDeclaration","scope":25226,"src":"22568:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":25204,"name":"int128","nodeType":"ElementaryTypeName","src":"22568:6:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":25205,"nodeType":"ArrayTypeName","src":"22568:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"src":"22567:24:48"},"returnParameters":{"id":25210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25226,"src":"22615:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25208,"name":"bytes","nodeType":"ElementaryTypeName","src":"22615:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22614:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25250,"nodeType":"FunctionDefinition","src":"23019:223:48","nodes":[],"body":{"id":25249,"nodeType":"Block","src":"23096:146:48","nodes":[],"statements":[{"assignments":[25239],"declarations":[{"constant":false,"id":25239,"mutability":"mutable","name":"_genericArray","nameLocation":"23119:13:48","nodeType":"VariableDeclaration","scope":25249,"src":"23102:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23102:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25238,"nodeType":"ArrayTypeName","src":"23102:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25240,"nodeType":"VariableDeclarationStatement","src":"23102:30:48"},{"AST":{"nativeSrc":"23147:37:48","nodeType":"YulBlock","src":"23147:37:48","statements":[{"nativeSrc":"23155:23:48","nodeType":"YulAssignment","src":"23155:23:48","value":{"name":"_input","nativeSrc":"23172:6:48","nodeType":"YulIdentifier","src":"23172:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"23155:13:48","nodeType":"YulIdentifier","src":"23155:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25239,"isOffset":false,"isSlot":false,"src":"23155:13:48","valueSize":1},{"declaration":25230,"isOffset":false,"isSlot":false,"src":"23172:6:48","valueSize":1}],"id":25241,"nodeType":"InlineAssembly","src":"23138:46:48"},{"expression":{"arguments":[{"id":25244,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25239,"src":"23214:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3137","id":25245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23229:2:48","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},{"hexValue":"313230","id":25246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23233:3:48","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"}],"expression":{"id":25242,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"23196:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23207:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"23196:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23196:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25234,"id":25248,"nodeType":"Return","src":"23189:48:48"}]},"documentation":{"id":25227,"nodeType":"StructuredDocumentation","src":"22779:237:48","text":" @notice Encodes an array of int136 into a tightly packed bytes representation.\n @param _input The array of int136 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"23028:6:48","parameters":{"id":25231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25230,"mutability":"mutable","name":"_input","nameLocation":"23051:6:48","nodeType":"VariableDeclaration","scope":25250,"src":"23035:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int136_$dyn_memory_ptr","typeString":"int136[]"},"typeName":{"baseType":{"id":25228,"name":"int136","nodeType":"ElementaryTypeName","src":"23035:6:48","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":25229,"nodeType":"ArrayTypeName","src":"23035:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int136_$dyn_storage_ptr","typeString":"int136[]"}},"visibility":"internal"}],"src":"23034:24:48"},"returnParameters":{"id":25234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25250,"src":"23082:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25232,"name":"bytes","nodeType":"ElementaryTypeName","src":"23082:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23081:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25274,"nodeType":"FunctionDefinition","src":"23486:223:48","nodes":[],"body":{"id":25273,"nodeType":"Block","src":"23563:146:48","nodes":[],"statements":[{"assignments":[25263],"declarations":[{"constant":false,"id":25263,"mutability":"mutable","name":"_genericArray","nameLocation":"23586:13:48","nodeType":"VariableDeclaration","scope":25273,"src":"23569:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23569:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25262,"nodeType":"ArrayTypeName","src":"23569:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25264,"nodeType":"VariableDeclarationStatement","src":"23569:30:48"},{"AST":{"nativeSrc":"23614:37:48","nodeType":"YulBlock","src":"23614:37:48","statements":[{"nativeSrc":"23622:23:48","nodeType":"YulAssignment","src":"23622:23:48","value":{"name":"_input","nativeSrc":"23639:6:48","nodeType":"YulIdentifier","src":"23639:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"23622:13:48","nodeType":"YulIdentifier","src":"23622:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25263,"isOffset":false,"isSlot":false,"src":"23622:13:48","valueSize":1},{"declaration":25254,"isOffset":false,"isSlot":false,"src":"23639:6:48","valueSize":1}],"id":25265,"nodeType":"InlineAssembly","src":"23605:46:48"},{"expression":{"arguments":[{"id":25268,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25263,"src":"23681:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3138","id":25269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23696:2:48","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},{"hexValue":"313132","id":25270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23700:3:48","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"}],"expression":{"id":25266,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"23663:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23674:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"23663:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23663:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25258,"id":25272,"nodeType":"Return","src":"23656:48:48"}]},"documentation":{"id":25251,"nodeType":"StructuredDocumentation","src":"23246:237:48","text":" @notice Encodes an array of int144 into a tightly packed bytes representation.\n @param _input The array of int144 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"23495:6:48","parameters":{"id":25255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25254,"mutability":"mutable","name":"_input","nameLocation":"23518:6:48","nodeType":"VariableDeclaration","scope":25274,"src":"23502:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int144_$dyn_memory_ptr","typeString":"int144[]"},"typeName":{"baseType":{"id":25252,"name":"int144","nodeType":"ElementaryTypeName","src":"23502:6:48","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":25253,"nodeType":"ArrayTypeName","src":"23502:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int144_$dyn_storage_ptr","typeString":"int144[]"}},"visibility":"internal"}],"src":"23501:24:48"},"returnParameters":{"id":25258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25257,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25274,"src":"23549:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25256,"name":"bytes","nodeType":"ElementaryTypeName","src":"23549:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23548:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25298,"nodeType":"FunctionDefinition","src":"23953:223:48","nodes":[],"body":{"id":25297,"nodeType":"Block","src":"24030:146:48","nodes":[],"statements":[{"assignments":[25287],"declarations":[{"constant":false,"id":25287,"mutability":"mutable","name":"_genericArray","nameLocation":"24053:13:48","nodeType":"VariableDeclaration","scope":25297,"src":"24036:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24036:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25286,"nodeType":"ArrayTypeName","src":"24036:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25288,"nodeType":"VariableDeclarationStatement","src":"24036:30:48"},{"AST":{"nativeSrc":"24081:37:48","nodeType":"YulBlock","src":"24081:37:48","statements":[{"nativeSrc":"24089:23:48","nodeType":"YulAssignment","src":"24089:23:48","value":{"name":"_input","nativeSrc":"24106:6:48","nodeType":"YulIdentifier","src":"24106:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"24089:13:48","nodeType":"YulIdentifier","src":"24089:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25287,"isOffset":false,"isSlot":false,"src":"24089:13:48","valueSize":1},{"declaration":25278,"isOffset":false,"isSlot":false,"src":"24106:6:48","valueSize":1}],"id":25289,"nodeType":"InlineAssembly","src":"24072:46:48"},{"expression":{"arguments":[{"id":25292,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25287,"src":"24148:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3139","id":25293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24163:2:48","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},{"hexValue":"313034","id":25294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24167:3:48","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"}],"expression":{"id":25290,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"24130:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24141:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"24130:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24130:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25282,"id":25296,"nodeType":"Return","src":"24123:48:48"}]},"documentation":{"id":25275,"nodeType":"StructuredDocumentation","src":"23713:237:48","text":" @notice Encodes an array of int152 into a tightly packed bytes representation.\n @param _input The array of int152 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"23962:6:48","parameters":{"id":25279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25278,"mutability":"mutable","name":"_input","nameLocation":"23985:6:48","nodeType":"VariableDeclaration","scope":25298,"src":"23969:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int152_$dyn_memory_ptr","typeString":"int152[]"},"typeName":{"baseType":{"id":25276,"name":"int152","nodeType":"ElementaryTypeName","src":"23969:6:48","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":25277,"nodeType":"ArrayTypeName","src":"23969:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int152_$dyn_storage_ptr","typeString":"int152[]"}},"visibility":"internal"}],"src":"23968:24:48"},"returnParameters":{"id":25282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25298,"src":"24016:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25280,"name":"bytes","nodeType":"ElementaryTypeName","src":"24016:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24015:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25322,"nodeType":"FunctionDefinition","src":"24420:222:48","nodes":[],"body":{"id":25321,"nodeType":"Block","src":"24497:145:48","nodes":[],"statements":[{"assignments":[25311],"declarations":[{"constant":false,"id":25311,"mutability":"mutable","name":"_genericArray","nameLocation":"24520:13:48","nodeType":"VariableDeclaration","scope":25321,"src":"24503:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24503:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25310,"nodeType":"ArrayTypeName","src":"24503:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25312,"nodeType":"VariableDeclarationStatement","src":"24503:30:48"},{"AST":{"nativeSrc":"24548:37:48","nodeType":"YulBlock","src":"24548:37:48","statements":[{"nativeSrc":"24556:23:48","nodeType":"YulAssignment","src":"24556:23:48","value":{"name":"_input","nativeSrc":"24573:6:48","nodeType":"YulIdentifier","src":"24573:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"24556:13:48","nodeType":"YulIdentifier","src":"24556:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25311,"isOffset":false,"isSlot":false,"src":"24556:13:48","valueSize":1},{"declaration":25302,"isOffset":false,"isSlot":false,"src":"24573:6:48","valueSize":1}],"id":25313,"nodeType":"InlineAssembly","src":"24539:46:48"},{"expression":{"arguments":[{"id":25316,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25311,"src":"24615:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3230","id":25317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24630:2:48","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3936","id":25318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24634:2:48","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"}],"expression":{"id":25314,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"24597:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24608:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"24597:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24597:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25306,"id":25320,"nodeType":"Return","src":"24590:47:48"}]},"documentation":{"id":25299,"nodeType":"StructuredDocumentation","src":"24180:237:48","text":" @notice Encodes an array of int160 into a tightly packed bytes representation.\n @param _input The array of int160 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"24429:6:48","parameters":{"id":25303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25302,"mutability":"mutable","name":"_input","nameLocation":"24452:6:48","nodeType":"VariableDeclaration","scope":25322,"src":"24436:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int160_$dyn_memory_ptr","typeString":"int160[]"},"typeName":{"baseType":{"id":25300,"name":"int160","nodeType":"ElementaryTypeName","src":"24436:6:48","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":25301,"nodeType":"ArrayTypeName","src":"24436:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int160_$dyn_storage_ptr","typeString":"int160[]"}},"visibility":"internal"}],"src":"24435:24:48"},"returnParameters":{"id":25306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25322,"src":"24483:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25304,"name":"bytes","nodeType":"ElementaryTypeName","src":"24483:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24482:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25346,"nodeType":"FunctionDefinition","src":"24886:222:48","nodes":[],"body":{"id":25345,"nodeType":"Block","src":"24963:145:48","nodes":[],"statements":[{"assignments":[25335],"declarations":[{"constant":false,"id":25335,"mutability":"mutable","name":"_genericArray","nameLocation":"24986:13:48","nodeType":"VariableDeclaration","scope":25345,"src":"24969:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24969:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25334,"nodeType":"ArrayTypeName","src":"24969:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25336,"nodeType":"VariableDeclarationStatement","src":"24969:30:48"},{"AST":{"nativeSrc":"25014:37:48","nodeType":"YulBlock","src":"25014:37:48","statements":[{"nativeSrc":"25022:23:48","nodeType":"YulAssignment","src":"25022:23:48","value":{"name":"_input","nativeSrc":"25039:6:48","nodeType":"YulIdentifier","src":"25039:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"25022:13:48","nodeType":"YulIdentifier","src":"25022:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25335,"isOffset":false,"isSlot":false,"src":"25022:13:48","valueSize":1},{"declaration":25326,"isOffset":false,"isSlot":false,"src":"25039:6:48","valueSize":1}],"id":25337,"nodeType":"InlineAssembly","src":"25005:46:48"},{"expression":{"arguments":[{"id":25340,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25335,"src":"25081:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3231","id":25341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25096:2:48","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},{"hexValue":"3838","id":25342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25100:2:48","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"}],"expression":{"id":25338,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"25063:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25074:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"25063:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25063:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25330,"id":25344,"nodeType":"Return","src":"25056:47:48"}]},"documentation":{"id":25323,"nodeType":"StructuredDocumentation","src":"24646:237:48","text":" @notice Encodes an array of int168 into a tightly packed bytes representation.\n @param _input The array of int168 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"24895:6:48","parameters":{"id":25327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25326,"mutability":"mutable","name":"_input","nameLocation":"24918:6:48","nodeType":"VariableDeclaration","scope":25346,"src":"24902:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int168_$dyn_memory_ptr","typeString":"int168[]"},"typeName":{"baseType":{"id":25324,"name":"int168","nodeType":"ElementaryTypeName","src":"24902:6:48","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":25325,"nodeType":"ArrayTypeName","src":"24902:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int168_$dyn_storage_ptr","typeString":"int168[]"}},"visibility":"internal"}],"src":"24901:24:48"},"returnParameters":{"id":25330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25346,"src":"24949:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25328,"name":"bytes","nodeType":"ElementaryTypeName","src":"24949:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24948:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25370,"nodeType":"FunctionDefinition","src":"25352:222:48","nodes":[],"body":{"id":25369,"nodeType":"Block","src":"25429:145:48","nodes":[],"statements":[{"assignments":[25359],"declarations":[{"constant":false,"id":25359,"mutability":"mutable","name":"_genericArray","nameLocation":"25452:13:48","nodeType":"VariableDeclaration","scope":25369,"src":"25435:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25435:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25358,"nodeType":"ArrayTypeName","src":"25435:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25360,"nodeType":"VariableDeclarationStatement","src":"25435:30:48"},{"AST":{"nativeSrc":"25480:37:48","nodeType":"YulBlock","src":"25480:37:48","statements":[{"nativeSrc":"25488:23:48","nodeType":"YulAssignment","src":"25488:23:48","value":{"name":"_input","nativeSrc":"25505:6:48","nodeType":"YulIdentifier","src":"25505:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"25488:13:48","nodeType":"YulIdentifier","src":"25488:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25359,"isOffset":false,"isSlot":false,"src":"25488:13:48","valueSize":1},{"declaration":25350,"isOffset":false,"isSlot":false,"src":"25505:6:48","valueSize":1}],"id":25361,"nodeType":"InlineAssembly","src":"25471:46:48"},{"expression":{"arguments":[{"id":25364,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25359,"src":"25547:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3232","id":25365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25562:2:48","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"22"},{"hexValue":"3830","id":25366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25566:2:48","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":25362,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"25529:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25540:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"25529:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25529:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25354,"id":25368,"nodeType":"Return","src":"25522:47:48"}]},"documentation":{"id":25347,"nodeType":"StructuredDocumentation","src":"25112:237:48","text":" @notice Encodes an array of int176 into a tightly packed bytes representation.\n @param _input The array of int176 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"25361:6:48","parameters":{"id":25351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25350,"mutability":"mutable","name":"_input","nameLocation":"25384:6:48","nodeType":"VariableDeclaration","scope":25370,"src":"25368:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int176_$dyn_memory_ptr","typeString":"int176[]"},"typeName":{"baseType":{"id":25348,"name":"int176","nodeType":"ElementaryTypeName","src":"25368:6:48","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":25349,"nodeType":"ArrayTypeName","src":"25368:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int176_$dyn_storage_ptr","typeString":"int176[]"}},"visibility":"internal"}],"src":"25367:24:48"},"returnParameters":{"id":25354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25370,"src":"25415:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25352,"name":"bytes","nodeType":"ElementaryTypeName","src":"25415:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25414:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25394,"nodeType":"FunctionDefinition","src":"25818:222:48","nodes":[],"body":{"id":25393,"nodeType":"Block","src":"25895:145:48","nodes":[],"statements":[{"assignments":[25383],"declarations":[{"constant":false,"id":25383,"mutability":"mutable","name":"_genericArray","nameLocation":"25918:13:48","nodeType":"VariableDeclaration","scope":25393,"src":"25901:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25901:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25382,"nodeType":"ArrayTypeName","src":"25901:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25384,"nodeType":"VariableDeclarationStatement","src":"25901:30:48"},{"AST":{"nativeSrc":"25946:37:48","nodeType":"YulBlock","src":"25946:37:48","statements":[{"nativeSrc":"25954:23:48","nodeType":"YulAssignment","src":"25954:23:48","value":{"name":"_input","nativeSrc":"25971:6:48","nodeType":"YulIdentifier","src":"25971:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"25954:13:48","nodeType":"YulIdentifier","src":"25954:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25383,"isOffset":false,"isSlot":false,"src":"25954:13:48","valueSize":1},{"declaration":25374,"isOffset":false,"isSlot":false,"src":"25971:6:48","valueSize":1}],"id":25385,"nodeType":"InlineAssembly","src":"25937:46:48"},{"expression":{"arguments":[{"id":25388,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25383,"src":"26013:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3233","id":25389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26028:2:48","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},{"hexValue":"3732","id":25390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26032:2:48","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"}],"expression":{"id":25386,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"25995:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26006:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"25995:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25995:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25378,"id":25392,"nodeType":"Return","src":"25988:47:48"}]},"documentation":{"id":25371,"nodeType":"StructuredDocumentation","src":"25578:237:48","text":" @notice Encodes an array of int184 into a tightly packed bytes representation.\n @param _input The array of int184 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"25827:6:48","parameters":{"id":25375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25374,"mutability":"mutable","name":"_input","nameLocation":"25850:6:48","nodeType":"VariableDeclaration","scope":25394,"src":"25834:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int184_$dyn_memory_ptr","typeString":"int184[]"},"typeName":{"baseType":{"id":25372,"name":"int184","nodeType":"ElementaryTypeName","src":"25834:6:48","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":25373,"nodeType":"ArrayTypeName","src":"25834:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int184_$dyn_storage_ptr","typeString":"int184[]"}},"visibility":"internal"}],"src":"25833:24:48"},"returnParameters":{"id":25378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25394,"src":"25881:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25376,"name":"bytes","nodeType":"ElementaryTypeName","src":"25881:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25880:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25418,"nodeType":"FunctionDefinition","src":"26284:222:48","nodes":[],"body":{"id":25417,"nodeType":"Block","src":"26361:145:48","nodes":[],"statements":[{"assignments":[25407],"declarations":[{"constant":false,"id":25407,"mutability":"mutable","name":"_genericArray","nameLocation":"26384:13:48","nodeType":"VariableDeclaration","scope":25417,"src":"26367:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26367:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25406,"nodeType":"ArrayTypeName","src":"26367:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25408,"nodeType":"VariableDeclarationStatement","src":"26367:30:48"},{"AST":{"nativeSrc":"26412:37:48","nodeType":"YulBlock","src":"26412:37:48","statements":[{"nativeSrc":"26420:23:48","nodeType":"YulAssignment","src":"26420:23:48","value":{"name":"_input","nativeSrc":"26437:6:48","nodeType":"YulIdentifier","src":"26437:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"26420:13:48","nodeType":"YulIdentifier","src":"26420:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25407,"isOffset":false,"isSlot":false,"src":"26420:13:48","valueSize":1},{"declaration":25398,"isOffset":false,"isSlot":false,"src":"26437:6:48","valueSize":1}],"id":25409,"nodeType":"InlineAssembly","src":"26403:46:48"},{"expression":{"arguments":[{"id":25412,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25407,"src":"26479:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3234","id":25413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26494:2:48","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"hexValue":"3634","id":25414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26498:2:48","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"}],"expression":{"id":25410,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"26461:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26472:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"26461:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26461:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25402,"id":25416,"nodeType":"Return","src":"26454:47:48"}]},"documentation":{"id":25395,"nodeType":"StructuredDocumentation","src":"26044:237:48","text":" @notice Encodes an array of int192 into a tightly packed bytes representation.\n @param _input The array of int192 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"26293:6:48","parameters":{"id":25399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25398,"mutability":"mutable","name":"_input","nameLocation":"26316:6:48","nodeType":"VariableDeclaration","scope":25418,"src":"26300:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int192_$dyn_memory_ptr","typeString":"int192[]"},"typeName":{"baseType":{"id":25396,"name":"int192","nodeType":"ElementaryTypeName","src":"26300:6:48","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":25397,"nodeType":"ArrayTypeName","src":"26300:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int192_$dyn_storage_ptr","typeString":"int192[]"}},"visibility":"internal"}],"src":"26299:24:48"},"returnParameters":{"id":25402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25418,"src":"26347:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25400,"name":"bytes","nodeType":"ElementaryTypeName","src":"26347:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26346:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25442,"nodeType":"FunctionDefinition","src":"26750:222:48","nodes":[],"body":{"id":25441,"nodeType":"Block","src":"26827:145:48","nodes":[],"statements":[{"assignments":[25431],"declarations":[{"constant":false,"id":25431,"mutability":"mutable","name":"_genericArray","nameLocation":"26850:13:48","nodeType":"VariableDeclaration","scope":25441,"src":"26833:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26833:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25430,"nodeType":"ArrayTypeName","src":"26833:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25432,"nodeType":"VariableDeclarationStatement","src":"26833:30:48"},{"AST":{"nativeSrc":"26878:37:48","nodeType":"YulBlock","src":"26878:37:48","statements":[{"nativeSrc":"26886:23:48","nodeType":"YulAssignment","src":"26886:23:48","value":{"name":"_input","nativeSrc":"26903:6:48","nodeType":"YulIdentifier","src":"26903:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"26886:13:48","nodeType":"YulIdentifier","src":"26886:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25431,"isOffset":false,"isSlot":false,"src":"26886:13:48","valueSize":1},{"declaration":25422,"isOffset":false,"isSlot":false,"src":"26903:6:48","valueSize":1}],"id":25433,"nodeType":"InlineAssembly","src":"26869:46:48"},{"expression":{"arguments":[{"id":25436,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25431,"src":"26945:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3235","id":25437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26960:2:48","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"hexValue":"3536","id":25438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26964:2:48","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"}],"expression":{"id":25434,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"26927:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26938:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"26927:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26927:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25426,"id":25440,"nodeType":"Return","src":"26920:47:48"}]},"documentation":{"id":25419,"nodeType":"StructuredDocumentation","src":"26510:237:48","text":" @notice Encodes an array of int200 into a tightly packed bytes representation.\n @param _input The array of int200 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"26759:6:48","parameters":{"id":25423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25422,"mutability":"mutable","name":"_input","nameLocation":"26782:6:48","nodeType":"VariableDeclaration","scope":25442,"src":"26766:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int200_$dyn_memory_ptr","typeString":"int200[]"},"typeName":{"baseType":{"id":25420,"name":"int200","nodeType":"ElementaryTypeName","src":"26766:6:48","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":25421,"nodeType":"ArrayTypeName","src":"26766:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int200_$dyn_storage_ptr","typeString":"int200[]"}},"visibility":"internal"}],"src":"26765:24:48"},"returnParameters":{"id":25426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25442,"src":"26813:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25424,"name":"bytes","nodeType":"ElementaryTypeName","src":"26813:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26812:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25466,"nodeType":"FunctionDefinition","src":"27216:222:48","nodes":[],"body":{"id":25465,"nodeType":"Block","src":"27293:145:48","nodes":[],"statements":[{"assignments":[25455],"declarations":[{"constant":false,"id":25455,"mutability":"mutable","name":"_genericArray","nameLocation":"27316:13:48","nodeType":"VariableDeclaration","scope":25465,"src":"27299:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27299:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25454,"nodeType":"ArrayTypeName","src":"27299:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25456,"nodeType":"VariableDeclarationStatement","src":"27299:30:48"},{"AST":{"nativeSrc":"27344:37:48","nodeType":"YulBlock","src":"27344:37:48","statements":[{"nativeSrc":"27352:23:48","nodeType":"YulAssignment","src":"27352:23:48","value":{"name":"_input","nativeSrc":"27369:6:48","nodeType":"YulIdentifier","src":"27369:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"27352:13:48","nodeType":"YulIdentifier","src":"27352:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25455,"isOffset":false,"isSlot":false,"src":"27352:13:48","valueSize":1},{"declaration":25446,"isOffset":false,"isSlot":false,"src":"27369:6:48","valueSize":1}],"id":25457,"nodeType":"InlineAssembly","src":"27335:46:48"},{"expression":{"arguments":[{"id":25460,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25455,"src":"27411:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3236","id":25461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27426:2:48","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},{"hexValue":"3438","id":25462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27430:2:48","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"}],"expression":{"id":25458,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"27393:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27404:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"27393:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27393:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25450,"id":25464,"nodeType":"Return","src":"27386:47:48"}]},"documentation":{"id":25443,"nodeType":"StructuredDocumentation","src":"26976:237:48","text":" @notice Encodes an array of int208 into a tightly packed bytes representation.\n @param _input The array of int208 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"27225:6:48","parameters":{"id":25447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25446,"mutability":"mutable","name":"_input","nameLocation":"27248:6:48","nodeType":"VariableDeclaration","scope":25466,"src":"27232:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int208_$dyn_memory_ptr","typeString":"int208[]"},"typeName":{"baseType":{"id":25444,"name":"int208","nodeType":"ElementaryTypeName","src":"27232:6:48","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":25445,"nodeType":"ArrayTypeName","src":"27232:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int208_$dyn_storage_ptr","typeString":"int208[]"}},"visibility":"internal"}],"src":"27231:24:48"},"returnParameters":{"id":25450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25466,"src":"27279:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25448,"name":"bytes","nodeType":"ElementaryTypeName","src":"27279:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27278:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25490,"nodeType":"FunctionDefinition","src":"27682:222:48","nodes":[],"body":{"id":25489,"nodeType":"Block","src":"27759:145:48","nodes":[],"statements":[{"assignments":[25479],"declarations":[{"constant":false,"id":25479,"mutability":"mutable","name":"_genericArray","nameLocation":"27782:13:48","nodeType":"VariableDeclaration","scope":25489,"src":"27765:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27765:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25478,"nodeType":"ArrayTypeName","src":"27765:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25480,"nodeType":"VariableDeclarationStatement","src":"27765:30:48"},{"AST":{"nativeSrc":"27810:37:48","nodeType":"YulBlock","src":"27810:37:48","statements":[{"nativeSrc":"27818:23:48","nodeType":"YulAssignment","src":"27818:23:48","value":{"name":"_input","nativeSrc":"27835:6:48","nodeType":"YulIdentifier","src":"27835:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"27818:13:48","nodeType":"YulIdentifier","src":"27818:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25479,"isOffset":false,"isSlot":false,"src":"27818:13:48","valueSize":1},{"declaration":25470,"isOffset":false,"isSlot":false,"src":"27835:6:48","valueSize":1}],"id":25481,"nodeType":"InlineAssembly","src":"27801:46:48"},{"expression":{"arguments":[{"id":25484,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25479,"src":"27877:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3237","id":25485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27892:2:48","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},{"hexValue":"3430","id":25486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27896:2:48","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"}],"expression":{"id":25482,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"27859:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27870:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"27859:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27859:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25474,"id":25488,"nodeType":"Return","src":"27852:47:48"}]},"documentation":{"id":25467,"nodeType":"StructuredDocumentation","src":"27442:237:48","text":" @notice Encodes an array of int216 into a tightly packed bytes representation.\n @param _input The array of int216 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"27691:6:48","parameters":{"id":25471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25470,"mutability":"mutable","name":"_input","nameLocation":"27714:6:48","nodeType":"VariableDeclaration","scope":25490,"src":"27698:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int216_$dyn_memory_ptr","typeString":"int216[]"},"typeName":{"baseType":{"id":25468,"name":"int216","nodeType":"ElementaryTypeName","src":"27698:6:48","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":25469,"nodeType":"ArrayTypeName","src":"27698:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int216_$dyn_storage_ptr","typeString":"int216[]"}},"visibility":"internal"}],"src":"27697:24:48"},"returnParameters":{"id":25474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25490,"src":"27745:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25472,"name":"bytes","nodeType":"ElementaryTypeName","src":"27745:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27744:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25514,"nodeType":"FunctionDefinition","src":"28148:222:48","nodes":[],"body":{"id":25513,"nodeType":"Block","src":"28225:145:48","nodes":[],"statements":[{"assignments":[25503],"declarations":[{"constant":false,"id":25503,"mutability":"mutable","name":"_genericArray","nameLocation":"28248:13:48","nodeType":"VariableDeclaration","scope":25513,"src":"28231:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28231:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25502,"nodeType":"ArrayTypeName","src":"28231:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25504,"nodeType":"VariableDeclarationStatement","src":"28231:30:48"},{"AST":{"nativeSrc":"28276:37:48","nodeType":"YulBlock","src":"28276:37:48","statements":[{"nativeSrc":"28284:23:48","nodeType":"YulAssignment","src":"28284:23:48","value":{"name":"_input","nativeSrc":"28301:6:48","nodeType":"YulIdentifier","src":"28301:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"28284:13:48","nodeType":"YulIdentifier","src":"28284:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25503,"isOffset":false,"isSlot":false,"src":"28284:13:48","valueSize":1},{"declaration":25494,"isOffset":false,"isSlot":false,"src":"28301:6:48","valueSize":1}],"id":25505,"nodeType":"InlineAssembly","src":"28267:46:48"},{"expression":{"arguments":[{"id":25508,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25503,"src":"28343:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3238","id":25509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28358:2:48","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"28"},{"hexValue":"3332","id":25510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28362:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":25506,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"28325:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28336:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"28325:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28325:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25498,"id":25512,"nodeType":"Return","src":"28318:47:48"}]},"documentation":{"id":25491,"nodeType":"StructuredDocumentation","src":"27908:237:48","text":" @notice Encodes an array of int224 into a tightly packed bytes representation.\n @param _input The array of int224 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"28157:6:48","parameters":{"id":25495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25494,"mutability":"mutable","name":"_input","nameLocation":"28180:6:48","nodeType":"VariableDeclaration","scope":25514,"src":"28164:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int224_$dyn_memory_ptr","typeString":"int224[]"},"typeName":{"baseType":{"id":25492,"name":"int224","nodeType":"ElementaryTypeName","src":"28164:6:48","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":25493,"nodeType":"ArrayTypeName","src":"28164:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int224_$dyn_storage_ptr","typeString":"int224[]"}},"visibility":"internal"}],"src":"28163:24:48"},"returnParameters":{"id":25498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25514,"src":"28211:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25496,"name":"bytes","nodeType":"ElementaryTypeName","src":"28211:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28210:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25538,"nodeType":"FunctionDefinition","src":"28614:222:48","nodes":[],"body":{"id":25537,"nodeType":"Block","src":"28691:145:48","nodes":[],"statements":[{"assignments":[25527],"declarations":[{"constant":false,"id":25527,"mutability":"mutable","name":"_genericArray","nameLocation":"28714:13:48","nodeType":"VariableDeclaration","scope":25537,"src":"28697:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28697:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25526,"nodeType":"ArrayTypeName","src":"28697:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25528,"nodeType":"VariableDeclarationStatement","src":"28697:30:48"},{"AST":{"nativeSrc":"28742:37:48","nodeType":"YulBlock","src":"28742:37:48","statements":[{"nativeSrc":"28750:23:48","nodeType":"YulAssignment","src":"28750:23:48","value":{"name":"_input","nativeSrc":"28767:6:48","nodeType":"YulIdentifier","src":"28767:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"28750:13:48","nodeType":"YulIdentifier","src":"28750:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25527,"isOffset":false,"isSlot":false,"src":"28750:13:48","valueSize":1},{"declaration":25518,"isOffset":false,"isSlot":false,"src":"28767:6:48","valueSize":1}],"id":25529,"nodeType":"InlineAssembly","src":"28733:46:48"},{"expression":{"arguments":[{"id":25532,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25527,"src":"28809:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3239","id":25533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28824:2:48","typeDescriptions":{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},"value":"29"},{"hexValue":"3234","id":25534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28828:2:48","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"}],"expression":{"id":25530,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"28791:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28802:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"28791:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28791:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25522,"id":25536,"nodeType":"Return","src":"28784:47:48"}]},"documentation":{"id":25515,"nodeType":"StructuredDocumentation","src":"28374:237:48","text":" @notice Encodes an array of int232 into a tightly packed bytes representation.\n @param _input The array of int232 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"28623:6:48","parameters":{"id":25519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25518,"mutability":"mutable","name":"_input","nameLocation":"28646:6:48","nodeType":"VariableDeclaration","scope":25538,"src":"28630:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int232_$dyn_memory_ptr","typeString":"int232[]"},"typeName":{"baseType":{"id":25516,"name":"int232","nodeType":"ElementaryTypeName","src":"28630:6:48","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":25517,"nodeType":"ArrayTypeName","src":"28630:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int232_$dyn_storage_ptr","typeString":"int232[]"}},"visibility":"internal"}],"src":"28629:24:48"},"returnParameters":{"id":25522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25538,"src":"28677:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25520,"name":"bytes","nodeType":"ElementaryTypeName","src":"28677:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28676:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25562,"nodeType":"FunctionDefinition","src":"29080:222:48","nodes":[],"body":{"id":25561,"nodeType":"Block","src":"29157:145:48","nodes":[],"statements":[{"assignments":[25551],"declarations":[{"constant":false,"id":25551,"mutability":"mutable","name":"_genericArray","nameLocation":"29180:13:48","nodeType":"VariableDeclaration","scope":25561,"src":"29163:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29163:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25550,"nodeType":"ArrayTypeName","src":"29163:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25552,"nodeType":"VariableDeclarationStatement","src":"29163:30:48"},{"AST":{"nativeSrc":"29208:37:48","nodeType":"YulBlock","src":"29208:37:48","statements":[{"nativeSrc":"29216:23:48","nodeType":"YulAssignment","src":"29216:23:48","value":{"name":"_input","nativeSrc":"29233:6:48","nodeType":"YulIdentifier","src":"29233:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"29216:13:48","nodeType":"YulIdentifier","src":"29216:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25551,"isOffset":false,"isSlot":false,"src":"29216:13:48","valueSize":1},{"declaration":25542,"isOffset":false,"isSlot":false,"src":"29233:6:48","valueSize":1}],"id":25553,"nodeType":"InlineAssembly","src":"29199:46:48"},{"expression":{"arguments":[{"id":25556,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25551,"src":"29275:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3330","id":25557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29290:2:48","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},{"hexValue":"3136","id":25558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29294:2:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}],"expression":{"id":25554,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"29257:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29268:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"29257:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29257:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25546,"id":25560,"nodeType":"Return","src":"29250:47:48"}]},"documentation":{"id":25539,"nodeType":"StructuredDocumentation","src":"28840:237:48","text":" @notice Encodes an array of int240 into a tightly packed bytes representation.\n @param _input The array of int240 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"29089:6:48","parameters":{"id":25543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25542,"mutability":"mutable","name":"_input","nameLocation":"29112:6:48","nodeType":"VariableDeclaration","scope":25562,"src":"29096:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int240_$dyn_memory_ptr","typeString":"int240[]"},"typeName":{"baseType":{"id":25540,"name":"int240","nodeType":"ElementaryTypeName","src":"29096:6:48","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":25541,"nodeType":"ArrayTypeName","src":"29096:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int240_$dyn_storage_ptr","typeString":"int240[]"}},"visibility":"internal"}],"src":"29095:24:48"},"returnParameters":{"id":25546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25562,"src":"29143:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25544,"name":"bytes","nodeType":"ElementaryTypeName","src":"29143:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"29142:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25586,"nodeType":"FunctionDefinition","src":"29546:221:48","nodes":[],"body":{"id":25585,"nodeType":"Block","src":"29623:144:48","nodes":[],"statements":[{"assignments":[25575],"declarations":[{"constant":false,"id":25575,"mutability":"mutable","name":"_genericArray","nameLocation":"29646:13:48","nodeType":"VariableDeclaration","scope":25585,"src":"29629:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29629:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25574,"nodeType":"ArrayTypeName","src":"29629:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25576,"nodeType":"VariableDeclarationStatement","src":"29629:30:48"},{"AST":{"nativeSrc":"29674:37:48","nodeType":"YulBlock","src":"29674:37:48","statements":[{"nativeSrc":"29682:23:48","nodeType":"YulAssignment","src":"29682:23:48","value":{"name":"_input","nativeSrc":"29699:6:48","nodeType":"YulIdentifier","src":"29699:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"29682:13:48","nodeType":"YulIdentifier","src":"29682:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25575,"isOffset":false,"isSlot":false,"src":"29682:13:48","valueSize":1},{"declaration":25566,"isOffset":false,"isSlot":false,"src":"29699:6:48","valueSize":1}],"id":25577,"nodeType":"InlineAssembly","src":"29665:46:48"},{"expression":{"arguments":[{"id":25580,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25575,"src":"29741:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3331","id":25581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29756:2:48","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},{"hexValue":"38","id":25582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29760:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"}],"expression":{"id":25578,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"29723:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29734:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"29723:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29723:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25570,"id":25584,"nodeType":"Return","src":"29716:46:48"}]},"documentation":{"id":25563,"nodeType":"StructuredDocumentation","src":"29306:237:48","text":" @notice Encodes an array of int248 into a tightly packed bytes representation.\n @param _input The array of int248 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"29555:6:48","parameters":{"id":25567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25566,"mutability":"mutable","name":"_input","nameLocation":"29578:6:48","nodeType":"VariableDeclaration","scope":25586,"src":"29562:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int248_$dyn_memory_ptr","typeString":"int248[]"},"typeName":{"baseType":{"id":25564,"name":"int248","nodeType":"ElementaryTypeName","src":"29562:6:48","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":25565,"nodeType":"ArrayTypeName","src":"29562:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int248_$dyn_storage_ptr","typeString":"int248[]"}},"visibility":"internal"}],"src":"29561:24:48"},"returnParameters":{"id":25570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25586,"src":"29609:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25568,"name":"bytes","nodeType":"ElementaryTypeName","src":"29609:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"29608:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25610,"nodeType":"FunctionDefinition","src":"30011:221:48","nodes":[],"body":{"id":25609,"nodeType":"Block","src":"30088:144:48","nodes":[],"statements":[{"assignments":[25599],"declarations":[{"constant":false,"id":25599,"mutability":"mutable","name":"_genericArray","nameLocation":"30111:13:48","nodeType":"VariableDeclaration","scope":25609,"src":"30094:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30094:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25598,"nodeType":"ArrayTypeName","src":"30094:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25600,"nodeType":"VariableDeclarationStatement","src":"30094:30:48"},{"AST":{"nativeSrc":"30139:37:48","nodeType":"YulBlock","src":"30139:37:48","statements":[{"nativeSrc":"30147:23:48","nodeType":"YulAssignment","src":"30147:23:48","value":{"name":"_input","nativeSrc":"30164:6:48","nodeType":"YulIdentifier","src":"30164:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"30147:13:48","nodeType":"YulIdentifier","src":"30147:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25599,"isOffset":false,"isSlot":false,"src":"30147:13:48","valueSize":1},{"declaration":25590,"isOffset":false,"isSlot":false,"src":"30164:6:48","valueSize":1}],"id":25601,"nodeType":"InlineAssembly","src":"30130:46:48"},{"expression":{"arguments":[{"id":25604,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25599,"src":"30206:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3332","id":25605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30221:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"hexValue":"30","id":25606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30225:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25602,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"30188:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30199:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"30188:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30188:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25594,"id":25608,"nodeType":"Return","src":"30181:46:48"}]},"documentation":{"id":25587,"nodeType":"StructuredDocumentation","src":"29771:237:48","text":" @notice Encodes an array of int256 into a tightly packed bytes representation.\n @param _input The array of int256 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"30020:6:48","parameters":{"id":25591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25590,"mutability":"mutable","name":"_input","nameLocation":"30043:6:48","nodeType":"VariableDeclaration","scope":25610,"src":"30027:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":25588,"name":"int256","nodeType":"ElementaryTypeName","src":"30027:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":25589,"nodeType":"ArrayTypeName","src":"30027:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"30026:24:48"},"returnParameters":{"id":25594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25610,"src":"30074:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25592,"name":"bytes","nodeType":"ElementaryTypeName","src":"30074:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"30073:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25634,"nodeType":"FunctionDefinition","src":"30476:220:48","nodes":[],"body":{"id":25633,"nodeType":"Block","src":"30553:143:48","nodes":[],"statements":[{"assignments":[25623],"declarations":[{"constant":false,"id":25623,"mutability":"mutable","name":"_genericArray","nameLocation":"30576:13:48","nodeType":"VariableDeclaration","scope":25633,"src":"30559:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30559:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25622,"nodeType":"ArrayTypeName","src":"30559:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25624,"nodeType":"VariableDeclarationStatement","src":"30559:30:48"},{"AST":{"nativeSrc":"30604:37:48","nodeType":"YulBlock","src":"30604:37:48","statements":[{"nativeSrc":"30612:23:48","nodeType":"YulAssignment","src":"30612:23:48","value":{"name":"_input","nativeSrc":"30629:6:48","nodeType":"YulIdentifier","src":"30629:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"30612:13:48","nodeType":"YulIdentifier","src":"30612:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25623,"isOffset":false,"isSlot":false,"src":"30612:13:48","valueSize":1},{"declaration":25614,"isOffset":false,"isSlot":false,"src":"30629:6:48","valueSize":1}],"id":25625,"nodeType":"InlineAssembly","src":"30595:46:48"},{"expression":{"arguments":[{"id":25628,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25623,"src":"30671:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"31","id":25629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30686:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":25630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30689:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25626,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"30653:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30664:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"30653:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30653:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25618,"id":25632,"nodeType":"Return","src":"30646:45:48"}]},"documentation":{"id":25611,"nodeType":"StructuredDocumentation","src":"30236:237:48","text":" @notice Encodes an array of bytes1 into a tightly packed bytes representation.\n @param _input The array of bytes1 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"30485:6:48","parameters":{"id":25615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25614,"mutability":"mutable","name":"_input","nameLocation":"30508:6:48","nodeType":"VariableDeclaration","scope":25634,"src":"30492:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes1_$dyn_memory_ptr","typeString":"bytes1[]"},"typeName":{"baseType":{"id":25612,"name":"bytes1","nodeType":"ElementaryTypeName","src":"30492:6:48","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":25613,"nodeType":"ArrayTypeName","src":"30492:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes1_$dyn_storage_ptr","typeString":"bytes1[]"}},"visibility":"internal"}],"src":"30491:24:48"},"returnParameters":{"id":25618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25634,"src":"30539:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25616,"name":"bytes","nodeType":"ElementaryTypeName","src":"30539:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"30538:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25658,"nodeType":"FunctionDefinition","src":"30940:220:48","nodes":[],"body":{"id":25657,"nodeType":"Block","src":"31017:143:48","nodes":[],"statements":[{"assignments":[25647],"declarations":[{"constant":false,"id":25647,"mutability":"mutable","name":"_genericArray","nameLocation":"31040:13:48","nodeType":"VariableDeclaration","scope":25657,"src":"31023:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31023:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25646,"nodeType":"ArrayTypeName","src":"31023:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25648,"nodeType":"VariableDeclarationStatement","src":"31023:30:48"},{"AST":{"nativeSrc":"31068:37:48","nodeType":"YulBlock","src":"31068:37:48","statements":[{"nativeSrc":"31076:23:48","nodeType":"YulAssignment","src":"31076:23:48","value":{"name":"_input","nativeSrc":"31093:6:48","nodeType":"YulIdentifier","src":"31093:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"31076:13:48","nodeType":"YulIdentifier","src":"31076:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25647,"isOffset":false,"isSlot":false,"src":"31076:13:48","valueSize":1},{"declaration":25638,"isOffset":false,"isSlot":false,"src":"31093:6:48","valueSize":1}],"id":25649,"nodeType":"InlineAssembly","src":"31059:46:48"},{"expression":{"arguments":[{"id":25652,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25647,"src":"31135:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"32","id":25653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31150:1:48","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"30","id":25654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31153:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25650,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"31117:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31128:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"31117:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31117:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25642,"id":25656,"nodeType":"Return","src":"31110:45:48"}]},"documentation":{"id":25635,"nodeType":"StructuredDocumentation","src":"30700:237:48","text":" @notice Encodes an array of bytes2 into a tightly packed bytes representation.\n @param _input The array of bytes2 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"30949:6:48","parameters":{"id":25639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25638,"mutability":"mutable","name":"_input","nameLocation":"30972:6:48","nodeType":"VariableDeclaration","scope":25658,"src":"30956:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes2_$dyn_memory_ptr","typeString":"bytes2[]"},"typeName":{"baseType":{"id":25636,"name":"bytes2","nodeType":"ElementaryTypeName","src":"30956:6:48","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"id":25637,"nodeType":"ArrayTypeName","src":"30956:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes2_$dyn_storage_ptr","typeString":"bytes2[]"}},"visibility":"internal"}],"src":"30955:24:48"},"returnParameters":{"id":25642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25658,"src":"31003:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25640,"name":"bytes","nodeType":"ElementaryTypeName","src":"31003:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31002:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25682,"nodeType":"FunctionDefinition","src":"31404:220:48","nodes":[],"body":{"id":25681,"nodeType":"Block","src":"31481:143:48","nodes":[],"statements":[{"assignments":[25671],"declarations":[{"constant":false,"id":25671,"mutability":"mutable","name":"_genericArray","nameLocation":"31504:13:48","nodeType":"VariableDeclaration","scope":25681,"src":"31487:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31487:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25670,"nodeType":"ArrayTypeName","src":"31487:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25672,"nodeType":"VariableDeclarationStatement","src":"31487:30:48"},{"AST":{"nativeSrc":"31532:37:48","nodeType":"YulBlock","src":"31532:37:48","statements":[{"nativeSrc":"31540:23:48","nodeType":"YulAssignment","src":"31540:23:48","value":{"name":"_input","nativeSrc":"31557:6:48","nodeType":"YulIdentifier","src":"31557:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"31540:13:48","nodeType":"YulIdentifier","src":"31540:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25671,"isOffset":false,"isSlot":false,"src":"31540:13:48","valueSize":1},{"declaration":25662,"isOffset":false,"isSlot":false,"src":"31557:6:48","valueSize":1}],"id":25673,"nodeType":"InlineAssembly","src":"31523:46:48"},{"expression":{"arguments":[{"id":25676,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25671,"src":"31599:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"33","id":25677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31614:1:48","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"30","id":25678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31617:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25674,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"31581:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31592:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"31581:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31581:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25666,"id":25680,"nodeType":"Return","src":"31574:45:48"}]},"documentation":{"id":25659,"nodeType":"StructuredDocumentation","src":"31164:237:48","text":" @notice Encodes an array of bytes3 into a tightly packed bytes representation.\n @param _input The array of bytes3 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"31413:6:48","parameters":{"id":25663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25662,"mutability":"mutable","name":"_input","nameLocation":"31436:6:48","nodeType":"VariableDeclaration","scope":25682,"src":"31420:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes3_$dyn_memory_ptr","typeString":"bytes3[]"},"typeName":{"baseType":{"id":25660,"name":"bytes3","nodeType":"ElementaryTypeName","src":"31420:6:48","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"id":25661,"nodeType":"ArrayTypeName","src":"31420:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes3_$dyn_storage_ptr","typeString":"bytes3[]"}},"visibility":"internal"}],"src":"31419:24:48"},"returnParameters":{"id":25666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25665,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25682,"src":"31467:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25664,"name":"bytes","nodeType":"ElementaryTypeName","src":"31467:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31466:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25706,"nodeType":"FunctionDefinition","src":"31868:220:48","nodes":[],"body":{"id":25705,"nodeType":"Block","src":"31945:143:48","nodes":[],"statements":[{"assignments":[25695],"declarations":[{"constant":false,"id":25695,"mutability":"mutable","name":"_genericArray","nameLocation":"31968:13:48","nodeType":"VariableDeclaration","scope":25705,"src":"31951:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31951:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25694,"nodeType":"ArrayTypeName","src":"31951:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25696,"nodeType":"VariableDeclarationStatement","src":"31951:30:48"},{"AST":{"nativeSrc":"31996:37:48","nodeType":"YulBlock","src":"31996:37:48","statements":[{"nativeSrc":"32004:23:48","nodeType":"YulAssignment","src":"32004:23:48","value":{"name":"_input","nativeSrc":"32021:6:48","nodeType":"YulIdentifier","src":"32021:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"32004:13:48","nodeType":"YulIdentifier","src":"32004:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25695,"isOffset":false,"isSlot":false,"src":"32004:13:48","valueSize":1},{"declaration":25686,"isOffset":false,"isSlot":false,"src":"32021:6:48","valueSize":1}],"id":25697,"nodeType":"InlineAssembly","src":"31987:46:48"},{"expression":{"arguments":[{"id":25700,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25695,"src":"32063:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"34","id":25701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32078:1:48","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"hexValue":"30","id":25702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32081:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25698,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"32045:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32056:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"32045:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32045:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25690,"id":25704,"nodeType":"Return","src":"32038:45:48"}]},"documentation":{"id":25683,"nodeType":"StructuredDocumentation","src":"31628:237:48","text":" @notice Encodes an array of bytes4 into a tightly packed bytes representation.\n @param _input The array of bytes4 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"31877:6:48","parameters":{"id":25687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25686,"mutability":"mutable","name":"_input","nameLocation":"31900:6:48","nodeType":"VariableDeclaration","scope":25706,"src":"31884:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":25684,"name":"bytes4","nodeType":"ElementaryTypeName","src":"31884:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":25685,"nodeType":"ArrayTypeName","src":"31884:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"src":"31883:24:48"},"returnParameters":{"id":25690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25706,"src":"31931:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25688,"name":"bytes","nodeType":"ElementaryTypeName","src":"31931:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31930:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25730,"nodeType":"FunctionDefinition","src":"32332:220:48","nodes":[],"body":{"id":25729,"nodeType":"Block","src":"32409:143:48","nodes":[],"statements":[{"assignments":[25719],"declarations":[{"constant":false,"id":25719,"mutability":"mutable","name":"_genericArray","nameLocation":"32432:13:48","nodeType":"VariableDeclaration","scope":25729,"src":"32415:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32415:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25718,"nodeType":"ArrayTypeName","src":"32415:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25720,"nodeType":"VariableDeclarationStatement","src":"32415:30:48"},{"AST":{"nativeSrc":"32460:37:48","nodeType":"YulBlock","src":"32460:37:48","statements":[{"nativeSrc":"32468:23:48","nodeType":"YulAssignment","src":"32468:23:48","value":{"name":"_input","nativeSrc":"32485:6:48","nodeType":"YulIdentifier","src":"32485:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"32468:13:48","nodeType":"YulIdentifier","src":"32468:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25719,"isOffset":false,"isSlot":false,"src":"32468:13:48","valueSize":1},{"declaration":25710,"isOffset":false,"isSlot":false,"src":"32485:6:48","valueSize":1}],"id":25721,"nodeType":"InlineAssembly","src":"32451:46:48"},{"expression":{"arguments":[{"id":25724,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25719,"src":"32527:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"35","id":25725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32542:1:48","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"30","id":25726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32545:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25722,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"32509:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32520:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"32509:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32509:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25714,"id":25728,"nodeType":"Return","src":"32502:45:48"}]},"documentation":{"id":25707,"nodeType":"StructuredDocumentation","src":"32092:237:48","text":" @notice Encodes an array of bytes5 into a tightly packed bytes representation.\n @param _input The array of bytes5 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"32341:6:48","parameters":{"id":25711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25710,"mutability":"mutable","name":"_input","nameLocation":"32364:6:48","nodeType":"VariableDeclaration","scope":25730,"src":"32348:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes5_$dyn_memory_ptr","typeString":"bytes5[]"},"typeName":{"baseType":{"id":25708,"name":"bytes5","nodeType":"ElementaryTypeName","src":"32348:6:48","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"id":25709,"nodeType":"ArrayTypeName","src":"32348:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes5_$dyn_storage_ptr","typeString":"bytes5[]"}},"visibility":"internal"}],"src":"32347:24:48"},"returnParameters":{"id":25714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25730,"src":"32395:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25712,"name":"bytes","nodeType":"ElementaryTypeName","src":"32395:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32394:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25754,"nodeType":"FunctionDefinition","src":"32796:220:48","nodes":[],"body":{"id":25753,"nodeType":"Block","src":"32873:143:48","nodes":[],"statements":[{"assignments":[25743],"declarations":[{"constant":false,"id":25743,"mutability":"mutable","name":"_genericArray","nameLocation":"32896:13:48","nodeType":"VariableDeclaration","scope":25753,"src":"32879:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32879:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25742,"nodeType":"ArrayTypeName","src":"32879:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25744,"nodeType":"VariableDeclarationStatement","src":"32879:30:48"},{"AST":{"nativeSrc":"32924:37:48","nodeType":"YulBlock","src":"32924:37:48","statements":[{"nativeSrc":"32932:23:48","nodeType":"YulAssignment","src":"32932:23:48","value":{"name":"_input","nativeSrc":"32949:6:48","nodeType":"YulIdentifier","src":"32949:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"32932:13:48","nodeType":"YulIdentifier","src":"32932:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25743,"isOffset":false,"isSlot":false,"src":"32932:13:48","valueSize":1},{"declaration":25734,"isOffset":false,"isSlot":false,"src":"32949:6:48","valueSize":1}],"id":25745,"nodeType":"InlineAssembly","src":"32915:46:48"},{"expression":{"arguments":[{"id":25748,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25743,"src":"32991:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"36","id":25749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33006:1:48","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},{"hexValue":"30","id":25750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33009:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25746,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"32973:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32984:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"32973:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32973:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25738,"id":25752,"nodeType":"Return","src":"32966:45:48"}]},"documentation":{"id":25731,"nodeType":"StructuredDocumentation","src":"32556:237:48","text":" @notice Encodes an array of bytes6 into a tightly packed bytes representation.\n @param _input The array of bytes6 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"32805:6:48","parameters":{"id":25735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25734,"mutability":"mutable","name":"_input","nameLocation":"32828:6:48","nodeType":"VariableDeclaration","scope":25754,"src":"32812:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes6_$dyn_memory_ptr","typeString":"bytes6[]"},"typeName":{"baseType":{"id":25732,"name":"bytes6","nodeType":"ElementaryTypeName","src":"32812:6:48","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"id":25733,"nodeType":"ArrayTypeName","src":"32812:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes6_$dyn_storage_ptr","typeString":"bytes6[]"}},"visibility":"internal"}],"src":"32811:24:48"},"returnParameters":{"id":25738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25754,"src":"32859:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25736,"name":"bytes","nodeType":"ElementaryTypeName","src":"32859:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32858:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25778,"nodeType":"FunctionDefinition","src":"33260:220:48","nodes":[],"body":{"id":25777,"nodeType":"Block","src":"33337:143:48","nodes":[],"statements":[{"assignments":[25767],"declarations":[{"constant":false,"id":25767,"mutability":"mutable","name":"_genericArray","nameLocation":"33360:13:48","nodeType":"VariableDeclaration","scope":25777,"src":"33343:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33343:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25766,"nodeType":"ArrayTypeName","src":"33343:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25768,"nodeType":"VariableDeclarationStatement","src":"33343:30:48"},{"AST":{"nativeSrc":"33388:37:48","nodeType":"YulBlock","src":"33388:37:48","statements":[{"nativeSrc":"33396:23:48","nodeType":"YulAssignment","src":"33396:23:48","value":{"name":"_input","nativeSrc":"33413:6:48","nodeType":"YulIdentifier","src":"33413:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"33396:13:48","nodeType":"YulIdentifier","src":"33396:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25767,"isOffset":false,"isSlot":false,"src":"33396:13:48","valueSize":1},{"declaration":25758,"isOffset":false,"isSlot":false,"src":"33413:6:48","valueSize":1}],"id":25769,"nodeType":"InlineAssembly","src":"33379:46:48"},{"expression":{"arguments":[{"id":25772,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25767,"src":"33455:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"37","id":25773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33470:1:48","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},{"hexValue":"30","id":25774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33473:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25770,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"33437:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33448:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"33437:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33437:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25762,"id":25776,"nodeType":"Return","src":"33430:45:48"}]},"documentation":{"id":25755,"nodeType":"StructuredDocumentation","src":"33020:237:48","text":" @notice Encodes an array of bytes7 into a tightly packed bytes representation.\n @param _input The array of bytes7 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"33269:6:48","parameters":{"id":25759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25758,"mutability":"mutable","name":"_input","nameLocation":"33292:6:48","nodeType":"VariableDeclaration","scope":25778,"src":"33276:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes7_$dyn_memory_ptr","typeString":"bytes7[]"},"typeName":{"baseType":{"id":25756,"name":"bytes7","nodeType":"ElementaryTypeName","src":"33276:6:48","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"id":25757,"nodeType":"ArrayTypeName","src":"33276:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes7_$dyn_storage_ptr","typeString":"bytes7[]"}},"visibility":"internal"}],"src":"33275:24:48"},"returnParameters":{"id":25762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25778,"src":"33323:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25760,"name":"bytes","nodeType":"ElementaryTypeName","src":"33323:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33322:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25802,"nodeType":"FunctionDefinition","src":"33724:220:48","nodes":[],"body":{"id":25801,"nodeType":"Block","src":"33801:143:48","nodes":[],"statements":[{"assignments":[25791],"declarations":[{"constant":false,"id":25791,"mutability":"mutable","name":"_genericArray","nameLocation":"33824:13:48","nodeType":"VariableDeclaration","scope":25801,"src":"33807:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33807:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25790,"nodeType":"ArrayTypeName","src":"33807:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25792,"nodeType":"VariableDeclarationStatement","src":"33807:30:48"},{"AST":{"nativeSrc":"33852:37:48","nodeType":"YulBlock","src":"33852:37:48","statements":[{"nativeSrc":"33860:23:48","nodeType":"YulAssignment","src":"33860:23:48","value":{"name":"_input","nativeSrc":"33877:6:48","nodeType":"YulIdentifier","src":"33877:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"33860:13:48","nodeType":"YulIdentifier","src":"33860:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25791,"isOffset":false,"isSlot":false,"src":"33860:13:48","valueSize":1},{"declaration":25782,"isOffset":false,"isSlot":false,"src":"33877:6:48","valueSize":1}],"id":25793,"nodeType":"InlineAssembly","src":"33843:46:48"},{"expression":{"arguments":[{"id":25796,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25791,"src":"33919:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"38","id":25797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33934:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"hexValue":"30","id":25798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33937:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25794,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"33901:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33912:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"33901:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33901:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25786,"id":25800,"nodeType":"Return","src":"33894:45:48"}]},"documentation":{"id":25779,"nodeType":"StructuredDocumentation","src":"33484:237:48","text":" @notice Encodes an array of bytes8 into a tightly packed bytes representation.\n @param _input The array of bytes8 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"33733:6:48","parameters":{"id":25783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25782,"mutability":"mutable","name":"_input","nameLocation":"33756:6:48","nodeType":"VariableDeclaration","scope":25802,"src":"33740:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes8_$dyn_memory_ptr","typeString":"bytes8[]"},"typeName":{"baseType":{"id":25780,"name":"bytes8","nodeType":"ElementaryTypeName","src":"33740:6:48","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"id":25781,"nodeType":"ArrayTypeName","src":"33740:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes8_$dyn_storage_ptr","typeString":"bytes8[]"}},"visibility":"internal"}],"src":"33739:24:48"},"returnParameters":{"id":25786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25802,"src":"33787:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25784,"name":"bytes","nodeType":"ElementaryTypeName","src":"33787:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33786:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25826,"nodeType":"FunctionDefinition","src":"34188:220:48","nodes":[],"body":{"id":25825,"nodeType":"Block","src":"34265:143:48","nodes":[],"statements":[{"assignments":[25815],"declarations":[{"constant":false,"id":25815,"mutability":"mutable","name":"_genericArray","nameLocation":"34288:13:48","nodeType":"VariableDeclaration","scope":25825,"src":"34271:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34271:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25814,"nodeType":"ArrayTypeName","src":"34271:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25816,"nodeType":"VariableDeclarationStatement","src":"34271:30:48"},{"AST":{"nativeSrc":"34316:37:48","nodeType":"YulBlock","src":"34316:37:48","statements":[{"nativeSrc":"34324:23:48","nodeType":"YulAssignment","src":"34324:23:48","value":{"name":"_input","nativeSrc":"34341:6:48","nodeType":"YulIdentifier","src":"34341:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"34324:13:48","nodeType":"YulIdentifier","src":"34324:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25815,"isOffset":false,"isSlot":false,"src":"34324:13:48","valueSize":1},{"declaration":25806,"isOffset":false,"isSlot":false,"src":"34341:6:48","valueSize":1}],"id":25817,"nodeType":"InlineAssembly","src":"34307:46:48"},{"expression":{"arguments":[{"id":25820,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25815,"src":"34383:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"39","id":25821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34398:1:48","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},{"hexValue":"30","id":25822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34401:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25818,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"34365:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34376:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"34365:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34365:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25810,"id":25824,"nodeType":"Return","src":"34358:45:48"}]},"documentation":{"id":25803,"nodeType":"StructuredDocumentation","src":"33948:237:48","text":" @notice Encodes an array of bytes9 into a tightly packed bytes representation.\n @param _input The array of bytes9 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"34197:6:48","parameters":{"id":25807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25806,"mutability":"mutable","name":"_input","nameLocation":"34220:6:48","nodeType":"VariableDeclaration","scope":25826,"src":"34204:22:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes9_$dyn_memory_ptr","typeString":"bytes9[]"},"typeName":{"baseType":{"id":25804,"name":"bytes9","nodeType":"ElementaryTypeName","src":"34204:6:48","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"id":25805,"nodeType":"ArrayTypeName","src":"34204:8:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes9_$dyn_storage_ptr","typeString":"bytes9[]"}},"visibility":"internal"}],"src":"34203:24:48"},"returnParameters":{"id":25810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25826,"src":"34251:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25808,"name":"bytes","nodeType":"ElementaryTypeName","src":"34251:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34250:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25850,"nodeType":"FunctionDefinition","src":"34654:222:48","nodes":[],"body":{"id":25849,"nodeType":"Block","src":"34732:144:48","nodes":[],"statements":[{"assignments":[25839],"declarations":[{"constant":false,"id":25839,"mutability":"mutable","name":"_genericArray","nameLocation":"34755:13:48","nodeType":"VariableDeclaration","scope":25849,"src":"34738:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34738:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25838,"nodeType":"ArrayTypeName","src":"34738:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25840,"nodeType":"VariableDeclarationStatement","src":"34738:30:48"},{"AST":{"nativeSrc":"34783:37:48","nodeType":"YulBlock","src":"34783:37:48","statements":[{"nativeSrc":"34791:23:48","nodeType":"YulAssignment","src":"34791:23:48","value":{"name":"_input","nativeSrc":"34808:6:48","nodeType":"YulIdentifier","src":"34808:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"34791:13:48","nodeType":"YulIdentifier","src":"34791:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25839,"isOffset":false,"isSlot":false,"src":"34791:13:48","valueSize":1},{"declaration":25830,"isOffset":false,"isSlot":false,"src":"34808:6:48","valueSize":1}],"id":25841,"nodeType":"InlineAssembly","src":"34774:46:48"},{"expression":{"arguments":[{"id":25844,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25839,"src":"34850:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3130","id":25845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34865:2:48","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":25846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34869:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25842,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"34832:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34843:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"34832:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34832:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25834,"id":25848,"nodeType":"Return","src":"34825:46:48"}]},"documentation":{"id":25827,"nodeType":"StructuredDocumentation","src":"34412:239:48","text":" @notice Encodes an array of bytes10 into a tightly packed bytes representation.\n @param _input The array of bytes10 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"34663:6:48","parameters":{"id":25831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25830,"mutability":"mutable","name":"_input","nameLocation":"34687:6:48","nodeType":"VariableDeclaration","scope":25850,"src":"34670:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes10_$dyn_memory_ptr","typeString":"bytes10[]"},"typeName":{"baseType":{"id":25828,"name":"bytes10","nodeType":"ElementaryTypeName","src":"34670:7:48","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"id":25829,"nodeType":"ArrayTypeName","src":"34670:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes10_$dyn_storage_ptr","typeString":"bytes10[]"}},"visibility":"internal"}],"src":"34669:25:48"},"returnParameters":{"id":25834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25850,"src":"34718:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25832,"name":"bytes","nodeType":"ElementaryTypeName","src":"34718:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34717:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25874,"nodeType":"FunctionDefinition","src":"35122:222:48","nodes":[],"body":{"id":25873,"nodeType":"Block","src":"35200:144:48","nodes":[],"statements":[{"assignments":[25863],"declarations":[{"constant":false,"id":25863,"mutability":"mutable","name":"_genericArray","nameLocation":"35223:13:48","nodeType":"VariableDeclaration","scope":25873,"src":"35206:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35206:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25862,"nodeType":"ArrayTypeName","src":"35206:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25864,"nodeType":"VariableDeclarationStatement","src":"35206:30:48"},{"AST":{"nativeSrc":"35251:37:48","nodeType":"YulBlock","src":"35251:37:48","statements":[{"nativeSrc":"35259:23:48","nodeType":"YulAssignment","src":"35259:23:48","value":{"name":"_input","nativeSrc":"35276:6:48","nodeType":"YulIdentifier","src":"35276:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"35259:13:48","nodeType":"YulIdentifier","src":"35259:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25863,"isOffset":false,"isSlot":false,"src":"35259:13:48","valueSize":1},{"declaration":25854,"isOffset":false,"isSlot":false,"src":"35276:6:48","valueSize":1}],"id":25865,"nodeType":"InlineAssembly","src":"35242:46:48"},{"expression":{"arguments":[{"id":25868,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25863,"src":"35318:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3131","id":25869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35333:2:48","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},{"hexValue":"30","id":25870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35337:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25866,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"35300:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35311:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"35300:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35300:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25858,"id":25872,"nodeType":"Return","src":"35293:46:48"}]},"documentation":{"id":25851,"nodeType":"StructuredDocumentation","src":"34880:239:48","text":" @notice Encodes an array of bytes11 into a tightly packed bytes representation.\n @param _input The array of bytes11 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"35131:6:48","parameters":{"id":25855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25854,"mutability":"mutable","name":"_input","nameLocation":"35155:6:48","nodeType":"VariableDeclaration","scope":25874,"src":"35138:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes11_$dyn_memory_ptr","typeString":"bytes11[]"},"typeName":{"baseType":{"id":25852,"name":"bytes11","nodeType":"ElementaryTypeName","src":"35138:7:48","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"id":25853,"nodeType":"ArrayTypeName","src":"35138:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes11_$dyn_storage_ptr","typeString":"bytes11[]"}},"visibility":"internal"}],"src":"35137:25:48"},"returnParameters":{"id":25858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25874,"src":"35186:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25856,"name":"bytes","nodeType":"ElementaryTypeName","src":"35186:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"35185:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25898,"nodeType":"FunctionDefinition","src":"35590:222:48","nodes":[],"body":{"id":25897,"nodeType":"Block","src":"35668:144:48","nodes":[],"statements":[{"assignments":[25887],"declarations":[{"constant":false,"id":25887,"mutability":"mutable","name":"_genericArray","nameLocation":"35691:13:48","nodeType":"VariableDeclaration","scope":25897,"src":"35674:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35674:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25886,"nodeType":"ArrayTypeName","src":"35674:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25888,"nodeType":"VariableDeclarationStatement","src":"35674:30:48"},{"AST":{"nativeSrc":"35719:37:48","nodeType":"YulBlock","src":"35719:37:48","statements":[{"nativeSrc":"35727:23:48","nodeType":"YulAssignment","src":"35727:23:48","value":{"name":"_input","nativeSrc":"35744:6:48","nodeType":"YulIdentifier","src":"35744:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"35727:13:48","nodeType":"YulIdentifier","src":"35727:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25887,"isOffset":false,"isSlot":false,"src":"35727:13:48","valueSize":1},{"declaration":25878,"isOffset":false,"isSlot":false,"src":"35744:6:48","valueSize":1}],"id":25889,"nodeType":"InlineAssembly","src":"35710:46:48"},{"expression":{"arguments":[{"id":25892,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25887,"src":"35786:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3132","id":25893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35801:2:48","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},{"hexValue":"30","id":25894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35805:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25890,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"35768:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35779:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"35768:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35768:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25882,"id":25896,"nodeType":"Return","src":"35761:46:48"}]},"documentation":{"id":25875,"nodeType":"StructuredDocumentation","src":"35348:239:48","text":" @notice Encodes an array of bytes12 into a tightly packed bytes representation.\n @param _input The array of bytes12 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"35599:6:48","parameters":{"id":25879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25878,"mutability":"mutable","name":"_input","nameLocation":"35623:6:48","nodeType":"VariableDeclaration","scope":25898,"src":"35606:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes12_$dyn_memory_ptr","typeString":"bytes12[]"},"typeName":{"baseType":{"id":25876,"name":"bytes12","nodeType":"ElementaryTypeName","src":"35606:7:48","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"id":25877,"nodeType":"ArrayTypeName","src":"35606:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes12_$dyn_storage_ptr","typeString":"bytes12[]"}},"visibility":"internal"}],"src":"35605:25:48"},"returnParameters":{"id":25882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25898,"src":"35654:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25880,"name":"bytes","nodeType":"ElementaryTypeName","src":"35654:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"35653:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25922,"nodeType":"FunctionDefinition","src":"36058:222:48","nodes":[],"body":{"id":25921,"nodeType":"Block","src":"36136:144:48","nodes":[],"statements":[{"assignments":[25911],"declarations":[{"constant":false,"id":25911,"mutability":"mutable","name":"_genericArray","nameLocation":"36159:13:48","nodeType":"VariableDeclaration","scope":25921,"src":"36142:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36142:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25910,"nodeType":"ArrayTypeName","src":"36142:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25912,"nodeType":"VariableDeclarationStatement","src":"36142:30:48"},{"AST":{"nativeSrc":"36187:37:48","nodeType":"YulBlock","src":"36187:37:48","statements":[{"nativeSrc":"36195:23:48","nodeType":"YulAssignment","src":"36195:23:48","value":{"name":"_input","nativeSrc":"36212:6:48","nodeType":"YulIdentifier","src":"36212:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"36195:13:48","nodeType":"YulIdentifier","src":"36195:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25911,"isOffset":false,"isSlot":false,"src":"36195:13:48","valueSize":1},{"declaration":25902,"isOffset":false,"isSlot":false,"src":"36212:6:48","valueSize":1}],"id":25913,"nodeType":"InlineAssembly","src":"36178:46:48"},{"expression":{"arguments":[{"id":25916,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25911,"src":"36254:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3133","id":25917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36269:2:48","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},{"hexValue":"30","id":25918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36273:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25914,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"36236:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36247:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"36236:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36236:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25906,"id":25920,"nodeType":"Return","src":"36229:46:48"}]},"documentation":{"id":25899,"nodeType":"StructuredDocumentation","src":"35816:239:48","text":" @notice Encodes an array of bytes13 into a tightly packed bytes representation.\n @param _input The array of bytes13 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"36067:6:48","parameters":{"id":25903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25902,"mutability":"mutable","name":"_input","nameLocation":"36091:6:48","nodeType":"VariableDeclaration","scope":25922,"src":"36074:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes13_$dyn_memory_ptr","typeString":"bytes13[]"},"typeName":{"baseType":{"id":25900,"name":"bytes13","nodeType":"ElementaryTypeName","src":"36074:7:48","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"id":25901,"nodeType":"ArrayTypeName","src":"36074:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes13_$dyn_storage_ptr","typeString":"bytes13[]"}},"visibility":"internal"}],"src":"36073:25:48"},"returnParameters":{"id":25906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25922,"src":"36122:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25904,"name":"bytes","nodeType":"ElementaryTypeName","src":"36122:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"36121:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25946,"nodeType":"FunctionDefinition","src":"36526:222:48","nodes":[],"body":{"id":25945,"nodeType":"Block","src":"36604:144:48","nodes":[],"statements":[{"assignments":[25935],"declarations":[{"constant":false,"id":25935,"mutability":"mutable","name":"_genericArray","nameLocation":"36627:13:48","nodeType":"VariableDeclaration","scope":25945,"src":"36610:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36610:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25934,"nodeType":"ArrayTypeName","src":"36610:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25936,"nodeType":"VariableDeclarationStatement","src":"36610:30:48"},{"AST":{"nativeSrc":"36655:37:48","nodeType":"YulBlock","src":"36655:37:48","statements":[{"nativeSrc":"36663:23:48","nodeType":"YulAssignment","src":"36663:23:48","value":{"name":"_input","nativeSrc":"36680:6:48","nodeType":"YulIdentifier","src":"36680:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"36663:13:48","nodeType":"YulIdentifier","src":"36663:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25935,"isOffset":false,"isSlot":false,"src":"36663:13:48","valueSize":1},{"declaration":25926,"isOffset":false,"isSlot":false,"src":"36680:6:48","valueSize":1}],"id":25937,"nodeType":"InlineAssembly","src":"36646:46:48"},{"expression":{"arguments":[{"id":25940,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25935,"src":"36722:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3134","id":25941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36737:2:48","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"30","id":25942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36741:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25938,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"36704:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36715:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"36704:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36704:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25930,"id":25944,"nodeType":"Return","src":"36697:46:48"}]},"documentation":{"id":25923,"nodeType":"StructuredDocumentation","src":"36284:239:48","text":" @notice Encodes an array of bytes14 into a tightly packed bytes representation.\n @param _input The array of bytes14 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"36535:6:48","parameters":{"id":25927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25926,"mutability":"mutable","name":"_input","nameLocation":"36559:6:48","nodeType":"VariableDeclaration","scope":25946,"src":"36542:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes14_$dyn_memory_ptr","typeString":"bytes14[]"},"typeName":{"baseType":{"id":25924,"name":"bytes14","nodeType":"ElementaryTypeName","src":"36542:7:48","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"id":25925,"nodeType":"ArrayTypeName","src":"36542:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes14_$dyn_storage_ptr","typeString":"bytes14[]"}},"visibility":"internal"}],"src":"36541:25:48"},"returnParameters":{"id":25930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25946,"src":"36590:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25928,"name":"bytes","nodeType":"ElementaryTypeName","src":"36590:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"36589:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25970,"nodeType":"FunctionDefinition","src":"36994:222:48","nodes":[],"body":{"id":25969,"nodeType":"Block","src":"37072:144:48","nodes":[],"statements":[{"assignments":[25959],"declarations":[{"constant":false,"id":25959,"mutability":"mutable","name":"_genericArray","nameLocation":"37095:13:48","nodeType":"VariableDeclaration","scope":25969,"src":"37078:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37078:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25958,"nodeType":"ArrayTypeName","src":"37078:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25960,"nodeType":"VariableDeclarationStatement","src":"37078:30:48"},{"AST":{"nativeSrc":"37123:37:48","nodeType":"YulBlock","src":"37123:37:48","statements":[{"nativeSrc":"37131:23:48","nodeType":"YulAssignment","src":"37131:23:48","value":{"name":"_input","nativeSrc":"37148:6:48","nodeType":"YulIdentifier","src":"37148:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"37131:13:48","nodeType":"YulIdentifier","src":"37131:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25959,"isOffset":false,"isSlot":false,"src":"37131:13:48","valueSize":1},{"declaration":25950,"isOffset":false,"isSlot":false,"src":"37148:6:48","valueSize":1}],"id":25961,"nodeType":"InlineAssembly","src":"37114:46:48"},{"expression":{"arguments":[{"id":25964,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25959,"src":"37190:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3135","id":25965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37205:2:48","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},{"hexValue":"30","id":25966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37209:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25962,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"37172:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37183:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"37172:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37172:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25954,"id":25968,"nodeType":"Return","src":"37165:46:48"}]},"documentation":{"id":25947,"nodeType":"StructuredDocumentation","src":"36752:239:48","text":" @notice Encodes an array of bytes15 into a tightly packed bytes representation.\n @param _input The array of bytes15 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"37003:6:48","parameters":{"id":25951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25950,"mutability":"mutable","name":"_input","nameLocation":"37027:6:48","nodeType":"VariableDeclaration","scope":25970,"src":"37010:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes15_$dyn_memory_ptr","typeString":"bytes15[]"},"typeName":{"baseType":{"id":25948,"name":"bytes15","nodeType":"ElementaryTypeName","src":"37010:7:48","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"id":25949,"nodeType":"ArrayTypeName","src":"37010:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes15_$dyn_storage_ptr","typeString":"bytes15[]"}},"visibility":"internal"}],"src":"37009:25:48"},"returnParameters":{"id":25954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25970,"src":"37058:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25952,"name":"bytes","nodeType":"ElementaryTypeName","src":"37058:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37057:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25994,"nodeType":"FunctionDefinition","src":"37462:222:48","nodes":[],"body":{"id":25993,"nodeType":"Block","src":"37540:144:48","nodes":[],"statements":[{"assignments":[25983],"declarations":[{"constant":false,"id":25983,"mutability":"mutable","name":"_genericArray","nameLocation":"37563:13:48","nodeType":"VariableDeclaration","scope":25993,"src":"37546:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":25981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37546:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":25982,"nodeType":"ArrayTypeName","src":"37546:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":25984,"nodeType":"VariableDeclarationStatement","src":"37546:30:48"},{"AST":{"nativeSrc":"37591:37:48","nodeType":"YulBlock","src":"37591:37:48","statements":[{"nativeSrc":"37599:23:48","nodeType":"YulAssignment","src":"37599:23:48","value":{"name":"_input","nativeSrc":"37616:6:48","nodeType":"YulIdentifier","src":"37616:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"37599:13:48","nodeType":"YulIdentifier","src":"37599:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25983,"isOffset":false,"isSlot":false,"src":"37599:13:48","valueSize":1},{"declaration":25974,"isOffset":false,"isSlot":false,"src":"37616:6:48","valueSize":1}],"id":25985,"nodeType":"InlineAssembly","src":"37582:46:48"},{"expression":{"arguments":[{"id":25988,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25983,"src":"37658:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3136","id":25989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37673:2:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"hexValue":"30","id":25990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37677:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":25986,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"37640:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":25987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37651:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"37640:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":25991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37640:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":25978,"id":25992,"nodeType":"Return","src":"37633:46:48"}]},"documentation":{"id":25971,"nodeType":"StructuredDocumentation","src":"37220:239:48","text":" @notice Encodes an array of bytes16 into a tightly packed bytes representation.\n @param _input The array of bytes16 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"37471:6:48","parameters":{"id":25975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25974,"mutability":"mutable","name":"_input","nameLocation":"37495:6:48","nodeType":"VariableDeclaration","scope":25994,"src":"37478:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes16_$dyn_memory_ptr","typeString":"bytes16[]"},"typeName":{"baseType":{"id":25972,"name":"bytes16","nodeType":"ElementaryTypeName","src":"37478:7:48","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":25973,"nodeType":"ArrayTypeName","src":"37478:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes16_$dyn_storage_ptr","typeString":"bytes16[]"}},"visibility":"internal"}],"src":"37477:25:48"},"returnParameters":{"id":25978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25994,"src":"37526:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25976,"name":"bytes","nodeType":"ElementaryTypeName","src":"37526:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37525:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26018,"nodeType":"FunctionDefinition","src":"37930:222:48","nodes":[],"body":{"id":26017,"nodeType":"Block","src":"38008:144:48","nodes":[],"statements":[{"assignments":[26007],"declarations":[{"constant":false,"id":26007,"mutability":"mutable","name":"_genericArray","nameLocation":"38031:13:48","nodeType":"VariableDeclaration","scope":26017,"src":"38014:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38014:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26006,"nodeType":"ArrayTypeName","src":"38014:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26008,"nodeType":"VariableDeclarationStatement","src":"38014:30:48"},{"AST":{"nativeSrc":"38059:37:48","nodeType":"YulBlock","src":"38059:37:48","statements":[{"nativeSrc":"38067:23:48","nodeType":"YulAssignment","src":"38067:23:48","value":{"name":"_input","nativeSrc":"38084:6:48","nodeType":"YulIdentifier","src":"38084:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"38067:13:48","nodeType":"YulIdentifier","src":"38067:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26007,"isOffset":false,"isSlot":false,"src":"38067:13:48","valueSize":1},{"declaration":25998,"isOffset":false,"isSlot":false,"src":"38084:6:48","valueSize":1}],"id":26009,"nodeType":"InlineAssembly","src":"38050:46:48"},{"expression":{"arguments":[{"id":26012,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26007,"src":"38126:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3137","id":26013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38141:2:48","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},{"hexValue":"30","id":26014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38145:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26010,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"38108:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38119:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"38108:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38108:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26002,"id":26016,"nodeType":"Return","src":"38101:46:48"}]},"documentation":{"id":25995,"nodeType":"StructuredDocumentation","src":"37688:239:48","text":" @notice Encodes an array of bytes17 into a tightly packed bytes representation.\n @param _input The array of bytes17 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"37939:6:48","parameters":{"id":25999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25998,"mutability":"mutable","name":"_input","nameLocation":"37963:6:48","nodeType":"VariableDeclaration","scope":26018,"src":"37946:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes17_$dyn_memory_ptr","typeString":"bytes17[]"},"typeName":{"baseType":{"id":25996,"name":"bytes17","nodeType":"ElementaryTypeName","src":"37946:7:48","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"id":25997,"nodeType":"ArrayTypeName","src":"37946:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes17_$dyn_storage_ptr","typeString":"bytes17[]"}},"visibility":"internal"}],"src":"37945:25:48"},"returnParameters":{"id":26002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26001,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26018,"src":"37994:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26000,"name":"bytes","nodeType":"ElementaryTypeName","src":"37994:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37993:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26042,"nodeType":"FunctionDefinition","src":"38398:222:48","nodes":[],"body":{"id":26041,"nodeType":"Block","src":"38476:144:48","nodes":[],"statements":[{"assignments":[26031],"declarations":[{"constant":false,"id":26031,"mutability":"mutable","name":"_genericArray","nameLocation":"38499:13:48","nodeType":"VariableDeclaration","scope":26041,"src":"38482:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38482:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26030,"nodeType":"ArrayTypeName","src":"38482:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26032,"nodeType":"VariableDeclarationStatement","src":"38482:30:48"},{"AST":{"nativeSrc":"38527:37:48","nodeType":"YulBlock","src":"38527:37:48","statements":[{"nativeSrc":"38535:23:48","nodeType":"YulAssignment","src":"38535:23:48","value":{"name":"_input","nativeSrc":"38552:6:48","nodeType":"YulIdentifier","src":"38552:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"38535:13:48","nodeType":"YulIdentifier","src":"38535:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26031,"isOffset":false,"isSlot":false,"src":"38535:13:48","valueSize":1},{"declaration":26022,"isOffset":false,"isSlot":false,"src":"38552:6:48","valueSize":1}],"id":26033,"nodeType":"InlineAssembly","src":"38518:46:48"},{"expression":{"arguments":[{"id":26036,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26031,"src":"38594:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3138","id":26037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38609:2:48","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},{"hexValue":"30","id":26038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38613:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26034,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"38576:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38587:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"38576:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38576:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26026,"id":26040,"nodeType":"Return","src":"38569:46:48"}]},"documentation":{"id":26019,"nodeType":"StructuredDocumentation","src":"38156:239:48","text":" @notice Encodes an array of bytes18 into a tightly packed bytes representation.\n @param _input The array of bytes18 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"38407:6:48","parameters":{"id":26023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26022,"mutability":"mutable","name":"_input","nameLocation":"38431:6:48","nodeType":"VariableDeclaration","scope":26042,"src":"38414:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes18_$dyn_memory_ptr","typeString":"bytes18[]"},"typeName":{"baseType":{"id":26020,"name":"bytes18","nodeType":"ElementaryTypeName","src":"38414:7:48","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"id":26021,"nodeType":"ArrayTypeName","src":"38414:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes18_$dyn_storage_ptr","typeString":"bytes18[]"}},"visibility":"internal"}],"src":"38413:25:48"},"returnParameters":{"id":26026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26042,"src":"38462:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26024,"name":"bytes","nodeType":"ElementaryTypeName","src":"38462:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"38461:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26066,"nodeType":"FunctionDefinition","src":"38866:222:48","nodes":[],"body":{"id":26065,"nodeType":"Block","src":"38944:144:48","nodes":[],"statements":[{"assignments":[26055],"declarations":[{"constant":false,"id":26055,"mutability":"mutable","name":"_genericArray","nameLocation":"38967:13:48","nodeType":"VariableDeclaration","scope":26065,"src":"38950:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38950:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26054,"nodeType":"ArrayTypeName","src":"38950:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26056,"nodeType":"VariableDeclarationStatement","src":"38950:30:48"},{"AST":{"nativeSrc":"38995:37:48","nodeType":"YulBlock","src":"38995:37:48","statements":[{"nativeSrc":"39003:23:48","nodeType":"YulAssignment","src":"39003:23:48","value":{"name":"_input","nativeSrc":"39020:6:48","nodeType":"YulIdentifier","src":"39020:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"39003:13:48","nodeType":"YulIdentifier","src":"39003:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26055,"isOffset":false,"isSlot":false,"src":"39003:13:48","valueSize":1},{"declaration":26046,"isOffset":false,"isSlot":false,"src":"39020:6:48","valueSize":1}],"id":26057,"nodeType":"InlineAssembly","src":"38986:46:48"},{"expression":{"arguments":[{"id":26060,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26055,"src":"39062:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3139","id":26061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39077:2:48","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},{"hexValue":"30","id":26062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39081:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26058,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"39044:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39055:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"39044:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39044:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26050,"id":26064,"nodeType":"Return","src":"39037:46:48"}]},"documentation":{"id":26043,"nodeType":"StructuredDocumentation","src":"38624:239:48","text":" @notice Encodes an array of bytes19 into a tightly packed bytes representation.\n @param _input The array of bytes19 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"38875:6:48","parameters":{"id":26047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26046,"mutability":"mutable","name":"_input","nameLocation":"38899:6:48","nodeType":"VariableDeclaration","scope":26066,"src":"38882:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes19_$dyn_memory_ptr","typeString":"bytes19[]"},"typeName":{"baseType":{"id":26044,"name":"bytes19","nodeType":"ElementaryTypeName","src":"38882:7:48","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"id":26045,"nodeType":"ArrayTypeName","src":"38882:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes19_$dyn_storage_ptr","typeString":"bytes19[]"}},"visibility":"internal"}],"src":"38881:25:48"},"returnParameters":{"id":26050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26066,"src":"38930:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26048,"name":"bytes","nodeType":"ElementaryTypeName","src":"38930:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"38929:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26090,"nodeType":"FunctionDefinition","src":"39334:222:48","nodes":[],"body":{"id":26089,"nodeType":"Block","src":"39412:144:48","nodes":[],"statements":[{"assignments":[26079],"declarations":[{"constant":false,"id":26079,"mutability":"mutable","name":"_genericArray","nameLocation":"39435:13:48","nodeType":"VariableDeclaration","scope":26089,"src":"39418:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39418:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26078,"nodeType":"ArrayTypeName","src":"39418:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26080,"nodeType":"VariableDeclarationStatement","src":"39418:30:48"},{"AST":{"nativeSrc":"39463:37:48","nodeType":"YulBlock","src":"39463:37:48","statements":[{"nativeSrc":"39471:23:48","nodeType":"YulAssignment","src":"39471:23:48","value":{"name":"_input","nativeSrc":"39488:6:48","nodeType":"YulIdentifier","src":"39488:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"39471:13:48","nodeType":"YulIdentifier","src":"39471:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26079,"isOffset":false,"isSlot":false,"src":"39471:13:48","valueSize":1},{"declaration":26070,"isOffset":false,"isSlot":false,"src":"39488:6:48","valueSize":1}],"id":26081,"nodeType":"InlineAssembly","src":"39454:46:48"},{"expression":{"arguments":[{"id":26084,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26079,"src":"39530:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3230","id":26085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39545:2:48","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"30","id":26086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39549:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26082,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"39512:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39523:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"39512:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39512:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26074,"id":26088,"nodeType":"Return","src":"39505:46:48"}]},"documentation":{"id":26067,"nodeType":"StructuredDocumentation","src":"39092:239:48","text":" @notice Encodes an array of bytes20 into a tightly packed bytes representation.\n @param _input The array of bytes20 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"39343:6:48","parameters":{"id":26071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26070,"mutability":"mutable","name":"_input","nameLocation":"39367:6:48","nodeType":"VariableDeclaration","scope":26090,"src":"39350:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes20_$dyn_memory_ptr","typeString":"bytes20[]"},"typeName":{"baseType":{"id":26068,"name":"bytes20","nodeType":"ElementaryTypeName","src":"39350:7:48","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"id":26069,"nodeType":"ArrayTypeName","src":"39350:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes20_$dyn_storage_ptr","typeString":"bytes20[]"}},"visibility":"internal"}],"src":"39349:25:48"},"returnParameters":{"id":26074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26090,"src":"39398:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26072,"name":"bytes","nodeType":"ElementaryTypeName","src":"39398:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39397:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26114,"nodeType":"FunctionDefinition","src":"39802:222:48","nodes":[],"body":{"id":26113,"nodeType":"Block","src":"39880:144:48","nodes":[],"statements":[{"assignments":[26103],"declarations":[{"constant":false,"id":26103,"mutability":"mutable","name":"_genericArray","nameLocation":"39903:13:48","nodeType":"VariableDeclaration","scope":26113,"src":"39886:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39886:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26102,"nodeType":"ArrayTypeName","src":"39886:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26104,"nodeType":"VariableDeclarationStatement","src":"39886:30:48"},{"AST":{"nativeSrc":"39931:37:48","nodeType":"YulBlock","src":"39931:37:48","statements":[{"nativeSrc":"39939:23:48","nodeType":"YulAssignment","src":"39939:23:48","value":{"name":"_input","nativeSrc":"39956:6:48","nodeType":"YulIdentifier","src":"39956:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"39939:13:48","nodeType":"YulIdentifier","src":"39939:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26103,"isOffset":false,"isSlot":false,"src":"39939:13:48","valueSize":1},{"declaration":26094,"isOffset":false,"isSlot":false,"src":"39956:6:48","valueSize":1}],"id":26105,"nodeType":"InlineAssembly","src":"39922:46:48"},{"expression":{"arguments":[{"id":26108,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26103,"src":"39998:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3231","id":26109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40013:2:48","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},{"hexValue":"30","id":26110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40017:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26106,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"39980:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39991:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"39980:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39980:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26098,"id":26112,"nodeType":"Return","src":"39973:46:48"}]},"documentation":{"id":26091,"nodeType":"StructuredDocumentation","src":"39560:239:48","text":" @notice Encodes an array of bytes21 into a tightly packed bytes representation.\n @param _input The array of bytes21 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"39811:6:48","parameters":{"id":26095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26094,"mutability":"mutable","name":"_input","nameLocation":"39835:6:48","nodeType":"VariableDeclaration","scope":26114,"src":"39818:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":26092,"name":"bytes21","nodeType":"ElementaryTypeName","src":"39818:7:48","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":26093,"nodeType":"ArrayTypeName","src":"39818:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"src":"39817:25:48"},"returnParameters":{"id":26098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26114,"src":"39866:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26096,"name":"bytes","nodeType":"ElementaryTypeName","src":"39866:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39865:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26138,"nodeType":"FunctionDefinition","src":"40270:222:48","nodes":[],"body":{"id":26137,"nodeType":"Block","src":"40348:144:48","nodes":[],"statements":[{"assignments":[26127],"declarations":[{"constant":false,"id":26127,"mutability":"mutable","name":"_genericArray","nameLocation":"40371:13:48","nodeType":"VariableDeclaration","scope":26137,"src":"40354:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40354:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26126,"nodeType":"ArrayTypeName","src":"40354:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26128,"nodeType":"VariableDeclarationStatement","src":"40354:30:48"},{"AST":{"nativeSrc":"40399:37:48","nodeType":"YulBlock","src":"40399:37:48","statements":[{"nativeSrc":"40407:23:48","nodeType":"YulAssignment","src":"40407:23:48","value":{"name":"_input","nativeSrc":"40424:6:48","nodeType":"YulIdentifier","src":"40424:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"40407:13:48","nodeType":"YulIdentifier","src":"40407:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26127,"isOffset":false,"isSlot":false,"src":"40407:13:48","valueSize":1},{"declaration":26118,"isOffset":false,"isSlot":false,"src":"40424:6:48","valueSize":1}],"id":26129,"nodeType":"InlineAssembly","src":"40390:46:48"},{"expression":{"arguments":[{"id":26132,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26127,"src":"40466:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3232","id":26133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40481:2:48","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"22"},{"hexValue":"30","id":26134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40485:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26130,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"40448:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40459:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"40448:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40448:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26122,"id":26136,"nodeType":"Return","src":"40441:46:48"}]},"documentation":{"id":26115,"nodeType":"StructuredDocumentation","src":"40028:239:48","text":" @notice Encodes an array of bytes22 into a tightly packed bytes representation.\n @param _input The array of bytes22 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"40279:6:48","parameters":{"id":26119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26118,"mutability":"mutable","name":"_input","nameLocation":"40303:6:48","nodeType":"VariableDeclaration","scope":26138,"src":"40286:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes22_$dyn_memory_ptr","typeString":"bytes22[]"},"typeName":{"baseType":{"id":26116,"name":"bytes22","nodeType":"ElementaryTypeName","src":"40286:7:48","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"id":26117,"nodeType":"ArrayTypeName","src":"40286:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes22_$dyn_storage_ptr","typeString":"bytes22[]"}},"visibility":"internal"}],"src":"40285:25:48"},"returnParameters":{"id":26122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26138,"src":"40334:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26120,"name":"bytes","nodeType":"ElementaryTypeName","src":"40334:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40333:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26162,"nodeType":"FunctionDefinition","src":"40738:222:48","nodes":[],"body":{"id":26161,"nodeType":"Block","src":"40816:144:48","nodes":[],"statements":[{"assignments":[26151],"declarations":[{"constant":false,"id":26151,"mutability":"mutable","name":"_genericArray","nameLocation":"40839:13:48","nodeType":"VariableDeclaration","scope":26161,"src":"40822:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40822:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26150,"nodeType":"ArrayTypeName","src":"40822:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26152,"nodeType":"VariableDeclarationStatement","src":"40822:30:48"},{"AST":{"nativeSrc":"40867:37:48","nodeType":"YulBlock","src":"40867:37:48","statements":[{"nativeSrc":"40875:23:48","nodeType":"YulAssignment","src":"40875:23:48","value":{"name":"_input","nativeSrc":"40892:6:48","nodeType":"YulIdentifier","src":"40892:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"40875:13:48","nodeType":"YulIdentifier","src":"40875:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26151,"isOffset":false,"isSlot":false,"src":"40875:13:48","valueSize":1},{"declaration":26142,"isOffset":false,"isSlot":false,"src":"40892:6:48","valueSize":1}],"id":26153,"nodeType":"InlineAssembly","src":"40858:46:48"},{"expression":{"arguments":[{"id":26156,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26151,"src":"40934:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3233","id":26157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40949:2:48","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},{"hexValue":"30","id":26158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40953:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26154,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"40916:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40927:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"40916:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40916:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26146,"id":26160,"nodeType":"Return","src":"40909:46:48"}]},"documentation":{"id":26139,"nodeType":"StructuredDocumentation","src":"40496:239:48","text":" @notice Encodes an array of bytes23 into a tightly packed bytes representation.\n @param _input The array of bytes23 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"40747:6:48","parameters":{"id":26143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26142,"mutability":"mutable","name":"_input","nameLocation":"40771:6:48","nodeType":"VariableDeclaration","scope":26162,"src":"40754:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes23_$dyn_memory_ptr","typeString":"bytes23[]"},"typeName":{"baseType":{"id":26140,"name":"bytes23","nodeType":"ElementaryTypeName","src":"40754:7:48","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"id":26141,"nodeType":"ArrayTypeName","src":"40754:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes23_$dyn_storage_ptr","typeString":"bytes23[]"}},"visibility":"internal"}],"src":"40753:25:48"},"returnParameters":{"id":26146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26162,"src":"40802:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26144,"name":"bytes","nodeType":"ElementaryTypeName","src":"40802:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40801:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26186,"nodeType":"FunctionDefinition","src":"41206:222:48","nodes":[],"body":{"id":26185,"nodeType":"Block","src":"41284:144:48","nodes":[],"statements":[{"assignments":[26175],"declarations":[{"constant":false,"id":26175,"mutability":"mutable","name":"_genericArray","nameLocation":"41307:13:48","nodeType":"VariableDeclaration","scope":26185,"src":"41290:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41290:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26174,"nodeType":"ArrayTypeName","src":"41290:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26176,"nodeType":"VariableDeclarationStatement","src":"41290:30:48"},{"AST":{"nativeSrc":"41335:37:48","nodeType":"YulBlock","src":"41335:37:48","statements":[{"nativeSrc":"41343:23:48","nodeType":"YulAssignment","src":"41343:23:48","value":{"name":"_input","nativeSrc":"41360:6:48","nodeType":"YulIdentifier","src":"41360:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"41343:13:48","nodeType":"YulIdentifier","src":"41343:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26175,"isOffset":false,"isSlot":false,"src":"41343:13:48","valueSize":1},{"declaration":26166,"isOffset":false,"isSlot":false,"src":"41360:6:48","valueSize":1}],"id":26177,"nodeType":"InlineAssembly","src":"41326:46:48"},{"expression":{"arguments":[{"id":26180,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26175,"src":"41402:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3234","id":26181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41417:2:48","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"hexValue":"30","id":26182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41421:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26178,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"41384:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41395:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"41384:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26170,"id":26184,"nodeType":"Return","src":"41377:46:48"}]},"documentation":{"id":26163,"nodeType":"StructuredDocumentation","src":"40964:239:48","text":" @notice Encodes an array of bytes24 into a tightly packed bytes representation.\n @param _input The array of bytes24 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"41215:6:48","parameters":{"id":26167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26166,"mutability":"mutable","name":"_input","nameLocation":"41239:6:48","nodeType":"VariableDeclaration","scope":26186,"src":"41222:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes24_$dyn_memory_ptr","typeString":"bytes24[]"},"typeName":{"baseType":{"id":26164,"name":"bytes24","nodeType":"ElementaryTypeName","src":"41222:7:48","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"id":26165,"nodeType":"ArrayTypeName","src":"41222:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes24_$dyn_storage_ptr","typeString":"bytes24[]"}},"visibility":"internal"}],"src":"41221:25:48"},"returnParameters":{"id":26170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26186,"src":"41270:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26168,"name":"bytes","nodeType":"ElementaryTypeName","src":"41270:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41269:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26210,"nodeType":"FunctionDefinition","src":"41674:222:48","nodes":[],"body":{"id":26209,"nodeType":"Block","src":"41752:144:48","nodes":[],"statements":[{"assignments":[26199],"declarations":[{"constant":false,"id":26199,"mutability":"mutable","name":"_genericArray","nameLocation":"41775:13:48","nodeType":"VariableDeclaration","scope":26209,"src":"41758:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41758:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26198,"nodeType":"ArrayTypeName","src":"41758:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26200,"nodeType":"VariableDeclarationStatement","src":"41758:30:48"},{"AST":{"nativeSrc":"41803:37:48","nodeType":"YulBlock","src":"41803:37:48","statements":[{"nativeSrc":"41811:23:48","nodeType":"YulAssignment","src":"41811:23:48","value":{"name":"_input","nativeSrc":"41828:6:48","nodeType":"YulIdentifier","src":"41828:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"41811:13:48","nodeType":"YulIdentifier","src":"41811:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26199,"isOffset":false,"isSlot":false,"src":"41811:13:48","valueSize":1},{"declaration":26190,"isOffset":false,"isSlot":false,"src":"41828:6:48","valueSize":1}],"id":26201,"nodeType":"InlineAssembly","src":"41794:46:48"},{"expression":{"arguments":[{"id":26204,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26199,"src":"41870:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3235","id":26205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41885:2:48","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"hexValue":"30","id":26206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41889:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26202,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"41852:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41863:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"41852:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41852:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26194,"id":26208,"nodeType":"Return","src":"41845:46:48"}]},"documentation":{"id":26187,"nodeType":"StructuredDocumentation","src":"41432:239:48","text":" @notice Encodes an array of bytes25 into a tightly packed bytes representation.\n @param _input The array of bytes25 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"41683:6:48","parameters":{"id":26191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26190,"mutability":"mutable","name":"_input","nameLocation":"41707:6:48","nodeType":"VariableDeclaration","scope":26210,"src":"41690:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes25_$dyn_memory_ptr","typeString":"bytes25[]"},"typeName":{"baseType":{"id":26188,"name":"bytes25","nodeType":"ElementaryTypeName","src":"41690:7:48","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"id":26189,"nodeType":"ArrayTypeName","src":"41690:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes25_$dyn_storage_ptr","typeString":"bytes25[]"}},"visibility":"internal"}],"src":"41689:25:48"},"returnParameters":{"id":26194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26210,"src":"41738:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26192,"name":"bytes","nodeType":"ElementaryTypeName","src":"41738:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41737:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26234,"nodeType":"FunctionDefinition","src":"42142:222:48","nodes":[],"body":{"id":26233,"nodeType":"Block","src":"42220:144:48","nodes":[],"statements":[{"assignments":[26223],"declarations":[{"constant":false,"id":26223,"mutability":"mutable","name":"_genericArray","nameLocation":"42243:13:48","nodeType":"VariableDeclaration","scope":26233,"src":"42226:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42226:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26222,"nodeType":"ArrayTypeName","src":"42226:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26224,"nodeType":"VariableDeclarationStatement","src":"42226:30:48"},{"AST":{"nativeSrc":"42271:37:48","nodeType":"YulBlock","src":"42271:37:48","statements":[{"nativeSrc":"42279:23:48","nodeType":"YulAssignment","src":"42279:23:48","value":{"name":"_input","nativeSrc":"42296:6:48","nodeType":"YulIdentifier","src":"42296:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"42279:13:48","nodeType":"YulIdentifier","src":"42279:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26223,"isOffset":false,"isSlot":false,"src":"42279:13:48","valueSize":1},{"declaration":26214,"isOffset":false,"isSlot":false,"src":"42296:6:48","valueSize":1}],"id":26225,"nodeType":"InlineAssembly","src":"42262:46:48"},{"expression":{"arguments":[{"id":26228,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26223,"src":"42338:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3236","id":26229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42353:2:48","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},{"hexValue":"30","id":26230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42357:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26226,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"42320:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42331:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"42320:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42320:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26218,"id":26232,"nodeType":"Return","src":"42313:46:48"}]},"documentation":{"id":26211,"nodeType":"StructuredDocumentation","src":"41900:239:48","text":" @notice Encodes an array of bytes26 into a tightly packed bytes representation.\n @param _input The array of bytes26 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"42151:6:48","parameters":{"id":26215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26214,"mutability":"mutable","name":"_input","nameLocation":"42175:6:48","nodeType":"VariableDeclaration","scope":26234,"src":"42158:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes26_$dyn_memory_ptr","typeString":"bytes26[]"},"typeName":{"baseType":{"id":26212,"name":"bytes26","nodeType":"ElementaryTypeName","src":"42158:7:48","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"id":26213,"nodeType":"ArrayTypeName","src":"42158:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes26_$dyn_storage_ptr","typeString":"bytes26[]"}},"visibility":"internal"}],"src":"42157:25:48"},"returnParameters":{"id":26218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26234,"src":"42206:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26216,"name":"bytes","nodeType":"ElementaryTypeName","src":"42206:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"42205:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26258,"nodeType":"FunctionDefinition","src":"42610:222:48","nodes":[],"body":{"id":26257,"nodeType":"Block","src":"42688:144:48","nodes":[],"statements":[{"assignments":[26247],"declarations":[{"constant":false,"id":26247,"mutability":"mutable","name":"_genericArray","nameLocation":"42711:13:48","nodeType":"VariableDeclaration","scope":26257,"src":"42694:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42694:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26246,"nodeType":"ArrayTypeName","src":"42694:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26248,"nodeType":"VariableDeclarationStatement","src":"42694:30:48"},{"AST":{"nativeSrc":"42739:37:48","nodeType":"YulBlock","src":"42739:37:48","statements":[{"nativeSrc":"42747:23:48","nodeType":"YulAssignment","src":"42747:23:48","value":{"name":"_input","nativeSrc":"42764:6:48","nodeType":"YulIdentifier","src":"42764:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"42747:13:48","nodeType":"YulIdentifier","src":"42747:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26247,"isOffset":false,"isSlot":false,"src":"42747:13:48","valueSize":1},{"declaration":26238,"isOffset":false,"isSlot":false,"src":"42764:6:48","valueSize":1}],"id":26249,"nodeType":"InlineAssembly","src":"42730:46:48"},{"expression":{"arguments":[{"id":26252,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26247,"src":"42806:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3237","id":26253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42821:2:48","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},{"hexValue":"30","id":26254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42825:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26250,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"42788:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42799:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"42788:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42788:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26242,"id":26256,"nodeType":"Return","src":"42781:46:48"}]},"documentation":{"id":26235,"nodeType":"StructuredDocumentation","src":"42368:239:48","text":" @notice Encodes an array of bytes27 into a tightly packed bytes representation.\n @param _input The array of bytes27 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"42619:6:48","parameters":{"id":26239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26238,"mutability":"mutable","name":"_input","nameLocation":"42643:6:48","nodeType":"VariableDeclaration","scope":26258,"src":"42626:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes27_$dyn_memory_ptr","typeString":"bytes27[]"},"typeName":{"baseType":{"id":26236,"name":"bytes27","nodeType":"ElementaryTypeName","src":"42626:7:48","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"id":26237,"nodeType":"ArrayTypeName","src":"42626:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes27_$dyn_storage_ptr","typeString":"bytes27[]"}},"visibility":"internal"}],"src":"42625:25:48"},"returnParameters":{"id":26242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26258,"src":"42674:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26240,"name":"bytes","nodeType":"ElementaryTypeName","src":"42674:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"42673:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26282,"nodeType":"FunctionDefinition","src":"43078:222:48","nodes":[],"body":{"id":26281,"nodeType":"Block","src":"43156:144:48","nodes":[],"statements":[{"assignments":[26271],"declarations":[{"constant":false,"id":26271,"mutability":"mutable","name":"_genericArray","nameLocation":"43179:13:48","nodeType":"VariableDeclaration","scope":26281,"src":"43162:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43162:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26270,"nodeType":"ArrayTypeName","src":"43162:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26272,"nodeType":"VariableDeclarationStatement","src":"43162:30:48"},{"AST":{"nativeSrc":"43207:37:48","nodeType":"YulBlock","src":"43207:37:48","statements":[{"nativeSrc":"43215:23:48","nodeType":"YulAssignment","src":"43215:23:48","value":{"name":"_input","nativeSrc":"43232:6:48","nodeType":"YulIdentifier","src":"43232:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"43215:13:48","nodeType":"YulIdentifier","src":"43215:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26271,"isOffset":false,"isSlot":false,"src":"43215:13:48","valueSize":1},{"declaration":26262,"isOffset":false,"isSlot":false,"src":"43232:6:48","valueSize":1}],"id":26273,"nodeType":"InlineAssembly","src":"43198:46:48"},{"expression":{"arguments":[{"id":26276,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26271,"src":"43274:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3238","id":26277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43289:2:48","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"28"},{"hexValue":"30","id":26278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43293:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26274,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"43256:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43267:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"43256:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43256:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26266,"id":26280,"nodeType":"Return","src":"43249:46:48"}]},"documentation":{"id":26259,"nodeType":"StructuredDocumentation","src":"42836:239:48","text":" @notice Encodes an array of bytes28 into a tightly packed bytes representation.\n @param _input The array of bytes28 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"43087:6:48","parameters":{"id":26263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26262,"mutability":"mutable","name":"_input","nameLocation":"43111:6:48","nodeType":"VariableDeclaration","scope":26282,"src":"43094:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes28_$dyn_memory_ptr","typeString":"bytes28[]"},"typeName":{"baseType":{"id":26260,"name":"bytes28","nodeType":"ElementaryTypeName","src":"43094:7:48","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"id":26261,"nodeType":"ArrayTypeName","src":"43094:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes28_$dyn_storage_ptr","typeString":"bytes28[]"}},"visibility":"internal"}],"src":"43093:25:48"},"returnParameters":{"id":26266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26282,"src":"43142:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26264,"name":"bytes","nodeType":"ElementaryTypeName","src":"43142:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"43141:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26306,"nodeType":"FunctionDefinition","src":"43546:222:48","nodes":[],"body":{"id":26305,"nodeType":"Block","src":"43624:144:48","nodes":[],"statements":[{"assignments":[26295],"declarations":[{"constant":false,"id":26295,"mutability":"mutable","name":"_genericArray","nameLocation":"43647:13:48","nodeType":"VariableDeclaration","scope":26305,"src":"43630:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43630:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26294,"nodeType":"ArrayTypeName","src":"43630:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26296,"nodeType":"VariableDeclarationStatement","src":"43630:30:48"},{"AST":{"nativeSrc":"43675:37:48","nodeType":"YulBlock","src":"43675:37:48","statements":[{"nativeSrc":"43683:23:48","nodeType":"YulAssignment","src":"43683:23:48","value":{"name":"_input","nativeSrc":"43700:6:48","nodeType":"YulIdentifier","src":"43700:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"43683:13:48","nodeType":"YulIdentifier","src":"43683:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26295,"isOffset":false,"isSlot":false,"src":"43683:13:48","valueSize":1},{"declaration":26286,"isOffset":false,"isSlot":false,"src":"43700:6:48","valueSize":1}],"id":26297,"nodeType":"InlineAssembly","src":"43666:46:48"},{"expression":{"arguments":[{"id":26300,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26295,"src":"43742:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3239","id":26301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43757:2:48","typeDescriptions":{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},"value":"29"},{"hexValue":"30","id":26302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43761:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26298,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"43724:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43735:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"43724:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43724:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26290,"id":26304,"nodeType":"Return","src":"43717:46:48"}]},"documentation":{"id":26283,"nodeType":"StructuredDocumentation","src":"43304:239:48","text":" @notice Encodes an array of bytes29 into a tightly packed bytes representation.\n @param _input The array of bytes29 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"43555:6:48","parameters":{"id":26287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26286,"mutability":"mutable","name":"_input","nameLocation":"43579:6:48","nodeType":"VariableDeclaration","scope":26306,"src":"43562:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes29_$dyn_memory_ptr","typeString":"bytes29[]"},"typeName":{"baseType":{"id":26284,"name":"bytes29","nodeType":"ElementaryTypeName","src":"43562:7:48","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"id":26285,"nodeType":"ArrayTypeName","src":"43562:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes29_$dyn_storage_ptr","typeString":"bytes29[]"}},"visibility":"internal"}],"src":"43561:25:48"},"returnParameters":{"id":26290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26306,"src":"43610:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26288,"name":"bytes","nodeType":"ElementaryTypeName","src":"43610:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"43609:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26330,"nodeType":"FunctionDefinition","src":"44014:222:48","nodes":[],"body":{"id":26329,"nodeType":"Block","src":"44092:144:48","nodes":[],"statements":[{"assignments":[26319],"declarations":[{"constant":false,"id":26319,"mutability":"mutable","name":"_genericArray","nameLocation":"44115:13:48","nodeType":"VariableDeclaration","scope":26329,"src":"44098:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44098:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26318,"nodeType":"ArrayTypeName","src":"44098:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26320,"nodeType":"VariableDeclarationStatement","src":"44098:30:48"},{"AST":{"nativeSrc":"44143:37:48","nodeType":"YulBlock","src":"44143:37:48","statements":[{"nativeSrc":"44151:23:48","nodeType":"YulAssignment","src":"44151:23:48","value":{"name":"_input","nativeSrc":"44168:6:48","nodeType":"YulIdentifier","src":"44168:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"44151:13:48","nodeType":"YulIdentifier","src":"44151:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26319,"isOffset":false,"isSlot":false,"src":"44151:13:48","valueSize":1},{"declaration":26310,"isOffset":false,"isSlot":false,"src":"44168:6:48","valueSize":1}],"id":26321,"nodeType":"InlineAssembly","src":"44134:46:48"},{"expression":{"arguments":[{"id":26324,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26319,"src":"44210:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3330","id":26325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44225:2:48","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},{"hexValue":"30","id":26326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44229:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26322,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"44192:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44203:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"44192:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44192:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26314,"id":26328,"nodeType":"Return","src":"44185:46:48"}]},"documentation":{"id":26307,"nodeType":"StructuredDocumentation","src":"43772:239:48","text":" @notice Encodes an array of bytes30 into a tightly packed bytes representation.\n @param _input The array of bytes30 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"44023:6:48","parameters":{"id":26311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26310,"mutability":"mutable","name":"_input","nameLocation":"44047:6:48","nodeType":"VariableDeclaration","scope":26330,"src":"44030:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes30_$dyn_memory_ptr","typeString":"bytes30[]"},"typeName":{"baseType":{"id":26308,"name":"bytes30","nodeType":"ElementaryTypeName","src":"44030:7:48","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"id":26309,"nodeType":"ArrayTypeName","src":"44030:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes30_$dyn_storage_ptr","typeString":"bytes30[]"}},"visibility":"internal"}],"src":"44029:25:48"},"returnParameters":{"id":26314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26330,"src":"44078:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26312,"name":"bytes","nodeType":"ElementaryTypeName","src":"44078:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"44077:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26354,"nodeType":"FunctionDefinition","src":"44482:222:48","nodes":[],"body":{"id":26353,"nodeType":"Block","src":"44560:144:48","nodes":[],"statements":[{"assignments":[26343],"declarations":[{"constant":false,"id":26343,"mutability":"mutable","name":"_genericArray","nameLocation":"44583:13:48","nodeType":"VariableDeclaration","scope":26353,"src":"44566:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44566:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26342,"nodeType":"ArrayTypeName","src":"44566:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26344,"nodeType":"VariableDeclarationStatement","src":"44566:30:48"},{"AST":{"nativeSrc":"44611:37:48","nodeType":"YulBlock","src":"44611:37:48","statements":[{"nativeSrc":"44619:23:48","nodeType":"YulAssignment","src":"44619:23:48","value":{"name":"_input","nativeSrc":"44636:6:48","nodeType":"YulIdentifier","src":"44636:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"44619:13:48","nodeType":"YulIdentifier","src":"44619:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26343,"isOffset":false,"isSlot":false,"src":"44619:13:48","valueSize":1},{"declaration":26334,"isOffset":false,"isSlot":false,"src":"44636:6:48","valueSize":1}],"id":26345,"nodeType":"InlineAssembly","src":"44602:46:48"},{"expression":{"arguments":[{"id":26348,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26343,"src":"44678:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3331","id":26349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44693:2:48","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},{"hexValue":"30","id":26350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44697:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26346,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"44660:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44671:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"44660:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44660:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26338,"id":26352,"nodeType":"Return","src":"44653:46:48"}]},"documentation":{"id":26331,"nodeType":"StructuredDocumentation","src":"44240:239:48","text":" @notice Encodes an array of bytes31 into a tightly packed bytes representation.\n @param _input The array of bytes31 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"44491:6:48","parameters":{"id":26335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26334,"mutability":"mutable","name":"_input","nameLocation":"44515:6:48","nodeType":"VariableDeclaration","scope":26354,"src":"44498:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes31_$dyn_memory_ptr","typeString":"bytes31[]"},"typeName":{"baseType":{"id":26332,"name":"bytes31","nodeType":"ElementaryTypeName","src":"44498:7:48","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"id":26333,"nodeType":"ArrayTypeName","src":"44498:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes31_$dyn_storage_ptr","typeString":"bytes31[]"}},"visibility":"internal"}],"src":"44497:25:48"},"returnParameters":{"id":26338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26354,"src":"44546:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26336,"name":"bytes","nodeType":"ElementaryTypeName","src":"44546:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"44545:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26378,"nodeType":"FunctionDefinition","src":"44950:222:48","nodes":[],"body":{"id":26377,"nodeType":"Block","src":"45028:144:48","nodes":[],"statements":[{"assignments":[26367],"declarations":[{"constant":false,"id":26367,"mutability":"mutable","name":"_genericArray","nameLocation":"45051:13:48","nodeType":"VariableDeclaration","scope":26377,"src":"45034:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45034:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26366,"nodeType":"ArrayTypeName","src":"45034:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26368,"nodeType":"VariableDeclarationStatement","src":"45034:30:48"},{"AST":{"nativeSrc":"45079:37:48","nodeType":"YulBlock","src":"45079:37:48","statements":[{"nativeSrc":"45087:23:48","nodeType":"YulAssignment","src":"45087:23:48","value":{"name":"_input","nativeSrc":"45104:6:48","nodeType":"YulIdentifier","src":"45104:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"45087:13:48","nodeType":"YulIdentifier","src":"45087:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26367,"isOffset":false,"isSlot":false,"src":"45087:13:48","valueSize":1},{"declaration":26358,"isOffset":false,"isSlot":false,"src":"45104:6:48","valueSize":1}],"id":26369,"nodeType":"InlineAssembly","src":"45070:46:48"},{"expression":{"arguments":[{"id":26372,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26367,"src":"45146:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3332","id":26373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45161:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"hexValue":"30","id":26374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45165:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":26370,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"45128:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45139:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"45128:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45128:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26362,"id":26376,"nodeType":"Return","src":"45121:46:48"}]},"documentation":{"id":26355,"nodeType":"StructuredDocumentation","src":"44708:239:48","text":" @notice Encodes an array of bytes32 into a tightly packed bytes representation.\n @param _input The array of bytes32 values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"44959:6:48","parameters":{"id":26359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26358,"mutability":"mutable","name":"_input","nameLocation":"44983:6:48","nodeType":"VariableDeclaration","scope":26378,"src":"44966:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44966:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26357,"nodeType":"ArrayTypeName","src":"44966:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"44965:25:48"},"returnParameters":{"id":26362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26378,"src":"45014:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26360,"name":"bytes","nodeType":"ElementaryTypeName","src":"45014:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45013:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26402,"nodeType":"FunctionDefinition","src":"45412:220:48","nodes":[],"body":{"id":26401,"nodeType":"Block","src":"45487:145:48","nodes":[],"statements":[{"assignments":[26391],"declarations":[{"constant":false,"id":26391,"mutability":"mutable","name":"_genericArray","nameLocation":"45510:13:48","nodeType":"VariableDeclaration","scope":26401,"src":"45493:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45493:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26390,"nodeType":"ArrayTypeName","src":"45493:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26392,"nodeType":"VariableDeclarationStatement","src":"45493:30:48"},{"AST":{"nativeSrc":"45538:37:48","nodeType":"YulBlock","src":"45538:37:48","statements":[{"nativeSrc":"45546:23:48","nodeType":"YulAssignment","src":"45546:23:48","value":{"name":"_input","nativeSrc":"45563:6:48","nodeType":"YulIdentifier","src":"45563:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"45546:13:48","nodeType":"YulIdentifier","src":"45546:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26391,"isOffset":false,"isSlot":false,"src":"45546:13:48","valueSize":1},{"declaration":26382,"isOffset":false,"isSlot":false,"src":"45563:6:48","valueSize":1}],"id":26393,"nodeType":"InlineAssembly","src":"45529:46:48"},{"expression":{"arguments":[{"id":26396,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26391,"src":"45605:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"31","id":26397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45620:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"323438","id":26398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45623:3:48","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"}],"expression":{"id":26394,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"45587:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45598:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"45587:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45587:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26386,"id":26400,"nodeType":"Return","src":"45580:47:48"}]},"documentation":{"id":26379,"nodeType":"StructuredDocumentation","src":"45176:233:48","text":" @notice Encodes an array of bool into a tightly packed bytes representation.\n @param _input The array of bool values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"45421:6:48","parameters":{"id":26383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26382,"mutability":"mutable","name":"_input","nameLocation":"45442:6:48","nodeType":"VariableDeclaration","scope":26402,"src":"45428:20:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":26380,"name":"bool","nodeType":"ElementaryTypeName","src":"45428:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":26381,"nodeType":"ArrayTypeName","src":"45428:6:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"45427:22:48"},"returnParameters":{"id":26386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26402,"src":"45473:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26384,"name":"bytes","nodeType":"ElementaryTypeName","src":"45473:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45472:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26426,"nodeType":"FunctionDefinition","src":"45878:223:48","nodes":[],"body":{"id":26425,"nodeType":"Block","src":"45956:145:48","nodes":[],"statements":[{"assignments":[26415],"declarations":[{"constant":false,"id":26415,"mutability":"mutable","name":"_genericArray","nameLocation":"45979:13:48","nodeType":"VariableDeclaration","scope":26425,"src":"45962:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":26413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45962:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":26414,"nodeType":"ArrayTypeName","src":"45962:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":26416,"nodeType":"VariableDeclarationStatement","src":"45962:30:48"},{"AST":{"nativeSrc":"46007:37:48","nodeType":"YulBlock","src":"46007:37:48","statements":[{"nativeSrc":"46015:23:48","nodeType":"YulAssignment","src":"46015:23:48","value":{"name":"_input","nativeSrc":"46032:6:48","nodeType":"YulIdentifier","src":"46032:6:48"},"variableNames":[{"name":"_genericArray","nativeSrc":"46015:13:48","nodeType":"YulIdentifier","src":"46015:13:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":26415,"isOffset":false,"isSlot":false,"src":"46015:13:48","valueSize":1},{"declaration":26406,"isOffset":false,"isSlot":false,"src":"46032:6:48","valueSize":1}],"id":26417,"nodeType":"InlineAssembly","src":"45998:46:48"},{"expression":{"arguments":[{"id":26420,"name":"_genericArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26415,"src":"46074:13:48","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"hexValue":"3230","id":26421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46089:2:48","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3936","id":26422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46093:2:48","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"}],"expression":{"id":26418,"name":"TightCoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"46056:10:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TightCoder_$26498_$","typeString":"type(library TightCoder)"}},"id":26419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46067:6:48","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":26459,"src":"46056:17:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory,uint256,uint256) pure returns (bytes memory)"}},"id":26423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46056:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":26410,"id":26424,"nodeType":"Return","src":"46049:47:48"}]},"documentation":{"id":26403,"nodeType":"StructuredDocumentation","src":"45636:239:48","text":" @notice Encodes an array of address into a tightly packed bytes representation.\n @param _input The array of address values to be encoded.\n @return The resulting tightly packed bytes representation of the input array."},"implemented":true,"kind":"function","modifiers":[],"name":"encode","nameLocation":"45887:6:48","parameters":{"id":26407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26406,"mutability":"mutable","name":"_input","nameLocation":"45911:6:48","nodeType":"VariableDeclaration","scope":26426,"src":"45894:23:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":26404,"name":"address","nodeType":"ElementaryTypeName","src":"45894:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":26405,"nodeType":"ArrayTypeName","src":"45894:9:48","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"45893:25:48"},"returnParameters":{"id":26410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26426,"src":"45942:12:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26408,"name":"bytes","nodeType":"ElementaryTypeName","src":"45942:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45941:14:48"},"scope":26427,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"EncodeArray","contractDependencies":[],"contractKind":"library","documentation":{"id":24074,"nodeType":"StructuredDocumentation","src":"155:198:48","text":" @title EncodeArray\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev This library provides utilities for encoding arrays into tightly packed bytes representations."},"fullyImplemented":true,"linearizedBaseContracts":[26427],"name":"EncodeArray","nameLocation":"362:11:48","scope":26428,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":48}