@@ -120,29 +120,11 @@ decode UtfTail1 point word = case word of
120120 _ -> throwDecodeError
121121
122122decodeHex :: Word8 -> Word16
123−decodeHex 48 = 0 -- '0'
124−decodeHex 49 = 1 -- '1'
125−decodeHex 50 = 2 -- '2'
126−decodeHex 51 = 3 -- '3'
127−decodeHex 52 = 4 -- '4'
128−decodeHex 53 = 5 -- '5'
129−decodeHex 54 = 6 -- '6'
130−decodeHex 55 = 7 -- '7'
131−decodeHex 56 = 8 -- '8'
132−decodeHex 57 = 9 -- '9'
133−decodeHex 65 = 10 -- 'A'
134−decodeHex 97 = 10 -- 'a'
135−decodeHex 66 = 11 -- 'B'
136−decodeHex 98 = 11 -- 'b'
137−decodeHex 67 = 12 -- 'C'
138−decodeHex 99 = 12 -- 'c'
139−decodeHex 68 = 13 -- 'D'
140−decodeHex 100 = 13 -- 'd'
141−decodeHex 69 = 14 -- 'E'
142−decodeHex 101 = 14 -- 'e'
143−decodeHex 70 = 15 -- 'F'
144−decodeHex 102 = 15 -- 'f'
145−decodeHex _ = throwDecodeError
123+decodeHex x
124+ | 48 <= x && x <= 57 = fromIntegral x - 48 -- 0-9
125+ | 65 <= x && x <= 70 = fromIntegral x - 55 -- A-F
126+ | 97 <= x && x <= 102 = fromIntegral x - 87 -- a-f
127+ | otherwise = throwDecodeError
146128
147129unescapeText' :: ByteString -> Text
148130unescapeText' bs = runText $ \done -> do