{-# LANGUAGE Rank2Types #-}
-- AUTOMATICALLY GENERATED - DO NOT EDIT
-- Generated by scripts/CaseMapping.hs
-- CaseFolding-13.0.0.txt
-- Date: 2019-09-08, 23:30:59 GMT
-- SpecialCasing-13.0.0.txt
-- Date: 2019-09-08, 23:31:24 GMT

module Data.Text.Internal.Fusion.CaseMapping where
import Data.Char
import Data.Text.Internal.Fusion.Types

upperMapping :: forall s. Char -> s -> Step (CC s) Char
{-# NOINLINE upperMapping #-}
-- LATIN SMALL LETTER SHARP S
upperMapping '\x00df' s = Yield '\x0053' (CC s '\x0053' '\x0000')
-- LATIN SMALL LIGATURE FF
upperMapping '\xfb00' s = Yield '\x0046' (CC s '\x0046' '\x0000')
-- LATIN SMALL LIGATURE FI
upperMapping '\xfb01' s = Yield '\x0046' (CC s '\x0049' '\x0000')
-- LATIN SMALL LIGATURE FL
upperMapping '\xfb02' s = Yield '\x0046' (CC s '\x004c' '\x0000')
-- LATIN SMALL LIGATURE FFI
upperMapping '\xfb03' s = Yield '\x0046' (CC s '\x0046' '\x0049')
-- LATIN SMALL LIGATURE FFL
upperMapping '\xfb04' s = Yield '\x0046' (CC s '\x0046' '\x004c')
-- LATIN SMALL LIGATURE LONG S T
upperMapping '\xfb05' s = Yield '\x0053' (CC s '\x0054' '\x0000')
-- LATIN SMALL LIGATURE ST
upperMapping '\xfb06' s = Yield '\x0053' (CC s '\x0054' '\x0000')
-- ARMENIAN SMALL LIGATURE ECH YIWN
upperMapping '\x0587' s = Yield '\x0535' (CC s '\x0552' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN NOW
upperMapping '\xfb13' s = Yield '\x0544' (CC s '\x0546' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN ECH
upperMapping '\xfb14' s = Yield '\x0544' (CC s '\x0535' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN INI
upperMapping '\xfb15' s = Yield '\x0544' (CC s '\x053b' '\x0000')
-- ARMENIAN SMALL LIGATURE VEW NOW
upperMapping '\xfb16' s = Yield '\x054e' (CC s '\x0546' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN XEH
upperMapping '\xfb17' s = Yield '\x0544' (CC s '\x053d' '\x0000')
-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
upperMapping '\x0149' s = Yield '\x02bc' (CC s '\x004e' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
upperMapping '\x0390' s = Yield '\x0399' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
upperMapping '\x03b0' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
-- LATIN SMALL LETTER J WITH CARON
upperMapping '\x01f0' s = Yield '\x004a' (CC s '\x030c' '\x0000')
-- LATIN SMALL LETTER H WITH LINE BELOW
upperMapping '\x1e96' s = Yield '\x0048' (CC s '\x0331' '\x0000')
-- LATIN SMALL LETTER T WITH DIAERESIS
upperMapping '\x1e97' s = Yield '\x0054' (CC s '\x0308' '\x0000')
-- LATIN SMALL LETTER W WITH RING ABOVE
upperMapping '\x1e98' s = Yield '\x0057' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER Y WITH RING ABOVE
upperMapping '\x1e99' s = Yield '\x0059' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER A WITH RIGHT HALF RING
upperMapping '\x1e9a' s = Yield '\x0041' (CC s '\x02be' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI
upperMapping '\x1f50' s = Yield '\x03a5' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
upperMapping '\x1f52' s = Yield '\x03a5' (CC s '\x0313' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
upperMapping '\x1f54' s = Yield '\x03a5' (CC s '\x0313' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
upperMapping '\x1f56' s = Yield '\x03a5' (CC s '\x0313' '\x0342')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
upperMapping '\x1fb6' s = Yield '\x0391' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI
upperMapping '\x1fc6' s = Yield '\x0397' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
upperMapping '\x1fd2' s = Yield '\x0399' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
upperMapping '\x1fd3' s = Yield '\x0399' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER IOTA WITH PERISPOMENI
upperMapping '\x1fd6' s = Yield '\x0399' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
upperMapping '\x1fd7' s = Yield '\x0399' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
upperMapping '\x1fe2' s = Yield '\x03a5' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
upperMapping '\x1fe3' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER RHO WITH PSILI
upperMapping '\x1fe4' s = Yield '\x03a1' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
upperMapping '\x1fe6' s = Yield '\x03a5' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
upperMapping '\x1fe7' s = Yield '\x03a5' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
upperMapping '\x1ff6' s = Yield '\x03a9' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
upperMapping '\x1f80' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
upperMapping '\x1f81' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1f82' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1f83' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1f84' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1f85' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1f86' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1f87' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
upperMapping '\x1f88' s = Yield '\x1f08' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
upperMapping '\x1f89' s = Yield '\x1f09' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1f8a' s = Yield '\x1f0a' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1f8b' s = Yield '\x1f0b' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1f8c' s = Yield '\x1f0c' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1f8d' s = Yield '\x1f0d' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1f8e' s = Yield '\x1f0e' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1f8f' s = Yield '\x1f0f' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
upperMapping '\x1f90' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
upperMapping '\x1f91' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1f92' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1f93' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1f94' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1f95' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1f96' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1f97' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
upperMapping '\x1f98' s = Yield '\x1f28' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
upperMapping '\x1f99' s = Yield '\x1f29' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1f9a' s = Yield '\x1f2a' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1f9b' s = Yield '\x1f2b' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1f9c' s = Yield '\x1f2c' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1f9d' s = Yield '\x1f2d' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1f9e' s = Yield '\x1f2e' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1f9f' s = Yield '\x1f2f' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
upperMapping '\x1fa0' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
upperMapping '\x1fa1' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1fa2' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
upperMapping '\x1fa3' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1fa4' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
upperMapping '\x1fa5' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1fa6' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1fa7' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
upperMapping '\x1fa8' s = Yield '\x1f68' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
upperMapping '\x1fa9' s = Yield '\x1f69' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1faa' s = Yield '\x1f6a' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
upperMapping '\x1fab' s = Yield '\x1f6b' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1fac' s = Yield '\x1f6c' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
upperMapping '\x1fad' s = Yield '\x1f6d' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1fae' s = Yield '\x1f6e' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
upperMapping '\x1faf' s = Yield '\x1f6f' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
upperMapping '\x1fb3' s = Yield '\x0391' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
upperMapping '\x1fbc' s = Yield '\x0391' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
upperMapping '\x1fc3' s = Yield '\x0397' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
upperMapping '\x1fcc' s = Yield '\x0397' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
upperMapping '\x1ff3' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
upperMapping '\x1ffc' s = Yield '\x03a9' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
upperMapping '\x1fb2' s = Yield '\x1fba' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
upperMapping '\x1fb4' s = Yield '\x0386' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
upperMapping '\x1fc2' s = Yield '\x1fca' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
upperMapping '\x1fc4' s = Yield '\x0389' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
upperMapping '\x1ff2' s = Yield '\x1ffa' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
upperMapping '\x1ff4' s = Yield '\x038f' (CC s '\x0399' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1fb7' s = Yield '\x0391' (CC s '\x0342' '\x0399')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1fc7' s = Yield '\x0397' (CC s '\x0342' '\x0399')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
upperMapping '\x1ff7' s = Yield '\x03a9' (CC s '\x0342' '\x0399')
upperMapping c s = Yield (toUpper c) (CC s '\0' '\0')
lowerMapping :: forall s. Char -> s -> Step (CC s) Char
{-# NOINLINE lowerMapping #-}
-- LATIN CAPITAL LETTER I WITH DOT ABOVE
lowerMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
lowerMapping c s = Yield (toLower c) (CC s '\0' '\0')
titleMapping :: forall s. Char -> s -> Step (CC s) Char
{-# NOINLINE titleMapping #-}
-- LATIN SMALL LETTER SHARP S
titleMapping '\x00df' s = Yield '\x0053' (CC s '\x0073' '\x0000')
-- LATIN SMALL LIGATURE FF
titleMapping '\xfb00' s = Yield '\x0046' (CC s '\x0066' '\x0000')
-- LATIN SMALL LIGATURE FI
titleMapping '\xfb01' s = Yield '\x0046' (CC s '\x0069' '\x0000')
-- LATIN SMALL LIGATURE FL
titleMapping '\xfb02' s = Yield '\x0046' (CC s '\x006c' '\x0000')
-- LATIN SMALL LIGATURE FFI
titleMapping '\xfb03' s = Yield '\x0046' (CC s '\x0066' '\x0069')
-- LATIN SMALL LIGATURE FFL
titleMapping '\xfb04' s = Yield '\x0046' (CC s '\x0066' '\x006c')
-- LATIN SMALL LIGATURE LONG S T
titleMapping '\xfb05' s = Yield '\x0053' (CC s '\x0074' '\x0000')
-- LATIN SMALL LIGATURE ST
titleMapping '\xfb06' s = Yield '\x0053' (CC s '\x0074' '\x0000')
-- ARMENIAN SMALL LIGATURE ECH YIWN
titleMapping '\x0587' s = Yield '\x0535' (CC s '\x0582' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN NOW
titleMapping '\xfb13' s = Yield '\x0544' (CC s '\x0576' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN ECH
titleMapping '\xfb14' s = Yield '\x0544' (CC s '\x0565' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN INI
titleMapping '\xfb15' s = Yield '\x0544' (CC s '\x056b' '\x0000')
-- ARMENIAN SMALL LIGATURE VEW NOW
titleMapping '\xfb16' s = Yield '\x054e' (CC s '\x0576' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN XEH
titleMapping '\xfb17' s = Yield '\x0544' (CC s '\x056d' '\x0000')
-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
titleMapping '\x0149' s = Yield '\x02bc' (CC s '\x004e' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
titleMapping '\x0390' s = Yield '\x0399' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
titleMapping '\x03b0' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
-- LATIN SMALL LETTER J WITH CARON
titleMapping '\x01f0' s = Yield '\x004a' (CC s '\x030c' '\x0000')
-- LATIN SMALL LETTER H WITH LINE BELOW
titleMapping '\x1e96' s = Yield '\x0048' (CC s '\x0331' '\x0000')
-- LATIN SMALL LETTER T WITH DIAERESIS
titleMapping '\x1e97' s = Yield '\x0054' (CC s '\x0308' '\x0000')
-- LATIN SMALL LETTER W WITH RING ABOVE
titleMapping '\x1e98' s = Yield '\x0057' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER Y WITH RING ABOVE
titleMapping '\x1e99' s = Yield '\x0059' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER A WITH RIGHT HALF RING
titleMapping '\x1e9a' s = Yield '\x0041' (CC s '\x02be' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI
titleMapping '\x1f50' s = Yield '\x03a5' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
titleMapping '\x1f52' s = Yield '\x03a5' (CC s '\x0313' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
titleMapping '\x1f54' s = Yield '\x03a5' (CC s '\x0313' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
titleMapping '\x1f56' s = Yield '\x03a5' (CC s '\x0313' '\x0342')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
titleMapping '\x1fb6' s = Yield '\x0391' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI
titleMapping '\x1fc6' s = Yield '\x0397' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
titleMapping '\x1fd2' s = Yield '\x0399' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
titleMapping '\x1fd3' s = Yield '\x0399' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER IOTA WITH PERISPOMENI
titleMapping '\x1fd6' s = Yield '\x0399' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
titleMapping '\x1fd7' s = Yield '\x0399' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
titleMapping '\x1fe2' s = Yield '\x03a5' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
titleMapping '\x1fe3' s = Yield '\x03a5' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER RHO WITH PSILI
titleMapping '\x1fe4' s = Yield '\x03a1' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
titleMapping '\x1fe6' s = Yield '\x03a5' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
titleMapping '\x1fe7' s = Yield '\x03a5' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
titleMapping '\x1ff6' s = Yield '\x03a9' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
titleMapping '\x1fb2' s = Yield '\x1fba' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
titleMapping '\x1fb4' s = Yield '\x0386' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
titleMapping '\x1fc2' s = Yield '\x1fca' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
titleMapping '\x1fc4' s = Yield '\x0389' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
titleMapping '\x1ff2' s = Yield '\x1ffa' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
titleMapping '\x1ff4' s = Yield '\x038f' (CC s '\x0345' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
titleMapping '\x1fb7' s = Yield '\x0391' (CC s '\x0342' '\x0345')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
titleMapping '\x1fc7' s = Yield '\x0397' (CC s '\x0342' '\x0345')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
titleMapping '\x1ff7' s = Yield '\x03a9' (CC s '\x0342' '\x0345')
titleMapping c s = Yield (toTitle c) (CC s '\0' '\0')
foldMapping :: forall s. Char -> s -> Step (CC s) Char
{-# NOINLINE foldMapping #-}
-- MICRO SIGN
foldMapping '\x00b5' s = Yield '\x03bc' (CC s '\x0000' '\x0000')
-- LATIN SMALL LETTER SHARP S
foldMapping '\x00df' s = Yield '\x0073' (CC s '\x0073' '\x0000')
-- LATIN CAPITAL LETTER I WITH DOT ABOVE
foldMapping '\x0130' s = Yield '\x0069' (CC s '\x0307' '\x0000')
-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
foldMapping '\x0149' s = Yield '\x02bc' (CC s '\x006e' '\x0000')
-- LATIN SMALL LETTER LONG S
foldMapping '\x017f' s = Yield '\x0073' (CC s '\x0000' '\x0000')
-- LATIN SMALL LETTER J WITH CARON
foldMapping '\x01f0' s = Yield '\x006a' (CC s '\x030c' '\x0000')
-- COMBINING GREEK YPOGEGRAMMENI
foldMapping '\x0345' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
foldMapping '\x0390' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
foldMapping '\x03b0' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER FINAL SIGMA
foldMapping '\x03c2' s = Yield '\x03c3' (CC s '\x0000' '\x0000')
-- GREEK BETA SYMBOL
foldMapping '\x03d0' s = Yield '\x03b2' (CC s '\x0000' '\x0000')
-- GREEK THETA SYMBOL
foldMapping '\x03d1' s = Yield '\x03b8' (CC s '\x0000' '\x0000')
-- GREEK PHI SYMBOL
foldMapping '\x03d5' s = Yield '\x03c6' (CC s '\x0000' '\x0000')
-- GREEK PI SYMBOL
foldMapping '\x03d6' s = Yield '\x03c0' (CC s '\x0000' '\x0000')
-- GREEK KAPPA SYMBOL
foldMapping '\x03f0' s = Yield '\x03ba' (CC s '\x0000' '\x0000')
-- GREEK RHO SYMBOL
foldMapping '\x03f1' s = Yield '\x03c1' (CC s '\x0000' '\x0000')
-- GREEK LUNATE EPSILON SYMBOL
foldMapping '\x03f5' s = Yield '\x03b5' (CC s '\x0000' '\x0000')
-- ARMENIAN SMALL LIGATURE ECH YIWN
foldMapping '\x0587' s = Yield '\x0565' (CC s '\x0582' '\x0000')
-- CHEROKEE SMALL LETTER YE
foldMapping '\x13f8' s = Yield '\x13f0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER YI
foldMapping '\x13f9' s = Yield '\x13f1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER YO
foldMapping '\x13fa' s = Yield '\x13f2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER YU
foldMapping '\x13fb' s = Yield '\x13f3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER YV
foldMapping '\x13fc' s = Yield '\x13f4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER MV
foldMapping '\x13fd' s = Yield '\x13f5' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER ROUNDED VE
foldMapping '\x1c80' s = Yield '\x0432' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER LONG-LEGGED DE
foldMapping '\x1c81' s = Yield '\x0434' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER NARROW O
foldMapping '\x1c82' s = Yield '\x043e' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER WIDE ES
foldMapping '\x1c83' s = Yield '\x0441' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER TALL TE
foldMapping '\x1c84' s = Yield '\x0442' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER THREE-LEGGED TE
foldMapping '\x1c85' s = Yield '\x0442' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER TALL HARD SIGN
foldMapping '\x1c86' s = Yield '\x044a' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER TALL YAT
foldMapping '\x1c87' s = Yield '\x0463' (CC s '\x0000' '\x0000')
-- CYRILLIC SMALL LETTER UNBLENDED UK
foldMapping '\x1c88' s = Yield '\xa64b' (CC s '\x0000' '\x0000')
-- LATIN SMALL LETTER H WITH LINE BELOW
foldMapping '\x1e96' s = Yield '\x0068' (CC s '\x0331' '\x0000')
-- LATIN SMALL LETTER T WITH DIAERESIS
foldMapping '\x1e97' s = Yield '\x0074' (CC s '\x0308' '\x0000')
-- LATIN SMALL LETTER W WITH RING ABOVE
foldMapping '\x1e98' s = Yield '\x0077' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER Y WITH RING ABOVE
foldMapping '\x1e99' s = Yield '\x0079' (CC s '\x030a' '\x0000')
-- LATIN SMALL LETTER A WITH RIGHT HALF RING
foldMapping '\x1e9a' s = Yield '\x0061' (CC s '\x02be' '\x0000')
-- LATIN SMALL LETTER LONG S WITH DOT ABOVE
foldMapping '\x1e9b' s = Yield '\x1e61' (CC s '\x0000' '\x0000')
-- LATIN CAPITAL LETTER SHARP S
foldMapping '\x1e9e' s = Yield '\x0073' (CC s '\x0073' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI
foldMapping '\x1f50' s = Yield '\x03c5' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
foldMapping '\x1f52' s = Yield '\x03c5' (CC s '\x0313' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
foldMapping '\x1f54' s = Yield '\x03c5' (CC s '\x0313' '\x0301')
-- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
foldMapping '\x1f56' s = Yield '\x03c5' (CC s '\x0313' '\x0342')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
foldMapping '\x1f80' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
foldMapping '\x1f81' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1f82' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1f83' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1f84' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1f85' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1f86' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1f87' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
foldMapping '\x1f88' s = Yield '\x1f00' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
foldMapping '\x1f89' s = Yield '\x1f01' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1f8a' s = Yield '\x1f02' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1f8b' s = Yield '\x1f03' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1f8c' s = Yield '\x1f04' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1f8d' s = Yield '\x1f05' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1f8e' s = Yield '\x1f06' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1f8f' s = Yield '\x1f07' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
foldMapping '\x1f90' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
foldMapping '\x1f91' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1f92' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1f93' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1f94' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1f95' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1f96' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1f97' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
foldMapping '\x1f98' s = Yield '\x1f20' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
foldMapping '\x1f99' s = Yield '\x1f21' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1f9a' s = Yield '\x1f22' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1f9b' s = Yield '\x1f23' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1f9c' s = Yield '\x1f24' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1f9d' s = Yield '\x1f25' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1f9e' s = Yield '\x1f26' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1f9f' s = Yield '\x1f27' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
foldMapping '\x1fa0' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
foldMapping '\x1fa1' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1fa2' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
foldMapping '\x1fa3' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1fa4' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
foldMapping '\x1fa5' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1fa6' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1fa7' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
foldMapping '\x1fa8' s = Yield '\x1f60' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
foldMapping '\x1fa9' s = Yield '\x1f61' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1faa' s = Yield '\x1f62' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
foldMapping '\x1fab' s = Yield '\x1f63' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1fac' s = Yield '\x1f64' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
foldMapping '\x1fad' s = Yield '\x1f65' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1fae' s = Yield '\x1f66' (CC s '\x03b9' '\x0000')
-- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
foldMapping '\x1faf' s = Yield '\x1f67' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
foldMapping '\x1fb2' s = Yield '\x1f70' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
foldMapping '\x1fb3' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
foldMapping '\x1fb4' s = Yield '\x03ac' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
foldMapping '\x1fb6' s = Yield '\x03b1' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1fb7' s = Yield '\x03b1' (CC s '\x0342' '\x03b9')
-- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
foldMapping '\x1fbc' s = Yield '\x03b1' (CC s '\x03b9' '\x0000')
-- GREEK PROSGEGRAMMENI
foldMapping '\x1fbe' s = Yield '\x03b9' (CC s '\x0000' '\x0000')
-- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
foldMapping '\x1fc2' s = Yield '\x1f74' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
foldMapping '\x1fc3' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
foldMapping '\x1fc4' s = Yield '\x03ae' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI
foldMapping '\x1fc6' s = Yield '\x03b7' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1fc7' s = Yield '\x03b7' (CC s '\x0342' '\x03b9')
-- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
foldMapping '\x1fcc' s = Yield '\x03b7' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
foldMapping '\x1fd2' s = Yield '\x03b9' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
foldMapping '\x1fd3' s = Yield '\x03b9' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER IOTA WITH PERISPOMENI
foldMapping '\x1fd6' s = Yield '\x03b9' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
foldMapping '\x1fd7' s = Yield '\x03b9' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
foldMapping '\x1fe2' s = Yield '\x03c5' (CC s '\x0308' '\x0300')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
foldMapping '\x1fe3' s = Yield '\x03c5' (CC s '\x0308' '\x0301')
-- GREEK SMALL LETTER RHO WITH PSILI
foldMapping '\x1fe4' s = Yield '\x03c1' (CC s '\x0313' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
foldMapping '\x1fe6' s = Yield '\x03c5' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
foldMapping '\x1fe7' s = Yield '\x03c5' (CC s '\x0308' '\x0342')
-- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
foldMapping '\x1ff2' s = Yield '\x1f7c' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
foldMapping '\x1ff3' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
foldMapping '\x1ff4' s = Yield '\x03ce' (CC s '\x03b9' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
foldMapping '\x1ff6' s = Yield '\x03c9' (CC s '\x0342' '\x0000')
-- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
foldMapping '\x1ff7' s = Yield '\x03c9' (CC s '\x0342' '\x03b9')
-- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
foldMapping '\x1ffc' s = Yield '\x03c9' (CC s '\x03b9' '\x0000')
-- LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY
foldMapping '\xa7c7' s = Yield '\xa7c8' (CC s '\x0000' '\x0000')
-- LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY
foldMapping '\xa7c9' s = Yield '\xa7ca' (CC s '\x0000' '\x0000')
-- LATIN CAPITAL LETTER REVERSED HALF H
foldMapping '\xa7f5' s = Yield '\xa7f6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER A
foldMapping '\xab70' s = Yield '\x13a0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER E
foldMapping '\xab71' s = Yield '\x13a1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER I
foldMapping '\xab72' s = Yield '\x13a2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER O
foldMapping '\xab73' s = Yield '\x13a3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER U
foldMapping '\xab74' s = Yield '\x13a4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER V
foldMapping '\xab75' s = Yield '\x13a5' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GA
foldMapping '\xab76' s = Yield '\x13a6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER KA
foldMapping '\xab77' s = Yield '\x13a7' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GE
foldMapping '\xab78' s = Yield '\x13a8' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GI
foldMapping '\xab79' s = Yield '\x13a9' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GO
foldMapping '\xab7a' s = Yield '\x13aa' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GU
foldMapping '\xab7b' s = Yield '\x13ab' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER GV
foldMapping '\xab7c' s = Yield '\x13ac' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HA
foldMapping '\xab7d' s = Yield '\x13ad' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HE
foldMapping '\xab7e' s = Yield '\x13ae' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HI
foldMapping '\xab7f' s = Yield '\x13af' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HO
foldMapping '\xab80' s = Yield '\x13b0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HU
foldMapping '\xab81' s = Yield '\x13b1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HV
foldMapping '\xab82' s = Yield '\x13b2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LA
foldMapping '\xab83' s = Yield '\x13b3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LE
foldMapping '\xab84' s = Yield '\x13b4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LI
foldMapping '\xab85' s = Yield '\x13b5' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LO
foldMapping '\xab86' s = Yield '\x13b6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LU
foldMapping '\xab87' s = Yield '\x13b7' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER LV
foldMapping '\xab88' s = Yield '\x13b8' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER MA
foldMapping '\xab89' s = Yield '\x13b9' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER ME
foldMapping '\xab8a' s = Yield '\x13ba' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER MI
foldMapping '\xab8b' s = Yield '\x13bb' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER MO
foldMapping '\xab8c' s = Yield '\x13bc' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER MU
foldMapping '\xab8d' s = Yield '\x13bd' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NA
foldMapping '\xab8e' s = Yield '\x13be' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER HNA
foldMapping '\xab8f' s = Yield '\x13bf' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NAH
foldMapping '\xab90' s = Yield '\x13c0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NE
foldMapping '\xab91' s = Yield '\x13c1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NI
foldMapping '\xab92' s = Yield '\x13c2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NO
foldMapping '\xab93' s = Yield '\x13c3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NU
foldMapping '\xab94' s = Yield '\x13c4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER NV
foldMapping '\xab95' s = Yield '\x13c5' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUA
foldMapping '\xab96' s = Yield '\x13c6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUE
foldMapping '\xab97' s = Yield '\x13c7' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUI
foldMapping '\xab98' s = Yield '\x13c8' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUO
foldMapping '\xab99' s = Yield '\x13c9' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUU
foldMapping '\xab9a' s = Yield '\x13ca' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER QUV
foldMapping '\xab9b' s = Yield '\x13cb' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SA
foldMapping '\xab9c' s = Yield '\x13cc' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER S
foldMapping '\xab9d' s = Yield '\x13cd' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SE
foldMapping '\xab9e' s = Yield '\x13ce' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SI
foldMapping '\xab9f' s = Yield '\x13cf' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SO
foldMapping '\xaba0' s = Yield '\x13d0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SU
foldMapping '\xaba1' s = Yield '\x13d1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER SV
foldMapping '\xaba2' s = Yield '\x13d2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DA
foldMapping '\xaba3' s = Yield '\x13d3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TA
foldMapping '\xaba4' s = Yield '\x13d4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DE
foldMapping '\xaba5' s = Yield '\x13d5' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TE
foldMapping '\xaba6' s = Yield '\x13d6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DI
foldMapping '\xaba7' s = Yield '\x13d7' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TI
foldMapping '\xaba8' s = Yield '\x13d8' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DO
foldMapping '\xaba9' s = Yield '\x13d9' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DU
foldMapping '\xabaa' s = Yield '\x13da' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DV
foldMapping '\xabab' s = Yield '\x13db' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER DLA
foldMapping '\xabac' s = Yield '\x13dc' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLA
foldMapping '\xabad' s = Yield '\x13dd' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLE
foldMapping '\xabae' s = Yield '\x13de' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLI
foldMapping '\xabaf' s = Yield '\x13df' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLO
foldMapping '\xabb0' s = Yield '\x13e0' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLU
foldMapping '\xabb1' s = Yield '\x13e1' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TLV
foldMapping '\xabb2' s = Yield '\x13e2' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSA
foldMapping '\xabb3' s = Yield '\x13e3' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSE
foldMapping '\xabb4' s = Yield '\x13e4' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSI
foldMapping '\xabb5' s = Yield '\x13e5' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSO
foldMapping '\xabb6' s = Yield '\x13e6' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSU
foldMapping '\xabb7' s = Yield '\x13e7' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER TSV
foldMapping '\xabb8' s = Yield '\x13e8' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WA
foldMapping '\xabb9' s = Yield '\x13e9' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WE
foldMapping '\xabba' s = Yield '\x13ea' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WI
foldMapping '\xabbb' s = Yield '\x13eb' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WO
foldMapping '\xabbc' s = Yield '\x13ec' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WU
foldMapping '\xabbd' s = Yield '\x13ed' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER WV
foldMapping '\xabbe' s = Yield '\x13ee' (CC s '\x0000' '\x0000')
-- CHEROKEE SMALL LETTER YA
foldMapping '\xabbf' s = Yield '\x13ef' (CC s '\x0000' '\x0000')
-- LATIN SMALL LIGATURE FF
foldMapping '\xfb00' s = Yield '\x0066' (CC s '\x0066' '\x0000')
-- LATIN SMALL LIGATURE FI
foldMapping '\xfb01' s = Yield '\x0066' (CC s '\x0069' '\x0000')
-- LATIN SMALL LIGATURE FL
foldMapping '\xfb02' s = Yield '\x0066' (CC s '\x006c' '\x0000')
-- LATIN SMALL LIGATURE FFI
foldMapping '\xfb03' s = Yield '\x0066' (CC s '\x0066' '\x0069')
-- LATIN SMALL LIGATURE FFL
foldMapping '\xfb04' s = Yield '\x0066' (CC s '\x0066' '\x006c')
-- LATIN SMALL LIGATURE LONG S T
foldMapping '\xfb05' s = Yield '\x0073' (CC s '\x0074' '\x0000')
-- LATIN SMALL LIGATURE ST
foldMapping '\xfb06' s = Yield '\x0073' (CC s '\x0074' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN NOW
foldMapping '\xfb13' s = Yield '\x0574' (CC s '\x0576' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN ECH
foldMapping '\xfb14' s = Yield '\x0574' (CC s '\x0565' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN INI
foldMapping '\xfb15' s = Yield '\x0574' (CC s '\x056b' '\x0000')
-- ARMENIAN SMALL LIGATURE VEW NOW
foldMapping '\xfb16' s = Yield '\x057e' (CC s '\x0576' '\x0000')
-- ARMENIAN SMALL LIGATURE MEN XEH
foldMapping '\xfb17' s = Yield '\x0574' (CC s '\x056d' '\x0000')
foldMapping c s = Yield (toLower c) (CC s '\0' '\0')