{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b2700f1df03cb4c8ce63992b34bbb39db535f23b91d9419ae4fbdf5c4d70a0964736f6c63430008180033","sourceMap":"836:1289:3:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;836:1289:3;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b2700f1df03cb4c8ce63992b34bbb39db535f23b91d9419ae4fbdf5c4d70a0964736f6c63430008180033","sourceMap":"836:1289:3:-: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/StrChar.sol\":\"StrChar__\"},\"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/StrChar.sol\":{\"keccak256\":\"0x3dec9f06981ecc0c83fed6f6a421e52ca123805bb243f0159f00eba8dbcc278b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0f7000aec2944ceafc0b7952cbe91169a265ea4935defd3d4df69147fa64a1f\",\"dweb:/ipfs/QmU2MhsyVnTS4dbaSPAi5oanaJpDUnEzGz843pUvWvb8MD\"]},\"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/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/StrChar.sol":"StrChar__"},"evmVersion":"paris","libraries":{}},"sources":{"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/utils/mem.sol":{"keccak256":"0xae6d56e348968bd35d1135fd5aa77a498e78065e8b8da2084c7b6c63580e3e1c","urls":["bzz-raw://9f25b07594f24baa7ddc713849fec72e5520d37e98de48ada81e11606dde873a","dweb:/ipfs/QmbWnDh1r3Bjo4VPqAUrRbbynfPmgVP9yKowiRhyiwQVie"],"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/StrChar.sol","id":2380,"exportedSymbols":{"StrChar":[1942],"StrChar__":[2017],"StrChar__InvalidUTF8":[1944],"_isValidUtf8":[5949],"cmp":[2167],"decodeUtf8":[5606],"encodeUtf8":[5415],"eq":[2196],"gt":[2312],"gte":[2341],"isAscii":[2379],"isValidUtf8":[2360],"leftMask":[4592],"len":[2058],"lt":[2254],"lte":[2283],"ne":[2225],"toBytes32":[2073],"toCodePoint":[2116],"toString":[2099],"utf8CharWidth":[5713]},"nodeType":"SourceUnit","src":"33:5330:3","nodes":[{"id":1932,"nodeType":"PragmaDirective","src":"33:24:3","nodes":[],"literals":["solidity","^","0.8",".17"]},{"id":1935,"nodeType":"ImportDirective","src":"59:78:3","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/utf8.sol","file":"./utils/utf8.sol","nameLocation":"-1:-1:-1","scope":2380,"sourceUnit":5965,"symbolAliases":[{"foreign":{"id":1933,"name":"isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"68:11:3","typeDescriptions":{}},"local":"_isValidUtf8","nameLocation":"-1:-1:-1"},{"foreign":{"id":1934,"name":"utf8CharWidth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5713,"src":"97:13:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1938,"nodeType":"ImportDirective","src":"138:61:3","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/unicode.sol","file":"./utils/unicode.sol","nameLocation":"-1:-1:-1","scope":2380,"sourceUnit":5665,"symbolAliases":[{"foreign":{"id":1936,"name":"decodeUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5606,"src":"147:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1937,"name":"encodeUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5415,"src":"159:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1940,"nodeType":"ImportDirective","src":"200:43:3","nodes":[],"absolutePath":"node_modules/@dk1a/solidity-stringutils/src/utils/mem.sol","file":"./utils/mem.sol","nameLocation":"-1:-1:-1","scope":2380,"sourceUnit":4593,"symbolAliases":[{"foreign":{"id":1939,"name":"leftMask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4592,"src":"209:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1942,"nodeType":"UserDefinedValueTypeDefinition","src":"376:24:3","nodes":[],"canonicalName":"StrChar","name":"StrChar","nameLocation":"381:7:3","underlyingType":{"id":1941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"392:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":1944,"nodeType":"ErrorDefinition","src":"603:29:3","nodes":[],"errorSelector":"c0c0a5c7","name":"StrChar__InvalidUTF8","nameLocation":"609:20:3","parameters":{"id":1943,"nodeType":"ParameterList","parameters":[],"src":"629:2:3"}},{"id":2017,"nodeType":"ContractDefinition","src":"836:1289:3","nodes":[{"id":1972,"nodeType":"FunctionDefinition","src":"1074:211:3","nodes":[],"body":{"id":1971,"nodeType":"Block","src":"1136:149:3","nodes":[],"statements":[{"assignments":[1954],"declarations":[{"constant":false,"id":1954,"mutability":"mutable","name":"charLen","nameLocation":"1154:7:3","nodeType":"VariableDeclaration","scope":1971,"src":"1146:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1953,"name":"uint256","nodeType":"ElementaryTypeName","src":"1146:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1958,"initialValue":{"arguments":[{"id":1956,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1947,"src":"1177:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1955,"name":"_isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"1164:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:15:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1146:33:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1959,"name":"charLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1954,"src":"1193:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1204:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1193:12:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1965,"nodeType":"IfStatement","src":"1189:47:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1962,"name":"StrChar__InvalidUTF8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1944,"src":"1214:20:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"RevertStatement","src":"1207:29:3"}},{"expression":{"arguments":[{"id":1967,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1947,"src":"1267:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1968,"name":"charLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1954,"src":"1270:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1966,"name":"fromUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2016,"src":"1253:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"function (bytes32,uint256) pure returns (StrChar)"}},"id":1969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1253:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"functionReturnParameters":1952,"id":1970,"nodeType":"Return","src":"1246:32:3"}]},"documentation":{"id":1945,"nodeType":"StructuredDocumentation","src":"860:209:3","text":" @dev Converts the first 1-4 bytes of `bytes32` to a `StrChar`.\n Starts from left/MSB, reverts if not valid UTF-8.\n @param b UTF-8 encoded character in the most significant bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"from","nameLocation":"1083:4:3","parameters":{"id":1948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1947,"mutability":"mutable","name":"b","nameLocation":"1096:1:3","nodeType":"VariableDeclaration","scope":1972,"src":"1088:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1088:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1087:11:3"},"returnParameters":{"id":1952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1951,"mutability":"mutable","name":"char","nameLocation":"1130:4:3","nodeType":"VariableDeclaration","scope":1972,"src":"1122:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":1950,"nodeType":"UserDefinedTypeName","pathNode":{"id":1949,"name":"StrChar","nameLocations":["1122:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"1122:7:3"},"referencedDeclaration":1942,"src":"1122:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"1121:14:3"},"scope":2017,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":1989,"nodeType":"FunctionDefinition","src":"1432:128:3","nodes":[],"body":{"id":1988,"nodeType":"Block","src":"1506:54:3","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":1984,"name":"code","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"1547:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1983,"name":"encodeUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5415,"src":"1536:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) pure returns (bytes32)"}},"id":1985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1536:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1981,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"1523:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":1982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1531:4:3","memberName":"wrap","nodeType":"MemberAccess","src":"1523:12:3","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"function (bytes32) pure returns (StrChar)"}},"id":1986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1523:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"functionReturnParameters":1980,"id":1987,"nodeType":"Return","src":"1516:37:3"}]},"documentation":{"id":1973,"nodeType":"StructuredDocumentation","src":"1291:136:3","text":" @dev Converts a unicode code point to a `StrChar`.\n E.g. for '€' code point = 0x20AC; wheareas UTF-8 = 0xE282AC."},"implemented":true,"kind":"function","modifiers":[],"name":"fromCodePoint","nameLocation":"1441:13:3","parameters":{"id":1976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1975,"mutability":"mutable","name":"code","nameLocation":"1463:4:3","nodeType":"VariableDeclaration","scope":1989,"src":"1455:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1974,"name":"uint256","nodeType":"ElementaryTypeName","src":"1455:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1454:14:3"},"returnParameters":{"id":1980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1979,"mutability":"mutable","name":"char","nameLocation":"1500:4:3","nodeType":"VariableDeclaration","scope":1989,"src":"1492:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":1978,"nodeType":"UserDefinedTypeName","pathNode":{"id":1977,"name":"StrChar","nameLocations":["1492:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"1492:7:3"},"referencedDeclaration":1942,"src":"1492:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"1491:14:3"},"scope":2017,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2016,"nodeType":"FunctionDefinition","src":"1898:225:3","nodes":[],"body":{"id":2015,"nodeType":"Block","src":"1983:140:3","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2006,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1992,"src":"2086:1:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2078:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2004,"name":"uint256","nodeType":"ElementaryTypeName","src":"2078:7:3","typeDescriptions":{}}},"id":2007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2078:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":2009,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"2100:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2008,"name":"leftMask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4592,"src":"2091:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2091:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2078:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2013:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2013:7:3","typeDescriptions":{}}},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2013:102:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2000,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"2000:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2008:4:3","memberName":"wrap","nodeType":"MemberAccess","src":"2000:12:3","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"function (bytes32) pure returns (StrChar)"}},"id":2013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2000:116:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"functionReturnParameters":1999,"id":2014,"nodeType":"Return","src":"1993:123:3"}]},"documentation":{"id":1990,"nodeType":"StructuredDocumentation","src":"1566:327:3","text":" @dev Like `from`, but does NO validity checks.\n Uses provided `_len` instead of calculating it. This allows invalid/malformed characters.\n MSB of `bytes32` SHOULD be valid UTF-8.\n And `bytes32` SHOULD be zero-padded after the first UTF-8 character.\n Primarily for internal use."},"implemented":true,"kind":"function","modifiers":[],"name":"fromUnchecked","nameLocation":"1907:13:3","parameters":{"id":1995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1992,"mutability":"mutable","name":"b","nameLocation":"1929:1:3","nodeType":"VariableDeclaration","scope":2016,"src":"1921:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1921:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1994,"mutability":"mutable","name":"_len","nameLocation":"1940:4:3","nodeType":"VariableDeclaration","scope":2016,"src":"1932:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1993,"name":"uint256","nodeType":"ElementaryTypeName","src":"1932:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1920:25:3"},"returnParameters":{"id":1999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1998,"mutability":"mutable","name":"char","nameLocation":"1977:4:3","nodeType":"VariableDeclaration","scope":2016,"src":"1969:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":1997,"nodeType":"UserDefinedTypeName","pathNode":{"id":1996,"name":"StrChar","nameLocations":["1969:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"1969:7:3"},"referencedDeclaration":1942,"src":"1969:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"1968:14:3"},"scope":2017,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StrChar__","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[2017],"name":"StrChar__","nameLocation":"844:9:3","scope":2380,"usedErrors":[],"usedEvents":[]},{"id":2033,"nodeType":"UsingForDirective","src":"2331:141:3","nodes":[],"functionList":[{"function":{"id":2018,"name":"len","nameLocations":["2344:3:3"],"nodeType":"IdentifierPath","referencedDeclaration":2058,"src":"2344:3:3"}},{"function":{"id":2019,"name":"toBytes32","nameLocations":["2353:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2073,"src":"2353:9:3"}},{"function":{"id":2020,"name":"toString","nameLocations":["2364:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":2099,"src":"2364:8:3"}},{"function":{"id":2021,"name":"toCodePoint","nameLocations":["2374:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":2116,"src":"2374:11:3"}},{"function":{"id":2022,"name":"cmp","nameLocations":["2391:3:3"],"nodeType":"IdentifierPath","referencedDeclaration":2167,"src":"2391:3:3"}},{"function":{"id":2023,"name":"eq","nameLocations":["2396:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":2196,"src":"2396:2:3"}},{"function":{"id":2024,"name":"ne","nameLocations":["2400:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":2225,"src":"2400:2:3"}},{"function":{"id":2025,"name":"lt","nameLocations":["2404:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":2254,"src":"2404:2:3"}},{"function":{"id":2026,"name":"lte","nameLocations":["2408:3:3"],"nodeType":"IdentifierPath","referencedDeclaration":2283,"src":"2408:3:3"}},{"function":{"id":2027,"name":"gt","nameLocations":["2413:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":2312,"src":"2413:2:3"}},{"function":{"id":2028,"name":"gte","nameLocations":["2417:3:3"],"nodeType":"IdentifierPath","referencedDeclaration":2341,"src":"2417:3:3"}},{"function":{"id":2029,"name":"isValidUtf8","nameLocations":["2426:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":2360,"src":"2426:11:3"}},{"function":{"id":2030,"name":"isAscii","nameLocations":["2443:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":2379,"src":"2443:7:3"}}],"global":true,"typeName":{"id":2032,"nodeType":"UserDefinedTypeName","pathNode":{"id":2031,"name":"StrChar","nameLocations":["2457:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"2457:7:3"},"referencedDeclaration":1942,"src":"2457:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}},{"id":2058,"nodeType":"FunctionDefinition","src":"2632:170:3","nodes":[],"body":{"id":2057,"nodeType":"Block","src":"2682:120:3","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"arguments":[{"id":2049,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"2783:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2047,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"2768:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2776:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"2768:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2768:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2052,"indexExpression":{"hexValue":"30","id":2051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2768:23:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":2046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2762:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2045,"name":"uint8","nodeType":"ElementaryTypeName","src":"2762:5:3","typeDescriptions":{}}},"id":2053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2762:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2754:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2043,"name":"uint256","nodeType":"ElementaryTypeName","src":"2754:7:3","typeDescriptions":{}}},"id":2054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2042,"name":"utf8CharWidth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5713,"src":"2695:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2695:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2041,"id":2056,"nodeType":"Return","src":"2688:111:3"}]},"documentation":{"id":2034,"nodeType":"StructuredDocumentation","src":"2474:157:3","text":" @dev Returns the character's length in bytes (1-4).\n Returns 0 for some (not all!) invalid characters (e.g. due to unsafe use of fromUnchecked)."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"len","nameLocation":"2641:3:3","parameters":{"id":2038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2037,"mutability":"mutable","name":"self","nameLocation":"2653:4:3","nodeType":"VariableDeclaration","scope":2058,"src":"2645:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2036,"nodeType":"UserDefinedTypeName","pathNode":{"id":2035,"name":"StrChar","nameLocations":["2645:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"2645:7:3"},"referencedDeclaration":1942,"src":"2645:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"2644:14:3"},"returnParameters":{"id":2041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2058,"src":"2673:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2039,"name":"uint256","nodeType":"ElementaryTypeName","src":"2673:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2672:9:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2073,"nodeType":"FunctionDefinition","src":"2874:92:3","nodes":[],"body":{"id":2072,"nodeType":"Block","src":"2930:36:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":2069,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2062,"src":"2958:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2067,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"2943:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2951:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"2943:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2943:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2066,"id":2071,"nodeType":"Return","src":"2936:27:3"}]},"documentation":{"id":2059,"nodeType":"StructuredDocumentation","src":"2804:69:3","text":" @dev Converts a `StrChar` to its underlying bytes32 value."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toBytes32","nameLocation":"2883:9:3","parameters":{"id":2063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2062,"mutability":"mutable","name":"self","nameLocation":"2901:4:3","nodeType":"VariableDeclaration","scope":2073,"src":"2893:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2061,"nodeType":"UserDefinedTypeName","pathNode":{"id":2060,"name":"StrChar","nameLocations":["2893:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"2893:7:3"},"referencedDeclaration":1942,"src":"2893:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"2892:14:3"},"returnParameters":{"id":2066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2073,"src":"2921:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2921:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2920:9:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2099,"nodeType":"FunctionDefinition","src":"3036:240:3","nodes":[],"body":{"id":2098,"nodeType":"Block","src":"3101:175:3","nodes":[],"statements":[{"assignments":[2083],"declarations":[{"constant":false,"id":2083,"mutability":"mutable","name":"_len","nameLocation":"3115:4:3","nodeType":"VariableDeclaration","scope":2098,"src":"3107:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2082,"name":"uint256","nodeType":"ElementaryTypeName","src":"3107:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2087,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":2084,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2077,"src":"3122:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"id":2085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3127:3:3","memberName":"len","nodeType":"MemberAccess","referencedDeclaration":2058,"src":"3122:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"function (StrChar) pure returns (uint256)"}},"id":2086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3122:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3107:25:3"},{"expression":{"id":2093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2088,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2080,"src":"3138:3:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2091,"name":"_len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"3155:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3144:10:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":2089,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":2092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3144:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3138:22:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":2094,"nodeType":"ExpressionStatement","src":"3138:22:3"},{"AST":{"nativeSrc":"3214:44:3","nodeType":"YulBlock","src":"3214:44:3","statements":[{"expression":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"3235:3:3","nodeType":"YulIdentifier","src":"3235:3:3"},{"kind":"number","nativeSrc":"3240:4:3","nodeType":"YulLiteral","src":"3240:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3231:3:3","nodeType":"YulIdentifier","src":"3231:3:3"},"nativeSrc":"3231:14:3","nodeType":"YulFunctionCall","src":"3231:14:3"},{"name":"self","nativeSrc":"3247:4:3","nodeType":"YulIdentifier","src":"3247:4:3"}],"functionName":{"name":"mstore","nativeSrc":"3224:6:3","nodeType":"YulIdentifier","src":"3224:6:3"},"nativeSrc":"3224:28:3","nodeType":"YulFunctionCall","src":"3224:28:3"},"nativeSrc":"3224:28:3","nodeType":"YulExpressionStatement","src":"3224:28:3"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2077,"isOffset":false,"isSlot":false,"src":"3247:4:3","valueSize":1},{"declaration":2080,"isOffset":false,"isSlot":false,"src":"3235:3:3","valueSize":1}],"id":2095,"nodeType":"InlineAssembly","src":"3205:53:3"},{"expression":{"id":2096,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2080,"src":"3270:3:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":2081,"id":2097,"nodeType":"Return","src":"3263:10:3"}]},"documentation":{"id":2074,"nodeType":"StructuredDocumentation","src":"2968:67:3","text":" @dev Converts a `StrChar` to a newly allocated `string`."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toString","nameLocation":"3045:8:3","parameters":{"id":2078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2077,"mutability":"mutable","name":"self","nameLocation":"3062:4:3","nodeType":"VariableDeclaration","scope":2099,"src":"3054:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2076,"nodeType":"UserDefinedTypeName","pathNode":{"id":2075,"name":"StrChar","nameLocations":["3054:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3054:7:3"},"referencedDeclaration":1942,"src":"3054:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"3053:14:3"},"returnParameters":{"id":2081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2080,"mutability":"mutable","name":"str","nameLocation":"3096:3:3","nodeType":"VariableDeclaration","scope":2099,"src":"3082:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2079,"name":"string","nodeType":"ElementaryTypeName","src":"3082:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3081:19:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2116,"nodeType":"FunctionDefinition","src":"3369:106:3","nodes":[],"body":{"id":2115,"nodeType":"Block","src":"3427:48:3","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2111,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2103,"src":"3466:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2109,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"3451:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3459:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"3451:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3451:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2108,"name":"decodeUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5606,"src":"3440:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":2113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3440:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2107,"id":2114,"nodeType":"Return","src":"3433:39:3"}]},"documentation":{"id":2100,"nodeType":"StructuredDocumentation","src":"3278:90:3","text":" @dev Converts a `StrChar` to its unicode code point (aka unicode scalar value)."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toCodePoint","nameLocation":"3378:11:3","parameters":{"id":2104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2103,"mutability":"mutable","name":"self","nameLocation":"3398:4:3","nodeType":"VariableDeclaration","scope":2116,"src":"3390:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2102,"nodeType":"UserDefinedTypeName","pathNode":{"id":2101,"name":"StrChar","nameLocations":["3390:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3390:7:3"},"referencedDeclaration":1942,"src":"3390:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"3389:14:3"},"returnParameters":{"id":2107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2106,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2116,"src":"3418:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2105,"name":"uint256","nodeType":"ElementaryTypeName","src":"3418:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3417:9:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2167,"nodeType":"FunctionDefinition","src":"3606:329:3","nodes":[],"body":{"id":2166,"nodeType":"Block","src":"3677:258:3","nodes":[],"statements":[{"assignments":[2129],"declarations":[{"constant":false,"id":2129,"mutability":"mutable","name":"selfUint","nameLocation":"3691:8:3","nodeType":"VariableDeclaration","scope":2166,"src":"3683:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2128,"name":"uint256","nodeType":"ElementaryTypeName","src":"3683:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2137,"initialValue":{"arguments":[{"arguments":[{"id":2134,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"3725:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2132,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"3710:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3718:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"3710:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3710:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3702:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2130,"name":"uint256","nodeType":"ElementaryTypeName","src":"3702:7:3","typeDescriptions":{}}},"id":2136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3702:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3683:48:3"},{"assignments":[2139],"declarations":[{"constant":false,"id":2139,"mutability":"mutable","name":"otherUint","nameLocation":"3745:9:3","nodeType":"VariableDeclaration","scope":2166,"src":"3737:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2138,"name":"uint256","nodeType":"ElementaryTypeName","src":"3737:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2147,"initialValue":{"arguments":[{"arguments":[{"id":2144,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"3780:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2142,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"3765:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3773:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"3765:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3765:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3757:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2140,"name":"uint256","nodeType":"ElementaryTypeName","src":"3757:7:3","typeDescriptions":{}}},"id":2146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3757:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3737:50:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2148,"name":"selfUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"3797:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2149,"name":"otherUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2139,"src":"3808:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3797:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2154,"name":"selfUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2129,"src":"3854:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2155,"name":"otherUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2139,"src":"3865:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3854:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2163,"nodeType":"Block","src":"3908:25:3","statements":[{"expression":{"hexValue":"30","id":2161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3925:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":2127,"id":2162,"nodeType":"Return","src":"3918:8:3"}]},"id":2164,"nodeType":"IfStatement","src":"3850:83:3","trueBody":{"id":2160,"nodeType":"Block","src":"3876:26:3","statements":[{"expression":{"id":2158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3893:2:3","subExpression":{"hexValue":"31","id":2157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3894:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"functionReturnParameters":2127,"id":2159,"nodeType":"Return","src":"3886:9:3"}]}},"id":2165,"nodeType":"IfStatement","src":"3793:140:3","trueBody":{"id":2153,"nodeType":"Block","src":"3819:25:3","statements":[{"expression":{"hexValue":"31","id":2151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3836:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"functionReturnParameters":2127,"id":2152,"nodeType":"Return","src":"3829:8:3"}]}}]},"documentation":{"id":2117,"nodeType":"StructuredDocumentation","src":"3477:128:3","text":" @dev Compare characters lexicographically.\n @return result 0 for equal, < 0 for less than and > 0 for greater than."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"cmp","nameLocation":"3615:3:3","parameters":{"id":2124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2120,"mutability":"mutable","name":"self","nameLocation":"3627:4:3","nodeType":"VariableDeclaration","scope":2167,"src":"3619:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2119,"nodeType":"UserDefinedTypeName","pathNode":{"id":2118,"name":"StrChar","nameLocations":["3619:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3619:7:3"},"referencedDeclaration":1942,"src":"3619:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2123,"mutability":"mutable","name":"other","nameLocation":"3641:5:3","nodeType":"VariableDeclaration","scope":2167,"src":"3633:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2122,"nodeType":"UserDefinedTypeName","pathNode":{"id":2121,"name":"StrChar","nameLocations":["3633:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3633:7:3"},"referencedDeclaration":1942,"src":"3633:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"3618:29:3"},"returnParameters":{"id":2127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2126,"mutability":"mutable","name":"result","nameLocation":"3669:6:3","nodeType":"VariableDeclaration","scope":2167,"src":"3662:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2125,"name":"int256","nodeType":"ElementaryTypeName","src":"3662:6:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3661:15:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2196,"nodeType":"FunctionDefinition","src":"3964:140:3","nodes":[],"body":{"id":2195,"nodeType":"Block","src":"4025:79:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2183,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2171,"src":"4061:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2181,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4046:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4054:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4046:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4046:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4038:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2179,"name":"uint256","nodeType":"ElementaryTypeName","src":"4038:7:3","typeDescriptions":{}}},"id":2185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4038:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":2190,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2174,"src":"4094:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2188,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4079:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4087:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4079:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4079:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4071:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2186,"name":"uint256","nodeType":"ElementaryTypeName","src":"4071:7:3","typeDescriptions":{}}},"id":2192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4071:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4038:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2178,"id":2194,"nodeType":"Return","src":"4031:70:3"}]},"documentation":{"id":2168,"nodeType":"StructuredDocumentation","src":"3937:27:3","text":"@dev `self` == `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"eq","nameLocation":"3973:2:3","parameters":{"id":2175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2171,"mutability":"mutable","name":"self","nameLocation":"3984:4:3","nodeType":"VariableDeclaration","scope":2196,"src":"3976:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2170,"nodeType":"UserDefinedTypeName","pathNode":{"id":2169,"name":"StrChar","nameLocations":["3976:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3976:7:3"},"referencedDeclaration":1942,"src":"3976:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2174,"mutability":"mutable","name":"other","nameLocation":"3998:5:3","nodeType":"VariableDeclaration","scope":2196,"src":"3990:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2173,"nodeType":"UserDefinedTypeName","pathNode":{"id":2172,"name":"StrChar","nameLocations":["3990:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"3990:7:3"},"referencedDeclaration":1942,"src":"3990:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"3975:29:3"},"returnParameters":{"id":2178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2177,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2196,"src":"4019:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2176,"name":"bool","nodeType":"ElementaryTypeName","src":"4019:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4018:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2225,"nodeType":"FunctionDefinition","src":"4133:140:3","nodes":[],"body":{"id":2224,"nodeType":"Block","src":"4194:79:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2212,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"4230:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2210,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4215:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4223:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4215:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4215:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4207:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2208,"name":"uint256","nodeType":"ElementaryTypeName","src":"4207:7:3","typeDescriptions":{}}},"id":2214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4207:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2219,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"4263:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2217,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4248:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4256:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4248:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4248:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4240:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2215,"name":"uint256","nodeType":"ElementaryTypeName","src":"4240:7:3","typeDescriptions":{}}},"id":2221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4240:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4207:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2207,"id":2223,"nodeType":"Return","src":"4200:70:3"}]},"documentation":{"id":2197,"nodeType":"StructuredDocumentation","src":"4106:27:3","text":"@dev `self` != `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"ne","nameLocation":"4142:2:3","parameters":{"id":2204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"self","nameLocation":"4153:4:3","nodeType":"VariableDeclaration","scope":2225,"src":"4145:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2199,"nodeType":"UserDefinedTypeName","pathNode":{"id":2198,"name":"StrChar","nameLocations":["4145:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4145:7:3"},"referencedDeclaration":1942,"src":"4145:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2203,"mutability":"mutable","name":"other","nameLocation":"4167:5:3","nodeType":"VariableDeclaration","scope":2225,"src":"4159:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2202,"nodeType":"UserDefinedTypeName","pathNode":{"id":2201,"name":"StrChar","nameLocations":["4159:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4159:7:3"},"referencedDeclaration":1942,"src":"4159:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"4144:29:3"},"returnParameters":{"id":2207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2225,"src":"4188:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2205,"name":"bool","nodeType":"ElementaryTypeName","src":"4188:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4187:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2254,"nodeType":"FunctionDefinition","src":"4301:139:3","nodes":[],"body":{"id":2253,"nodeType":"Block","src":"4362:78:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2241,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"4398:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2239,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4383:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4391:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4383:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4375:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2237,"name":"uint256","nodeType":"ElementaryTypeName","src":"4375:7:3","typeDescriptions":{}}},"id":2243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4375:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"arguments":[{"id":2248,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"4430:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2246,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4415:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4423:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4415:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4415:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4407:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4407:7:3","typeDescriptions":{}}},"id":2250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4407:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4375:62:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2236,"id":2252,"nodeType":"Return","src":"4368:69:3"}]},"documentation":{"id":2226,"nodeType":"StructuredDocumentation","src":"4275:26:3","text":"@dev `self` < `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"lt","nameLocation":"4310:2:3","parameters":{"id":2233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2229,"mutability":"mutable","name":"self","nameLocation":"4321:4:3","nodeType":"VariableDeclaration","scope":2254,"src":"4313:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2228,"nodeType":"UserDefinedTypeName","pathNode":{"id":2227,"name":"StrChar","nameLocations":["4313:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4313:7:3"},"referencedDeclaration":1942,"src":"4313:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2232,"mutability":"mutable","name":"other","nameLocation":"4335:5:3","nodeType":"VariableDeclaration","scope":2254,"src":"4327:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2231,"nodeType":"UserDefinedTypeName","pathNode":{"id":2230,"name":"StrChar","nameLocations":["4327:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4327:7:3"},"referencedDeclaration":1942,"src":"4327:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"4312:29:3"},"returnParameters":{"id":2236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2254,"src":"4356:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2234,"name":"bool","nodeType":"ElementaryTypeName","src":"4356:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4355:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2283,"nodeType":"FunctionDefinition","src":"4469:141:3","nodes":[],"body":{"id":2282,"nodeType":"Block","src":"4531:79:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2270,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2258,"src":"4567:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2268,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4552:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4560:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4552:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4552:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4544:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"4544:7:3","typeDescriptions":{}}},"id":2272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4544:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"arguments":[{"id":2277,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2261,"src":"4600:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2275,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4585:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4593:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4585:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4585:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4577:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2273,"name":"uint256","nodeType":"ElementaryTypeName","src":"4577:7:3","typeDescriptions":{}}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4577:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4544:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2265,"id":2281,"nodeType":"Return","src":"4537:70:3"}]},"documentation":{"id":2255,"nodeType":"StructuredDocumentation","src":"4442:27:3","text":"@dev `self` <= `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"lte","nameLocation":"4478:3:3","parameters":{"id":2262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2258,"mutability":"mutable","name":"self","nameLocation":"4490:4:3","nodeType":"VariableDeclaration","scope":2283,"src":"4482:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2257,"nodeType":"UserDefinedTypeName","pathNode":{"id":2256,"name":"StrChar","nameLocations":["4482:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4482:7:3"},"referencedDeclaration":1942,"src":"4482:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2261,"mutability":"mutable","name":"other","nameLocation":"4504:5:3","nodeType":"VariableDeclaration","scope":2283,"src":"4496:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2260,"nodeType":"UserDefinedTypeName","pathNode":{"id":2259,"name":"StrChar","nameLocations":["4496:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4496:7:3"},"referencedDeclaration":1942,"src":"4496:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"4481:29:3"},"returnParameters":{"id":2265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2264,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2283,"src":"4525:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2263,"name":"bool","nodeType":"ElementaryTypeName","src":"4525:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4524:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2312,"nodeType":"FunctionDefinition","src":"4638:139:3","nodes":[],"body":{"id":2311,"nodeType":"Block","src":"4699:78:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2299,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"4735:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2297,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4720:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4728:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4720:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4712:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2295,"name":"uint256","nodeType":"ElementaryTypeName","src":"4712:7:3","typeDescriptions":{}}},"id":2301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"arguments":[{"id":2306,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"4767:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2304,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4752:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4760:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4752:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4752:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4744:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2302,"name":"uint256","nodeType":"ElementaryTypeName","src":"4744:7:3","typeDescriptions":{}}},"id":2308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4744:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4712:62:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2294,"id":2310,"nodeType":"Return","src":"4705:69:3"}]},"documentation":{"id":2284,"nodeType":"StructuredDocumentation","src":"4612:26:3","text":"@dev `self` > `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"gt","nameLocation":"4647:2:3","parameters":{"id":2291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2287,"mutability":"mutable","name":"self","nameLocation":"4658:4:3","nodeType":"VariableDeclaration","scope":2312,"src":"4650:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2286,"nodeType":"UserDefinedTypeName","pathNode":{"id":2285,"name":"StrChar","nameLocations":["4650:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4650:7:3"},"referencedDeclaration":1942,"src":"4650:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2290,"mutability":"mutable","name":"other","nameLocation":"4672:5:3","nodeType":"VariableDeclaration","scope":2312,"src":"4664:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2289,"nodeType":"UserDefinedTypeName","pathNode":{"id":2288,"name":"StrChar","nameLocations":["4664:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4664:7:3"},"referencedDeclaration":1942,"src":"4664:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"4649:29:3"},"returnParameters":{"id":2294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2312,"src":"4693:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2292,"name":"bool","nodeType":"ElementaryTypeName","src":"4693:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4692:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2341,"nodeType":"FunctionDefinition","src":"4806:141:3","nodes":[],"body":{"id":2340,"nodeType":"Block","src":"4868:79:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2328,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2316,"src":"4904:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2326,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4889:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4897:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4889:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4889:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4881:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2324,"name":"uint256","nodeType":"ElementaryTypeName","src":"4881:7:3","typeDescriptions":{}}},"id":2330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"arguments":[{"id":2335,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"4937:5:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2333,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"4922:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4930:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"4922:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4914:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2331,"name":"uint256","nodeType":"ElementaryTypeName","src":"4914:7:3","typeDescriptions":{}}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4881:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2323,"id":2339,"nodeType":"Return","src":"4874:70:3"}]},"documentation":{"id":2313,"nodeType":"StructuredDocumentation","src":"4779:27:3","text":"@dev `self` >= `other`"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"gte","nameLocation":"4815:3:3","parameters":{"id":2320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2316,"mutability":"mutable","name":"self","nameLocation":"4827:4:3","nodeType":"VariableDeclaration","scope":2341,"src":"4819:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2315,"nodeType":"UserDefinedTypeName","pathNode":{"id":2314,"name":"StrChar","nameLocations":["4819:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4819:7:3"},"referencedDeclaration":1942,"src":"4819:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"},{"constant":false,"id":2319,"mutability":"mutable","name":"other","nameLocation":"4841:5:3","nodeType":"VariableDeclaration","scope":2341,"src":"4833:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2318,"nodeType":"UserDefinedTypeName","pathNode":{"id":2317,"name":"StrChar","nameLocations":["4833:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"4833:7:3"},"referencedDeclaration":1942,"src":"4833:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"4818:29:3"},"returnParameters":{"id":2323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2341,"src":"4862:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2321,"name":"bool","nodeType":"ElementaryTypeName","src":"4862:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4861:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2360,"nodeType":"FunctionDefinition","src":"5085:110:3","nodes":[],"body":{"id":2359,"nodeType":"Block","src":"5140:55:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2353,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2345,"src":"5181:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2351,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"5166:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5174:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"5166:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5166:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2350,"name":"_isValidUtf8","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"5153:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":2355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5191:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5153:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2349,"id":2358,"nodeType":"Return","src":"5146:46:3"}]},"documentation":{"id":2342,"nodeType":"StructuredDocumentation","src":"4949:135:3","text":" @dev Returns true if `StrChar` is valid UTF-8.\n Can be false if it was formed with an unsafe method (fromUnchecked, wrap)."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isValidUtf8","nameLocation":"5094:11:3","parameters":{"id":2346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2345,"mutability":"mutable","name":"self","nameLocation":"5114:4:3","nodeType":"VariableDeclaration","scope":2360,"src":"5106:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2344,"nodeType":"UserDefinedTypeName","pathNode":{"id":2343,"name":"StrChar","nameLocations":["5106:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"5106:7:3"},"referencedDeclaration":1942,"src":"5106:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"5105:14:3"},"returnParameters":{"id":2349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2360,"src":"5134:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2347,"name":"bool","nodeType":"ElementaryTypeName","src":"5134:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5133:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2379,"nodeType":"FunctionDefinition","src":"5266:97:3","nodes":[],"body":{"id":2378,"nodeType":"Block","src":"5317:46:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":2376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"arguments":[{"id":2371,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2364,"src":"5345:4:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}],"expression":{"id":2369,"name":"StrChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"5330:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_StrChar_$1942_$","typeString":"type(StrChar)"}},"id":2370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5338:6:3","memberName":"unwrap","nodeType":"MemberAccess","src":"5330:14:3","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_StrChar_$1942_$returns$_t_bytes32_$","typeString":"function (StrChar) pure returns (bytes32)"}},"id":2372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5330:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2374,"indexExpression":{"hexValue":"30","id":2373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5351:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5330:23:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30783830","id":2375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5356:4:3","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"5330:30:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2368,"id":2377,"nodeType":"Return","src":"5323:37:3"}]},"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"5197:68:3","text":" @dev Returns true if `StrChar` is within the ASCII range."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isAscii","nameLocation":"5275:7:3","parameters":{"id":2365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2364,"mutability":"mutable","name":"self","nameLocation":"5291:4:3","nodeType":"VariableDeclaration","scope":2379,"src":"5283:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"},"typeName":{"id":2363,"nodeType":"UserDefinedTypeName","pathNode":{"id":2362,"name":"StrChar","nameLocations":["5283:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":1942,"src":"5283:7:3"},"referencedDeclaration":1942,"src":"5283:7:3","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_StrChar_$1942","typeString":"StrChar"}},"visibility":"internal"}],"src":"5282:14:3"},"returnParameters":{"id":2368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2379,"src":"5311:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2366,"name":"bool","nodeType":"ElementaryTypeName","src":"5311:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5310:6:3"},"scope":2380,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":3}