{-# OPTIONS_HADDOCK hide #-}
{-# LANGUAGE PatternSynonyms #-}
module Unicode.Internal.Char.UnicodeData.GeneralCategory
(
generalCategory
, generalCategoryPlanes0To3
, pattern UppercaseLetter
, pattern LowercaseLetter
, pattern TitlecaseLetter
, pattern ModifierLetter
, pattern OtherLetter
, pattern NonSpacingMark
, pattern SpacingCombiningMark
, pattern EnclosingMark
, pattern DecimalNumber
, pattern LetterNumber
, pattern OtherNumber
, pattern ConnectorPunctuation
, pattern DashPunctuation
, pattern OpenPunctuation
, pattern ClosePunctuation
, pattern InitialQuote
, pattern FinalQuote
, pattern OtherPunctuation
, pattern MathSymbol
, pattern CurrencySymbol
, pattern ModifierSymbol
, pattern OtherSymbol
, pattern Space
, pattern LineSeparator
, pattern ParagraphSeparator
, pattern Control
, pattern Format
, pattern Surrogate
, pattern PrivateUse
, pattern NotAssigned
, pattern MaxIsLetter
, pattern MaxIsAlphaNum
, pattern MaxIsLower
, pattern MaxIsUpper
, pattern MaxIsNumber
, pattern MaxIsSpace
, pattern MaxIsSeparator
) where
import Data.Bits (Bits(..))
import Data.Char (ord)
import Data.Int (Int8)
import Data.Word (Word16)
import GHC.Exts (Ptr(..))
import Unicode.Internal.Bits (lookupWord16AsInt, lookupWord8AsInt)
pattern UppercaseLetter :: Int
pattern $mUppercaseLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bUppercaseLetter :: Int
UppercaseLetter = 0
pattern LowercaseLetter :: Int
pattern $mLowercaseLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bLowercaseLetter :: Int
LowercaseLetter = 1
pattern TitlecaseLetter :: Int
pattern $mTitlecaseLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bTitlecaseLetter :: Int
TitlecaseLetter = 2
pattern ModifierLetter :: Int
pattern $mModifierLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bModifierLetter :: Int
ModifierLetter = 3
pattern OtherLetter :: Int
pattern $mOtherLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bOtherLetter :: Int
OtherLetter = 4
pattern NonSpacingMark :: Int
pattern $mNonSpacingMark :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bNonSpacingMark :: Int
NonSpacingMark = 5
pattern SpacingCombiningMark :: Int
pattern $mSpacingCombiningMark :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bSpacingCombiningMark :: Int
SpacingCombiningMark = 6
pattern EnclosingMark :: Int
pattern $mEnclosingMark :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bEnclosingMark :: Int
EnclosingMark = 7
pattern DecimalNumber :: Int
pattern $mDecimalNumber :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bDecimalNumber :: Int
DecimalNumber = 8
pattern LetterNumber :: Int
pattern $mLetterNumber :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bLetterNumber :: Int
LetterNumber = 9
pattern OtherNumber :: Int
pattern $mOtherNumber :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bOtherNumber :: Int
OtherNumber = 10
pattern ConnectorPunctuation :: Int
pattern $mConnectorPunctuation :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bConnectorPunctuation :: Int
ConnectorPunctuation = 11
pattern DashPunctuation :: Int
pattern $mDashPunctuation :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bDashPunctuation :: Int
DashPunctuation = 12
pattern OpenPunctuation :: Int
pattern $mOpenPunctuation :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bOpenPunctuation :: Int
OpenPunctuation = 13
pattern ClosePunctuation :: Int
pattern $mClosePunctuation :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bClosePunctuation :: Int
ClosePunctuation = 14
pattern InitialQuote :: Int
pattern $mInitialQuote :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bInitialQuote :: Int
InitialQuote = 15
pattern FinalQuote :: Int
pattern $mFinalQuote :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bFinalQuote :: Int
FinalQuote = 16
pattern OtherPunctuation :: Int
pattern $mOtherPunctuation :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bOtherPunctuation :: Int
OtherPunctuation = 17
pattern MathSymbol :: Int
pattern $mMathSymbol :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMathSymbol :: Int
MathSymbol = 18
pattern CurrencySymbol :: Int
pattern $mCurrencySymbol :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bCurrencySymbol :: Int
CurrencySymbol = 19
pattern ModifierSymbol :: Int
pattern $mModifierSymbol :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bModifierSymbol :: Int
ModifierSymbol = 20
pattern OtherSymbol :: Int
pattern $mOtherSymbol :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bOtherSymbol :: Int
OtherSymbol = 21
pattern Space :: Int
pattern $mSpace :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bSpace :: Int
Space = 22
pattern LineSeparator :: Int
pattern $mLineSeparator :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bLineSeparator :: Int
LineSeparator = 23
pattern ParagraphSeparator :: Int
pattern $mParagraphSeparator :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bParagraphSeparator :: Int
ParagraphSeparator = 24
pattern Control :: Int
pattern $mControl :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bControl :: Int
Control = 25
pattern Format :: Int
pattern $mFormat :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bFormat :: Int
Format = 26
pattern Surrogate :: Int
pattern $mSurrogate :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bSurrogate :: Int
Surrogate = 27
pattern PrivateUse :: Int
pattern $mPrivateUse :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrivateUse :: Int
PrivateUse = 28
pattern NotAssigned :: Int
pattern $mNotAssigned :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bNotAssigned :: Int
NotAssigned = 29
pattern MaxIsLetter :: Int
pattern $mMaxIsLetter :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsLetter :: Int
MaxIsLetter = 0x323AF
pattern MaxIsAlphaNum :: Int
pattern $mMaxIsAlphaNum :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsAlphaNum :: Int
MaxIsAlphaNum = 0x323AF
pattern MaxIsLower :: Int
pattern $mMaxIsLower :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsLower :: Int
MaxIsLower = 0x1E943
pattern MaxIsUpper :: Int
pattern $mMaxIsUpper :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsUpper :: Int
MaxIsUpper = 0x1E921
pattern MaxIsNumber :: Int
pattern $mMaxIsNumber :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsNumber :: Int
MaxIsNumber = 0x1FBF9
pattern MaxIsSpace :: Int
pattern $mMaxIsSpace :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsSpace :: Int
MaxIsSpace = 0x3000
pattern MaxIsSeparator :: Int
pattern $mMaxIsSeparator :: forall {r}. Int -> ((# #) -> r) -> ((# #) -> r) -> r
$bMaxIsSeparator :: Int
MaxIsSeparator = 0x3000
{-# INLINE generalCategoryPlanes0To3 #-}
generalCategoryPlanes0To3 :: Int -> Int
generalCategoryPlanes0To3 :: Int -> Int
generalCategoryPlanes0To3 = Int -> Int
lookupGeneralCategoryBitMap
{-# INLINE generalCategory #-}
generalCategory :: Char -> Int
generalCategory :: Char -> Int
generalCategory Char
c
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0x323B0 = Int -> Int
lookupGeneralCategoryBitMap Int
cp
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0xE0000 = Int
NotAssigned
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0xE01F0 = Int -> Int
lookupGeneralCategoryBitMap (Int
cp Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
0xADC50)
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0xF0000 = Int
NotAssigned
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0xFFFFE = Int
PrivateUse
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0x100000 = Int
NotAssigned
| Int
cp Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
< Int
0x10FFFE = Int
PrivateUse
| Bool
otherwise = Int
NotAssigned
where
cp :: Int
cp = Char -> Int
ord Char
c
{-# INLINE lookupGeneralCategoryBitMap #-}
lookupGeneralCategoryBitMap :: Int -> Int
lookupGeneralCategoryBitMap :: Int -> Int
lookupGeneralCategoryBitMap Int
n =
Addr# -> Int -> Int
lookupWord8AsInt Addr#
data# (
Addr# -> Int -> Int
lookupWord16AsInt Addr#
offsets1# (
Addr# -> Int -> Int
lookupWord16AsInt Addr#
offsets2# (
Int
n Int -> Int -> Int
forall a. Bits a => a -> Int -> a
`shiftR` Int
8
) Int -> Int -> Int
forall a. Num a => a -> a -> a
+ ((Int
n Int -> Int -> Int
forall a. Bits a => a -> Int -> a
`shiftR` Int
3) Int -> Int -> Int
forall a. Bits a => a -> a -> a
.&. Int
maskOffsets)
) Int -> Int -> Int
forall a. Num a => a -> a -> a
+ (Int
n Int -> Int -> Int
forall a. Bits a => a -> a -> a
.&. Int
maskData)
)
where
maskData :: Int
maskData = (Int
1 Int -> Int -> Int
forall a. Bits a => a -> Int -> a
`shiftL` Int
3) Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1
maskOffsets :: Int
maskOffsets = (Int
1 Int -> Int -> Int
forall a. Bits a => a -> Int -> a
`shiftL` Int
5) Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1
!(Ptr Addr#
data#) = Ptr Int8
generalCategoryDataBitMap
!(Ptr Addr#
offsets1#) = Ptr Word16
generalCategoryOffsets1BitMap
!(Ptr Addr#
offsets2#) = Ptr Word16
generalCategoryOffsets2BitMap
generalCategoryDataBitMap :: Ptr Int8
generalCategoryDataBitMap :: Ptr Int8
generalCategoryDataBitMap = Addr# -> Ptr Int8
forall a. Addr# -> Ptr a
Ptr
Addr#
"\1\0\0\1\0\1\0\0\0\0\0\1\0\1\0\1\1\0\1\1\0\1\0\0\0\1\1\0\0\0\1\1\1\13\18\14\18\13\14\17\17\17\17\17\3\3\3\3\29\3\
\\3\29\3\3\3\3\3\3\29\3\3\3\3\3\3\17\17\4\3\3\6\5\29\20\1\1\1\1\1\1\1\1\18\1\1\1\1\4\1\1\1\1\1\3\3\0\0\0\0\2\
\\20\1\20\21\4\15\18\26\21\20\10\4\16\10\10\10\17\0\0\0\0\0\0\0\0\18\1\1\1\1\1\1\29\29\1\1\1\29\1\1\29\29\29\10\10\10\10\10\10\10\
\\21\10\10\10\10\10\10\10\17\19\17\17\29\29\29\29\4\4\4\4\4\5\3\4\4\4\17\3\3\3\4\1\21\21\1\1\0\0\1\1\0\0\0\1\0\1\0\1\0\1\
\\0\0\0\0\1\4\4\4\17\17\29\29\29\29\29\5\29\29\29\29\6\29\6\6\6\5\29\29\7\7\0\1\0\1\0\1\1\1\0\1\0\1\0\1\0\1\1\1\1\1\
\\0\29\0\0\0\0\29\20\20\20\0\0\0\0\0\29\0\29\0\0\0\0\29\0\0\0\0\29\29\0\0\0\0\0\0\0\29\0\0\0\0\0\0\29\29\29\29\29\29\8\
\\8\17\17\17\17\4\4\5\6\5\4\6\6\6\6\6\5\4\6\5\5\6\6\5\5\29\4\4\4\29\29\29\29\5\5\5\5\5\3\3\5\5\5\5\3\3\21\17\10\10\
\\10\10\10\10\10\10\4\4\5\5\5\6\29\29\5\6\4\5\5\5\5\17\17\17\3\4\4\4\4\4\4\4\3\5\5\5\5\5\5\5\6\5\5\5\4\4\4\4\5\4\
\\4\6\6\29\29\5\5\6\5\4\5\5\5\4\4\5\5\4\29\29\29\29\29\3\3\3\0\1\4\4\5\5\6\17\17\29\18\17\17\19\17\17\21\21\17\17\17\13\14\13\
\\14\18\18\18\18\18\18\18\18\13\14\18\18\18\18\21\21\21\21\21\6\6\5\5\5\5\29\29\6\5\5\17\29\29\29\29\12\13\14\13\14\13\14\17\29\29\29\29\29\29\
\\29\3\1\1\1\17\0\23\24\26\26\26\26\26\22\17\19\19\19\19\21\17\17\29\29\29\29\29\29\29\5\5\6\6\6\6\29\5\5\6\29\4\4\4\29\4\4\4\4\17\
\\4\5\5\5\29\29\17\29\0\1\0\1\3\20\0\1\0\1\3\3\5\5\21\21\21\21\21\21\5\21\21\17\9\9\9\9\9\29\29\4\4\4\4\3\17\17\17\19\29\29\
\\29\29\29\29\29\21\21\21\21\21\21\21\18\18\18\18\18\0\1\1\21\18\21\21\1\21\19\21\29\29\29\29\29\29\0\0\0\0\0\29\1\1\1\1\1\1\3\3\3\3\
\\3\3\3\3\20\20\20\20\20\20\20\20\3\20\3\20\20\0\1\0\1\4\4\5\5\29\29\29\29\0\1\0\1\0\1\4\5\4\29\29\29\29\29\29\5\5\5\5\5\5\
\\5\12\5\5\5\5\5\4\29\29\6\17\17\17\17\17\17\17\17\29\26\5\6\6\6\29\29\29\29\4\5\5\5\5\5\5\5\3\5\5\5\5\5\29\29\5\5\5\29\29\
\\4\4\4\4\4\4\29\17\17\17\19\17\17\17\19\4\5\29\29\29\29\29\29\5\29\5\5\29\5\5\20\20\3\3\4\4\4\4\4\4\21\13\14\21\21\21\21\21\18\18\
\\18\18\21\21\29\5\5\5\6\6\5\6\5\5\5\5\5\29\5\6\6\29\4\4\4\5\6\6\5\5\6\4\4\4\4\4\6\6\6\6\6\6\6\6\29\6\6\5\5\29\
\\29\29\29\5\4\29\4\4\4\4\29\4\4\29\4\4\4\4\4\4\4\4\29\4\4\4\4\29\29\29\29\4\4\29\4\29\4\4\29\4\4\29\4\29\29\4\29\29\29\29\
\\4\4\6\29\29\29\29\20\4\4\4\4\4\4\29\29\29\29\29\29\29\29\6\6\29\29\6\6\5\4\29\5\5\29\29\29\29\1\1\29\1\29\1\1\1\17\3\1\1\1\
\\20\3\3\3\3\1\1\1\1\1\1\1\0\1\18\0\0\0\0\0\21\21\0\21\21\21\21\0\4\4\4\4\4\29\29\26\26\26\26\26\26\18\18\18\18\18\21\21\18\21\
\\21\18\21\18\21\21\21\21\21\21\21\18\21\21\21\5\5\5\5\5\26\21\5\5\6\6\29\29\29\29\15\16\13\15\15\16\13\15\16\13\14\13\14\13\14\13\14\13\14\10\
\\10\18\18\18\13\14\29\4\4\4\4\5\6\29\29\3\17\17\17\17\17\17\21\21\21\21\21\21\21\21\29\29\29\29\29\29\29\17\17\17\17\17\17\17\3\29\29\5\19\19\
\\18\20\21\19\19\29\1\18\1\1\1\1\1\1\0\0\0\0\0\0\0\1\1\1\1\1\1\29\1\1\1\1\1\0\0\29\0\29\0\29\0\29\0\4\4\4\29\29\29\4\
\\4\5\5\17\17\8\8\4\4\4\4\4\29\4\4\29\29\5\4\5\5\5\5\4\4\4\4\4\4\5\6\5\5\5\5\5\5\5\5\21\21\21\21\0\21\0\21\0\0\0\
\\0\21\1\17\12\29\29\21\21\19\10\10\10\10\29\29\29\1\3\20\20\29\29\29\29\4\29\4\29\4\29\4\4\4\4\29\4\29\4\29\29\29\29\20\20\0\17\12\3\3\
\\3\3\3\21\21\18\10\10\20\1\17\17\18\12\18\18\18\29\29\29\29\29\29\21\21\10\10\10\10\21\21\10\10\21\21\21\29\5\5\5\5\5\5\5\29\8\8\29\10\10\
\\10\10\10\10\8\8\29\29\29\4\4\4\29\29\29\4\29\29\4\4\4\4\4\29\29\4\29\29\29\29\29\29\6\0\1\29\1\29\1\0\1\29\29\29\29\29\29\29\4\4\
\\29\29\29\29\6\6\17\29\29\29\12\4\4\4\4\4\4\4\21\17\4\4\4\4\4\4\14\13\22\4\4\4\4\4\4\4\21\17\4\4\9\29\29\29\29\29\22\17\17\17\
\\21\3\4\9\4\4\4\4\4\4\4\6\6\6\5\5\5\5\6\5\6\6\6\6\5\5\5\5\5\6\6\6\6\5\6\6\6\6\6\29\5\6\6\29\29\29\6\6\6\6\
\\5\5\29\29\22\22\22\22\22\22\22\22\26\26\26\26\26\26\26\26\29\26\26\26\21\21\29\29\29\17\17\8\8\17\17\29\29\29\29\18\18\18\18\18\18\13\14\13\14\13\
\\14\12\29\29\0\0\0\0\0\20\20\20\0\1\0\1\0\1\0\0\1\22\17\17\17\19\17\17\17\4\17\4\4\5\4\4\4\5\4\4\4\4\4\4\4\5\5\5\5\5\
\\5\5\17\3\4\4\29\29\5\4\6\6\6\26\26\26\26\26\29\29\29\29\29\29\1\1\1\1\1\1\1\29\29\29\29\29\5\5\29\6\6\5\6\5\5\4\4\17\4\5\
\\5\5\29\5\5\29\4\18\4\4\4\4\4\4\29\4\29\29\29\4\4\3\17\17\17\17\17\17\17\13\4\4\4\4\4\29\29\10\21\4\4\4\4\4\4\4\10\10\10\10\
\\29\29\29\17\17\17\17\29\29\29\8\8\10\10\17\17\17\21\4\4\4\4\4\4\4\5\5\29\29\8\8\6\6\6\5\21\21\5\5\5\17\26\17\17\17\5\29\29\29\29\
\\29\26\29\29\29\29\29\29\1\29\29\5\5\5\5\5\5\4\5\4\4\5\5\5\5\5\5\6\4\4\4\4\17\17\17\17\17\29\29\29\29\29\0\29\29\0\0\29\4\4\
\\29\5\5\12\29\29\6\5\5\5\5\5\5\6\6\4\4\4\4\19\21\21\21\21\21\21\21\19\19\19\19\19\19\19\19\4\4\29\29\5\4\6\5\5\5\5\6\6\6\5\
\\4\4\4\29\29\5\5\5\21\21\5\5\5\5\21\21\21\6\6\6\6\6\6\4\4\4\4\4\4\9\9\9\9\9\9\9\29\4\5\5\5\5\5\5\29\21\21\1\0\0\
\\0\1\1\4\0\1\1\1\0\0\1\0\0\1\0\0\0\0\2\20\20\29\8\8\10\10\10\10\10\10\21\5\21\5\5\5\5\4\4\4\5\17\29\8\8\4\4\4\4\4\
\\4\3\4\4\4\4\4\5\5\4\6\6\6\4\4\6\6\6\6\6\29\29\6\6\5\29\29\12\12\12\12\12\12\17\17\18\17\11\17\17\17\18\13\14\17\18\17\12\17\17\
\\17\29\17\17\17\17\4\6\6\4\6\5\17\17\17\29\8\8\10\29\29\29\21\21\10\10\10\10\10\10\21\21\21\21\21\21\21\29\21\21\21\21\21\17\17\29\13\14\21\21\
\\13\14\13\14\12\13\14\14\17\17\17\17\11\11\11\5\10\10\10\10\10\10\10\29\29\29\29\29\29\29\10\10\4\4\29\29\5\29\6\6\6\6\5\5\6\5\5\5\5\29\
\\6\6\4\4\4\17\17\17\9\9\5\5\5\5\6\6\6\6\29\29\6\6\6\29\29\29\29\29\29\4\4\4\6\6\5\5\6\6\5\5\4\4\4\4\5\5\6\5\5\6\
\\5\5\29\5\5\29\5\5\5\5\29\29\29\29\19\5\5\4\6\4\4\4\4\6\6\5\5\5\29\5\29\0\0\0\0\0\0\0\0\13\17\14\20\11\1\1\1\1\1\1\
\\1\1\13\18\14\18\25\25\25\25\25\25\25\25\8\8\29\29\4\4\4\4\0\2\1\0\2\1\0\1\0\0\0\1\21\0\21\21\4\5\6\6\29\4\4\4\4\4\29\29\
\\4\4\4\4\4\10\10\17\6\29\6\6\6\5\4\21\21\21\17\17\17\17\21\17\21\21\21\21\29\29\21\21\22\4\4\4\4\4\4\4\13\14\29\29\29\4\5\6\6\17\
\\4\4\4\5\6\5\6\6\5\5\5\5\5\6\6\6\5\6\5\17\17\17\17\17\17\29\29\29\29\10\12\17\13\17\17\17\17\17\18\17\11\17\17\17\17\17\17\17\22\5\
\\5\5\5\5\5\7\5\7\7\7\5\5\5\5\5\7\7\7\17\5\5\5\5\17\6\5\5\5\29\29\29\29\29\8\8\29\29\29\29\4\21\9\9\9\9\9\9\9\9\0\
\\1\9\9\9\3\4\17\21\21\0\1\0\1\1\21\21\21\0\1\0\1\5\10\10\10\10\17\17\17\0\1\21\5\5\5\5\5\5\17\17\17\17\17\17\17\12\17\15\16\17\
\\17\17\17\11\6\6\6\6\6\6\5\6\6\4\4\4\6\6\5\6\6\17\6\5\29\29\29\29\29\29\29\4\4\20\20\20\20\20\20\29\29\29\29\29\4\5\4\17\4\6\
\\29\29\29\9\9\9\9\9\10\10\10\10\29\29\29\21\3\29\3\3\3\3\3\3\29\29\29\29\29\4\4\4\4\4\29\3\29\5\5\4\6\4\4\4\4\5\5\6\6\17\
\\26\26\26\5\5\5\5\5\21\21\5\5\5\21\29\29\8\8\17\17\17\17\17\17\17\5\5\5\26\5\5\5\5\5\21\21\21\21\21\5\21\21\1\1\1\1\5\5\5\5\
\\3\29\29\29\29\5\5\5\5\5\5\29\29\29\29\5\29\29\29\29\29\29\21\21\21\21\20\20\20\20\20\8\8\8\8\8\8\8\8\17\17\18\18\18\17\3\3\20\20\20\
\\20\3\3\20\20\20\20\20\20\4\4\19\19\10\10\10\10\21\19\4\17\5\29\21\4\10\10\10\10\10\10\21\5\21\5\13\14\13\14\6\6\3\3\1\4\4\4\4\4\6\
\\5\6\6\5\29\29\17\17\17\17\10\17\17\17\17\17\17\5\4\4\4\5\17\17\4\29\8\8\4\4\4\21\21\4\6\5\6\4\4\4\4\4\6\5\6\5\6\6\5\5\
\\5\6\5\4\4\29\29\21\5\5\17\17\17\4\29\29\29\0\0\0\0\2\20\20\20\1\1\1\29\1\1\10\3\29\29\10\10\10\10\18\18\18\13\14\3\18\18\18\18\18\
\\21\21\21\18\18\21\21\21\21\21\21\5\29\29\29\8\8\29\29\29\29\17\17\15\16\17\15\16\17\17\15\16\15\16\17\17\8\8\29\29\17\17\17\17\15\16\17\15\16\17\
\\17\17\17\17\17\17\12\12\17\17\17\17\17\17\29\3\8\8\4\17\4\17\17\17\12\12\11\11\13\14\13\14\13\14\17\17\13\14\17\13\14\17\17\4\4\4\4\4\4\3\
\\3\3\3\17\21\29\29\5\6\29\6\6\5\29\29\5\5\5\5\5\17\5\5\5\5\6\6\5\5\17\17\26\17\17\5\29\29\29\29\29\10\10\29\4\4\4\4\4\6\5\
\\5\6\6\5\5\6\6\29\4\4\4\29\5\5\4\6\6\8\8\17\17\29\17\5\4\4\4\4\4\5\5\5\5\17\17\17\4\17\17\17\29\29\29\29\29\4\4\4\4\6\
\\6\5\5\5\29\29\29\6\6\5\5\5\3\3\3\3\3\17\3\5\29\29\29\1\18\1\1\1\1\1\1\0\1\29\29\8\8\4\4\29\29\29\29\29\17\8\8\29\29\29\
\\29\29\29\21\21\21\20\20\20\20\20\8\8\17\17\18\18\18\17\0\0\0\0\0\0\0\29\0\0\29\1\17\5\5\17\5\5\17\5\5\5\5\5\5\12\5\5\5\5\5\
\\17\29\29\9\9\9\0\1\9\9\9\10\21\21\29\29\29\29\13\14\13\14\21\21\21\21\0\1\0\1\5\5\0\1\29\29\29\29\5\5\6\6\29\4\4\4\17\29\29\29\
\\29\29\29\2\2\2\2\2\2\2\2\27\27\27\27\27\27\27\27\28\28\28\28\28\28\28\28\4\4\4\4\4\4\5\29\8\8\29\29\29\29\29\19"#
generalCategoryOffsets1BitMap :: Ptr Word16
generalCategoryOffsets1BitMap :: Ptr Word16
generalCategoryOffsets1BitMap = Addr# -> Ptr Word16
forall a. Addr# -> Ptr a
Ptr
Addr#
"\8\6\146\4\96\3\96\3\96\3\96\3\6\6\108\1\214\9\146\3\184\6\134\1\96\3\96\3\96\3\96\3\96\3\7\6\127\1\115\11\198\6\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\145\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\54\0\44\0\26\8\96\3\96\3\96\3\96\3\96\3\95\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\97\3\249\4\48\4\96\3\96\3\96\3\96\3\48\4\48\4\48\4\48\4\52\4\86\2\96\3\96\3\104\7\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\50\4\146\3\146\3\146\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\50\4\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\103\3\97\3\103\3\
\\96\3\96\3\96\3\96\3\96\3\103\3\96\3\96\3\96\3\96\3\103\3\97\3\103\3\96\3\97\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\146\3\146\3\146\3\146\3\80\5\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\188\9\237\1\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\142\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\97\3\88\3\96\3\97\3\34\5\88\3\96\3\96\3\96\3\70\3\146\1\166\7\146\3\21\10\179\11\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\236\2\96\3\96\3\96\3\96\3\130\5\16\2\141\9\146\3\146\3\146\3\96\3\100\3\96\3\
\\96\3\97\3\96\3\96\3\89\3\96\3\140\3\96\3\140\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\143\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\164\6\146\3\146\3\146\3\182\5\182\5\182\5\182\5\182\5\182\5\96\3\96\3\96\3\140\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\146\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\83\5\96\3\96\3\98\5\96\3\96\3\189\8\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\4\8\123\5\145\3\96\3\96\3\96\3\97\3\146\5\209\2\151\5\20\9\195\5\21\10\96\3\96\3\96\3\140\3\141\3\146\3\96\3\96\3\96\3\96\3\96\3\142\3\96\3\
\\96\3\96\3\144\3\21\10\174\7\48\4\48\4\48\4\48\4\48\4\48\4\195\1\195\1\223\3\185\10\48\4\48\4\48\4\48\4\176\8\48\4\48\4\48\4\189\7\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\236\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\236\3\48\4\234\3\48\4\48\4\48\4\48\4\48\4\48\4\195\1\199\2\9\2\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\207\0\146\3\96\3\96\3\96\3\96\3\96\3\96\3\182\5\182\5\148\4\157\4\251\9\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\207\0\146\3\96\3\96\3\96\3\96\3\143\3\146\3\43\5\146\3\146\3\146\3\40\5\146\3\171\9\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\142\3\146\3\96\3\96\3\97\3\172\9\96\3\96\3\96\3\96\3\96\3\142\3\96\3\96\3\96\3\96\3\96\3\141\3\218\2\164\9\21\10\29\9\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\96\3\96\3\96\3\55\12\146\3\146\3\96\3\96\3\96\3\96\3\96\3\5\6\21\10\63\12\96\3\96\3\104\7\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\141\3\
\\48\4\48\4\48\4\48\4\48\4\48\4\49\4\146\3\96\3\96\3\96\3\96\3\96\3\59\0\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\7\196\6\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\141\3\96\3\96\3\96\3\96\3\96\3\96\3\145\3\146\3\223\7\92\1\92\1\227\7\117\0\117\0\117\0\117\0\95\4\74\0\74\0\74\0\238\9\243\9\21\10\205\10\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\142\0\92\1\92\1\92\1\92\1\92\1\92\1\146\0\185\4\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\124\5\214\1\246\7\83\9\199\2\199\2\
\\135\6\146\3\146\3\146\3\146\3\142\0\92\1\92\1\92\1\92\1\144\0\92\1\225\7\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\142\0\92\1\92\1\92\1\92\1\92\1\92\1\146\0\185\4\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\123\1\21\10\179\11\48\4\48\4\48\4\49\4\92\1\186\7\48\4\48\4\48\4\92\1\150\0\92\1\48\4\48\4\48\4\48\4\92\1\186\7\48\4\48\4\48\4\48\4\
\\150\0\92\1\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\236\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\17\4\19\4\92\1\92\1\92\1\184\7\48\4\48\4\48\4\48\4\48\4\198\1\195\1\195\1\195\1\197\1\
\\17\4\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\212\5\16\4\16\4\194\1\195\1\195\1\195\1\195\1\195\1\195\1\195\1\191\1\195\1\195\1\195\1\199\1\48\4\
\\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\17\4\19\4\92\1\92\1\92\1\184\7\48\4\48\4\48\4\48\4\48\4\198\1\195\1\195\1\195\1\197\1\17\4\195\1\195\1\
\\105\4\18\1\25\1\122\2\74\0\74\0\74\0\14\1\4\1\21\1\126\2\74\0\74\0\86\4\117\0\117\0\91\4\74\0\74\0\74\0\117\0\117\0\117\0\95\4\74\0\74\0\86\4\117\0\117\0\91\4\74\0\74\0\74\0\117\0\117\0\117\0\95\4\74\0\74\0\126\0\117\0\117\0\117\0\124\0\74\0\74\0\79\0\88\4\117\0\117\0\
\\122\0\96\3\96\3\96\3\96\3\5\6\146\3\21\10\179\11\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\92\1\92\1\92\1\224\7\96\3\96\3\96\3\96\3\96\3\212\6\144\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\177\2\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\145\3\146\3\96\3\96\3\3\6\223\2\221\2\225\2\199\2\200\2\96\3\96\3\96\3\38\2\96\3\143\3\96\3\96\3\96\3\139\3\30\6\157\4\96\3\96\3\96\3\96\3\96\3\125\1\157\4\157\4\222\9\157\4\157\4\157\4\157\4\157\4\251\9\157\4\157\4\7\5\146\3\48\4\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\52\4\146\3\146\3\146\3\146\3\146\3\146\3\146\3\182\5\182\5\182\5\182\5\182\5\182\5\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\
\\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\46\2\243\1\215\4\6\1\89\4\117\0\28\1\93\4\74\0\74\0\74\0\187\3\25\0\192\0\192\0\192\0\190\3\185\0\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\9\37\7\196\6\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\142\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\9\6\44\4\33\11\146\3\21\10\15\5\74\11\96\3\96\3\26\8\96\3\96\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\117\0\74\0\74\0\74\0\74\0\92\1\92\1\151\0\198\6\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\140\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\142\3\56\4\117\0\27\1\117\0\27\1\207\11\74\0\101\4\74\0\101\4\135\0\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\117\0\117\0\117\0\74\0\74\0\74\0\74\0\74\0\74\0\192\0\192\0\192\0\192\0\75\9\228\0\192\0\192\0\192\0\
\\192\0\192\0\192\0\191\0\239\0\192\0\192\0\192\0\192\0\192\0\192\0\22\1\117\0\117\0\117\0\23\1\40\4\74\0\74\0\74\0\74\0\74\0\178\4\181\2\157\4\157\4\157\4\157\4\183\2\215\11\146\3\96\3\96\3\96\3\106\3\205\0\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\164\6\146\3\146\3\146\3\182\5\182\5\182\5\182\5\182\5\182\5\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\158\4\244\3\157\4\157\4\157\4\
\\157\4\157\4\160\4\61\2\48\4\62\2\197\6\146\3\179\2\181\2\157\4\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\38\6\146\3\35\6\135\9\96\3\70\6\97\3\73\6\90\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\127\9\142\2\132\9\146\3\172\9\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\144\3\146\3\146\3\146\3\146\3\38\6\146\3\35\6\135\9\96\3\70\6\97\3\73\6\90\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\96\3\127\9\142\2\132\9\146\3\172\9\96\3\96\3\96\3\96\3\96\3\96\3\96\3\90\5\48\4\48\4\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\236\2\96\3\96\3\96\3\96\3\96\3\96\3\86\2\146\3\146\3\146\3\146\3\96\3\229\6\48\4\252\11\48\4\48\4\193\10\22\3\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\48\4\48\4\239\3\48\4\48\4\48\4\97\2\195\1\195\1\205\1\48\4\48\4\48\4\48\4\96\2\193\10\48\4\48\4\48\4\48\4\49\4\146\3\146\3\146\3\48\4\53\4\146\3\146\3\92\1\92\1\92\1\92\1\92\1\92\1\92\1\184\7\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\180\7\92\1\92\1\
\\96\3\96\3\104\6\110\6\96\3\96\3\96\3\171\11\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\234\7\92\1\92\1\141\0\92\1\92\1\92\1\92\1\92\1\183\7\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\50\4\146\3\146\3\146\3\146\3\146\3\146\3\243\4\48\4\48\4\48\4\48\4\48\4\52\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\52\4\146\3\48\4\49\4\92\2\48\4\92\2\48\4\92\2\48\4\48\4\48\4\50\4\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\
\\96\3\143\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\145\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\240\0\188\3\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\193\0\193\0\236\0\
\\192\0\192\0\192\0\192\0\192\0\9\0\0\0\21\0\66\7\62\7\194\0\16\0\189\0\58\7\120\8\125\8\193\0\11\0\192\0\192\0\126\8\192\0\192\0\192\0\192\0\192\0\192\0\242\0\64\7\197\0\192\0\74\0\74\0\74\0\74\0\74\0\74\0\74\0\74\0\83\0\74\0\74\0\74\0\134\2\134\2\35\10\134\2\140\2\142\2\137\2\
\\146\2\142\2\142\2\143\2\134\2\230\5\192\0\236\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\186\3\233\5\192\0\152\2\232\0\192\0\192\0\4\0\6\0\192\0\196\0\58\5\53\5\59\5\146\3\146\3\165\1\81\10\96\3\96\3\96\3\105\6\93\1\146\3\96\3\96\3\3\6\157\4\67\9\9\2\146\3\146\3\96\3\96\3\111\11\
\\9\2\146\3\146\3\146\3\146\3\96\3\96\3\105\6\227\7\146\3\146\3\96\3\96\3\97\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\92\1\92\1\92\1\224\7\96\3\96\3\96\3\96\3\96\3\212\6\144\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\177\2\96\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\70\1\67\3\68\3\68\3\68\3\68\3\68\3\68\3\11\2\143\11\134\2\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\149\11\146\3\23\8\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\117\0\74\0\74\0\74\0\74\0\92\1\92\1\151\0\198\6\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\108\8\108\8\108\8\108\8\241\5\150\7\21\10\27\10\116\0\117\0\117\0\88\8\73\0\74\0\74\0\101\8\108\8\108\8\108\8\108\8\2\2\102\0\230\4\109\0\117\0\117\0\118\0\90\4\74\0\74\0\75\0\74\0\217\3\180\1\157\4\151\6\96\3\96\3\96\3\96\3\118\1\
\\6\6\157\4\157\4\21\10\43\1\1\6\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\33\2\247\3\77\1\89\7\21\10\116\10\199\2\201\2\0\6\96\3\96\3\96\3\157\4\157\4\157\4\233\2\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\3\6\157\4\174\2\146\3\21\10\101\7\96\3\
\\96\3\96\3\6\6\84\1\68\4\188\6\96\3\96\3\96\3\96\3\96\3\96\3\49\1\156\4\148\5\8\6\96\3\125\4\21\10\117\1\96\3\140\8\38\5\35\5\96\3\96\3\94\3\77\6\18\6\215\1\155\3\147\3\109\3\137\6\21\10\49\10\55\10\24\2\106\3\35\5\96\3\96\3\94\3\116\3\240\7\78\3\230\2\4\10\206\4\37\1\
\\21\10\93\7\146\3\24\2\98\3\93\3\96\3\96\3\94\3\91\3\18\6\43\3\41\11\145\3\146\3\137\6\21\10\84\2\216\2\49\3\38\5\35\5\96\3\96\3\94\3\91\3\249\6\215\1\127\7\13\2\109\3\137\6\21\10\63\10\146\3\83\3\119\4\103\3\112\3\65\5\119\4\96\3\68\5\160\5\220\0\45\5\146\3\37\1\21\10\185\7\
\\113\2\3\7\99\3\94\3\96\3\96\3\94\3\96\3\139\4\19\2\56\8\45\6\40\5\137\6\21\10\56\4\143\0\197\8\99\3\94\3\96\3\96\3\94\3\100\3\249\6\154\5\75\3\149\3\63\5\137\6\21\10\131\3\146\3\225\6\99\3\94\3\96\3\96\3\96\3\96\3\112\7\252\7\160\8\27\8\93\1\137\6\21\10\92\1\101\6\49\3\
\\96\3\97\3\236\2\96\3\96\3\93\3\74\6\97\3\213\0\75\8\68\3\37\1\21\10\72\5\146\3\95\3\96\3\96\3\96\3\96\3\96\3\181\6\59\8\120\1\9\6\21\10\201\5\146\3\146\3\146\3\146\3\112\3\101\3\96\3\96\3\207\4\96\3\181\6\190\2\175\9\7\5\21\10\116\8\146\3\146\3\146\3\146\3\166\8\199\2\171\8\
\\58\2\21\10\80\7\84\7\73\10\96\3\95\3\96\3\96\3\96\3\141\3\181\2\127\1\49\11\4\6\157\4\181\2\157\4\157\4\157\4\47\7\60\2\190\7\43\4\8\2\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\72\8\155\4\35\8\21\10\212\9\125\5\40\8\116\7\25\7\144\4\96\3\55\3\55\1\21\10\143\6\117\0\
\\117\0\117\0\117\0\24\1\201\6\74\0\74\0\74\0\74\0\74\0\174\3\96\3\96\3\103\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\8\7\199\2\91\1\92\1\226\7\96\3\96\3\48\4\54\4\117\0\117\0\117\0\117\0\117\0\117\0\117\0\117\0\117\0\117\0\31\1\126\0\96\3\96\3\100\1\61\5\96\3\96\3\172\1\
\\146\3\96\3\96\3\159\2\146\3\96\3\99\3\161\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\42\8\221\6\100\9\156\4\111\1\249\2\21\10\179\11\92\1\229\7\85\9\218\9\21\10\179\11\96\3\96\3\96\3\96\3\106\7\96\3\96\3\96\3\96\3\96\3\96\3\145\3\110\7\96\3\96\3\96\3\96\3\173\2\96\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\140\3\146\3\96\3\96\3\2\6\90\10\96\3\96\3\96\3\96\3\96\3\96\3\84\10\7\5\205\8\144\5\141\5\226\2\21\10\179\11\21\10\179\11\63\4\221\8\157\4\251\8\157\4\7\5\146\3\146\3\146\3\146\3\146\3\146\3\187\6\96\3\96\3\96\3\96\3\96\3\151\4\135\5\104\9\141\3\21\10\
\\212\9\47\4\244\3\161\4\196\7\60\3\96\3\96\3\96\3\254\6\132\1\21\10\101\7\96\3\96\3\96\3\96\3\149\4\213\8\254\3\59\4\96\3\96\3\96\3\96\3\64\3\140\5\55\11\60\4\21\10\24\5\21\10\101\7\96\3\96\3\96\3\59\0\74\0\60\5\117\0\117\0\117\0\117\0\117\0\18\1\199\2\146\3\51\11\157\4\155\4\
\\137\1\138\1\159\1\74\0\74\0\74\0\74\0\74\0\130\2\134\2\134\2\134\2\134\2\134\2\134\2\134\2\184\3\74\0\186\3\74\0\74\0\74\0\131\2\134\2\134\2\134\2\134\2\157\4\157\4\157\4\157\4\157\4\157\4\157\4\157\4\74\0\117\0\126\0\31\1\74\0\117\0\74\0\117\0\126\0\31\1\74\0\111\4\74\0\117\0\74\0\
\\126\0\74\0\31\12\74\0\31\12\74\0\31\12\98\4\95\0\163\10\157\10\128\0\252\0\74\0\224\5\132\0\72\7\174\5\179\5\135\7\6\4\199\2\251\1\199\2\92\9\145\7\199\2\141\7\243\8\185\5\182\5\171\10\177\10\92\1\25\4\134\2\165\9\241\6\241\6\241\6\241\6\85\2\146\3\157\4\6\9\1\9\157\4\119\9\146\3\202\3\
\\53\7\132\8\196\3\165\4\171\4\200\0\180\0\100\2\106\2\92\1\92\1\37\9\37\9\37\9\37\9\42\9\244\11\185\10\191\10\227\3\237\3\48\4\48\4\48\4\94\2\231\3\48\4\48\4\48\4\96\2\195\1\117\0\117\0\117\0\117\0\117\0\117\0\74\0\74\0\74\0\74\0\74\0\74\0\20\0\195\0\12\0\89\0\192\0\192\0\192\0\
\\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\192\0\55\9\60\9\8\12\95\10\74\0\74\0\74\0\74\0\97\4\167\6\96\3\96\3\96\3\96\3\96\3\96\3\96\3\238\1\237\1\11\2\96\3\96\3\97\3\146\3\97\3\97\3\97\3\97\3\97\3\97\3\97\3\97\3\157\4\157\4\157\4\157\4\218\10\212\10\84\9\89\9\13\4\
\\37\0\199\2\244\10\232\8\199\2\186\1\216\5\146\3\146\3\146\3\146\3\48\4\48\4\48\4\193\7\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\52\4\146\3\116\5\17\4\204\7\208\7\36\9\10\8\223\4\47\9\95\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\97\3\9\3\80\5\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\173\0\96\3\77\2\96\3\96\3\21\10\169\11\146\3\146\3\192\0\192\0\192\0\192\0\192\0\167\2\11\9\10\6\192\0\192\0\192\0\52\2\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\31\7\37\9\82\9\146\3\251\5\254\5\96\3\96\3\31\8\197\10\182\7\114\2\96\3\
\\96\3\96\3\96\3\96\3\96\3\192\6\146\3\29\7\96\3\96\3\96\3\96\3\96\3\64\3\68\3\166\5\57\4\21\10\179\11\157\4\157\4\147\4\246\5\21\10\101\7\96\3\96\3\3\6\78\9\96\3\96\3\2\6\157\4\254\3\56\4\96\3\96\3\96\3\141\3\188\6\96\3\96\3\96\3\96\3\96\3\54\3\83\11\198\2\248\10\21\10\
\\205\10\166\0\96\3\21\10\131\4\96\3\96\3\96\3\96\3\96\3\184\6\62\1\146\3\254\5\33\4\21\10\226\10\96\3\96\3\15\3\121\10\96\3\96\3\96\3\96\3\96\3\96\3\152\1\107\11\173\2\146\3\146\3\80\6\96\3\79\11\65\0\146\3\237\2\237\2\237\2\146\3\97\3\97\3\74\0\74\0\74\0\74\0\74\0\179\3\74\0\
\\193\4\74\0\74\0\74\0\74\0\74\0\74\0\74\0\74\0\74\0\74\0\96\3\96\3\96\3\96\3\109\9\114\9\21\10\179\11\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\39\12\
\\39\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\47\12\157\4\157\4\86\6\236\1\157\4\157\4\7\11\16\4\13\11\215\7\156\7\230\1\236\4\158\0\99\3\96\3\96\3\
\\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\210\3\244\2\150\7\21\10\27\10\116\0\117\0\117\0\88\8\73\0\74\0\74\0\30\0\21\11\96\3\118\1\96\3\96\3\96\3\96\3\27\11\96\3\96\3\96\3\97\3\236\2\236\2\236\2\27\5\74\4\29\3\146\3\190\5\224\8\92\1\92\1\
\\92\1\92\1\92\1\154\9\48\4\37\9\37\9\37\9\37\9\37\9\37\9\149\9\187\7\48\4\255\4\48\4\51\4\55\4\146\3\146\3\146\3\146\3\146\3\48\4\48\4\48\4\48\4\48\4\196\10\96\3\96\3\96\3\96\3\227\7\26\8\96\3\96\3\122\5\108\5\96\3\96\3\96\3\96\3\3\6\21\9\96\3\96\3\96\3\238\2\96\3\
\\96\3\96\3\96\3\142\3\96\3\69\2\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\117\0\117\0\74\0\74\0\74\0\74\0\74\0\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\21\10\179\11\117\0\117\0\117\0\117\0\33\1\74\0\74\0\74\0\74\0\41\6\96\3\96\3\96\3\96\3\96\3\96\3\97\3\
\\146\3\96\3\96\3\140\3\146\3\96\3\146\3\146\3\146\3\52\0\134\2\134\2\134\2\134\2\134\2\50\0\167\9\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\140\3\94\3\96\3\96\3\96\3\96\3\98\3\31\5\96\3\96\3\238\2\92\1\96\3\96\3\81\5\150\0\96\3\96\3\96\3\97\3\231\7\92\1\146\3\146\3\146\3\
\\146\3\146\3\146\3\96\3\96\3\135\4\140\0\62\6\178\2\100\3\95\3\96\3\96\3\140\3\254\9\92\1\230\7\199\2\237\1\96\3\96\3\96\3\152\8\96\3\96\3\96\3\105\6\146\3\146\3\146\3\146\3\96\3\102\6\96\3\96\3\134\6\140\0\200\2\146\3\96\3\96\3\96\3\96\3\96\3\96\3\140\3\62\4\96\3\96\3\140\3\
\\92\1\96\3\96\3\143\3\92\1\96\3\96\3\144\3\116\6\146\3\142\0\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\145\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\117\0\117\0\117\0\34\1\146\3\74\0\74\0\74\0\74\0\74\0\
\\74\0\42\6\141\0\124\10\96\3\96\3\96\3\96\3\96\3\96\3\157\4\9\6\221\8\141\0\92\1\18\5\21\10\156\1\11\2\60\3\96\3\96\3\96\3\96\3\96\3\131\5\60\11\157\6\160\6\96\3\96\3\96\3\145\3\21\10\179\11\146\4\96\3\96\3\96\3\2\6\130\1\9\5\21\10\160\7\146\3\96\3\96\3\96\3\96\3\108\10\
\\146\3\60\3\96\3\96\3\96\3\96\3\96\3\128\5\127\1\191\6\14\9\21\10\0\11\142\0\92\1\226\7\146\3\96\3\96\3\93\3\96\3\96\3\127\5\38\3\101\10\253\2\146\3\146\3\146\3\146\3\146\3\146\3\146\3\97\3\86\3\96\3\98\3\96\3\23\12\96\3\96\3\96\3\96\3\96\3\2\6\141\5\21\9\21\10\179\11\87\11\
\\38\5\35\5\96\3\96\3\94\3\91\3\93\11\15\8\19\8\45\5\26\8\143\1\252\9\252\9\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\126\5\157\4\136\10\193\6\21\10\101\11\144\3\146\3\146\3\146\3\96\3\96\3\96\3\
\\96\3\96\3\96\3\141\5\137\5\55\6\146\3\21\10\179\11\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\141\5\37\3\149\10\146\3\21\10\179\11\199\2\196\6\146\3\146\3\96\3\96\3\96\3\96\3\96\3\202\8\128\1\23\12\21\10\179\11\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\8\7\132\5\
\\58\8\21\10\124\6\97\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\127\5\157\4\222\1\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\
\\117\0\74\0\74\0\74\0\74\0\21\10\80\7\228\7\61\5\96\3\94\3\96\3\96\3\96\3\124\5\7\5\128\1\195\6\146\3\21\10\80\7\92\1\226\7\25\11\96\3\96\3\96\3\180\2\157\4\157\4\219\6\47\8\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\97\3\93\3\96\3\96\3\96\3\96\3\45\7\3\3\175\6\
\\146\3\21\10\179\11\98\3\94\3\96\3\96\3\96\3\121\7\50\6\145\3\21\10\179\11\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\67\8\96\3\94\3\96\3\96\3\96\3\71\8\135\11\218\8\199\2\21\10\179\11\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\145\3\146\3\92\1\92\1\183\7\
\\236\6\233\6\48\4\54\4\56\4\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\97\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\145\3\96\3\96\3\96\3\97\3\21\10\
\\205\10\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\97\3\21\10\179\11\96\3\96\3\96\3\140\3\229\11\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\143\3\96\3\141\3\96\3\145\3\96\3\143\10\28\6\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\48\4\48\4\48\4\48\4\49\4\92\2\48\4\48\4\48\4\48\4\48\4\48\4\209\1\20\7\24\6\196\9\13\7\161\4\48\4\48\4\48\4\16\7\48\4\48\4\48\4\48\4\48\4\48\4\48\4\53\4\146\3\146\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\204\9\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\
\\146\3\146\3\146\3\146\3\146\3\146\3\146\3\92\1\92\1\227\7\146\3\92\1\92\1\227\7\146\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\49\4\146\3\92\1\92\1\92\1\230\7\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\117\0\117\0\117\0\
\\95\4\74\0\74\0\86\4\117\0\117\0\91\4\98\4\74\0\74\0\117\0\117\0\117\0\95\4\74\0\74\0\246\0\204\6\11\1\91\4\169\3\99\4\74\0\117\0\117\0\117\0\95\4\74\0\74\0\74\0\74\0\77\0\86\4\117\0\117\0\120\0\74\0\74\0\75\0\84\4\117\0\117\0\118\0\74\0\74\0\74\0\82\4\117\0\117\0\117\0\
\\124\0\74\0\74\0\79\0\163\11\21\10\21\10\21\10\21\10\21\10\21\10\74\0\85\0\74\0\38\6\33\6\42\6\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\7\5\157\4\157\4\46\11\52\8\21\9\134\2\
\\134\2\134\2\134\2\134\2\134\2\134\2\164\9\146\3\146\3\146\3\11\2\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\96\3\94\6\
\\92\1\7\5\146\3\146\3\146\3\146\3\146\3\100\3\96\3\96\3\96\3\120\3\95\3\101\3\211\4\125\3\202\4\120\3\200\4\120\3\101\3\101\3\206\4\96\3\93\3\96\3\142\3\28\2\93\3\96\3\142\3\146\3\146\3\146\3\146\3\146\3\146\3\241\4\146\3\53\4\146\3\48\4\48\4\48\4\48\4\48\4\52\4\48\4\55\4\54\4\
\\146\3\50\4\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\
\\48\4\48\4\13\10\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\89\2\48\4\51\4\48\4\51\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\49\4\
\\90\2\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\54\4\48\4\52\4\55\4\146\3\48\4\52\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\146\3\48\4\54\4\48\4\48\4\48\4\48\4\48\4\146\3\48\4\48\4\48\4\50\4\54\4\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\146\3\48\4\
\\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\52\4\146\3\48\4\50\4\48\4\51\4\48\4\55\4\48\4\48\4\48\4\48\4\48\4\189\7\50\4\243\4\48\4\52\4\48\4\55\4\48\4\55\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\48\4\192\7\
\\48\4\48\4\48\4\48\4\48\4\48\4\53\4\146\3\146\3\146\3\146\3\21\10\179\11"#
generalCategoryOffsets2BitMap :: Ptr Word16
generalCategoryOffsets2BitMap :: Ptr Word16
generalCategoryOffsets2BitMap = Addr# -> Ptr Word16
forall a. Addr# -> Ptr a
Ptr
Addr#
"\205\9\242\8\17\9\214\5\193\6\219\6\237\9\13\10\125\5\45\10\77\10\109\10\141\10\173\10\205\10\237\10\13\11\0\1\188\0\45\11\255\0\0\1\239\1\77\11\109\11\15\2\141\11\173\11\205\11\237\11\217\8\13\12\45\12\77\12\127\4\197\7\226\7\76\2\62\2\97\4\175\4\143\4\127\4\43\2\109\12\141\12\173\12\126\0\205\12\64\0\
\\54\4\175\4\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\102\0\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\94\0\0\1\0\1\0\1\64\3\0\1\237\12\47\9\13\13\45\13\77\13\109\13\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\227\2\141\13\141\13\141\13\141\13\141\13\141\13\141\13\141\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\173\13\0\1\
\\106\7\79\7\0\1\165\7\205\13\237\13\141\1\13\14\132\3\45\14\77\14\161\6\0\1\109\14\141\14\2\8\173\14\205\14\237\14\21\5\41\5\79\9\13\15\45\15\77\15\109\15\141\15\205\3\173\15\205\15\237\15\109\1\0\0\108\2\13\16\45\16\33\1\77\16\0\1\0\1\0\1\112\3\96\3\65\1\74\1\74\1\74\1\74\1\74\1\74\1\
\\74\1\74\1\74\1\124\2\0\1\0\1\0\1\0\1\156\2\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\0\1\0\1\109\16\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\
\\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\0\1\0\1\141\16\46\6\74\1\74\1\70\6\142\9\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\135\6\0\1\0\1\0\1\0\1\6\1\30\0\74\1\74\1\
\\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\32\0\0\1\202\2\216\2\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\173\16\74\1\74\1\74\1\74\1\74\1\
\\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\154\5\156\0\205\16\237\16\13\17\45\17\226\4\245\4\77\17\175\4\175\4\47\7\74\1\74\1\74\1\74\1\109\17\141\17\3\3\17\3\74\1\22\4\74\1\74\1\78\1\173\17\164\3\74\1\74\1\182\3\237\3\205\17\74\1\62\8\33\8\237\17\13\18\
\\175\4\175\4\45\18\77\18\109\18\175\4\141\18\173\18\74\1\74\1\74\1\74\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\223\0\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\215\0\205\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\217\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\95\5\0\1\0\1\
\\21\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\74\1\0\1\0\1\29\1\74\1\74\1\74\1\74\1\74\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\163\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\
\\0\1\0\1\0\1\173\1\186\5\208\5"#