{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220280c8d633fa6448157892c0a4be3c38a1926bfd5ffefd99fbfb31eb913136df564736f6c63430008180033","sourceMap":"1030:1132:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1030:1132:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220280c8d633fa6448157892c0a4be3c38a1926bfd5ffefd99fbfb31eb913136df564736f6c63430008180033","sourceMap":"1030:1132:5:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@dk1a/solidity-stringutils/src/StrSlice.sol\":\"StrSlice__\"},\"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/@dk1a/solidity-stringutils/src/Slice.sol\":{\"keccak256\":\"0x275d3a59770ad0b5fbbe55e9199a6e449e88c15668922ad1aef0b895696d7d9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e502f0ebd41bd7e9fdb4df066913fcf8ecabfaabb59734e713eed2f260ac5b7f\",\"dweb:/ipfs/QmZEEXv7x1rZnQTohSoGcJycNdh4u2tYuL7wU8tftsK8Me\"]},\"node_modules/@dk1a/solidity-stringutils/src/SliceIter.sol\":{\"keccak256\":\"0x567f7ae2e0ee107ef510cf7b2f648cb0c2e980e86463b68c29ea7b08a03cf68b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://201250475f59edd22aa4aba7c97e3ce934298b7a6db7a517162c86445932005d\",\"dweb:/ipfs/QmYVGUCzMnG7wvTGFxgz8Bx5948auFxWpdyMvytkFjpWyE\"]},\"node_modules/@dk1a/solidity-stringutils/src/StrChar.sol\":{\"keccak256\":\"0x3dec9f06981ecc0c83fed6f6a421e52ca123805bb243f0159f00eba8dbcc278b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0f7000aec2944ceafc0b7952cbe91169a265ea4935defd3d4df69147fa64a1f\",\"dweb:/ipfs/QmU2MhsyVnTS4dbaSPAi5oanaJpDUnEzGz843pUvWvb8MD\"]},\"node_modules/@dk1a/solidity-stringutils/src/StrCharsIter.sol\":{\"keccak256\":\"0xf2619ef9aac129010c45f53e199a5af41269b749bbd874dc20bff9ef99541964\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6090cf77adbbd60d95d6a1999ca71469122340f318f35f674128e0c0138a31a\",\"dweb:/ipfs/QmQLP1tNVqmkTrcwHDUuQzdHNuPfXeJ3Ev8g4TSRqgN2Af\"]},\"node_modules/@dk1a/solidity-stringutils/src/StrSlice.sol\":{\"keccak256\":\"0xcb4cbbcb40ee8c033cadf8405c1a7f5bc27ed8818d008231719ba66dd83f3d15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e534bc81a7ca7e3199ac334210d2ad644b5ae7e57fb3792fd8fdf187ac98709\",\"dweb:/ipfs/QmfAGZdeLpxrtgDkLBg4a6DCuSzHfR83b3NB5mid3p9iA7\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol\":{\"keccak256\":\"0x12db07da53ebb78b4aa163d3b8ea9e6e43049b4a036a734a456fc715f262d226\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbc45982956c2f3a9553748393293fe7491b87361b35174a47b566df40c9a9f1\",\"dweb:/ipfs/QmYnpwTqppyDHMcoCZDEdZu3mKixRkgs9FfVVMgARXWTHa\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/mem.sol\":{\"keccak256\":\"0xae6d56e348968bd35d1135fd5aa77a498e78065e8b8da2084c7b6c63580e3e1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f25b07594f24baa7ddc713849fec72e5520d37e98de48ada81e11606dde873a\",\"dweb:/ipfs/QmbWnDh1r3Bjo4VPqAUrRbbynfPmgVP9yKowiRhyiwQVie\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/memascii.sol\":{\"keccak256\":\"0x1d364e73238cbe120e7e72f2b6850862dedacd54f18fc65692f2655514005a72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa1c6a471335d6e2e978898de0f6d2e3486a70f16fdd93bf529c05c151d13b5d\",\"dweb:/ipfs/Qmf89J2kwx3HE85arZNySkDGfHzAkKuuLMyXL6CfhFWLoi\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/memchr.sol\":{\"keccak256\":\"0xfcd59abbf0e6fce243a5987aa71be39b2cd001b813dca59df3bab2b1e7a3104b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60ffc7a8195c6ebbe5eb27c49a548487273e96ea9c4e2bfa9e07f50474fa583d\",\"dweb:/ipfs/QmdBFuXRsCV3nYJb31rXwYEQVcrJjjVFReenWxYZYLHX5Z\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/unicode.sol\":{\"keccak256\":\"0xf8b40a36b96393038457a13cdbb10cf8cd80e321b5ee7aa9d05ec09c95507046\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87e905cdbe7d95374275a808b38a9a0328401282dc724678b8bff4bcd7498ea4\",\"dweb:/ipfs/QmQYjwUtBJW62cosyPPussPj4Y1MiXJB23Y4YUcpUTbC3b\"]},\"node_modules/@dk1a/solidity-stringutils/src/utils/utf8.sol\":{\"keccak256\":\"0x927f19b1af096baa5e88a19e3a652c3ecda68fdc95d032422df6bb2d86a8ffba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e82bcfc00fe71a07e1834c17bf93dd91a39e5891ca1d3e356a3a98ed6d5eda5\",\"dweb:/ipfs/QmWxNrQxQ55bMAQV6HAsWGJUWMRy1oUHTomNcNHJwD3ED8\"]}},\"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/@dk1a/solidity-stringutils/src/StrSlice.sol":"StrSlice__"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@dk1a/solidity-stringutils/src/Slice.sol":{"keccak256":"0x275d3a59770ad0b5fbbe55e9199a6e449e88c15668922ad1aef0b895696d7d9c","urls":["bzz-raw://e502f0ebd41bd7e9fdb4df066913fcf8ecabfaabb59734e713eed2f260ac5b7f","dweb:/ipfs/QmZEEXv7x1rZnQTohSoGcJycNdh4u2tYuL7wU8tftsK8Me"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/SliceIter.sol":{"keccak256":"0x567f7ae2e0ee107ef510cf7b2f648cb0c2e980e86463b68c29ea7b08a03cf68b","urls":["bzz-raw://201250475f59edd22aa4aba7c97e3ce934298b7a6db7a517162c86445932005d","dweb:/ipfs/QmYVGUCzMnG7wvTGFxgz8Bx5948auFxWpdyMvytkFjpWyE"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/StrChar.sol":{"keccak256":"0x3dec9f06981ecc0c83fed6f6a421e52ca123805bb243f0159f00eba8dbcc278b","urls":["bzz-raw://c0f7000aec2944ceafc0b7952cbe91169a265ea4935defd3d4df69147fa64a1f","dweb:/ipfs/QmU2MhsyVnTS4dbaSPAi5oanaJpDUnEzGz843pUvWvb8MD"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/StrCharsIter.sol":{"keccak256":"0xf2619ef9aac129010c45f53e199a5af41269b749bbd874dc20bff9ef99541964","urls":["bzz-raw://d6090cf77adbbd60d95d6a1999ca71469122340f318f35f674128e0c0138a31a","dweb:/ipfs/QmQLP1tNVqmkTrcwHDUuQzdHNuPfXeJ3Ev8g4TSRqgN2Af"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/StrSlice.sol":{"keccak256":"0xcb4cbbcb40ee8c033cadf8405c1a7f5bc27ed8818d008231719ba66dd83f3d15","urls":["bzz-raw://2e534bc81a7ca7e3199ac334210d2ad644b5ae7e57fb3792fd8fdf187ac98709","dweb:/ipfs/QmfAGZdeLpxrtgDkLBg4a6DCuSzHfR83b3NB5mid3p9iA7"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol":{"keccak256":"0x12db07da53ebb78b4aa163d3b8ea9e6e43049b4a036a734a456fc715f262d226","urls":["bzz-raw://cbc45982956c2f3a9553748393293fe7491b87361b35174a47b566df40c9a9f1","dweb:/ipfs/QmYnpwTqppyDHMcoCZDEdZu3mKixRkgs9FfVVMgARXWTHa"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/mem.sol":{"keccak256":"0xae6d56e348968bd35d1135fd5aa77a498e78065e8b8da2084c7b6c63580e3e1c","urls":["bzz-raw://9f25b07594f24baa7ddc713849fec72e5520d37e98de48ada81e11606dde873a","dweb:/ipfs/QmbWnDh1r3Bjo4VPqAUrRbbynfPmgVP9yKowiRhyiwQVie"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/memascii.sol":{"keccak256":"0x1d364e73238cbe120e7e72f2b6850862dedacd54f18fc65692f2655514005a72","urls":["bzz-raw://aa1c6a471335d6e2e978898de0f6d2e3486a70f16fdd93bf529c05c151d13b5d","dweb:/ipfs/Qmf89J2kwx3HE85arZNySkDGfHzAkKuuLMyXL6CfhFWLoi"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/memchr.sol":{"keccak256":"0xfcd59abbf0e6fce243a5987aa71be39b2cd001b813dca59df3bab2b1e7a3104b","urls":["bzz-raw://60ffc7a8195c6ebbe5eb27c49a548487273e96ea9c4e2bfa9e07f50474fa583d","dweb:/ipfs/QmdBFuXRsCV3nYJb31rXwYEQVcrJjjVFReenWxYZYLHX5Z"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/unicode.sol":{"keccak256":"0xf8b40a36b96393038457a13cdbb10cf8cd80e321b5ee7aa9d05ec09c95507046","urls":["bzz-raw://87e905cdbe7d95374275a808b38a9a0328401282dc724678b8bff4bcd7498ea4","dweb:/ipfs/QmQYjwUtBJW62cosyPPussPj4Y1MiXJB23Y4YUcpUTbC3b"],"license":"MIT"},"node_modules/@dk1a/solidity-stringutils/src/utils/utf8.sol":{"keccak256":"0x927f19b1af096baa5e88a19e3a652c3ecda68fdc95d032422df6bb2d86a8ffba","urls":["bzz-raw://1e82bcfc00fe71a07e1834c17bf93dd91a39e5891ca1d3e356a3a98ed6d5eda5","dweb:/ipfs/QmWxNrQxQ55bMAQV6HAsWGJUWMRy1oUHTomNcNHJwD3ED8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/StrSlice.sol","id":4280,"exportedSymbols":{"PackPtrLen":[4412],"Slice":[74],"Slice__":[146],"Slice__OutOfBounds":[76],"StrChar":[1942],"StrChar__":[2017],"StrCharsIter":[2405],"StrCharsIter__":[2426],"StrSlice":[2999],"StrSlice__":[3071],"StrSlice__InvalidCharBoundary":[3001],"_splitFound":[4279],"add":[3254],"asSlice":[3139],"chars":[4169],"cmp":[3307],"contains":[3714],"endsWith":[3758],"eq":[3329],"find":[3670],"get":[3518],"getSubslice":[3648],"gt":[3411],"gte":[3431],"isAscii":[4188],"isCharBoundary":[3475],"isEmpty":[3194],"isValidUtf8":[5949],"join":[3285],"keccak":[3229],"len":[3174],"lt":[3371],"lte":[3391],"memIsAscii":[4682],"ne":[3351],"ptr":[3156],"replacen":[4149],"rfind":[3692],"rsplitOnce":[3928],"splitAt":[3579],"splitOnce":[3872],"startsWith":[3736],"stripPrefix":[3787],"stripSuffix":[3816],"toSlice":[3086],"toString":[3213]},"nodeType":"SourceUnit","src":"33:15420:5","nodes":[{"id":2981,"nodeType":"PragmaDirective","src":"33:24:5","nodes":[],"literals":["solidity","^","0.8",".17"]},{"id":2985,"nodeType":"ImportDirective","src":"59:65:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/Slice.sol","file":"./Slice.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":1733,"symbolAliases":[{"foreign":{"id":2982,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"68:5:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":2983,"name":"Slice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"75:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":2984,"name":"Slice__OutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"84:18:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2988,"nodeType":"ImportDirective","src":"125:51:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/StrChar.sol","file":"./StrChar.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":2380,"symbolAliases":[{"foreign":{"id":2986,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"134:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":2987,"name":"StrChar__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2017,"src":"143:9:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2991,"nodeType":"ImportDirective","src":"177:66:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/StrCharsIter.sol","file":"./StrCharsIter.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":2980,"symbolAliases":[{"foreign":{"id":2989,"name":"StrCharsIter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"186:12:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":2990,"name":"StrCharsIter__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2426,"src":"200:14:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2993,"nodeType":"ImportDirective","src":"244:47:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/utf8.sol","file":"./utils/utf8.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":5965,"symbolAliases":[{"foreign":{"id":2992,"name":"isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"253:11:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2995,"nodeType":"ImportDirective","src":"292:50:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/memascii.sol","file":"./utils/memascii.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":4683,"symbolAliases":[{"foreign":{"id":2994,"name":"memIsAscii","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4682,"src":"301:10:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2997,"nodeType":"ImportDirective","src":"343:52:5","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/PackPtrLen.sol","file":"./utils/PackPtrLen.sol","nameLocation":"-1:-1:-1","scope":4280,"sourceUnit":4413,"symbolAliases":[{"foreign":{"id":2996,"name":"PackPtrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4412,"src":"352:10:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2999,"nodeType":"UserDefinedValueTypeDefinition","src":"560:25:5","nodes":[],"canonicalName":"StrSlice","name":"StrSlice","nameLocation":"565:8:5","underlyingType":{"id":2998,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":3001,"nodeType":"ErrorDefinition","src":"788:38:5","nodes":[],"errorSelector":"d07ea25c","name":"StrSlice__InvalidCharBoundary","nameLocation":"794:29:5","parameters":{"id":3000,"nodeType":"ParameterList","parameters":[],"src":"823:2:5"}},{"id":3071,"nodeType":"ContractDefinition","src":"1030:1132:5","nodes":[{"id":3024,"nodeType":"FunctionDefinition","src":"1234:219:5","nodes":[],"body":{"id":3023,"nodeType":"Block","src":"1306:147:5","nodes":[],"statements":[{"assignments":[3011],"declarations":[{"constant":false,"id":3011,"mutability":"mutable","name":"_ptr","nameLocation":"1324:4:5","nodeType":"VariableDeclaration","scope":3023,"src":"1316:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3010,"name":"uint256","nodeType":"ElementaryTypeName","src":"1316:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3012,"nodeType":"VariableDeclarationStatement","src":"1316:12:5"},{"AST":{"nativeSrc":"1347:46:5","nodeType":"YulBlock","src":"1347:46:5","statements":[{"nativeSrc":"1361:22:5","nodeType":"YulAssignment","src":"1361:22:5","value":{"arguments":[{"name":"str","nativeSrc":"1373:3:5","nodeType":"YulIdentifier","src":"1373:3:5"},{"kind":"number","nativeSrc":"1378:4:5","nodeType":"YulLiteral","src":"1378:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1369:3:5","nodeType":"YulIdentifier","src":"1369:3:5"},"nativeSrc":"1369:14:5","nodeType":"YulFunctionCall","src":"1369:14:5"},"variableNames":[{"name":"_ptr","nativeSrc":"1361:4:5","nodeType":"YulIdentifier","src":"1361:4:5"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":3011,"isOffset":false,"isSlot":false,"src":"1361:4:5","valueSize":1},{"declaration":3004,"isOffset":false,"isSlot":false,"src":"1373:3:5","valueSize":1}],"id":3013,"nodeType":"InlineAssembly","src":"1338:55:5"},{"expression":{"arguments":[{"id":3015,"name":"_ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"1422:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"arguments":[{"id":3018,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3004,"src":"1434:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1428:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3016,"name":"bytes","nodeType":"ElementaryTypeName","src":"1428:5:5","typeDescriptions":{}}},"id":3019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1428:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1439:6:5","memberName":"length","nodeType":"MemberAccess","src":"1428:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3014,"name":"fromRawParts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"1409:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256,uint256) pure returns (StrSlice)"}},"id":3021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3009,"id":3022,"nodeType":"Return","src":"1402:44:5"}]},"documentation":{"id":3002,"nodeType":"StructuredDocumentation","src":"1055:174:5","text":" @dev Converts a `string` to a `StrSlice`.\n The string is not copied.\n `StrSlice` points to the memory of `string`, right after the length word."},"implemented":true,"kind":"function","modifiers":[],"name":"from","nameLocation":"1243:4:5","parameters":{"id":3005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3004,"mutability":"mutable","name":"str","nameLocation":"1262:3:5","nodeType":"VariableDeclaration","scope":3024,"src":"1248:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3003,"name":"string","nodeType":"ElementaryTypeName","src":"1248:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1247:19:5"},"returnParameters":{"id":3009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3008,"mutability":"mutable","name":"slice","nameLocation":"1299:5:5","nodeType":"VariableDeclaration","scope":3024,"src":"1290:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3007,"nodeType":"UserDefinedTypeName","pathNode":{"id":3006,"name":"StrSlice","nameLocations":["1290:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"1290:8:5"},"referencedDeclaration":2999,"src":"1290:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"1289:16:5"},"scope":3071,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3048,"nodeType":"FunctionDefinition","src":"1661:196:5","nodes":[],"body":{"id":3047,"nodeType":"Block","src":"1750:107:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":3041,"name":"_ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3027,"src":"1828:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3042,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"1834:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3039,"name":"Slice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"1807:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Slice___$146_$","typeString":"type(library Slice__)"}},"id":3040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:12:5","memberName":"fromRawParts","nodeType":"MemberAccess","referencedDeclaration":119,"src":"1807:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (uint256,uint256) pure returns (Slice)"}},"id":3043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1807:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3037,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"1781:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1787:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"1781:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1781:68:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3035,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"1767:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1776:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"1767:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1767:83:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3034,"id":3046,"nodeType":"Return","src":"1760:90:5"}]},"documentation":{"id":3025,"nodeType":"StructuredDocumentation","src":"1459:197:5","text":" @dev Creates a new `StrSlice` directly from length and memory pointer.\n Note that the caller MUST guarantee memory-safety.\n This method is primarily for internal use."},"implemented":true,"kind":"function","modifiers":[],"name":"fromRawParts","nameLocation":"1670:12:5","parameters":{"id":3030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3027,"mutability":"mutable","name":"_ptr","nameLocation":"1691:4:5","nodeType":"VariableDeclaration","scope":3048,"src":"1683:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3026,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3029,"mutability":"mutable","name":"_len","nameLocation":"1705:4:5","nodeType":"VariableDeclaration","scope":3048,"src":"1697:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3028,"name":"uint256","nodeType":"ElementaryTypeName","src":"1697:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:28:5"},"returnParameters":{"id":3034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3033,"mutability":"mutable","name":"slice","nameLocation":"1743:5:5","nodeType":"VariableDeclaration","scope":3048,"src":"1734:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3032,"nodeType":"UserDefinedTypeName","pathNode":{"id":3031,"name":"StrSlice","nameLocations":["1734:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"1734:8:5"},"referencedDeclaration":2999,"src":"1734:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"1733:16:5"},"scope":3071,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3070,"nodeType":"FunctionDefinition","src":"2011:149:5","nodes":[],"body":{"id":3069,"nodeType":"Block","src":"2078:82:5","nodes":[],"statements":[{"assignments":[3058],"declarations":[{"constant":false,"id":3058,"mutability":"mutable","name":"b","nameLocation":"2096:1:5","nodeType":"VariableDeclaration","scope":3069,"src":"2088:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2088:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":3062,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3059,"name":"slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"2100:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2106:9:5","memberName":"toBytes32","nodeType":"MemberAccess","referencedDeclaration":319,"src":"2100:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (bytes32)"}},"id":3061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2100:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2088:29:5"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3064,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3058,"src":"2146:1:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3063,"name":"isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"2134:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":3065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2134:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3056,"id":3068,"nodeType":"Return","src":"2127:26:5"}]},"documentation":{"id":3049,"nodeType":"StructuredDocumentation","src":"1863:143:5","text":" @dev Returns true if the byte slice starts with a valid UTF-8 character.\n Note this does not validate the whole slice."},"implemented":true,"kind":"function","modifiers":[],"name":"isBoundaryStart","nameLocation":"2020:15:5","parameters":{"id":3053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3052,"mutability":"mutable","name":"slice","nameLocation":"2042:5:5","nodeType":"VariableDeclaration","scope":3070,"src":"2036:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3051,"nodeType":"UserDefinedTypeName","pathNode":{"id":3050,"name":"Slice","nameLocations":["2036:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"2036:5:5"},"referencedDeclaration":74,"src":"2036:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"src":"2035:13:5"},"returnParameters":{"id":3056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3070,"src":"2072:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3054,"name":"bool","nodeType":"ElementaryTypeName","src":"2072:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2071:6:5"},"scope":3071,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StrSlice__","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[3071],"name":"StrSlice__","nameLocation":"1038:10:5","scope":4280,"usedErrors":[],"usedEvents":[]},{"id":3086,"nodeType":"FunctionDefinition","src":"2336:102:5","nodes":[],"body":{"id":3085,"nodeType":"Block","src":"2402:36:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":3082,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3074,"src":"2431:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3080,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"2415:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":3081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2426:4:5","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3024,"src":"2415:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (string memory) pure returns (StrSlice)"}},"id":3083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2415:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3079,"id":3084,"nodeType":"Return","src":"2408:27:5"}]},"documentation":{"id":3072,"nodeType":"StructuredDocumentation","src":"2164:171:5","text":" @dev Alternative to StrSlice__.from()\n Put this in your file (using for global is only for user-defined types):\n ```\n using { toSlice } for string;\n ```"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toSlice","nameLocation":"2345:7:5","parameters":{"id":3075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3074,"mutability":"mutable","name":"str","nameLocation":"2367:3:5","nodeType":"VariableDeclaration","scope":3086,"src":"2353:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3073,"name":"string","nodeType":"ElementaryTypeName","src":"2353:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2352:19:5"},"returnParameters":{"id":3079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3078,"mutability":"mutable","name":"slice","nameLocation":"2395:5:5","nodeType":"VariableDeclaration","scope":3086,"src":"2386:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3077,"nodeType":"UserDefinedTypeName","pathNode":{"id":3076,"name":"StrSlice","nameLocations":["2386:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"2386:8:5"},"referencedDeclaration":2999,"src":"2386:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"2385:16:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3120,"nodeType":"UsingForDirective","src":"2642:469:5","nodes":[],"functionList":[{"function":{"id":3087,"name":"asSlice","nameLocations":["2654:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":3139,"src":"2654:7:5"}},{"function":{"id":3088,"name":"ptr","nameLocations":["2667:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3156,"src":"2667:3:5"}},{"function":{"id":3089,"name":"len","nameLocations":["2672:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3174,"src":"2672:3:5"}},{"function":{"id":3090,"name":"isEmpty","nameLocations":["2677:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":3194,"src":"2677:7:5"}},{"function":{"id":3091,"name":"toString","nameLocations":["2708:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3213,"src":"2708:8:5"}},{"function":{"id":3092,"name":"keccak","nameLocations":["2722:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":3229,"src":"2722:6:5"}},{"function":{"id":3093,"name":"add","nameLocations":["2755:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3254,"src":"2755:3:5"}},{"function":{"id":3094,"name":"join","nameLocations":["2760:4:5"],"nodeType":"IdentifierPath","referencedDeclaration":3285,"src":"2760:4:5"}},{"function":{"id":3095,"name":"cmp","nameLocations":["2785:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3307,"src":"2785:3:5"}},{"function":{"id":3096,"name":"eq","nameLocations":["2790:2:5"],"nodeType":"IdentifierPath","referencedDeclaration":3329,"src":"2790:2:5"}},{"function":{"id":3097,"name":"ne","nameLocations":["2794:2:5"],"nodeType":"IdentifierPath","referencedDeclaration":3351,"src":"2794:2:5"}},{"function":{"id":3098,"name":"lt","nameLocations":["2798:2:5"],"nodeType":"IdentifierPath","referencedDeclaration":3371,"src":"2798:2:5"}},{"function":{"id":3099,"name":"lte","nameLocations":["2802:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3391,"src":"2802:3:5"}},{"function":{"id":3100,"name":"gt","nameLocations":["2807:2:5"],"nodeType":"IdentifierPath","referencedDeclaration":3411,"src":"2807:2:5"}},{"function":{"id":3101,"name":"gte","nameLocations":["2811:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3431,"src":"2811:3:5"}},{"function":{"id":3102,"name":"isCharBoundary","nameLocations":["2833:14:5"],"nodeType":"IdentifierPath","referencedDeclaration":3475,"src":"2833:14:5"}},{"function":{"id":3103,"name":"get","nameLocations":["2853:3:5"],"nodeType":"IdentifierPath","referencedDeclaration":3518,"src":"2853:3:5"}},{"function":{"id":3104,"name":"splitAt","nameLocations":["2862:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":3579,"src":"2862:7:5"}},{"function":{"id":3105,"name":"getSubslice","nameLocations":["2871:11:5"],"nodeType":"IdentifierPath","referencedDeclaration":3648,"src":"2871:11:5"}},{"function":{"id":3106,"name":"find","nameLocations":["2902:4:5"],"nodeType":"IdentifierPath","referencedDeclaration":3670,"src":"2902:4:5"}},{"function":{"id":3107,"name":"rfind","nameLocations":["2908:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3692,"src":"2908:5:5"}},{"function":{"id":3108,"name":"contains","nameLocations":["2915:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3714,"src":"2915:8:5"}},{"function":{"id":3109,"name":"startsWith","nameLocations":["2929:10:5"],"nodeType":"IdentifierPath","referencedDeclaration":3736,"src":"2929:10:5"}},{"function":{"id":3110,"name":"endsWith","nameLocations":["2941:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3758,"src":"2941:8:5"}},{"function":{"id":3111,"name":"stripPrefix","nameLocations":["2969:11:5"],"nodeType":"IdentifierPath","referencedDeclaration":3787,"src":"2969:11:5"}},{"function":{"id":3112,"name":"stripSuffix","nameLocations":["2982:11:5"],"nodeType":"IdentifierPath","referencedDeclaration":3816,"src":"2982:11:5"}},{"function":{"id":3113,"name":"splitOnce","nameLocations":["2999:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"2999:9:5"}},{"function":{"id":3114,"name":"rsplitOnce","nameLocations":["3010:10:5"],"nodeType":"IdentifierPath","referencedDeclaration":3928,"src":"3010:10:5"}},{"function":{"id":3115,"name":"replacen","nameLocations":["3026:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":4149,"src":"3026:8:5"}},{"function":{"id":3116,"name":"chars","nameLocations":["3057:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":4169,"src":"3057:5:5"}},{"function":{"id":3117,"name":"isAscii","nameLocations":["3081:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4188,"src":"3081:7:5"}}],"global":true,"typeName":{"id":3119,"nodeType":"UserDefinedTypeName","pathNode":{"id":3118,"name":"StrSlice","nameLocations":["3095:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"3095:8:5"},"referencedDeclaration":2999,"src":"3095:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}},{"id":3139,"nodeType":"FunctionDefinition","src":"3236:102:5","nodes":[],"body":{"id":3138,"nodeType":"Block","src":"3289:49:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":3134,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"3329:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3132,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"3313:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3322:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"3313:15:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3313:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3130,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"3302:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3308:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"3302:10:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (uint256) pure returns (Slice)"}},"id":3136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"functionReturnParameters":3129,"id":3137,"nodeType":"Return","src":"3295:40:5"}]},"documentation":{"id":3121,"nodeType":"StructuredDocumentation","src":"3113:122:5","text":" @dev Returns the underlying `Slice`.\n WARNING: manipulating `Slice`s can break UTF-8 for related `StrSlice`s!"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"asSlice","nameLocation":"3245:7:5","parameters":{"id":3125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3124,"mutability":"mutable","name":"self","nameLocation":"3262:4:5","nodeType":"VariableDeclaration","scope":3139,"src":"3253:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3123,"nodeType":"UserDefinedTypeName","pathNode":{"id":3122,"name":"StrSlice","nameLocations":["3253:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"3253:8:5"},"referencedDeclaration":2999,"src":"3253:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"3252:15:5"},"returnParameters":{"id":3129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3139,"src":"3282:5:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3127,"nodeType":"UserDefinedTypeName","pathNode":{"id":3126,"name":"Slice","nameLocations":["3282:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"3282:5:5"},"referencedDeclaration":74,"src":"3282:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"src":"3281:7:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3156,"nodeType":"FunctionDefinition","src":"3465:95:5","nodes":[],"body":{"id":3155,"nodeType":"Block","src":"3516:44:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3150,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3143,"src":"3545:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3148,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"3529:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3538:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"3529:15:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3529:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":3152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3554:3:5","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3529:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3147,"id":3154,"nodeType":"Return","src":"3522:35:5"}]},"documentation":{"id":3140,"nodeType":"StructuredDocumentation","src":"3340:124:5","text":" @dev Returns the pointer to the start of an in-memory string slice.\n This method is primarily for internal use."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"ptr","nameLocation":"3474:3:5","parameters":{"id":3144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3143,"mutability":"mutable","name":"self","nameLocation":"3487:4:5","nodeType":"VariableDeclaration","scope":3156,"src":"3478:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3142,"nodeType":"UserDefinedTypeName","pathNode":{"id":3141,"name":"StrSlice","nameLocations":["3478:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"3478:8:5"},"referencedDeclaration":2999,"src":"3478:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"3477:15:5"},"returnParameters":{"id":3147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3156,"src":"3507:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3145,"name":"uint256","nodeType":"ElementaryTypeName","src":"3507:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3506:9:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3174,"nodeType":"FunctionDefinition","src":"3623:110:5","nodes":[],"body":{"id":3173,"nodeType":"Block","src":"3674:59:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3167,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3160,"src":"3703:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3165,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"3687:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3696:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"3687:15:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3687:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"expression":{"id":3169,"name":"PackPtrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4412,"src":"3711:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PackPtrLen_$4412_$","typeString":"type(library PackPtrLen)"}},"id":3170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3722:8:5","memberName":"MASK_LEN","nodeType":"MemberAccess","referencedDeclaration":4315,"src":"3711:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3687:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3164,"id":3172,"nodeType":"Return","src":"3680:50:5"}]},"documentation":{"id":3157,"nodeType":"StructuredDocumentation","src":"3562:60:5","text":" @dev Returns the length in bytes, not codepoints."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"len","nameLocation":"3632:3:5","parameters":{"id":3161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3160,"mutability":"mutable","name":"self","nameLocation":"3645:4:5","nodeType":"VariableDeclaration","scope":3174,"src":"3636:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3159,"nodeType":"UserDefinedTypeName","pathNode":{"id":3158,"name":"StrSlice","nameLocations":["3636:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"3636:8:5"},"referencedDeclaration":2999,"src":"3636:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"3635:15:5"},"returnParameters":{"id":3164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3174,"src":"3665:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3162,"name":"uint256","nodeType":"ElementaryTypeName","src":"3665:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3664:9:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3194,"nodeType":"FunctionDefinition","src":"3796:116:5","nodes":[],"body":{"id":3193,"nodeType":"Block","src":"3848:64:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3185,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3178,"src":"3877:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3183,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"3861:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3870:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"3861:15:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3861:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"expression":{"id":3187,"name":"PackPtrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4412,"src":"3885:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PackPtrLen_$4412_$","typeString":"type(library PackPtrLen)"}},"id":3188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3896:8:5","memberName":"MASK_LEN","nodeType":"MemberAccess","referencedDeclaration":4315,"src":"3885:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3861:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3908:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3861:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3182,"id":3192,"nodeType":"Return","src":"3854:55:5"}]},"documentation":{"id":3175,"nodeType":"StructuredDocumentation","src":"3735:60:5","text":" @dev Returns true if the slice has a length of 0."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isEmpty","nameLocation":"3805:7:5","parameters":{"id":3179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3178,"mutability":"mutable","name":"self","nameLocation":"3822:4:5","nodeType":"VariableDeclaration","scope":3194,"src":"3813:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3177,"nodeType":"UserDefinedTypeName","pathNode":{"id":3176,"name":"StrSlice","nameLocations":["3813:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"3813:8:5"},"referencedDeclaration":2999,"src":"3813:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"3812:15:5"},"returnParameters":{"id":3182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3194,"src":"3842:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3180,"name":"bool","nodeType":"ElementaryTypeName","src":"3842:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3841:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3213,"nodeType":"FunctionDefinition","src":"4029:110:5","nodes":[],"body":{"id":3212,"nodeType":"Block","src":"4091:48:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3205,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3198,"src":"4111:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4111:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4111:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4126:7:5","memberName":"toBytes","nodeType":"MemberAccess","referencedDeclaration":288,"src":"4111:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) view returns (bytes memory)"}},"id":3209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4111:24:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4104:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3203,"name":"string","nodeType":"ElementaryTypeName","src":"4104:6:5","typeDescriptions":{}}},"id":3210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4104:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3202,"id":3211,"nodeType":"Return","src":"4097:39:5"}]},"documentation":{"id":3195,"nodeType":"StructuredDocumentation","src":"3914:114:5","text":" @dev Copies `StrSlice` to a newly allocated string.\n The `StrSlice` will NOT point to the new string."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toString","nameLocation":"4038:8:5","parameters":{"id":3199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3198,"mutability":"mutable","name":"self","nameLocation":"4056:4:5","nodeType":"VariableDeclaration","scope":3213,"src":"4047:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3197,"nodeType":"UserDefinedTypeName","pathNode":{"id":3196,"name":"StrSlice","nameLocations":["4047:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4047:8:5"},"referencedDeclaration":2999,"src":"4047:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"4046:15:5"},"returnParameters":{"id":3202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3213,"src":"4076:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3200,"name":"string","nodeType":"ElementaryTypeName","src":"4076:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4075:15:5"},"scope":4280,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":3229,"nodeType":"FunctionDefinition","src":"4332:100:5","nodes":[],"body":{"id":3228,"nodeType":"Block","src":"4393:39:5","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3222,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"4406:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4411:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4406:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4406:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4421:6:5","memberName":"keccak","nodeType":"MemberAccess","referencedDeclaration":342,"src":"4406:21:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (bytes32)"}},"id":3226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4406:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3221,"id":3227,"nodeType":"Return","src":"4399:30:5"}]},"documentation":{"id":3214,"nodeType":"StructuredDocumentation","src":"4141:190:5","text":" @dev Returns keccak256 of all the bytes of `StrSlice`.\n Note that for any `string memory b`, keccak256(b) == b.toSlice().keccak()\n (keccak256 does not include the length byte)"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"keccak","nameLocation":"4341:6:5","parameters":{"id":3218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3217,"mutability":"mutable","name":"self","nameLocation":"4357:4:5","nodeType":"VariableDeclaration","scope":3229,"src":"4348:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3216,"nodeType":"UserDefinedTypeName","pathNode":{"id":3215,"name":"StrSlice","nameLocations":["4348:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4348:8:5"},"referencedDeclaration":2999,"src":"4348:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"4347:15:5"},"returnParameters":{"id":3221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3220,"mutability":"mutable","name":"result","nameLocation":"4385:6:5","nodeType":"VariableDeclaration","scope":3229,"src":"4377:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4377:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4376:16:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3254,"nodeType":"FunctionDefinition","src":"4510:132:5","nodes":[],"body":{"id":3253,"nodeType":"Block","src":"4583:59:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3247,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"4622:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4628:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4622:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4622:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3243,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3233,"src":"4603:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4608:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4603:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4603:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4618:3:5","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":400,"src":"4603:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) view returns (bytes memory)"}},"id":3250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4603:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4596:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3241,"name":"string","nodeType":"ElementaryTypeName","src":"4596:6:5","typeDescriptions":{}}},"id":3251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:43:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3240,"id":3252,"nodeType":"Return","src":"4589:50:5"}]},"documentation":{"id":3230,"nodeType":"StructuredDocumentation","src":"4434:75:5","text":" @dev Concatenates two `StrSlice`s into a newly allocated string."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"add","nameLocation":"4519:3:5","parameters":{"id":3237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3233,"mutability":"mutable","name":"self","nameLocation":"4532:4:5","nodeType":"VariableDeclaration","scope":3254,"src":"4523:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3232,"nodeType":"UserDefinedTypeName","pathNode":{"id":3231,"name":"StrSlice","nameLocations":["4523:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4523:8:5"},"referencedDeclaration":2999,"src":"4523:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3236,"mutability":"mutable","name":"other","nameLocation":"4547:5:5","nodeType":"VariableDeclaration","scope":3254,"src":"4538:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3235,"nodeType":"UserDefinedTypeName","pathNode":{"id":3234,"name":"StrSlice","nameLocations":["4538:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4538:8:5"},"referencedDeclaration":2999,"src":"4538:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"4522:31:5"},"returnParameters":{"id":3240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3254,"src":"4568:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3238,"name":"string","nodeType":"ElementaryTypeName","src":"4568:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4567:15:5"},"scope":4280,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":3285,"nodeType":"FunctionDefinition","src":"4780:204:5","nodes":[],"body":{"id":3284,"nodeType":"Block","src":"4862:122:5","nodes":[],"statements":[{"assignments":[3271],"declarations":[{"constant":false,"id":3271,"mutability":"mutable","name":"slices","nameLocation":"4883:6:5","nodeType":"VariableDeclaration","scope":3284,"src":"4868:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_userDefinedValueType$_Slice_$74_$dyn_memory_ptr","typeString":"Slice[]"},"typeName":{"baseType":{"id":3269,"nodeType":"UserDefinedTypeName","pathNode":{"id":3268,"name":"Slice","nameLocations":["4868:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"4868:5:5"},"referencedDeclaration":74,"src":"4868:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3270,"nodeType":"ArrayTypeName","src":"4868:7:5","typeDescriptions":{"typeIdentifier":"t_array$_t_userDefinedValueType$_Slice_$74_$dyn_storage_ptr","typeString":"Slice[]"}},"visibility":"internal"}],"id":3272,"nodeType":"VariableDeclarationStatement","src":"4868:21:5"},{"AST":{"nativeSrc":"4904:30:5","nodeType":"YulBlock","src":"4904:30:5","statements":[{"nativeSrc":"4914:14:5","nodeType":"YulAssignment","src":"4914:14:5","value":{"name":"strs","nativeSrc":"4924:4:5","nodeType":"YulIdentifier","src":"4924:4:5"},"variableNames":[{"name":"slices","nativeSrc":"4914:6:5","nodeType":"YulIdentifier","src":"4914:6:5"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":3271,"isOffset":false,"isSlot":false,"src":"4914:6:5","valueSize":1},{"declaration":3262,"isOffset":false,"isSlot":false,"src":"4924:4:5","valueSize":1}],"id":3273,"nodeType":"InlineAssembly","src":"4895:39:5"},{"expression":{"arguments":[{"arguments":[{"id":3280,"name":"slices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3271,"src":"4973:6:5","typeDescriptions":{"typeIdentifier":"t_array$_t_userDefinedValueType$_Slice_$74_$dyn_memory_ptr","typeString":"Slice[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_userDefinedValueType$_Slice_$74_$dyn_memory_ptr","typeString":"Slice[] memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3276,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3258,"src":"4953:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4958:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4953:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4953:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4968:4:5","memberName":"join","nodeType":"MemberAccess","referencedDeclaration":528,"src":"4953:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$_t_array$_t_userDefinedValueType$_Slice_$74_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice[] memory) view returns (bytes memory)"}},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4953:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4946:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3274,"name":"string","nodeType":"ElementaryTypeName","src":"4946:6:5","typeDescriptions":{}}},"id":3282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3266,"id":3283,"nodeType":"Return","src":"4939:42:5"}]},"documentation":{"id":3255,"nodeType":"StructuredDocumentation","src":"4644:135:5","text":" @dev Flattens an array of `StrSlice`s into a single newly allocated string,\n placing `self` as the separator between each."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"join","nameLocation":"4789:4:5","parameters":{"id":3263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3258,"mutability":"mutable","name":"self","nameLocation":"4803:4:5","nodeType":"VariableDeclaration","scope":3285,"src":"4794:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3257,"nodeType":"UserDefinedTypeName","pathNode":{"id":3256,"name":"StrSlice","nameLocations":["4794:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4794:8:5"},"referencedDeclaration":2999,"src":"4794:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3262,"mutability":"mutable","name":"strs","nameLocation":"4827:4:5","nodeType":"VariableDeclaration","scope":3285,"src":"4809:22:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_userDefinedValueType$_StrSlice_$2999_$dyn_memory_ptr","typeString":"StrSlice[]"},"typeName":{"baseType":{"id":3260,"nodeType":"UserDefinedTypeName","pathNode":{"id":3259,"name":"StrSlice","nameLocations":["4809:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"4809:8:5"},"referencedDeclaration":2999,"src":"4809:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3261,"nodeType":"ArrayTypeName","src":"4809:10:5","typeDescriptions":{"typeIdentifier":"t_array$_t_userDefinedValueType$_StrSlice_$2999_$dyn_storage_ptr","typeString":"StrSlice[]"}},"visibility":"internal"}],"src":"4793:39:5"},"returnParameters":{"id":3266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3285,"src":"4847:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3264,"name":"string","nodeType":"ElementaryTypeName","src":"4847:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4846:15:5"},"scope":4280,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":3307,"nodeType":"FunctionDefinition","src":"5118:124:5","nodes":[],"body":{"id":3306,"nodeType":"Block","src":"5191:51:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3301,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"5223:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5223:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5223:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3297,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3289,"src":"5204:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5209:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5204:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5204:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5219:3:5","memberName":"cmp","nodeType":"MemberAccess","referencedDeclaration":715,"src":"5204:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (int256)"}},"id":3304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5204:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3296,"id":3305,"nodeType":"Return","src":"5197:42:5"}]},"documentation":{"id":3286,"nodeType":"StructuredDocumentation","src":"4986:131:5","text":" @dev Compare string slices lexicographically.\n @return result 0 for equal, < 0 for less than and > 0 for greater than."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"cmp","nameLocation":"5127:3:5","parameters":{"id":3293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3289,"mutability":"mutable","name":"self","nameLocation":"5140:4:5","nodeType":"VariableDeclaration","scope":3307,"src":"5131:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3288,"nodeType":"UserDefinedTypeName","pathNode":{"id":3287,"name":"StrSlice","nameLocations":["5131:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5131:8:5"},"referencedDeclaration":2999,"src":"5131:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3292,"mutability":"mutable","name":"other","nameLocation":"5155:5:5","nodeType":"VariableDeclaration","scope":3307,"src":"5146:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3291,"nodeType":"UserDefinedTypeName","pathNode":{"id":3290,"name":"StrSlice","nameLocations":["5146:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5146:8:5"},"referencedDeclaration":2999,"src":"5146:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5130:31:5"},"returnParameters":{"id":3296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3295,"mutability":"mutable","name":"result","nameLocation":"5183:6:5","nodeType":"VariableDeclaration","scope":3307,"src":"5176:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3294,"name":"int256","nodeType":"ElementaryTypeName","src":"5176:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5175:15:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3329,"nodeType":"FunctionDefinition","src":"5304:113:5","nodes":[],"body":{"id":3328,"nodeType":"Block","src":"5367:50:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3323,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"5398:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5404:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5398:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5398:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3319,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3311,"src":"5380:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5385:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5380:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5380:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5395:2:5","memberName":"eq","nodeType":"MemberAccess","referencedDeclaration":752,"src":"5380:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (bool)"}},"id":3326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5380:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3318,"id":3327,"nodeType":"Return","src":"5373:41:5"}]},"documentation":{"id":3308,"nodeType":"StructuredDocumentation","src":"5244:60:5","text":"@dev `self` == `other`\n Note more efficient than cmp"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"eq","nameLocation":"5313:2:5","parameters":{"id":3315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3311,"mutability":"mutable","name":"self","nameLocation":"5325:4:5","nodeType":"VariableDeclaration","scope":3329,"src":"5316:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3310,"nodeType":"UserDefinedTypeName","pathNode":{"id":3309,"name":"StrSlice","nameLocations":["5316:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5316:8:5"},"referencedDeclaration":2999,"src":"5316:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3314,"mutability":"mutable","name":"other","nameLocation":"5340:5:5","nodeType":"VariableDeclaration","scope":3329,"src":"5331:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3313,"nodeType":"UserDefinedTypeName","pathNode":{"id":3312,"name":"StrSlice","nameLocations":["5331:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5331:8:5"},"referencedDeclaration":2999,"src":"5331:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5315:31:5"},"returnParameters":{"id":3318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3329,"src":"5361:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3316,"name":"bool","nodeType":"ElementaryTypeName","src":"5361:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5360:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3351,"nodeType":"FunctionDefinition","src":"5479:113:5","nodes":[],"body":{"id":3350,"nodeType":"Block","src":"5542:50:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3345,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3336,"src":"5573:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5579:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5573:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5573:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3341,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3333,"src":"5555:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5560:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"5555:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5555:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5570:2:5","memberName":"ne","nodeType":"MemberAccess","referencedDeclaration":790,"src":"5555:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (bool)"}},"id":3348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5555:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3340,"id":3349,"nodeType":"Return","src":"5548:41:5"}]},"documentation":{"id":3330,"nodeType":"StructuredDocumentation","src":"5419:60:5","text":"@dev `self` != `other`\n Note more efficient than cmp"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"ne","nameLocation":"5488:2:5","parameters":{"id":3337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3333,"mutability":"mutable","name":"self","nameLocation":"5500:4:5","nodeType":"VariableDeclaration","scope":3351,"src":"5491:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3332,"nodeType":"UserDefinedTypeName","pathNode":{"id":3331,"name":"StrSlice","nameLocations":["5491:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5491:8:5"},"referencedDeclaration":2999,"src":"5491:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3336,"mutability":"mutable","name":"other","nameLocation":"5515:5:5","nodeType":"VariableDeclaration","scope":3351,"src":"5506:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3335,"nodeType":"UserDefinedTypeName","pathNode":{"id":3334,"name":"StrSlice","nameLocations":["5506:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5506:8:5"},"referencedDeclaration":2999,"src":"5506:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5490:31:5"},"returnParameters":{"id":3340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3351,"src":"5536:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3338,"name":"bool","nodeType":"ElementaryTypeName","src":"5536:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5535:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3371,"nodeType":"FunctionDefinition","src":"5620:98:5","nodes":[],"body":{"id":3370,"nodeType":"Block","src":"5683:35:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3365,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3358,"src":"5705:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3363,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"5696:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5701:3:5","memberName":"cmp","nodeType":"MemberAccess","referencedDeclaration":3307,"src":"5696:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,StrSlice) pure returns (int256)"}},"id":3366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5696:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":3367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5714:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5696:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3362,"id":3369,"nodeType":"Return","src":"5689:26:5"}]},"documentation":{"id":3352,"nodeType":"StructuredDocumentation","src":"5594:26:5","text":"@dev `self` < `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"lt","nameLocation":"5629:2:5","parameters":{"id":3359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3355,"mutability":"mutable","name":"self","nameLocation":"5641:4:5","nodeType":"VariableDeclaration","scope":3371,"src":"5632:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3354,"nodeType":"UserDefinedTypeName","pathNode":{"id":3353,"name":"StrSlice","nameLocations":["5632:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5632:8:5"},"referencedDeclaration":2999,"src":"5632:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3358,"mutability":"mutable","name":"other","nameLocation":"5656:5:5","nodeType":"VariableDeclaration","scope":3371,"src":"5647:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3357,"nodeType":"UserDefinedTypeName","pathNode":{"id":3356,"name":"StrSlice","nameLocations":["5647:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5647:8:5"},"referencedDeclaration":2999,"src":"5647:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5631:31:5"},"returnParameters":{"id":3362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3371,"src":"5677:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3360,"name":"bool","nodeType":"ElementaryTypeName","src":"5677:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5676:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3391,"nodeType":"FunctionDefinition","src":"5747:100:5","nodes":[],"body":{"id":3390,"nodeType":"Block","src":"5811:36:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3385,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3378,"src":"5833:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3383,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"5824:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5829:3:5","memberName":"cmp","nodeType":"MemberAccess","referencedDeclaration":3307,"src":"5824:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,StrSlice) pure returns (int256)"}},"id":3386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":3387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5843:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5824:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3382,"id":3389,"nodeType":"Return","src":"5817:27:5"}]},"documentation":{"id":3372,"nodeType":"StructuredDocumentation","src":"5720:27:5","text":"@dev `self` <= `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"lte","nameLocation":"5756:3:5","parameters":{"id":3379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3375,"mutability":"mutable","name":"self","nameLocation":"5769:4:5","nodeType":"VariableDeclaration","scope":3391,"src":"5760:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3374,"nodeType":"UserDefinedTypeName","pathNode":{"id":3373,"name":"StrSlice","nameLocations":["5760:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5760:8:5"},"referencedDeclaration":2999,"src":"5760:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3378,"mutability":"mutable","name":"other","nameLocation":"5784:5:5","nodeType":"VariableDeclaration","scope":3391,"src":"5775:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3377,"nodeType":"UserDefinedTypeName","pathNode":{"id":3376,"name":"StrSlice","nameLocations":["5775:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5775:8:5"},"referencedDeclaration":2999,"src":"5775:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5759:31:5"},"returnParameters":{"id":3382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3391,"src":"5805:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3380,"name":"bool","nodeType":"ElementaryTypeName","src":"5805:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5804:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3411,"nodeType":"FunctionDefinition","src":"5875:98:5","nodes":[],"body":{"id":3410,"nodeType":"Block","src":"5938:35:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3405,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3398,"src":"5960:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3403,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"5951:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5956:3:5","memberName":"cmp","nodeType":"MemberAccess","referencedDeclaration":3307,"src":"5951:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,StrSlice) pure returns (int256)"}},"id":3406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5951:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5969:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5951:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3402,"id":3409,"nodeType":"Return","src":"5944:26:5"}]},"documentation":{"id":3392,"nodeType":"StructuredDocumentation","src":"5849:26:5","text":"@dev `self` > `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"gt","nameLocation":"5884:2:5","parameters":{"id":3399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3395,"mutability":"mutable","name":"self","nameLocation":"5896:4:5","nodeType":"VariableDeclaration","scope":3411,"src":"5887:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3394,"nodeType":"UserDefinedTypeName","pathNode":{"id":3393,"name":"StrSlice","nameLocations":["5887:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5887:8:5"},"referencedDeclaration":2999,"src":"5887:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3398,"mutability":"mutable","name":"other","nameLocation":"5911:5:5","nodeType":"VariableDeclaration","scope":3411,"src":"5902:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3397,"nodeType":"UserDefinedTypeName","pathNode":{"id":3396,"name":"StrSlice","nameLocations":["5902:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"5902:8:5"},"referencedDeclaration":2999,"src":"5902:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"5886:31:5"},"returnParameters":{"id":3402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3411,"src":"5932:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3400,"name":"bool","nodeType":"ElementaryTypeName","src":"5932:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5931:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3431,"nodeType":"FunctionDefinition","src":"6002:100:5","nodes":[],"body":{"id":3430,"nodeType":"Block","src":"6066:36:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3425,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3418,"src":"6088:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}],"expression":{"id":3423,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3415,"src":"6079:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6084:3:5","memberName":"cmp","nodeType":"MemberAccess","referencedDeclaration":3307,"src":"6079:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,StrSlice) pure returns (int256)"}},"id":3426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6079:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":3427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6098:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6079:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3422,"id":3429,"nodeType":"Return","src":"6072:27:5"}]},"documentation":{"id":3412,"nodeType":"StructuredDocumentation","src":"5975:27:5","text":"@dev `self` >= `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"gte","nameLocation":"6011:3:5","parameters":{"id":3419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3415,"mutability":"mutable","name":"self","nameLocation":"6024:4:5","nodeType":"VariableDeclaration","scope":3431,"src":"6015:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3414,"nodeType":"UserDefinedTypeName","pathNode":{"id":3413,"name":"StrSlice","nameLocations":["6015:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"6015:8:5"},"referencedDeclaration":2999,"src":"6015:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3418,"mutability":"mutable","name":"other","nameLocation":"6039:5:5","nodeType":"VariableDeclaration","scope":3431,"src":"6030:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3417,"nodeType":"UserDefinedTypeName","pathNode":{"id":3416,"name":"StrSlice","nameLocations":["6030:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"6030:8:5"},"referencedDeclaration":2999,"src":"6030:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"6014:31:5"},"returnParameters":{"id":3422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3431,"src":"6060:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3420,"name":"bool","nodeType":"ElementaryTypeName","src":"6060:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6059:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3475,"nodeType":"FunctionDefinition","src":"6318:284:5","nodes":[],"body":{"id":3474,"nodeType":"Block","src":"6392:210:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3442,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"6402:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3443,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"6410:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6415:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"6410:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6402:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3461,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"6516:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3462,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"6525:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6530:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"6525:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6525:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6516:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3471,"nodeType":"Block","src":"6571:29:5","statements":[{"expression":{"hexValue":"66616c7365","id":3469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6588:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":3441,"id":3470,"nodeType":"Return","src":"6581:12:5"}]},"id":3472,"nodeType":"IfStatement","src":"6512:88:5","trueBody":{"id":3468,"nodeType":"Block","src":"6537:28:5","statements":[{"expression":{"hexValue":"74727565","id":3466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6554:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3441,"id":3467,"nodeType":"Return","src":"6547:11:5"}]}},"id":3473,"nodeType":"IfStatement","src":"6398:202:5","trueBody":{"id":3460,"nodeType":"Block","src":"6422:84:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":3452,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"6475:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3448,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"6451:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6456:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"6451:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6451:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6466:8:5","memberName":"getAfter","nodeType":"MemberAccess","referencedDeclaration":1127,"src":"6451:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":3453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6451:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6482:9:5","memberName":"toBytes32","nodeType":"MemberAccess","referencedDeclaration":319,"src":"6451:40:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (bytes32)"}},"id":3455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6451:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3447,"name":"isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"6439:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6439:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6498:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6439:60:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3441,"id":3459,"nodeType":"Return","src":"6432:67:5"}]}}]},"documentation":{"id":3432,"nodeType":"StructuredDocumentation","src":"6104:213:5","text":" @dev Checks that `index`-th byte is safe to split on.\n The start and end of the string (when index == self.len()) are considered to be boundaries.\n Returns false if index is greater than self.len()."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isCharBoundary","nameLocation":"6327:14:5","parameters":{"id":3438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3435,"mutability":"mutable","name":"self","nameLocation":"6351:4:5","nodeType":"VariableDeclaration","scope":3475,"src":"6342:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3434,"nodeType":"UserDefinedTypeName","pathNode":{"id":3433,"name":"StrSlice","nameLocations":["6342:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"6342:8:5"},"referencedDeclaration":2999,"src":"6342:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3437,"mutability":"mutable","name":"index","nameLocation":"6365:5:5","nodeType":"VariableDeclaration","scope":3475,"src":"6357:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3436,"name":"uint256","nodeType":"ElementaryTypeName","src":"6357:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6341:30:5"},"returnParameters":{"id":3441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3475,"src":"6386:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3439,"name":"bool","nodeType":"ElementaryTypeName","src":"6386:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6385:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3518,"nodeType":"FunctionDefinition","src":"6703:288:5","nodes":[],"body":{"id":3517,"nodeType":"Block","src":"6774:217:5","nodes":[],"statements":[{"assignments":[3488],"declarations":[{"constant":false,"id":3488,"mutability":"mutable","name":"b","nameLocation":"6788:1:5","nodeType":"VariableDeclaration","scope":3517,"src":"6780:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6780:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":3497,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":3493,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3481,"src":"6822:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3489,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3479,"src":"6792:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6797:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"6792:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6807:14:5","memberName":"getAfterStrict","nodeType":"MemberAccess","referencedDeclaration":1166,"src":"6792:29:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":3494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6829:9:5","memberName":"toBytes32","nodeType":"MemberAccess","referencedDeclaration":319,"src":"6792:46:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (bytes32)"}},"id":3496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6780:60:5"},{"assignments":[3499],"declarations":[{"constant":false,"id":3499,"mutability":"mutable","name":"charLen","nameLocation":"6854:7:5","nodeType":"VariableDeclaration","scope":3517,"src":"6846:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3498,"name":"uint256","nodeType":"ElementaryTypeName","src":"6846:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3503,"initialValue":{"arguments":[{"id":3501,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3488,"src":"6876:1:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3500,"name":"isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"6864:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":3502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6846:32:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3504,"name":"charLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6888:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6899:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6888:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3510,"nodeType":"IfStatement","src":"6884:56:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3507,"name":"StrSlice__InvalidCharBoundary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"6909:29:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6909:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3509,"nodeType":"RevertStatement","src":"6902:38:5"}},{"expression":{"arguments":[{"id":3513,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3488,"src":"6977:1:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":3514,"name":"charLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6980:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3511,"name":"StrChar__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2017,"src":"6953:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrChar___$2017_$","typeString":"type(library StrChar__)"}},"id":3512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6963:13:5","memberName":"fromUnchecked","nodeType":"MemberAccess","referencedDeclaration":2016,"src":"6953:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"function (bytes32,uint256) pure returns (StrChar)"}},"id":3515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6953:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"functionReturnParameters":3486,"id":3516,"nodeType":"Return","src":"6946:42:5"}]},"documentation":{"id":3476,"nodeType":"StructuredDocumentation","src":"6604:98:5","text":" @dev Returns the character at `index` (in bytes).\n Reverts if index is out of bounds."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"get","nameLocation":"6712:3:5","parameters":{"id":3482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3479,"mutability":"mutable","name":"self","nameLocation":"6725:4:5","nodeType":"VariableDeclaration","scope":3518,"src":"6716:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3478,"nodeType":"UserDefinedTypeName","pathNode":{"id":3477,"name":"StrSlice","nameLocations":["6716:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"6716:8:5"},"referencedDeclaration":2999,"src":"6716:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3481,"mutability":"mutable","name":"index","nameLocation":"6739:5:5","nodeType":"VariableDeclaration","scope":3518,"src":"6731:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3480,"name":"uint256","nodeType":"ElementaryTypeName","src":"6731:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6715:30:5"},"returnParameters":{"id":3486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3485,"mutability":"mutable","name":"char","nameLocation":"6768:4:5","nodeType":"VariableDeclaration","scope":3518,"src":"6760:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":3484,"nodeType":"UserDefinedTypeName","pathNode":{"id":3483,"name":"StrChar","nameLocations":["6760:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"6760:7:5"},"referencedDeclaration":1942,"src":"6760:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"6759:14:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3579,"nodeType":"FunctionDefinition","src":"7122:395:5","nodes":[],"body":{"id":3578,"nodeType":"Block","src":"7201:316:5","nodes":[],"statements":[{"assignments":[3535,3538],"declarations":[{"constant":false,"id":3535,"mutability":"mutable","name":"lSlice","nameLocation":"7214:6:5","nodeType":"VariableDeclaration","scope":3578,"src":"7208:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3534,"nodeType":"UserDefinedTypeName","pathNode":{"id":3533,"name":"Slice","nameLocations":["7208:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"7208:5:5"},"referencedDeclaration":74,"src":"7208:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"},{"constant":false,"id":3538,"mutability":"mutable","name":"rSlice","nameLocation":"7228:6:5","nodeType":"VariableDeclaration","scope":3578,"src":"7222:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3537,"nodeType":"UserDefinedTypeName","pathNode":{"id":3536,"name":"Slice","nameLocations":["7222:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"7222:5:5"},"referencedDeclaration":74,"src":"7222:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"id":3545,"initialValue":{"arguments":[{"id":3543,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3524,"src":"7261:3:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3539,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3522,"src":"7238:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7243:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"7238:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7238:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7253:7:5","memberName":"splitAt","nodeType":"MemberAccess","referencedDeclaration":1011,"src":"7238:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice,Slice)"}},"id":3544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7238:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$","typeString":"tuple(Slice,Slice)"}},"nodeType":"VariableDeclarationStatement","src":"7207:58:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7275:35:5","subExpression":{"arguments":[{"id":3548,"name":"lSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3535,"src":"7303:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3546,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"7276:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":3547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7287:15:5","memberName":"isBoundaryStart","nodeType":"MemberAccess","referencedDeclaration":3070,"src":"7276:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$","typeString":"function (Slice) pure returns (bool)"}},"id":3549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7276:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":3555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7314:35:5","subExpression":{"arguments":[{"id":3553,"name":"rSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"7342:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3551,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"7315:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":3552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7326:15:5","memberName":"isBoundaryStart","nodeType":"MemberAccess","referencedDeclaration":3070,"src":"7315:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$","typeString":"function (Slice) pure returns (bool)"}},"id":3554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7315:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7275:74:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3561,"nodeType":"IfStatement","src":"7271:135:5","trueBody":{"id":3560,"nodeType":"Block","src":"7351:55:5","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3557,"name":"StrSlice__InvalidCharBoundary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"7368:29:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7368:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3559,"nodeType":"RevertStatement","src":"7361:38:5"}]}},{"expression":{"components":[{"arguments":[{"arguments":[{"id":3566,"name":"lSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3535,"src":"7455:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3564,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"7442:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7448:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"7442:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7442:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3562,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"7428:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7437:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"7428:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},{"arguments":[{"arguments":[{"id":3573,"name":"rSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"7500:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3571,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"7487:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7493:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"7487:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7487:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3569,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"7473:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7482:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"7473:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7473:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"id":3576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7418:96:5","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(StrSlice,StrSlice)"}},"functionReturnParameters":3532,"id":3577,"nodeType":"Return","src":"7411:103:5"}]},"documentation":{"id":3519,"nodeType":"StructuredDocumentation","src":"6993:128:5","text":" @dev Divides one string slice into two at an index.\n Reverts when splitting on a non-boundary (use isCharBoundary)."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"splitAt","nameLocation":"7131:7:5","parameters":{"id":3525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3522,"mutability":"mutable","name":"self","nameLocation":"7148:4:5","nodeType":"VariableDeclaration","scope":3579,"src":"7139:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3521,"nodeType":"UserDefinedTypeName","pathNode":{"id":3520,"name":"StrSlice","nameLocations":["7139:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"7139:8:5"},"referencedDeclaration":2999,"src":"7139:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3524,"mutability":"mutable","name":"mid","nameLocation":"7162:3:5","nodeType":"VariableDeclaration","scope":3579,"src":"7154:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3523,"name":"uint256","nodeType":"ElementaryTypeName","src":"7154:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7138:28:5"},"returnParameters":{"id":3532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3579,"src":"7181:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3527,"nodeType":"UserDefinedTypeName","pathNode":{"id":3526,"name":"StrSlice","nameLocations":["7181:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"7181:8:5"},"referencedDeclaration":2999,"src":"7181:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3579,"src":"7191:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3530,"nodeType":"UserDefinedTypeName","pathNode":{"id":3529,"name":"StrSlice","nameLocations":["7191:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"7191:8:5"},"referencedDeclaration":2999,"src":"7191:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"7180:20:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3648,"nodeType":"FunctionDefinition","src":"7639:481:5","nodes":[],"body":{"id":3647,"nodeType":"Block","src":"7727:393:5","nodes":[],"statements":[{"assignments":[3595],"declarations":[{"constant":false,"id":3595,"mutability":"mutable","name":"subslice","nameLocation":"7739:8:5","nodeType":"VariableDeclaration","scope":3647,"src":"7733:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3594,"nodeType":"UserDefinedTypeName","pathNode":{"id":3593,"name":"Slice","nameLocations":["7733:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"7733:5:5"},"referencedDeclaration":74,"src":"7733:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"id":3603,"initialValue":{"arguments":[{"id":3600,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"7777:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3601,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"7784:3:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3583,"src":"7750:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7755:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"7750:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7750:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7765:11:5","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":1054,"src":"7750:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256,uint256) pure returns (Slice)"}},"id":3602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7750:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"nodeType":"VariableDeclarationStatement","src":"7733:55:5"},{"condition":{"id":3608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7798:37:5","subExpression":{"arguments":[{"id":3606,"name":"subslice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3595,"src":"7826:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3604,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"7799:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":3605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7810:15:5","memberName":"isBoundaryStart","nodeType":"MemberAccess","referencedDeclaration":3070,"src":"7799:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$","typeString":"function (Slice) pure returns (bool)"}},"id":3607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7799:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3612,"nodeType":"IfStatement","src":"7794:81:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3609,"name":"StrSlice__InvalidCharBoundary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"7844:29:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7844:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3611,"nodeType":"RevertStatement","src":"7837:38:5"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3613,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"7885:3:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3614,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3583,"src":"7892:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7897:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"7892:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7892:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7885:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3638,"nodeType":"IfStatement","src":"7881:187:5","trueBody":{"id":3637,"nodeType":"Block","src":"7904:164:5","statements":[{"assignments":[null,3620],"declarations":[null,{"constant":false,"id":3620,"mutability":"mutable","name":"nextSubslice","nameLocation":"7923:12:5","nodeType":"VariableDeclaration","scope":3637,"src":"7917:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3619,"nodeType":"UserDefinedTypeName","pathNode":{"id":3618,"name":"Slice","nameLocations":["7917:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"7917:5:5"},"referencedDeclaration":74,"src":"7917:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"id":3627,"initialValue":{"arguments":[{"id":3625,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"7962:3:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3621,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3583,"src":"7939:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7944:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"7939:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7939:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7954:7:5","memberName":"splitAt","nodeType":"MemberAccess","referencedDeclaration":1011,"src":"7939:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice,Slice)"}},"id":3626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7939:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$","typeString":"tuple(Slice,Slice)"}},"nodeType":"VariableDeclarationStatement","src":"7914:52:5"},{"condition":{"id":3632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7980:41:5","subExpression":{"arguments":[{"id":3630,"name":"nextSubslice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"8008:12:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3628,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"7981:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":3629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7992:15:5","memberName":"isBoundaryStart","nodeType":"MemberAccess","referencedDeclaration":3070,"src":"7981:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$","typeString":"function (Slice) pure returns (bool)"}},"id":3631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:40:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3636,"nodeType":"IfStatement","src":"7976:85:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3633,"name":"StrSlice__InvalidCharBoundary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"8030:29:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8030:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3635,"nodeType":"RevertStatement","src":"8023:38:5"}}]}},{"expression":{"arguments":[{"arguments":[{"id":3643,"name":"subslice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3595,"src":"8107:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3641,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8094:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8100:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"8094:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8094:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3639,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"8080:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8089:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"8080:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8080:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3592,"id":3646,"nodeType":"Return","src":"8073:44:5"}]},"documentation":{"id":3580,"nodeType":"StructuredDocumentation","src":"7519:119:5","text":" @dev Returns a subslice [start..end) of `self`.\n Reverts when slicing a non-boundary (use isCharBoundary)."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"getSubslice","nameLocation":"7648:11:5","parameters":{"id":3588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3583,"mutability":"mutable","name":"self","nameLocation":"7669:4:5","nodeType":"VariableDeclaration","scope":3648,"src":"7660:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3582,"nodeType":"UserDefinedTypeName","pathNode":{"id":3581,"name":"StrSlice","nameLocations":["7660:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"7660:8:5"},"referencedDeclaration":2999,"src":"7660:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3585,"mutability":"mutable","name":"start","nameLocation":"7683:5:5","nodeType":"VariableDeclaration","scope":3648,"src":"7675:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3584,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3587,"mutability":"mutable","name":"end","nameLocation":"7698:3:5","nodeType":"VariableDeclaration","scope":3648,"src":"7690:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3586,"name":"uint256","nodeType":"ElementaryTypeName","src":"7690:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7659:43:5"},"returnParameters":{"id":3592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3648,"src":"7717:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3590,"nodeType":"UserDefinedTypeName","pathNode":{"id":3589,"name":"StrSlice","nameLocations":["7717:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"7717:8:5"},"referencedDeclaration":2999,"src":"7717:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"7716:10:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3670,"nodeType":"FunctionDefinition","src":"8276:124:5","nodes":[],"body":{"id":3669,"nodeType":"Block","src":"8346:54:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3664,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3655,"src":"8379:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8387:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8379:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8379:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3660,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3652,"src":"8359:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8364:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8359:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8359:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8374:4:5","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":1315,"src":"8359:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (uint256)"}},"id":3667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8359:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3659,"id":3668,"nodeType":"Return","src":"8352:45:5"}]},"documentation":{"id":3649,"nodeType":"StructuredDocumentation","src":"8122:153:5","text":" @dev Returns the byte index of the first slice of `self` that matches `pattern`.\n Returns type(uint256).max if the `pattern` does not match."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"find","nameLocation":"8285:4:5","parameters":{"id":3656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3652,"mutability":"mutable","name":"self","nameLocation":"8299:4:5","nodeType":"VariableDeclaration","scope":3670,"src":"8290:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3651,"nodeType":"UserDefinedTypeName","pathNode":{"id":3650,"name":"StrSlice","nameLocations":["8290:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8290:8:5"},"referencedDeclaration":2999,"src":"8290:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3655,"mutability":"mutable","name":"pattern","nameLocation":"8314:7:5","nodeType":"VariableDeclaration","scope":3670,"src":"8305:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3654,"nodeType":"UserDefinedTypeName","pathNode":{"id":3653,"name":"StrSlice","nameLocations":["8305:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8305:8:5"},"referencedDeclaration":2999,"src":"8305:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"8289:33:5"},"returnParameters":{"id":3659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3670,"src":"8337:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3657,"name":"uint256","nodeType":"ElementaryTypeName","src":"8337:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8336:9:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3692,"nodeType":"FunctionDefinition","src":"8555:126:5","nodes":[],"body":{"id":3691,"nodeType":"Block","src":"8626:55:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3686,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3677,"src":"8660:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8668:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8660:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8660:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3682,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3674,"src":"8639:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8644:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8639:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8639:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8654:5:5","memberName":"rfind","nodeType":"MemberAccess","referencedDeclaration":1466,"src":"8639:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (uint256)"}},"id":3689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8639:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3681,"id":3690,"nodeType":"Return","src":"8632:46:5"}]},"documentation":{"id":3671,"nodeType":"StructuredDocumentation","src":"8402:152:5","text":" @dev Returns the byte index of the last slice of `self` that matches `pattern`.\n Returns type(uint256).max if the `pattern` does not match."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"rfind","nameLocation":"8564:5:5","parameters":{"id":3678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3674,"mutability":"mutable","name":"self","nameLocation":"8579:4:5","nodeType":"VariableDeclaration","scope":3692,"src":"8570:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3673,"nodeType":"UserDefinedTypeName","pathNode":{"id":3672,"name":"StrSlice","nameLocations":["8570:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8570:8:5"},"referencedDeclaration":2999,"src":"8570:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3677,"mutability":"mutable","name":"pattern","nameLocation":"8594:7:5","nodeType":"VariableDeclaration","scope":3692,"src":"8585:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3676,"nodeType":"UserDefinedTypeName","pathNode":{"id":3675,"name":"StrSlice","nameLocations":["8585:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8585:8:5"},"referencedDeclaration":2999,"src":"8585:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"8569:33:5"},"returnParameters":{"id":3681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3692,"src":"8617:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3679,"name":"uint256","nodeType":"ElementaryTypeName","src":"8617:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8616:9:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3714,"nodeType":"FunctionDefinition","src":"8775:129:5","nodes":[],"body":{"id":3713,"nodeType":"Block","src":"8846:58:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3708,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3699,"src":"8883:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8891:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8883:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8883:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3704,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3696,"src":"8859:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8864:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"8859:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8859:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8874:8:5","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":1490,"src":"8859:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (bool)"}},"id":3711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8859:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3703,"id":3712,"nodeType":"Return","src":"8852:49:5"}]},"documentation":{"id":3693,"nodeType":"StructuredDocumentation","src":"8683:91:5","text":" @dev Returns true if the given pattern matches a sub-slice of this string slice."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"contains","nameLocation":"8784:8:5","parameters":{"id":3700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3696,"mutability":"mutable","name":"self","nameLocation":"8802:4:5","nodeType":"VariableDeclaration","scope":3714,"src":"8793:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3695,"nodeType":"UserDefinedTypeName","pathNode":{"id":3694,"name":"StrSlice","nameLocations":["8793:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8793:8:5"},"referencedDeclaration":2999,"src":"8793:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3699,"mutability":"mutable","name":"pattern","nameLocation":"8817:7:5","nodeType":"VariableDeclaration","scope":3714,"src":"8808:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3698,"nodeType":"UserDefinedTypeName","pathNode":{"id":3697,"name":"StrSlice","nameLocations":["8808:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"8808:8:5"},"referencedDeclaration":2999,"src":"8808:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"8792:33:5"},"returnParameters":{"id":3703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3714,"src":"8840:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3701,"name":"bool","nodeType":"ElementaryTypeName","src":"8840:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8839:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3736,"nodeType":"FunctionDefinition","src":"8995:133:5","nodes":[],"body":{"id":3735,"nodeType":"Block","src":"9068:60:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3730,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3721,"src":"9107:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9115:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9107:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9107:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3726,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3718,"src":"9081:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9086:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9081:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9081:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9096:10:5","memberName":"startsWith","nodeType":"MemberAccess","referencedDeclaration":1543,"src":"9081:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (bool)"}},"id":3733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9081:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3725,"id":3734,"nodeType":"Return","src":"9074:51:5"}]},"documentation":{"id":3715,"nodeType":"StructuredDocumentation","src":"8906:88:5","text":" @dev Returns true if the given pattern matches a prefix of this string slice."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"startsWith","nameLocation":"9004:10:5","parameters":{"id":3722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3718,"mutability":"mutable","name":"self","nameLocation":"9024:4:5","nodeType":"VariableDeclaration","scope":3736,"src":"9015:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3717,"nodeType":"UserDefinedTypeName","pathNode":{"id":3716,"name":"StrSlice","nameLocations":["9015:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9015:8:5"},"referencedDeclaration":2999,"src":"9015:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3721,"mutability":"mutable","name":"pattern","nameLocation":"9039:7:5","nodeType":"VariableDeclaration","scope":3736,"src":"9030:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3720,"nodeType":"UserDefinedTypeName","pathNode":{"id":3719,"name":"StrSlice","nameLocations":["9030:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9030:8:5"},"referencedDeclaration":2999,"src":"9030:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9014:33:5"},"returnParameters":{"id":3725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3736,"src":"9062:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3723,"name":"bool","nodeType":"ElementaryTypeName","src":"9062:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9061:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3758,"nodeType":"FunctionDefinition","src":"9219:129:5","nodes":[],"body":{"id":3757,"nodeType":"Block","src":"9290:58:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3752,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3743,"src":"9327:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9335:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9327:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3748,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3740,"src":"9303:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9308:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9303:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9303:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9318:8:5","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":1598,"src":"9303:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (bool)"}},"id":3755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9303:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3747,"id":3756,"nodeType":"Return","src":"9296:49:5"}]},"documentation":{"id":3737,"nodeType":"StructuredDocumentation","src":"9130:88:5","text":" @dev Returns true if the given pattern matches a suffix of this string slice."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"endsWith","nameLocation":"9228:8:5","parameters":{"id":3744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3740,"mutability":"mutable","name":"self","nameLocation":"9246:4:5","nodeType":"VariableDeclaration","scope":3758,"src":"9237:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3739,"nodeType":"UserDefinedTypeName","pathNode":{"id":3738,"name":"StrSlice","nameLocations":["9237:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9237:8:5"},"referencedDeclaration":2999,"src":"9237:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3743,"mutability":"mutable","name":"pattern","nameLocation":"9261:7:5","nodeType":"VariableDeclaration","scope":3758,"src":"9252:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3742,"nodeType":"UserDefinedTypeName","pathNode":{"id":3741,"name":"StrSlice","nameLocations":["9252:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9252:8:5"},"referencedDeclaration":2999,"src":"9252:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9236:33:5"},"returnParameters":{"id":3747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3758,"src":"9284:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3745,"name":"bool","nodeType":"ElementaryTypeName","src":"9284:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9283:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3787,"nodeType":"FunctionDefinition","src":"9476:189:5","nodes":[],"body":{"id":3786,"nodeType":"Block","src":"9561:104:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3779,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3765,"src":"9637:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9645:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9637:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9637:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3775,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3762,"src":"9610:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9615:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9610:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9610:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9625:11:5","memberName":"stripPrefix","nodeType":"MemberAccess","referencedDeclaration":1652,"src":"9610:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (Slice)"}},"id":3782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9610:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3773,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"9588:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9594:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"9588:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:73:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3771,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"9574:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9583:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"9574:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9574:88:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3770,"id":3785,"nodeType":"Return","src":"9567:95:5"}]},"documentation":{"id":3759,"nodeType":"StructuredDocumentation","src":"9350:125:5","text":" @dev Returns a subslice with the prefix removed.\n If it does not start with `prefix`, returns `self` unmodified."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"stripPrefix","nameLocation":"9485:11:5","parameters":{"id":3766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3762,"mutability":"mutable","name":"self","nameLocation":"9506:4:5","nodeType":"VariableDeclaration","scope":3787,"src":"9497:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3761,"nodeType":"UserDefinedTypeName","pathNode":{"id":3760,"name":"StrSlice","nameLocations":["9497:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9497:8:5"},"referencedDeclaration":2999,"src":"9497:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3765,"mutability":"mutable","name":"pattern","nameLocation":"9521:7:5","nodeType":"VariableDeclaration","scope":3787,"src":"9512:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3764,"nodeType":"UserDefinedTypeName","pathNode":{"id":3763,"name":"StrSlice","nameLocations":["9512:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9512:8:5"},"referencedDeclaration":2999,"src":"9512:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9496:33:5"},"returnParameters":{"id":3770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3769,"mutability":"mutable","name":"result","nameLocation":"9553:6:5","nodeType":"VariableDeclaration","scope":3787,"src":"9544:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3768,"nodeType":"UserDefinedTypeName","pathNode":{"id":3767,"name":"StrSlice","nameLocations":["9544:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9544:8:5"},"referencedDeclaration":2999,"src":"9544:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9543:17:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3816,"nodeType":"FunctionDefinition","src":"9791:189:5","nodes":[],"body":{"id":3815,"nodeType":"Block","src":"9876:104:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3808,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3794,"src":"9952:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9960:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9952:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9952:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3804,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3791,"src":"9925:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9930:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"9925:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9925:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9940:11:5","memberName":"stripSuffix","nodeType":"MemberAccess","referencedDeclaration":1716,"src":"9925:26:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (Slice)"}},"id":3811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9925:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":3802,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"9903:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":3803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9909:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"9903:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":3812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9903:73:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3800,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"9889:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9898:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"9889:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9889:88:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"functionReturnParameters":3799,"id":3814,"nodeType":"Return","src":"9882:95:5"}]},"documentation":{"id":3788,"nodeType":"StructuredDocumentation","src":"9667:123:5","text":" @dev Returns a subslice with the suffix removed.\n If it does not end with `suffix`, returns `self` unmodified."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"stripSuffix","nameLocation":"9800:11:5","parameters":{"id":3795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3791,"mutability":"mutable","name":"self","nameLocation":"9821:4:5","nodeType":"VariableDeclaration","scope":3816,"src":"9812:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3790,"nodeType":"UserDefinedTypeName","pathNode":{"id":3789,"name":"StrSlice","nameLocations":["9812:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9812:8:5"},"referencedDeclaration":2999,"src":"9812:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3794,"mutability":"mutable","name":"pattern","nameLocation":"9836:7:5","nodeType":"VariableDeclaration","scope":3816,"src":"9827:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3793,"nodeType":"UserDefinedTypeName","pathNode":{"id":3792,"name":"StrSlice","nameLocations":["9827:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9827:8:5"},"referencedDeclaration":2999,"src":"9827:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9811:33:5"},"returnParameters":{"id":3799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3798,"mutability":"mutable","name":"result","nameLocation":"9868:6:5","nodeType":"VariableDeclaration","scope":3816,"src":"9859:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3797,"nodeType":"UserDefinedTypeName","pathNode":{"id":3796,"name":"StrSlice","nameLocations":["9859:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"9859:8:5"},"referencedDeclaration":2999,"src":"9859:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"9858:17:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3872,"nodeType":"FunctionDefinition","src":"10226:381:5","nodes":[],"body":{"id":3871,"nodeType":"Block","src":"10346:261:5","nodes":[],"statements":[{"assignments":[3835],"declarations":[{"constant":false,"id":3835,"mutability":"mutable","name":"index","nameLocation":"10360:5:5","nodeType":"VariableDeclaration","scope":3871,"src":"10352:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3834,"name":"uint256","nodeType":"ElementaryTypeName","src":"10352:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3844,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3840,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3823,"src":"10388:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10396:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"10388:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10388:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3836,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3820,"src":"10368:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10373:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"10368:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10368:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10383:4:5","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":1315,"src":"10368:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (uint256)"}},"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10368:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10352:54:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3845,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3835,"src":"10416:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":3848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10430:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3847,"name":"uint256","nodeType":"ElementaryTypeName","src":"10430:7:5","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":3846,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10425:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10425:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":3850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10439:3:5","memberName":"max","nodeType":"MemberAccess","src":"10425:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10416:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3869,"nodeType":"Block","src":"10526:79:5","statements":[{"expression":{"arguments":[{"id":3863,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3835,"src":"10577:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3864,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3823,"src":"10584:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10592:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"10584:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10584:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3861,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3820,"src":"10560:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10565:11:5","memberName":"_splitFound","nodeType":"MemberAccess","referencedDeclaration":4279,"src":"10560:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,uint256,uint256) pure returns (bool,StrSlice,StrSlice)"}},"id":3867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10560:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(bool,StrSlice,StrSlice)"}},"functionReturnParameters":3833,"id":3868,"nodeType":"Return","src":"10553:45:5"}]},"id":3870,"nodeType":"IfStatement","src":"10412:193:5","trueBody":{"id":3860,"nodeType":"Block","src":"10444:76:5","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":3852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10483:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":3853,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3820,"src":"10490:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},{"arguments":[{"hexValue":"30","id":3856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":3854,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"10496:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10505:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"10496:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10496:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"id":3858,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10482:31:5","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(bool,StrSlice,StrSlice)"}},"functionReturnParameters":3833,"id":3859,"nodeType":"Return","src":"10475:38:5"}]}}]},"documentation":{"id":3817,"nodeType":"StructuredDocumentation","src":"9982:243:5","text":" @dev Splits a slice into 2 on the first match of `pattern`.\n If found == true, `prefix` and `suffix` will be strictly before and after the match.\n If found == false, `prefix` will be the entire string and `suffix` will be empty."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"splitOnce","nameLocation":"10235:9:5","parameters":{"id":3824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3820,"mutability":"mutable","name":"self","nameLocation":"10254:4:5","nodeType":"VariableDeclaration","scope":3872,"src":"10245:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3819,"nodeType":"UserDefinedTypeName","pathNode":{"id":3818,"name":"StrSlice","nameLocations":["10245:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10245:8:5"},"referencedDeclaration":2999,"src":"10245:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3823,"mutability":"mutable","name":"pattern","nameLocation":"10269:7:5","nodeType":"VariableDeclaration","scope":3872,"src":"10260:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3822,"nodeType":"UserDefinedTypeName","pathNode":{"id":3821,"name":"StrSlice","nameLocations":["10260:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10260:8:5"},"referencedDeclaration":2999,"src":"10260:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"10244:33:5"},"returnParameters":{"id":3833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3826,"mutability":"mutable","name":"found","nameLocation":"10305:5:5","nodeType":"VariableDeclaration","scope":3872,"src":"10300:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3825,"name":"bool","nodeType":"ElementaryTypeName","src":"10300:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3829,"mutability":"mutable","name":"prefix","nameLocation":"10321:6:5","nodeType":"VariableDeclaration","scope":3872,"src":"10312:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3828,"nodeType":"UserDefinedTypeName","pathNode":{"id":3827,"name":"StrSlice","nameLocations":["10312:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10312:8:5"},"referencedDeclaration":2999,"src":"10312:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3832,"mutability":"mutable","name":"suffix","nameLocation":"10338:6:5","nodeType":"VariableDeclaration","scope":3872,"src":"10329:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3831,"nodeType":"UserDefinedTypeName","pathNode":{"id":3830,"name":"StrSlice","nameLocations":["10329:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10329:8:5"},"referencedDeclaration":2999,"src":"10329:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"10299:46:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":3928,"nodeType":"FunctionDefinition","src":"10852:383:5","nodes":[],"body":{"id":3927,"nodeType":"Block","src":"10973:262:5","nodes":[],"statements":[{"assignments":[3891],"declarations":[{"constant":false,"id":3891,"mutability":"mutable","name":"index","nameLocation":"10987:5:5","nodeType":"VariableDeclaration","scope":3927,"src":"10979:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3890,"name":"uint256","nodeType":"ElementaryTypeName","src":"10979:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3900,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3896,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3879,"src":"11016:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11024:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"11016:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11016:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3892,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3876,"src":"10995:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11000:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"10995:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":3895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11010:5:5","memberName":"rfind","nodeType":"MemberAccess","referencedDeclaration":1466,"src":"10995:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (uint256)"}},"id":3899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10979:55:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3901,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3891,"src":"11044:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":3904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11058:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3903,"name":"uint256","nodeType":"ElementaryTypeName","src":"11058:7:5","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":3902,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11053:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":3906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11067:3:5","memberName":"max","nodeType":"MemberAccess","src":"11053:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11044:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3925,"nodeType":"Block","src":"11154:79:5","statements":[{"expression":{"arguments":[{"id":3919,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3891,"src":"11205:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3920,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3879,"src":"11212:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11220:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"11212:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11212:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3917,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3876,"src":"11188:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11193:11:5","memberName":"_splitFound","nodeType":"MemberAccess","referencedDeclaration":4279,"src":"11188:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice,uint256,uint256) pure returns (bool,StrSlice,StrSlice)"}},"id":3923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11188:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(bool,StrSlice,StrSlice)"}},"functionReturnParameters":3889,"id":3924,"nodeType":"Return","src":"11181:45:5"}]},"id":3926,"nodeType":"IfStatement","src":"11040:193:5","trueBody":{"id":3916,"nodeType":"Block","src":"11072:76:5","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":3908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11111:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":3911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11132:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":3909,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"11118:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":3910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11127:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"11118:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":3912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11118:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},{"id":3913,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3876,"src":"11136:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"id":3914,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11110:31:5","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(bool,StrSlice,StrSlice)"}},"functionReturnParameters":3889,"id":3915,"nodeType":"Return","src":"11103:38:5"}]}}]},"documentation":{"id":3873,"nodeType":"StructuredDocumentation","src":"10609:242:5","text":" @dev Splits a slice into 2 on the last match of `pattern`.\n If found == true, `prefix` and `suffix` will be strictly before and after the match.\n If found == false, `prefix` will be empty and `suffix` will be the entire string."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"rsplitOnce","nameLocation":"10861:10:5","parameters":{"id":3880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3876,"mutability":"mutable","name":"self","nameLocation":"10881:4:5","nodeType":"VariableDeclaration","scope":3928,"src":"10872:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3875,"nodeType":"UserDefinedTypeName","pathNode":{"id":3874,"name":"StrSlice","nameLocations":["10872:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10872:8:5"},"referencedDeclaration":2999,"src":"10872:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3879,"mutability":"mutable","name":"pattern","nameLocation":"10896:7:5","nodeType":"VariableDeclaration","scope":3928,"src":"10887:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3878,"nodeType":"UserDefinedTypeName","pathNode":{"id":3877,"name":"StrSlice","nameLocations":["10887:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10887:8:5"},"referencedDeclaration":2999,"src":"10887:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"10871:33:5"},"returnParameters":{"id":3889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3882,"mutability":"mutable","name":"found","nameLocation":"10932:5:5","nodeType":"VariableDeclaration","scope":3928,"src":"10927:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3881,"name":"bool","nodeType":"ElementaryTypeName","src":"10927:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3885,"mutability":"mutable","name":"prefix","nameLocation":"10948:6:5","nodeType":"VariableDeclaration","scope":3928,"src":"10939:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3884,"nodeType":"UserDefinedTypeName","pathNode":{"id":3883,"name":"StrSlice","nameLocations":["10939:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10939:8:5"},"referencedDeclaration":2999,"src":"10939:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3888,"mutability":"mutable","name":"suffix","nameLocation":"10965:6:5","nodeType":"VariableDeclaration","scope":3928,"src":"10956:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3887,"nodeType":"UserDefinedTypeName","pathNode":{"id":3886,"name":"StrSlice","nameLocations":["10956:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"10956:8:5"},"referencedDeclaration":2999,"src":"10956:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"10926:46:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4149,"nodeType":"FunctionDefinition","src":"11502:2076:5","nodes":[],"body":{"id":4148,"nodeType":"Block","src":"11628:1950:5","nodes":[],"statements":[{"assignments":[3946],"declarations":[{"constant":false,"id":3946,"mutability":"mutable","name":"patLen","nameLocation":"11642:6:5","nodeType":"VariableDeclaration","scope":4148,"src":"11634:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3945,"name":"uint256","nodeType":"ElementaryTypeName","src":"11634:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3950,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3947,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3935,"src":"11651:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11659:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"11651:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11651:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11634:30:5"},{"assignments":[3952],"declarations":[{"constant":false,"id":3952,"mutability":"mutable","name":"toLen","nameLocation":"11678:5:5","nodeType":"VariableDeclaration","scope":4148,"src":"11670:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3951,"name":"uint256","nodeType":"ElementaryTypeName","src":"11670:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3956,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3953,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"11686:2:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11689:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"11686:6:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11686:8:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11670:24:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3958,"name":"patLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3946,"src":"11779:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":3959,"name":"toLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3952,"src":"11789:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11779:15:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3957,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"11772:6:5","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11772:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3962,"nodeType":"ExpressionStatement","src":"11772:23:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3964,"name":"patLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3946,"src":"11808:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11817:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11808:10:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3963,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"11801:6:5","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11801:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3968,"nodeType":"ExpressionStatement","src":"11801:18:5"},{"expression":{"id":3976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3969,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"11826:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3972,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3932,"src":"11843:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11848:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"11843:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":3974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11843:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11832:10:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":3970,"name":"string","nodeType":"ElementaryTypeName","src":"11836:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":3975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11832:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11826:28:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3977,"nodeType":"ExpressionStatement","src":"11826:28:5"},{"assignments":[3980],"declarations":[{"constant":false,"id":3980,"mutability":"mutable","name":"iterSlice","nameLocation":"11866:9:5","nodeType":"VariableDeclaration","scope":4148,"src":"11860:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3979,"nodeType":"UserDefinedTypeName","pathNode":{"id":3978,"name":"Slice","nameLocations":["11860:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"11860:5:5"},"referencedDeclaration":74,"src":"11860:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"id":3984,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3981,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3932,"src":"11878:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":3982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11883:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"11878:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":3983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11878:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"nodeType":"VariableDeclarationStatement","src":"11860:32:5"},{"assignments":[3987],"declarations":[{"constant":false,"id":3987,"mutability":"mutable","name":"resultSlice","nameLocation":"11904:11:5","nodeType":"VariableDeclaration","scope":4148,"src":"11898:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"},"typeName":{"id":3986,"nodeType":"UserDefinedTypeName","pathNode":{"id":3985,"name":"Slice","nameLocations":["11898:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":74,"src":"11898:5:5"},"referencedDeclaration":74,"src":"11898:5:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"visibility":"internal"}],"id":3995,"initialValue":{"arguments":[{"arguments":[{"id":3992,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"11937:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11931:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3990,"name":"bytes","nodeType":"ElementaryTypeName","src":"11931:5:5","typeDescriptions":{}}},"id":3993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3988,"name":"Slice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"11918:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Slice___$146_$","typeString":"type(library Slice__)"}},"id":3989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:4:5","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":98,"src":"11918:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (bytes memory) pure returns (Slice)"}},"id":3994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11918:24:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"nodeType":"VariableDeclarationStatement","src":"11898:44:5"},{"assignments":[3997],"declarations":[{"constant":false,"id":3997,"mutability":"mutable","name":"matchNum","nameLocation":"11957:8:5","nodeType":"VariableDeclaration","scope":4148,"src":"11949:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3996,"name":"uint256","nodeType":"ElementaryTypeName","src":"11949:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3998,"nodeType":"VariableDeclarationStatement","src":"11949:16:5"},{"body":{"id":4087,"nodeType":"Block","src":"11992:1016:5","statements":[{"assignments":[4003],"declarations":[{"constant":false,"id":4003,"mutability":"mutable","name":"index","nameLocation":"12010:5:5","nodeType":"VariableDeclaration","scope":4087,"src":"12002:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4002,"name":"uint256","nodeType":"ElementaryTypeName","src":"12002:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4010,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4006,"name":"pattern","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3935,"src":"12033:7:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12041:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"12033:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":4008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12033:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":4004,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"12018:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12028:4:5","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":1315,"src":"12018:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) pure returns (uint256)"}},"id":4009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12018:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12002:49:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4011,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12101:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12115:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4013,"name":"uint256","nodeType":"ElementaryTypeName","src":"12115:7:5","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4012,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12110:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12110:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12124:3:5","memberName":"max","nodeType":"MemberAccess","src":"12110:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12101:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4019,"nodeType":"IfStatement","src":"12097:37:5","trueBody":{"id":4018,"nodeType":"Break","src":"12129:5:5"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4020,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12171:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12179:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12171:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4036,"nodeType":"IfStatement","src":"12167:182:5","trueBody":{"id":4035,"nodeType":"Block","src":"12182:167:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":4031,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12314:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4029,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"12294:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:9:5","memberName":"getBefore","nodeType":"MemberAccess","referencedDeclaration":1088,"src":"12294:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":4032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12294:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[{"id":4026,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12235:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4023,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"12196:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12225:9:5","memberName":"getBefore","nodeType":"MemberAccess","referencedDeclaration":1088,"src":"12196:38:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":4027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12196:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12259:13:5","memberName":"copyFromSlice","nodeType":"MemberAccess","referencedDeclaration":564,"src":"12196:76:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$__$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) view"}},"id":4033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12196:142:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4034,"nodeType":"ExpressionStatement","src":"12196:142:5"}]}},{"assignments":[4038],"declarations":[{"constant":false,"id":4038,"mutability":"mutable","name":"indexToEnd","nameLocation":"12367:10:5","nodeType":"VariableDeclaration","scope":4087,"src":"12359:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4037,"name":"uint256","nodeType":"ElementaryTypeName","src":"12359:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4039,"nodeType":"VariableDeclarationStatement","src":"12359:18:5"},{"id":4046,"nodeType":"UncheckedBlock","src":"12449:61:5","statements":[{"expression":{"id":4044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4040,"name":"indexToEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4038,"src":"12473:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4041,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12486:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4042,"name":"toLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3952,"src":"12494:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12486:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12473:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4045,"nodeType":"ExpressionStatement","src":"12473:26:5"}]},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4054,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"12631:2:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12634:7:5","memberName":"asSlice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"12631:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (Slice)"}},"id":4056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[{"id":4050,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12585:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4051,"name":"indexToEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4038,"src":"12592:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4047,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"12548:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12573:11:5","memberName":"getSubslice","nodeType":"MemberAccess","referencedDeclaration":1054,"src":"12548:36:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256,uint256) pure returns (Slice)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12548:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12617:13:5","memberName":"copyFromSlice","nodeType":"MemberAccess","referencedDeclaration":564,"src":"12548:82:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$__$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) view"}},"id":4057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12548:96:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4058,"nodeType":"ExpressionStatement","src":"12548:96:5"},{"expression":{"id":4066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4059,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"12696:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4062,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4003,"src":"12727:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4063,"name":"patLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3946,"src":"12735:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12727:14:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4060,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"12708:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12718:8:5","memberName":"getAfter","nodeType":"MemberAccess","referencedDeclaration":1127,"src":"12708:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":4065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"src":"12696:46:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4067,"nodeType":"ExpressionStatement","src":"12696:46:5"},{"expression":{"id":4073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4068,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"12752:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4071,"name":"indexToEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4038,"src":"12787:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4069,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"12766:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12778:8:5","memberName":"getAfter","nodeType":"MemberAccess","referencedDeclaration":1127,"src":"12766:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":4072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"src":"12752:46:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4074,"nodeType":"ExpressionStatement","src":"12752:46:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4075,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"12851:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12861:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":233,"src":"12851:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (uint256)"}},"id":4077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12851:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12870:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12851:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4082,"nodeType":"IfStatement","src":"12847:56:5","trueBody":{"id":4081,"nodeType":"Block","src":"12873:30:5","statements":[{"id":4080,"nodeType":"Break","src":"12887:5:5"}]}},{"id":4086,"nodeType":"UncheckedBlock","src":"12957:45:5","statements":[{"expression":{"id":4084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12981:10:5","subExpression":{"id":4083,"name":"matchNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3997,"src":"12981:8:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4085,"nodeType":"ExpressionStatement","src":"12981:10:5"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3999,"name":"matchNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3997,"src":"11978:8:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4000,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3940,"src":"11989:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11978:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4088,"nodeType":"WhileStatement","src":"11971:1037:5"},{"assignments":[4090],"declarations":[{"constant":false,"id":4090,"mutability":"mutable","name":"realLen","nameLocation":"13022:7:5","nodeType":"VariableDeclaration","scope":4148,"src":"13014:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4089,"name":"uint256","nodeType":"ElementaryTypeName","src":"13014:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4101,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4091,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"13032:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13044:3:5","memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":215,"src":"13032:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (uint256)"}},"id":4093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13032:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":4096,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"13068:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4094,"name":"StrSlice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"13052:10:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrSlice___$3071_$","typeString":"type(library StrSlice__)"}},"id":4095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13063:4:5","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3024,"src":"13052:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (string memory) pure returns (StrSlice)"}},"id":4097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13052:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13073:3:5","memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":3156,"src":"13052:24:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13052:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13032:46:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13014:64:5"},{"assignments":[4103],"declarations":[{"constant":false,"id":4103,"mutability":"mutable","name":"iterLen","nameLocation":"13111:7:5","nodeType":"VariableDeclaration","scope":4148,"src":"13103:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4102,"name":"uint256","nodeType":"ElementaryTypeName","src":"13103:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4107,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4104,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"13121:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13131:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":233,"src":"13121:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice) pure returns (uint256)"}},"id":4106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13121:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13103:33:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4108,"name":"iterLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4103,"src":"13146:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13156:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13146:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4125,"nodeType":"IfStatement","src":"13142:143:5","trueBody":{"id":4124,"nodeType":"Block","src":"13159:126:5","statements":[{"expression":{"arguments":[{"id":4117,"name":"iterSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"13240:9:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"arguments":[{"id":4114,"name":"iterLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4103,"src":"13204:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4111,"name":"resultSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3987,"src":"13169:11:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13194:9:5","memberName":"getBefore","nodeType":"MemberAccess","referencedDeclaration":1088,"src":"13169:34:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slice_$74_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,uint256) pure returns (Slice)"}},"id":4115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13169:43:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}},"id":4116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13226:13:5","memberName":"copyFromSlice","nodeType":"MemberAccess","referencedDeclaration":564,"src":"13169:70:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Slice_$74_$_t_userDefinedValueType$_Slice_$74_$returns$__$attached_to$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (Slice,Slice) view"}},"id":4118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13169:81:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4119,"nodeType":"ExpressionStatement","src":"13169:81:5"},{"expression":{"id":4122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4120,"name":"realLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4090,"src":"13260:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":4121,"name":"iterLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4103,"src":"13271:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13260:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4123,"nodeType":"ExpressionStatement","src":"13260:18:5"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":4128,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"13327:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13321:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4126,"name":"bytes","nodeType":"ElementaryTypeName","src":"13321:5:5","typeDescriptions":{}}},"id":4129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13332:6:5","memberName":"length","nodeType":"MemberAccess","src":"13321:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":4131,"name":"realLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4090,"src":"13342:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13321:28:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4145,"nodeType":"IfStatement","src":"13317:243:5","trueBody":{"id":4144,"nodeType":"Block","src":"13351:209:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4134,"name":"realLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4090,"src":"13419:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":4137,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"13436:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13430:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4135,"name":"bytes","nodeType":"ElementaryTypeName","src":"13430:5:5","typeDescriptions":{}}},"id":4138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13430:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13441:6:5","memberName":"length","nodeType":"MemberAccess","src":"13430:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13419:28:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4133,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"13412:6:5","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13412:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4142,"nodeType":"ExpressionStatement","src":"13412:36:5"},{"AST":{"nativeSrc":"13510:44:5","nodeType":"YulBlock","src":"13510:44:5","statements":[{"expression":{"arguments":[{"name":"str","nativeSrc":"13531:3:5","nodeType":"YulIdentifier","src":"13531:3:5"},{"name":"realLen","nativeSrc":"13536:7:5","nodeType":"YulIdentifier","src":"13536:7:5"}],"functionName":{"name":"mstore","nativeSrc":"13524:6:5","nodeType":"YulIdentifier","src":"13524:6:5"},"nativeSrc":"13524:20:5","nodeType":"YulFunctionCall","src":"13524:20:5"},"nativeSrc":"13524:20:5","nodeType":"YulExpressionStatement","src":"13524:20:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":4090,"isOffset":false,"isSlot":false,"src":"13536:7:5","valueSize":1},{"declaration":3943,"isOffset":false,"isSlot":false,"src":"13531:3:5","valueSize":1}],"id":4143,"nodeType":"InlineAssembly","src":"13501:53:5"}]}},{"expression":{"id":4146,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"13572:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3944,"id":4147,"nodeType":"Return","src":"13565:10:5"}]},"documentation":{"id":3929,"nodeType":"StructuredDocumentation","src":"11237:264:5","text":" *EXPERIMENTAL*\n @dev Replaces first `n` matches of a pattern with another string slice.\n Returns the result in a newly allocated string.\n Note this does not modify the string `self` is a slice of.\n WARNING: Requires 0 < pattern.len() <= to.len()"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"replacen","nameLocation":"11511:8:5","parameters":{"id":3941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3932,"mutability":"mutable","name":"self","nameLocation":"11534:4:5","nodeType":"VariableDeclaration","scope":4149,"src":"11525:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3931,"nodeType":"UserDefinedTypeName","pathNode":{"id":3930,"name":"StrSlice","nameLocations":["11525:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"11525:8:5"},"referencedDeclaration":2999,"src":"11525:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3935,"mutability":"mutable","name":"pattern","nameLocation":"11553:7:5","nodeType":"VariableDeclaration","scope":4149,"src":"11544:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3934,"nodeType":"UserDefinedTypeName","pathNode":{"id":3933,"name":"StrSlice","nameLocations":["11544:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"11544:8:5"},"referencedDeclaration":2999,"src":"11544:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3938,"mutability":"mutable","name":"to","nameLocation":"11575:2:5","nodeType":"VariableDeclaration","scope":4149,"src":"11566:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":3937,"nodeType":"UserDefinedTypeName","pathNode":{"id":3936,"name":"StrSlice","nameLocations":["11566:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"11566:8:5"},"referencedDeclaration":2999,"src":"11566:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":3940,"mutability":"mutable","name":"n","nameLocation":"11591:1:5","nodeType":"VariableDeclaration","scope":4149,"src":"11583:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3939,"name":"uint256","nodeType":"ElementaryTypeName","src":"11583:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11519:75:5"},"returnParameters":{"id":3944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3943,"mutability":"mutable","name":"str","nameLocation":"11623:3:5","nodeType":"VariableDeclaration","scope":4149,"src":"11609:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3942,"name":"string","nodeType":"ElementaryTypeName","src":"11609:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11608:19:5"},"scope":4280,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4169,"nodeType":"FunctionDefinition","src":"13689:117:5","nodes":[],"body":{"id":4168,"nodeType":"Block","src":"13754:52:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4160,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4153,"src":"13780:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13785:3:5","memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":3156,"src":"13780:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13780:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4163,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4153,"src":"13792:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13797:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"13792:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13792:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4159,"name":"StrCharsIter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"13767:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StrCharsIter_$2405_storage_ptr_$","typeString":"type(struct StrCharsIter storage pointer)"}},"id":4166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13767:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StrCharsIter_$2405_memory_ptr","typeString":"struct StrCharsIter memory"}},"functionReturnParameters":4158,"id":4167,"nodeType":"Return","src":"13760:43:5"}]},"documentation":{"id":4150,"nodeType":"StructuredDocumentation","src":"13580:108:5","text":" @dev Returns an character iterator over the slice.\n The iterator yields items from either side."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"chars","nameLocation":"13698:5:5","parameters":{"id":4154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4153,"mutability":"mutable","name":"self","nameLocation":"13713:4:5","nodeType":"VariableDeclaration","scope":4169,"src":"13704:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":4152,"nodeType":"UserDefinedTypeName","pathNode":{"id":4151,"name":"StrSlice","nameLocations":["13704:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"13704:8:5"},"referencedDeclaration":2999,"src":"13704:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"13703:15:5"},"returnParameters":{"id":4158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4169,"src":"13733:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_StrCharsIter_$2405_memory_ptr","typeString":"struct StrCharsIter"},"typeName":{"id":4156,"nodeType":"UserDefinedTypeName","pathNode":{"id":4155,"name":"StrCharsIter","nameLocations":["13733:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":2405,"src":"13733:12:5"},"referencedDeclaration":2405,"src":"13733:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_StrCharsIter_$2405_storage_ptr","typeString":"struct StrCharsIter"}},"visibility":"internal"}],"src":"13732:21:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4188,"nodeType":"FunctionDefinition","src":"14056:102:5","nodes":[],"body":{"id":4187,"nodeType":"Block","src":"14108:50:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4179,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4173,"src":"14132:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14137:3:5","memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":3156,"src":"14132:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14132:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4182,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4173,"src":"14144:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14149:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"14144:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14144:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4178,"name":"memIsAscii","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4682,"src":"14121:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}},"id":4185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14121:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4177,"id":4186,"nodeType":"Return","src":"14114:41:5"}]},"documentation":{"id":4170,"nodeType":"StructuredDocumentation","src":"13808:247:5","text":" @dev Checks if all characters are within the ASCII range.\n \n Note this does NOT explicitly validate UTF-8.\n Whereas ASCII certainly is valid UTF-8, non-ASCII *could* be invalid UTF-8.\n Use `StrCharsIter` for explicit validation."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isAscii","nameLocation":"14065:7:5","parameters":{"id":4174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4173,"mutability":"mutable","name":"self","nameLocation":"14082:4:5","nodeType":"VariableDeclaration","scope":4188,"src":"14073:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":4172,"nodeType":"UserDefinedTypeName","pathNode":{"id":4171,"name":"StrSlice","nameLocations":["14073:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"14073:8:5"},"referencedDeclaration":2999,"src":"14073:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"14072:15:5"},"returnParameters":{"id":4177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4188,"src":"14102:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4175,"name":"bool","nodeType":"ElementaryTypeName","src":"14102:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14101:6:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4192,"nodeType":"UsingForDirective","src":"14360:35:5","nodes":[],"functionList":[{"function":{"id":4189,"name":"_splitFound","nameLocations":["14368:11:5"],"nodeType":"IdentifierPath","referencedDeclaration":4279,"src":"14368:11:5"}}],"global":false,"typeName":{"id":4191,"nodeType":"UserDefinedTypeName","pathNode":{"id":4190,"name":"StrSlice","nameLocations":["14386:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"14386:8:5"},"referencedDeclaration":2999,"src":"14386:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}},{"id":4279,"nodeType":"FunctionDefinition","src":"14616:837:5","nodes":[],"body":{"id":4278,"nodeType":"Block","src":"14745:708:5","nodes":[],"statements":[{"assignments":[4212],"declarations":[{"constant":false,"id":4212,"mutability":"mutable","name":"selfPtr","nameLocation":"14759:7:5","nodeType":"VariableDeclaration","scope":4278,"src":"14751:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4211,"name":"uint256","nodeType":"ElementaryTypeName","src":"14751:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4216,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4213,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4196,"src":"14769:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14774:3:5","memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":3156,"src":"14769:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14769:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14751:28:5"},{"assignments":[4218],"declarations":[{"constant":false,"id":4218,"mutability":"mutable","name":"selfLen","nameLocation":"14793:7:5","nodeType":"VariableDeclaration","scope":4278,"src":"14785:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4217,"name":"uint256","nodeType":"ElementaryTypeName","src":"14785:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4222,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4219,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4196,"src":"14803:4:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14808:3:5","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":3174,"src":"14803:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrSlice_$2999_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (StrSlice) pure returns (uint256)"}},"id":4221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14803:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14785:28:5"},{"assignments":[4224],"declarations":[{"constant":false,"id":4224,"mutability":"mutable","name":"indexAfterPat","nameLocation":"14827:13:5","nodeType":"VariableDeclaration","scope":4278,"src":"14819:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4223,"name":"uint256","nodeType":"ElementaryTypeName","src":"14819:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4225,"nodeType":"VariableDeclarationStatement","src":"14819:21:5"},{"id":4239,"nodeType":"UncheckedBlock","src":"14906:123:5","statements":[{"expression":{"id":4230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4226,"name":"indexAfterPat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"14926:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4227,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4198,"src":"14942:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4228,"name":"patLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4200,"src":"14950:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14942:14:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14926:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4231,"nodeType":"ExpressionStatement","src":"14926:30:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4232,"name":"indexAfterPat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"14970:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4233,"name":"selfLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4218,"src":"14986:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14970:23:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4238,"nodeType":"IfStatement","src":"14966:56:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4235,"name":"Slice__OutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"15002:18:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15002:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4237,"nodeType":"RevertStatement","src":"14995:27:5"}}]},{"expression":{"id":4252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4240,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"15072:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":4247,"name":"selfPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4212,"src":"15139:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4248,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4198,"src":"15148:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4245,"name":"Slice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"15117:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Slice___$146_$","typeString":"type(library Slice__)"}},"id":4246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15125:13:5","memberName":"fromUnchecked","nodeType":"MemberAccess","referencedDeclaration":145,"src":"15117:21:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (uint256,uint256) pure returns (Slice)"}},"id":4249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15117:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":4243,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"15095:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":4244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15101:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"15095:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":4250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15095:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4241,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"15081:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":4242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15090:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"15081:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":4251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15081:80:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"src":"15072:89:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4253,"nodeType":"ExpressionStatement","src":"15072:89:5"},{"id":4272,"nodeType":"UncheckedBlock","src":"15258:158:5","statements":[{"expression":{"id":4270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4254,"name":"suffix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4209,"src":"15278:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4261,"name":"selfPtr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4212,"src":"15349:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4262,"name":"indexAfterPat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"15359:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15349:23:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4264,"name":"selfLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4218,"src":"15374:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4265,"name":"indexAfterPat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"15384:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15374:23:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4259,"name":"Slice__","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"15327:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Slice___$146_$","typeString":"type(library Slice__)"}},"id":4260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15335:13:5","memberName":"fromUnchecked","nodeType":"MemberAccess","referencedDeclaration":145,"src":"15327:21:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_Slice_$74_$","typeString":"function (uint256,uint256) pure returns (Slice)"}},"id":4267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15327:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Slice_$74","typeString":"Slice"}],"expression":{"id":4257,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"15301:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slice_$74_$","typeString":"type(Slice)"}},"id":4258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15307:6:5","memberName":"unwrap","nodeType":"MemberAccess","src":"15301:12:5","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Slice_$74_$returns$_t_uint256_$","typeString":"function (Slice) pure returns (uint256)"}},"id":4268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15301:107:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4255,"name":"StrSlice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"15287:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"type(StrSlice)"}},"id":4256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15296:4:5","memberName":"wrap","nodeType":"MemberAccess","src":"15287:13:5","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"function (uint256) pure returns (StrSlice)"}},"id":4269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15287:122:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"src":"15278:131:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"id":4271,"nodeType":"ExpressionStatement","src":"15278:131:5"}]},{"expression":{"components":[{"hexValue":"74727565","id":4273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15429:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":4274,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"15435:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},{"id":4275,"name":"suffix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4209,"src":"15443:6:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}}],"id":4276,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15428:22:5","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_userDefinedValueType$_StrSlice_$2999_$_t_userDefinedValueType$_StrSlice_$2999_$","typeString":"tuple(bool,StrSlice,StrSlice)"}},"functionReturnParameters":4210,"id":4277,"nodeType":"Return","src":"15421:29:5"}]},"documentation":{"id":4193,"nodeType":"StructuredDocumentation","src":"14397:218:5","text":" @dev Splits a slice into [:index] and [index+patLen:].\n CALLER GUARANTEE: `index` < self.len()\n For internal use by split/rsplit.\n This is mostly just a faster alternative to `getBefore`+`getAfter`."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"_splitFound","nameLocation":"14625:11:5","parameters":{"id":4201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4196,"mutability":"mutable","name":"self","nameLocation":"14646:4:5","nodeType":"VariableDeclaration","scope":4279,"src":"14637:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":4195,"nodeType":"UserDefinedTypeName","pathNode":{"id":4194,"name":"StrSlice","nameLocations":["14637:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"14637:8:5"},"referencedDeclaration":2999,"src":"14637:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":4198,"mutability":"mutable","name":"index","nameLocation":"14660:5:5","nodeType":"VariableDeclaration","scope":4279,"src":"14652:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4197,"name":"uint256","nodeType":"ElementaryTypeName","src":"14652:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4200,"mutability":"mutable","name":"patLen","nameLocation":"14675:6:5","nodeType":"VariableDeclaration","scope":4279,"src":"14667:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4199,"name":"uint256","nodeType":"ElementaryTypeName","src":"14667:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14636:46:5"},"returnParameters":{"id":4210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4279,"src":"14705:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4202,"name":"bool","nodeType":"ElementaryTypeName","src":"14705:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4206,"mutability":"mutable","name":"prefix","nameLocation":"14720:6:5","nodeType":"VariableDeclaration","scope":4279,"src":"14711:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":4205,"nodeType":"UserDefinedTypeName","pathNode":{"id":4204,"name":"StrSlice","nameLocations":["14711:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"14711:8:5"},"referencedDeclaration":2999,"src":"14711:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"},{"constant":false,"id":4209,"mutability":"mutable","name":"suffix","nameLocation":"14737:6:5","nodeType":"VariableDeclaration","scope":4279,"src":"14728:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"},"typeName":{"id":4208,"nodeType":"UserDefinedTypeName","pathNode":{"id":4207,"name":"StrSlice","nameLocations":["14728:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":2999,"src":"14728:8:5"},"referencedDeclaration":2999,"src":"14728:8:5","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrSlice_$2999","typeString":"StrSlice"}},"visibility":"internal"}],"src":"14704:40:5"},"scope":4280,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":5}