
#include <AK/Assertions.h>
#include <AK/HashMap.h>
#include <AK/NeverDestroyed.h>
#include <AK/Utf16FlyString.h>
#include <LibWeb/CSS/Keyword.h>

namespace Web::CSS {

static HashMap<StringView, Keyword, AK::CaseInsensitiveASCIIStringViewTraits> const& stringview_to_keyword_map()
{
    static auto const& map = *new HashMap<StringView, Keyword, AK::CaseInsensitiveASCIIStringViewTraits> {

    {"-infinity"sv, Keyword::NegativeInfinity},

    {"-libweb-buttonfacedisabled"sv, Keyword::LibwebButtonfacedisabled},

    {"-libweb-buttonfacehover"sv, Keyword::LibwebButtonfacehover},

    {"-libweb-center"sv, Keyword::LibwebCenter},

    {"-libweb-inherit-or-center"sv, Keyword::LibwebInheritOrCenter},

    {"-libweb-left"sv, Keyword::LibwebLeft},

    {"-libweb-right"sv, Keyword::LibwebRight},

    {"a"sv, Keyword::A},

    {"a3"sv, Keyword::A3},

    {"a4"sv, Keyword::A4},

    {"a5"sv, Keyword::A5},

    {"a98-rgb"sv, Keyword::A98Rgb},

    {"absolute"sv, Keyword::Absolute},

    {"accentcolor"sv, Keyword::Accentcolor},

    {"accentcolortext"sv, Keyword::Accentcolortext},

    {"accumulate"sv, Keyword::Accumulate},

    {"active"sv, Keyword::Active},

    {"activeborder"sv, Keyword::Activeborder},

    {"activecaption"sv, Keyword::Activecaption},

    {"activetext"sv, Keyword::Activetext},

    {"add"sv, Keyword::Add},

    {"additive"sv, Keyword::Additive},

    {"adlam"sv, Keyword::Adlam},

    {"afar"sv, Keyword::Afar},

    {"agaw"sv, Keyword::Agaw},

    {"alias"sv, Keyword::Alias},

    {"all"sv, Keyword::All},

    {"all-petite-caps"sv, Keyword::AllPetiteCaps},

    {"all-scroll"sv, Keyword::AllScroll},

    {"all-small-caps"sv, Keyword::AllSmallCaps},

    {"allow-discrete"sv, Keyword::AllowDiscrete},

    {"alpha"sv, Keyword::Alpha},

    {"alphabetic"sv, Keyword::Alphabetic},

    {"alternate"sv, Keyword::Alternate},

    {"alternate-reverse"sv, Keyword::AlternateReverse},

    {"always"sv, Keyword::Always},

    {"anchors-valid"sv, Keyword::AnchorsValid},

    {"anchors-visible"sv, Keyword::AnchorsVisible},

    {"ancient-tamil"sv, Keyword::AncientTamil},

    {"anonymous"sv, Keyword::Anonymous},

    {"anywhere"sv, Keyword::Anywhere},

    {"appworkspace"sv, Keyword::Appworkspace},

    {"arabic-abjad"sv, Keyword::ArabicAbjad},

    {"arabic-indic"sv, Keyword::ArabicIndic},

    {"ari"sv, Keyword::Ari},

    {"armenian"sv, Keyword::Armenian},

    {"auto"sv, Keyword::Auto},

    {"auto-add"sv, Keyword::AutoAdd},

    {"avar2"sv, Keyword::Avar2},

    {"b"sv, Keyword::B},

    {"b4"sv, Keyword::B4},

    {"b5"sv, Keyword::B5},

    {"back"sv, Keyword::Back},

    {"background"sv, Keyword::Background},

    {"backwards"sv, Keyword::Backwards},

    {"balance"sv, Keyword::Balance},

    {"balinese"sv, Keyword::Balinese},

    {"bamum"sv, Keyword::Bamum},

    {"bangla"sv, Keyword::Bangla},

    {"baseline"sv, Keyword::Baseline},

    {"bengali"sv, Keyword::Bengali},

    {"bevel"sv, Keyword::Bevel},

    {"bidi-override"sv, Keyword::BidiOverride},

    {"binary"sv, Keyword::Binary},

    {"blin"sv, Keyword::Blin},

    {"blink"sv, Keyword::Blink},

    {"block"sv, Keyword::Block},

    {"block-end"sv, Keyword::BlockEnd},

    {"block-start"sv, Keyword::BlockStart},

    {"bodo"sv, Keyword::Bodo},

    {"bold"sv, Keyword::Bold},

    {"bolder"sv, Keyword::Bolder},

    {"border-box"sv, Keyword::BorderBox},

    {"both"sv, Keyword::Both},

    {"both-edges"sv, Keyword::BothEdges},

    {"bottom"sv, Keyword::Bottom},

    {"break-all"sv, Keyword::BreakAll},

    {"break-spaces"sv, Keyword::BreakSpaces},

    {"break-word"sv, Keyword::BreakWord},

    {"browser"sv, Keyword::Browser},

    {"bullets"sv, Keyword::Bullets},

    {"butt"sv, Keyword::Butt},

    {"button"sv, Keyword::Button},

    {"buttonborder"sv, Keyword::Buttonborder},

    {"buttonface"sv, Keyword::Buttonface},

    {"buttonhighlight"sv, Keyword::Buttonhighlight},

    {"buttonshadow"sv, Keyword::Buttonshadow},

    {"buttontext"sv, Keyword::Buttontext},

    {"c"sv, Keyword::C},

    {"cambodian"sv, Keyword::Cambodian},

    {"canvas"sv, Keyword::Canvas},

    {"canvastext"sv, Keyword::Canvastext},

    {"capitalize"sv, Keyword::Capitalize},

    {"captiontext"sv, Keyword::Captiontext},

    {"cell"sv, Keyword::Cell},

    {"center"sv, Keyword::Center},

    {"central"sv, Keyword::Central},

    {"checkbox"sv, Keyword::Checkbox},

    {"circle"sv, Keyword::Circle},

    {"circled-decimal"sv, Keyword::CircledDecimal},

    {"circled-ideograph"sv, Keyword::CircledIdeograph},

    {"circled-katakana"sv, Keyword::CircledKatakana},

    {"circled-korean-consonant"sv, Keyword::CircledKoreanConsonant},

    {"circled-korean-syllable"sv, Keyword::CircledKoreanSyllable},

    {"circled-lower-latin"sv, Keyword::CircledLowerLatin},

    {"circled-upper-latin"sv, Keyword::CircledUpperLatin},

    {"cjk-decimal"sv, Keyword::CjkDecimal},

    {"cjk-earthly-branch"sv, Keyword::CjkEarthlyBranch},

    {"cjk-heavenly-stem"sv, Keyword::CjkHeavenlyStem},

    {"cjk-ideographic"sv, Keyword::CjkIdeographic},

    {"cjk-stem-branch"sv, Keyword::CjkStemBranch},

    {"cjk-tally-mark"sv, Keyword::CjkTallyMark},

    {"clip"sv, Keyword::Clip},

    {"close-quote"sv, Keyword::CloseQuote},

    {"closest-corner"sv, Keyword::ClosestCorner},

    {"closest-side"sv, Keyword::ClosestSide},

    {"coarse"sv, Keyword::Coarse},

    {"col-resize"sv, Keyword::ColResize},

    {"collapse"sv, Keyword::Collapse},

    {"color"sv, Keyword::Color},

    {"color-burn"sv, Keyword::ColorBurn},

    {"color-cbdt"sv, Keyword::ColorCbdt},

    {"color-colrv0"sv, Keyword::ColorColrv0},

    {"color-colrv1"sv, Keyword::ColorColrv1},

    {"color-dodge"sv, Keyword::ColorDodge},

    {"color-sbix"sv, Keyword::ColorSbix},

    {"color-svg"sv, Keyword::ColorSvg},

    {"column"sv, Keyword::Column},

    {"column-reverse"sv, Keyword::ColumnReverse},

    {"common-ligatures"sv, Keyword::CommonLigatures},

    {"compact"sv, Keyword::Compact},

    {"condensed"sv, Keyword::Condensed},

    {"contain"sv, Keyword::Contain},

    {"content"sv, Keyword::Content},

    {"content-box"sv, Keyword::ContentBox},

    {"contents"sv, Keyword::Contents},

    {"context-menu"sv, Keyword::ContextMenu},

    {"contextual"sv, Keyword::Contextual},

    {"copy"sv, Keyword::Copy},

    {"cover"sv, Keyword::Cover},

    {"crisp-edges"sv, Keyword::CrispEdges},

    {"crispedges"sv, Keyword::Crispedges},

    {"crop"sv, Keyword::Crop},

    {"cross"sv, Keyword::Cross},

    {"crosshair"sv, Keyword::Crosshair},

    {"currentcolor"sv, Keyword::Currentcolor},

    {"cursive"sv, Keyword::Cursive},

    {"custom"sv, Keyword::Custom},

    {"cyclic"sv, Keyword::Cyclic},

    {"dark"sv, Keyword::Dark},

    {"darken"sv, Keyword::Darken},

    {"dashed"sv, Keyword::Dashed},

    {"decimal"sv, Keyword::Decimal},

    {"decimal-leading-zero"sv, Keyword::DecimalLeadingZero},

    {"decreasing"sv, Keyword::Decreasing},

    {"default"sv, Keyword::Default},

    {"devanagari"sv, Keyword::Devanagari},

    {"diagonal-fractions"sv, Keyword::DiagonalFractions},

    {"difference"sv, Keyword::Difference},

    {"disc"sv, Keyword::Disc},

    {"discard"sv, Keyword::Discard},

    {"discard-before"sv, Keyword::DiscardBefore},

    {"discard-after"sv, Keyword::DiscardAfter},

    {"discard-inner"sv, Keyword::DiscardInner},

    {"disclosure-closed"sv, Keyword::DisclosureClosed},

    {"disclosure-open"sv, Keyword::DisclosureOpen},

    {"discretionary-ligatures"sv, Keyword::DiscretionaryLigatures},

    {"distribute"sv, Keyword::Distribute},

    {"display-p3"sv, Keyword::DisplayP3},

    {"display-p3-linear"sv, Keyword::DisplayP3Linear},

    {"dizi"sv, Keyword::Dizi},

    {"dogri"sv, Keyword::Dogri},

    {"dotted-decimal"sv, Keyword::DottedDecimal},

    {"dotted"sv, Keyword::Dotted},

    {"double-circled-decimal"sv, Keyword::DoubleCircledDecimal},

    {"double"sv, Keyword::Double},

    {"down"sv, Keyword::Down},

    {"e"sv, Keyword::E},

    {"e-resize"sv, Keyword::EResize},

    {"each-line"sv, Keyword::EachLine},

    {"ease"sv, Keyword::Ease},

    {"ease-in"sv, Keyword::EaseIn},

    {"ease-in-out"sv, Keyword::EaseInOut},

    {"ease-out"sv, Keyword::EaseOut},

    {"element-shared"sv, Keyword::ElementShared},

    {"ellipsis"sv, Keyword::Ellipsis},

    {"else"sv, Keyword::Else},

    {"embed"sv, Keyword::Embed},

    {"emoji"sv, Keyword::Emoji},

    {"enabled"sv, Keyword::Enabled},

    {"end"sv, Keyword::End},

    {"ethiopic-halehame-am"sv, Keyword::EthiopicHalehameAm},

    {"ethiopic-halehame-ti-er"sv, Keyword::EthiopicHalehameTiEr},

    {"ethiopic-halehame-ti-et"sv, Keyword::EthiopicHalehameTiEt},

    {"ethiopic-halehame"sv, Keyword::EthiopicHalehame},

    {"ethiopic-numeric"sv, Keyword::EthiopicNumeric},

    {"evenodd"sv, Keyword::Evenodd},

    {"ew-resize"sv, Keyword::EwResize},

    {"exclude"sv, Keyword::Exclude},

    {"exclusion"sv, Keyword::Exclusion},

    {"expanded"sv, Keyword::Expanded},

    {"extends"sv, Keyword::Extends},

    {"extra-condensed"sv, Keyword::ExtraCondensed},

    {"extra-expanded"sv, Keyword::ExtraExpanded},

    {"fallback"sv, Keyword::Fallback},

    {"false"sv, Keyword::False},

    {"fantasy"sv, Keyword::Fantasy},

    {"farthest-corner"sv, Keyword::FarthestCorner},

    {"farthest-side"sv, Keyword::FarthestSide},

    {"fast"sv, Keyword::Fast},

    {"features-aat"sv, Keyword::FeaturesAat},

    {"features-graphite"sv, Keyword::FeaturesGraphite},

    {"features-opentype"sv, Keyword::FeaturesOpentype},

    {"field"sv, Keyword::Field},

    {"fieldtext"sv, Keyword::Fieldtext},

    {"fill"sv, Keyword::Fill},

    {"fill-box"sv, Keyword::FillBox},

    {"filled-circled-decimal"sv, Keyword::FilledCircledDecimal},

    {"fine"sv, Keyword::Fine},

    {"fit-content"sv, Keyword::FitContent},

    {"fixed"sv, Keyword::Fixed},

    {"flat"sv, Keyword::Flat},

    {"flex"sv, Keyword::Flex},

    {"flex-end"sv, Keyword::FlexEnd},

    {"flex-start"sv, Keyword::FlexStart},

    {"flip-block"sv, Keyword::FlipBlock},

    {"flip-inline"sv, Keyword::FlipInline},

    {"flip-start"sv, Keyword::FlipStart},

    {"flow"sv, Keyword::Flow},

    {"flow-root"sv, Keyword::FlowRoot},

    {"forwards"sv, Keyword::Forwards},

    {"from-font"sv, Keyword::FromFont},

    {"full-size-kana"sv, Keyword::FullSizeKana},

    {"full-width"sv, Keyword::FullWidth},

    {"fullwidth-decimal"sv, Keyword::FullwidthDecimal},

    {"fullwidth-lower-alpha"sv, Keyword::FullwidthLowerAlpha},

    {"fullwidth-upper-alpha"sv, Keyword::FullwidthUpperAlpha},

    {"fullwidth-upper-roman"sv, Keyword::FullwidthUpperRoman},

    {"fullscreen"sv, Keyword::Fullscreen},

    {"g"sv, Keyword::G},

    {"gedeo"sv, Keyword::Gedeo},

    {"geometricprecision"sv, Keyword::Geometricprecision},

    {"georgian"sv, Keyword::Georgian},

    {"grab"sv, Keyword::Grab},

    {"grabbing"sv, Keyword::Grabbing},

    {"grammar-error"sv, Keyword::GrammarError},

    {"graytext"sv, Keyword::Graytext},

    {"greek-lower-ancient"sv, Keyword::GreekLowerAncient},

    {"greek-lower-modern"sv, Keyword::GreekLowerModern},

    {"greek-upper-ancient"sv, Keyword::GreekUpperAncient},

    {"greek-upper-modern"sv, Keyword::GreekUpperModern},

    {"grid"sv, Keyword::Grid},

    {"groove"sv, Keyword::Groove},

    {"gujarati-alpha"sv, Keyword::GujaratiAlpha},

    {"gujarati"sv, Keyword::Gujarati},

    {"gumuz"sv, Keyword::Gumuz},

    {"gurmukhi"sv, Keyword::Gurmukhi},

    {"h"sv, Keyword::H},

    {"hadiyaa"sv, Keyword::Hadiyaa},

    {"hanging"sv, Keyword::Hanging},

    {"hangul-consonant"sv, Keyword::HangulConsonant},

    {"hangul"sv, Keyword::Hangul},

    {"hanifi-rohingya"sv, Keyword::HanifiRohingya},

    {"harari"sv, Keyword::Harari},

    {"hard-light"sv, Keyword::HardLight},

    {"hebrew"sv, Keyword::Hebrew},

    {"height"sv, Keyword::Height},

    {"help"sv, Keyword::Help},

    {"hide"sv, Keyword::Hide},

    {"hidden"sv, Keyword::Hidden},

    {"high"sv, Keyword::High},

    {"high-quality"sv, Keyword::HighQuality},

    {"highlight"sv, Keyword::Highlight},

    {"highlighttext"sv, Keyword::Highlighttext},

    {"hindi"sv, Keyword::Hindi},

    {"hiragana-iroha"sv, Keyword::HiraganaIroha},

    {"hiragana"sv, Keyword::Hiragana},

    {"historical-forms"sv, Keyword::HistoricalForms},

    {"historical-ligatures"sv, Keyword::HistoricalLigatures},

    {"horizontal"sv, Keyword::Horizontal},

    {"horizontal-tb"sv, Keyword::HorizontalTb},

    {"hover"sv, Keyword::Hover},

    {"hsl"sv, Keyword::Hsl},

    {"hue"sv, Keyword::Hue},

    {"hwb"sv, Keyword::Hwb},

    {"inactiveborder"sv, Keyword::Inactiveborder},

    {"inactivecaption"sv, Keyword::Inactivecaption},

    {"inactivecaptiontext"sv, Keyword::Inactivecaptiontext},

    {"increasing"sv, Keyword::Increasing},

    {"ideographic"sv, Keyword::Ideographic},

    {"incremental"sv, Keyword::Incremental},

    {"infinite"sv, Keyword::Infinite},

    {"infinity"sv, Keyword::Infinity},

    {"infobackground"sv, Keyword::Infobackground},

    {"infotext"sv, Keyword::Infotext},

    {"inherit"sv, Keyword::Inherit},

    {"initial"sv, Keyword::Initial},

    {"initial-only"sv, Keyword::InitialOnly},

    {"inline"sv, Keyword::Inline},

    {"inline-block"sv, Keyword::InlineBlock},

    {"inline-end"sv, Keyword::InlineEnd},

    {"inline-flex"sv, Keyword::InlineFlex},

    {"inline-grid"sv, Keyword::InlineGrid},

    {"inline-size"sv, Keyword::InlineSize},

    {"inline-start"sv, Keyword::InlineStart},

    {"inline-table"sv, Keyword::InlineTable},

    {"inset"sv, Keyword::Inset},

    {"inside"sv, Keyword::Inside},

    {"inter-character"sv, Keyword::InterCharacter},

    {"inter-word"sv, Keyword::InterWord},

    {"interlace"sv, Keyword::Interlace},

    {"intersect"sv, Keyword::Intersect},

    {"invert"sv, Keyword::Invert},

    {"inverted"sv, Keyword::Inverted},

    {"isolate"sv, Keyword::Isolate},

    {"isolate-override"sv, Keyword::IsolateOverride},

    {"italic"sv, Keyword::Italic},

    {"japanese-formal"sv, Keyword::JapaneseFormal},

    {"japanese-informal"sv, Keyword::JapaneseInformal},

    {"javanese"sv, Keyword::Javanese},

    {"jis-b4"sv, Keyword::JisB4},

    {"jis-b5"sv, Keyword::JisB5},

    {"jis04"sv, Keyword::Jis04},

    {"jis78"sv, Keyword::Jis78},

    {"jis83"sv, Keyword::Jis83},

    {"jis90"sv, Keyword::Jis90},

    {"jump-both"sv, Keyword::JumpBoth},

    {"jump-end"sv, Keyword::JumpEnd},

    {"jump-none"sv, Keyword::JumpNone},

    {"jump-start"sv, Keyword::JumpStart},

    {"justify"sv, Keyword::Justify},

    {"kaffa"sv, Keyword::Kaffa},

    {"kannada-alpha"sv, Keyword::KannadaAlpha},

    {"kannada"sv, Keyword::Kannada},

    {"kashmiri"sv, Keyword::Kashmiri},

    {"katakana-iroha"sv, Keyword::KatakanaIroha},

    {"katakana"sv, Keyword::Katakana},

    {"kayah-li"sv, Keyword::KayahLi},

    {"kebena"sv, Keyword::Kebena},

    {"keep-all"sv, Keyword::KeepAll},

    {"kembata"sv, Keyword::Kembata},

    {"khmer-consonant"sv, Keyword::KhmerConsonant},

    {"khmer"sv, Keyword::Khmer},

    {"konkani"sv, Keyword::Konkani},

    {"konso"sv, Keyword::Konso},

    {"korean-consonant"sv, Keyword::KoreanConsonant},

    {"korean-hangul-formal"sv, Keyword::KoreanHangulFormal},

    {"korean-hanja-formal"sv, Keyword::KoreanHanjaFormal},

    {"korean-hanja-informal"sv, Keyword::KoreanHanjaInformal},

    {"korean-syllable"sv, Keyword::KoreanSyllable},

    {"kunama"sv, Keyword::Kunama},

    {"l"sv, Keyword::L},

    {"landscape"sv, Keyword::Landscape},

    {"lanna-hora"sv, Keyword::LannaHora},

    {"lanna-tham"sv, Keyword::LannaTham},

    {"lao"sv, Keyword::Lao},

    {"lab"sv, Keyword::Lab},

    {"large"sv, Keyword::Large},

    {"larger"sv, Keyword::Larger},

    {"layout"sv, Keyword::Layout},

    {"lch"sv, Keyword::Lch},

    {"ledger"sv, Keyword::Ledger},

    {"left"sv, Keyword::Left},

    {"legacy"sv, Keyword::Legacy},

    {"legal"sv, Keyword::Legal},

    {"lepcha"sv, Keyword::Lepcha},

    {"less"sv, Keyword::Less},

    {"letter"sv, Keyword::Letter},

    {"light"sv, Keyword::Light},

    {"lighten"sv, Keyword::Lighten},

    {"lighter"sv, Keyword::Lighter},

    {"limbu"sv, Keyword::Limbu},

    {"line-through"sv, Keyword::LineThrough},

    {"linear"sv, Keyword::Linear},

    {"linearrgb"sv, Keyword::Linearrgb},

    {"lining-nums"sv, Keyword::LiningNums},

    {"linktext"sv, Keyword::Linktext},

    {"list-item"sv, Keyword::ListItem},

    {"listbox"sv, Keyword::Listbox},

    {"local"sv, Keyword::Local},

    {"longer"sv, Keyword::Longer},

    {"lower-alpha-symbolic"sv, Keyword::LowerAlphaSymbolic},

    {"lower-alpha"sv, Keyword::LowerAlpha},

    {"lower-armenian"sv, Keyword::LowerArmenian},

    {"lower-belorussian"sv, Keyword::LowerBelorussian},

    {"lower-bulgarian"sv, Keyword::LowerBulgarian},

    {"lower-greek"sv, Keyword::LowerGreek},

    {"lower-hexadecimal"sv, Keyword::LowerHexadecimal},

    {"lower-latin"sv, Keyword::LowerLatin},

    {"lower-macedonian"sv, Keyword::LowerMacedonian},

    {"lower-oromo-qubee"sv, Keyword::LowerOromoQubee},

    {"lower-roman"sv, Keyword::LowerRoman},

    {"lower-russian-full"sv, Keyword::LowerRussianFull},

    {"lower-russian"sv, Keyword::LowerRussian},

    {"lower-serbian"sv, Keyword::LowerSerbian},

    {"lower-ukrainian-full"sv, Keyword::LowerUkrainianFull},

    {"lower-ukrainian"sv, Keyword::LowerUkrainian},

    {"lowercase"sv, Keyword::Lowercase},

    {"ltr"sv, Keyword::Ltr},

    {"luminance"sv, Keyword::Luminance},

    {"luminosity"sv, Keyword::Luminosity},

    {"maghrebi-abjad"sv, Keyword::MaghrebiAbjad},

    {"maithili"sv, Keyword::Maithili},

    {"malayalam-alpha"sv, Keyword::MalayalamAlpha},

    {"malayalam"sv, Keyword::Malayalam},

    {"manipulation"sv, Keyword::Manipulation},

    {"manipuri"sv, Keyword::Manipuri},

    {"marathi"sv, Keyword::Marathi},

    {"margin-box"sv, Keyword::MarginBox},

    {"mark"sv, Keyword::Mark},

    {"markers"sv, Keyword::Markers},

    {"marktext"sv, Keyword::Marktext},

    {"match-parent"sv, Keyword::MatchParent},

    {"match-source"sv, Keyword::MatchSource},

    {"math"sv, Keyword::Math},

    {"math-auto"sv, Keyword::MathAuto},

    {"mathematical"sv, Keyword::Mathematical},

    {"max-content"sv, Keyword::MaxContent},

    {"medium"sv, Keyword::Medium},

    {"meen"sv, Keyword::Meen},

    {"meetei"sv, Keyword::Meetei},

    {"menu"sv, Keyword::Menu},

    {"menulist"sv, Keyword::Menulist},

    {"menulist-button"sv, Keyword::MenulistButton},

    {"menutext"sv, Keyword::Menutext},

    {"meter"sv, Keyword::Meter},

    {"middle"sv, Keyword::Middle},

    {"min-content"sv, Keyword::MinContent},

    {"minimal-ui"sv, Keyword::MinimalUi},

    {"miter"sv, Keyword::Miter},

    {"mongolian"sv, Keyword::Mongolian},

    {"monospace"sv, Keyword::Monospace},

    {"more"sv, Keyword::More},

    {"most-block-size"sv, Keyword::MostBlockSize},

    {"most-height"sv, Keyword::MostHeight},

    {"most-inline-size"sv, Keyword::MostInlineSize},

    {"most-width"sv, Keyword::MostWidth},

    {"move"sv, Keyword::Move},

    {"mro"sv, Keyword::Mro},

    {"multiply"sv, Keyword::Multiply},

    {"myanmar"sv, Keyword::Myanmar},

    {"n-resize"sv, Keyword::NResize},

    {"nag-mundari"sv, Keyword::NagMundari},

    {"nan"sv, Keyword::Nan},

    {"ne-resize"sv, Keyword::NeResize},

    {"nearest"sv, Keyword::Nearest},

    {"nesw-resize"sv, Keyword::NeswResize},

    {"new-base-60"sv, Keyword::NewBase60},

    {"newa"sv, Keyword::Newa},

    {"nko-cardinal"sv, Keyword::NkoCardinal},

    {"no-clamp"sv, Keyword::NoClamp},

    {"no-clip"sv, Keyword::NoClip},

    {"no-close-quote"sv, Keyword::NoCloseQuote},

    {"no-common-ligatures"sv, Keyword::NoCommonLigatures},

    {"no-contextual"sv, Keyword::NoContextual},

    {"no-discretionary-ligatures"sv, Keyword::NoDiscretionaryLigatures},

    {"no-drop"sv, Keyword::NoDrop},

    {"no-historical-ligatures"sv, Keyword::NoHistoricalLigatures},

    {"no-open-quote"sv, Keyword::NoOpenQuote},

    {"no-overflow"sv, Keyword::NoOverflow},

    {"no-preference"sv, Keyword::NoPreference},

    {"no-referrer"sv, Keyword::NoReferrer},

    {"no-referrer-when-downgrade"sv, Keyword::NoReferrerWhenDowngrade},

    {"no-repeat"sv, Keyword::NoRepeat},

    {"none"sv, Keyword::None},

    {"nonzero"sv, Keyword::Nonzero},

    {"normal"sv, Keyword::Normal},

    {"not-allowed"sv, Keyword::NotAllowed},

    {"notch"sv, Keyword::Notch},

    {"nowrap"sv, Keyword::Nowrap},

    {"ns-resize"sv, Keyword::NsResize},

    {"numbers"sv, Keyword::Numbers},

    {"numeric"sv, Keyword::Numeric},

    {"nw-resize"sv, Keyword::NwResize},

    {"nwse-resize"sv, Keyword::NwseResize},

    {"oblique"sv, Keyword::Oblique},

    {"octal"sv, Keyword::Octal},

    {"odia"sv, Keyword::Odia},

    {"off"sv, Keyword::Off},

    {"oklab"sv, Keyword::Oklab},

    {"oklch"sv, Keyword::Oklch},

    {"ol-chiki"sv, Keyword::OlChiki},

    {"oldstyle-nums"sv, Keyword::OldstyleNums},

    {"on"sv, Keyword::On},

    {"opaque"sv, Keyword::Opaque},

    {"open-quote"sv, Keyword::OpenQuote},

    {"optimizelegibility"sv, Keyword::Optimizelegibility},

    {"optimizequality"sv, Keyword::Optimizequality},

    {"optimizespeed"sv, Keyword::Optimizespeed},

    {"optional"sv, Keyword::Optional},

    {"ordinal"sv, Keyword::Ordinal},

    {"origin"sv, Keyword::Origin},

    {"origin-when-cross-origin"sv, Keyword::OriginWhenCrossOrigin},

    {"oriya"sv, Keyword::Oriya},

    {"oromo"sv, Keyword::Oromo},

    {"outset"sv, Keyword::Outset},

    {"outside"sv, Keyword::Outside},

    {"overlay"sv, Keyword::Overlay},

    {"overline"sv, Keyword::Overline},

    {"p3"sv, Keyword::P3},

    {"padding-box"sv, Keyword::PaddingBox},

    {"paged"sv, Keyword::Paged},

    {"paint"sv, Keyword::Paint},

    {"palettes"sv, Keyword::Palettes},

    {"pan-down"sv, Keyword::PanDown},

    {"pan-left"sv, Keyword::PanLeft},

    {"pan-right"sv, Keyword::PanRight},

    {"pan-up"sv, Keyword::PanUp},

    {"pan-x"sv, Keyword::PanX},

    {"pan-y"sv, Keyword::PanY},

    {"parenthesized-decimal"sv, Keyword::ParenthesizedDecimal},

    {"parenthesized-hangul-consonant"sv, Keyword::ParenthesizedHangulConsonant},

    {"parenthesized-hangul-syllable"sv, Keyword::ParenthesizedHangulSyllable},

    {"parenthesized-ideograph"sv, Keyword::ParenthesizedIdeograph},

    {"parenthesized-lower-latin"sv, Keyword::ParenthesizedLowerLatin},

    {"paused"sv, Keyword::Paused},

    {"persian-abjad"sv, Keyword::PersianAbjad},

    {"persian-alphabetic"sv, Keyword::PersianAlphabetic},

    {"persian"sv, Keyword::Persian},

    {"petite-caps"sv, Keyword::PetiteCaps},

    {"pi"sv, Keyword::Pi},

    {"picture-in-picture"sv, Keyword::PictureInPicture},

    {"pixelated"sv, Keyword::Pixelated},

    {"plaintext"sv, Keyword::Plaintext},

    {"plus-darker"sv, Keyword::PlusDarker},

    {"plus-lighter"sv, Keyword::PlusLighter},

    {"pointer"sv, Keyword::Pointer},

    {"portrait"sv, Keyword::Portrait},

    {"pre"sv, Keyword::Pre},

    {"pre-line"sv, Keyword::PreLine},

    {"pre-wrap"sv, Keyword::PreWrap},

    {"preserve"sv, Keyword::Preserve},

    {"preserve-3d"sv, Keyword::Preserve3d},

    {"preserve-breaks"sv, Keyword::PreserveBreaks},

    {"preserve-spaces"sv, Keyword::PreserveSpaces},

    {"pretty"sv, Keyword::Pretty},

    {"progress"sv, Keyword::Progress},

    {"progress-bar"sv, Keyword::ProgressBar},

    {"progressive"sv, Keyword::Progressive},

    {"prophoto-rgb"sv, Keyword::ProphotoRgb},

    {"proportional-nums"sv, Keyword::ProportionalNums},

    {"proportional-width"sv, Keyword::ProportionalWidth},

    {"punjabi"sv, Keyword::Punjabi},

    {"push-button"sv, Keyword::PushButton},

    {"r"sv, Keyword::R},

    {"radio"sv, Keyword::Radio},

    {"rec2020"sv, Keyword::Rec2020},

    {"reduce"sv, Keyword::Reduce},

    {"relative"sv, Keyword::Relative},

    {"repeat"sv, Keyword::Repeat},

    {"repeat-x"sv, Keyword::RepeatX},

    {"repeat-y"sv, Keyword::RepeatY},

    {"replace"sv, Keyword::Replace},

    {"reverse"sv, Keyword::Reverse},

    {"revert"sv, Keyword::Revert},

    {"revert-layer"sv, Keyword::RevertLayer},

    {"ridge"sv, Keyword::Ridge},

    {"right"sv, Keyword::Right},

    {"root"sv, Keyword::Root},

    {"rotate-left"sv, Keyword::RotateLeft},

    {"rotate-right"sv, Keyword::RotateRight},

    {"round"sv, Keyword::Round},

    {"row"sv, Keyword::Row},

    {"row-resize"sv, Keyword::RowResize},

    {"row-reverse"sv, Keyword::RowReverse},

    {"rtl"sv, Keyword::Rtl},

    {"ruby"sv, Keyword::Ruby},

    {"ruby-base"sv, Keyword::RubyBase},

    {"ruby-base-container"sv, Keyword::RubyBaseContainer},

    {"ruby-text"sv, Keyword::RubyText},

    {"ruby-text-container"sv, Keyword::RubyTextContainer},

    {"run-in"sv, Keyword::RunIn},

    {"running"sv, Keyword::Running},

    {"s"sv, Keyword::S},

    {"s-resize"sv, Keyword::SResize},

    {"safe"sv, Keyword::Safe},

    {"saho"sv, Keyword::Saho},

    {"same-origin"sv, Keyword::SameOrigin},

    {"sans-serif"sv, Keyword::SansSerif},

    {"sanskrit"sv, Keyword::Sanskrit},

    {"santali"sv, Keyword::Santali},

    {"saturation"sv, Keyword::Saturation},

    {"scale-down"sv, Keyword::ScaleDown},

    {"scoop"sv, Keyword::Scoop},

    {"screen"sv, Keyword::Screen},

    {"scroll"sv, Keyword::Scroll},

    {"scroll-position"sv, Keyword::ScrollPosition},

    {"scroll-state"sv, Keyword::ScrollState},

    {"scrollbar"sv, Keyword::Scrollbar},

    {"se-resize"sv, Keyword::SeResize},

    {"searchfield"sv, Keyword::Searchfield},

    {"selecteditem"sv, Keyword::Selecteditem},

    {"selecteditemtext"sv, Keyword::Selecteditemtext},

    {"self"sv, Keyword::Self},

    {"self-block"sv, Keyword::SelfBlock},

    {"self-block-end"sv, Keyword::SelfBlockEnd},

    {"self-block-start"sv, Keyword::SelfBlockStart},

    {"self-end"sv, Keyword::SelfEnd},

    {"self-inline"sv, Keyword::SelfInline},

    {"self-inline-end"sv, Keyword::SelfInlineEnd},

    {"self-inline-start"sv, Keyword::SelfInlineStart},

    {"self-x-end"sv, Keyword::SelfXEnd},

    {"self-x-start"sv, Keyword::SelfXStart},

    {"self-y-end"sv, Keyword::SelfYEnd},

    {"self-y-start"sv, Keyword::SelfYStart},

    {"self-start"sv, Keyword::SelfStart},

    {"semi-condensed"sv, Keyword::SemiCondensed},

    {"semi-expanded"sv, Keyword::SemiExpanded},

    {"separate"sv, Keyword::Separate},

    {"serif"sv, Keyword::Serif},

    {"shan"sv, Keyword::Shan},

    {"shorter"sv, Keyword::Shorter},

    {"show"sv, Keyword::Show},

    {"sidama"sv, Keyword::Sidama},

    {"sideways-lr"sv, Keyword::SidewaysLr},

    {"sideways-rl"sv, Keyword::SidewaysRl},

    {"silti"sv, Keyword::Silti},

    {"simp-chinese-formal"sv, Keyword::SimpChineseFormal},

    {"simp-chinese-informal"sv, Keyword::SimpChineseInformal},

    {"simple-lower-roman"sv, Keyword::SimpleLowerRoman},

    {"simple-upper-roman"sv, Keyword::SimpleUpperRoman},

    {"simplified"sv, Keyword::Simplified},

    {"sindhi"sv, Keyword::Sindhi},

    {"size"sv, Keyword::Size},

    {"slashed-zero"sv, Keyword::SlashedZero},

    {"slider-horizontal"sv, Keyword::SliderHorizontal},

    {"slow"sv, Keyword::Slow},

    {"small"sv, Keyword::Small},

    {"small-caps"sv, Keyword::SmallCaps},

    {"smaller"sv, Keyword::Smaller},

    {"smooth"sv, Keyword::Smooth},

    {"soft-light"sv, Keyword::SoftLight},

    {"solid"sv, Keyword::Solid},

    {"space"sv, Keyword::Space},

    {"space-around"sv, Keyword::SpaceAround},

    {"space-between"sv, Keyword::SpaceBetween},

    {"space-evenly"sv, Keyword::SpaceEvenly},

    {"span-all"sv, Keyword::SpanAll},

    {"span-block-end"sv, Keyword::SpanBlockEnd},

    {"span-block-start"sv, Keyword::SpanBlockStart},

    {"span-bottom"sv, Keyword::SpanBottom},

    {"span-end"sv, Keyword::SpanEnd},

    {"span-inline-end"sv, Keyword::SpanInlineEnd},

    {"span-inline-start"sv, Keyword::SpanInlineStart},

    {"span-left"sv, Keyword::SpanLeft},

    {"span-right"sv, Keyword::SpanRight},

    {"span-self-block-end"sv, Keyword::SpanSelfBlockEnd},

    {"span-self-block-start"sv, Keyword::SpanSelfBlockStart},

    {"span-self-end"sv, Keyword::SpanSelfEnd},

    {"span-self-inline-end"sv, Keyword::SpanSelfInlineEnd},

    {"span-self-inline-start"sv, Keyword::SpanSelfInlineStart},

    {"span-self-start"sv, Keyword::SpanSelfStart},

    {"span-self-x-end"sv, Keyword::SpanSelfXEnd},

    {"span-self-x-start"sv, Keyword::SpanSelfXStart},

    {"span-self-y-end"sv, Keyword::SpanSelfYEnd},

    {"span-self-y-start"sv, Keyword::SpanSelfYStart},

    {"span-start"sv, Keyword::SpanStart},

    {"span-top"sv, Keyword::SpanTop},

    {"span-x-end"sv, Keyword::SpanXEnd},

    {"span-x-start"sv, Keyword::SpanXStart},

    {"span-y-end"sv, Keyword::SpanYEnd},

    {"span-y-start"sv, Keyword::SpanYStart},

    {"spelling-error"sv, Keyword::SpellingError},

    {"spell-out"sv, Keyword::SpellOut},

    {"square"sv, Keyword::Square},

    {"square-button"sv, Keyword::SquareButton},

    {"squircle"sv, Keyword::Squircle},

    {"srgb"sv, Keyword::Srgb},

    {"srgb-linear"sv, Keyword::SrgbLinear},

    {"stable"sv, Keyword::Stable},

    {"stacked-fractions"sv, Keyword::StackedFractions},

    {"standalone"sv, Keyword::Standalone},

    {"standard"sv, Keyword::Standard},

    {"start"sv, Keyword::Start},

    {"static"sv, Keyword::Static},

    {"sticky"sv, Keyword::Sticky},

    {"stretch"sv, Keyword::Stretch},

    {"strict"sv, Keyword::Strict},

    {"strict-origin"sv, Keyword::StrictOrigin},

    {"strict-origin-when-cross-origin"sv, Keyword::StrictOriginWhenCrossOrigin},

    {"stroke"sv, Keyword::Stroke},

    {"stroke-box"sv, Keyword::StrokeBox},

    {"style"sv, Keyword::Style},

    {"sub"sv, Keyword::Sub},

    {"subtract"sv, Keyword::Subtract},

    {"subtractive"sv, Keyword::Subtractive},

    {"sundanese"sv, Keyword::Sundanese},

    {"super-decimal"sv, Keyword::SuperDecimal},

    {"super"sv, Keyword::Super},

    {"sw-resize"sv, Keyword::SwResize},

    {"swap"sv, Keyword::Swap},

    {"symbolic"sv, Keyword::Symbolic},

    {"system-ui"sv, Keyword::SystemUi},

    {"table"sv, Keyword::Table},

    {"table-caption"sv, Keyword::TableCaption},

    {"table-cell"sv, Keyword::TableCell},

    {"table-column"sv, Keyword::TableColumn},

    {"table-column-group"sv, Keyword::TableColumnGroup},

    {"table-footer-group"sv, Keyword::TableFooterGroup},

    {"table-header-group"sv, Keyword::TableHeaderGroup},

    {"table-row"sv, Keyword::TableRow},

    {"table-row-group"sv, Keyword::TableRowGroup},

    {"tabular-nums"sv, Keyword::TabularNums},

    {"tai-lue"sv, Keyword::TaiLue},

    {"tally-mark"sv, Keyword::TallyMark},

    {"tamil"sv, Keyword::Tamil},

    {"telugu-alpha"sv, Keyword::TeluguAlpha},

    {"telugu"sv, Keyword::Telugu},

    {"text"sv, Keyword::Text},

    {"text-bottom"sv, Keyword::TextBottom},

    {"text-top"sv, Keyword::TextTop},

    {"textarea"sv, Keyword::Textarea},

    {"textfield"sv, Keyword::Textfield},

    {"thai-alpha"sv, Keyword::ThaiAlpha},

    {"thai"sv, Keyword::Thai},

    {"thick"sv, Keyword::Thick},

    {"thin"sv, Keyword::Thin},

    {"threeddarkshadow"sv, Keyword::Threeddarkshadow},

    {"threedface"sv, Keyword::Threedface},

    {"threedhighlight"sv, Keyword::Threedhighlight},

    {"threedlightshadow"sv, Keyword::Threedlightshadow},

    {"threedshadow"sv, Keyword::Threedshadow},

    {"tibetan"sv, Keyword::Tibetan},

    {"tigre"sv, Keyword::Tigre},

    {"titling-caps"sv, Keyword::TitlingCaps},

    {"to-zero"sv, Keyword::ToZero},

    {"top"sv, Keyword::Top},

    {"trad-chinese-formal"sv, Keyword::TradChineseFormal},

    {"trad-chinese-informal"sv, Keyword::TradChineseInformal},

    {"traditional"sv, Keyword::Traditional},

    {"true"sv, Keyword::True},

    {"ui-monospace"sv, Keyword::UiMonospace},

    {"ui-rounded"sv, Keyword::UiRounded},

    {"ui-sans-serif"sv, Keyword::UiSansSerif},

    {"ui-serif"sv, Keyword::UiSerif},

    {"ultra-condensed"sv, Keyword::UltraCondensed},

    {"ultra-expanded"sv, Keyword::UltraExpanded},

    {"under"sv, Keyword::Under},

    {"underline"sv, Keyword::Underline},

    {"unicase"sv, Keyword::Unicase},

    {"unicode"sv, Keyword::Unicode},

    {"unsafe"sv, Keyword::Unsafe},

    {"unsafe-url"sv, Keyword::UnsafeUrl},

    {"unset"sv, Keyword::Unset},

    {"up"sv, Keyword::Up},

    {"upper-alpha-symbolic"sv, Keyword::UpperAlphaSymbolic},

    {"upper-alpha"sv, Keyword::UpperAlpha},

    {"upper-armenian"sv, Keyword::UpperArmenian},

    {"upper-belorussian"sv, Keyword::UpperBelorussian},

    {"upper-bulgarian"sv, Keyword::UpperBulgarian},

    {"upper-hexadecimal"sv, Keyword::UpperHexadecimal},

    {"upper-latin"sv, Keyword::UpperLatin},

    {"upper-macedonian"sv, Keyword::UpperMacedonian},

    {"upper-oromo-qubee"sv, Keyword::UpperOromoQubee},

    {"upper-roman"sv, Keyword::UpperRoman},

    {"upper-russian-full"sv, Keyword::UpperRussianFull},

    {"upper-russian"sv, Keyword::UpperRussian},

    {"upper-serbian"sv, Keyword::UpperSerbian},

    {"upper-ukrainian-full"sv, Keyword::UpperUkrainianFull},

    {"upper-ukrainian"sv, Keyword::UpperUkrainian},

    {"uppercase"sv, Keyword::Uppercase},

    {"upright"sv, Keyword::Upright},

    {"urdu-abjad"sv, Keyword::UrduAbjad},

    {"urdu-alphabetic"sv, Keyword::UrduAlphabetic},

    {"urdu"sv, Keyword::Urdu},

    {"use-credentials"sv, Keyword::UseCredentials},

    {"variations"sv, Keyword::Variations},

    {"vertical"sv, Keyword::Vertical},

    {"vertical-lr"sv, Keyword::VerticalLr},

    {"vertical-rl"sv, Keyword::VerticalRl},

    {"vertical-text"sv, Keyword::VerticalText},

    {"view-box"sv, Keyword::ViewBox},

    {"visible"sv, Keyword::Visible},

    {"visitedtext"sv, Keyword::Visitedtext},

    {"w"sv, Keyword::W},

    {"w-resize"sv, Keyword::WResize},

    {"wait"sv, Keyword::Wait},

    {"warang-citi"sv, Keyword::WarangCiti},

    {"wavy"sv, Keyword::Wavy},

    {"width"sv, Keyword::Width},

    {"window"sv, Keyword::Window},

    {"windowframe"sv, Keyword::Windowframe},

    {"windowtext"sv, Keyword::Windowtext},

    {"wolaita"sv, Keyword::Wolaita},

    {"words"sv, Keyword::Words},

    {"wrap"sv, Keyword::Wrap},

    {"wrap-reverse"sv, Keyword::WrapReverse},

    {"x"sv, Keyword::X},

    {"x-end"sv, Keyword::XEnd},

    {"x-large"sv, Keyword::XLarge},

    {"x-start"sv, Keyword::XStart},

    {"x-small"sv, Keyword::XSmall},

    {"xx-large"sv, Keyword::XxLarge},

    {"xx-small"sv, Keyword::XxSmall},

    {"xxx-large"sv, Keyword::XxxLarge},

    {"xyz"sv, Keyword::Xyz},

    {"xyz-d50"sv, Keyword::XyzD50},

    {"xyz-d65"sv, Keyword::XyzD65},

    {"y"sv, Keyword::Y},

    {"y-end"sv, Keyword::YEnd},

    {"y-start"sv, Keyword::YStart},

    {"yemsa"sv, Keyword::Yemsa},

    {"z"sv, Keyword::Z},

    {"zhuyin"sv, Keyword::Zhuyin},

    {"zoom-in"sv, Keyword::ZoomIn},

    {"zoom-out"sv, Keyword::ZoomOut},

    };
    return map;
}

Optional<Keyword> keyword_from_string(StringView string)
{
    return stringview_to_keyword_map().get(string);
}

Optional<Keyword> keyword_from_string(Utf16View string)
{
    if (string.has_ascii_storage()) {
        auto span = string.ascii_span();
        return keyword_from_string(StringView { span.data(), span.size() });
    }

    if (string.equals_ignoring_ascii_case("-infinity"_utf16_fly_string.view()))
        return Keyword::NegativeInfinity;

    if (string.equals_ignoring_ascii_case("-libweb-buttonfacedisabled"_utf16_fly_string.view()))
        return Keyword::LibwebButtonfacedisabled;

    if (string.equals_ignoring_ascii_case("-libweb-buttonfacehover"_utf16_fly_string.view()))
        return Keyword::LibwebButtonfacehover;

    if (string.equals_ignoring_ascii_case("-libweb-center"_utf16_fly_string.view()))
        return Keyword::LibwebCenter;

    if (string.equals_ignoring_ascii_case("-libweb-inherit-or-center"_utf16_fly_string.view()))
        return Keyword::LibwebInheritOrCenter;

    if (string.equals_ignoring_ascii_case("-libweb-left"_utf16_fly_string.view()))
        return Keyword::LibwebLeft;

    if (string.equals_ignoring_ascii_case("-libweb-right"_utf16_fly_string.view()))
        return Keyword::LibwebRight;

    if (string.equals_ignoring_ascii_case("a"_utf16_fly_string.view()))
        return Keyword::A;

    if (string.equals_ignoring_ascii_case("a3"_utf16_fly_string.view()))
        return Keyword::A3;

    if (string.equals_ignoring_ascii_case("a4"_utf16_fly_string.view()))
        return Keyword::A4;

    if (string.equals_ignoring_ascii_case("a5"_utf16_fly_string.view()))
        return Keyword::A5;

    if (string.equals_ignoring_ascii_case("a98-rgb"_utf16_fly_string.view()))
        return Keyword::A98Rgb;

    if (string.equals_ignoring_ascii_case("absolute"_utf16_fly_string.view()))
        return Keyword::Absolute;

    if (string.equals_ignoring_ascii_case("accentcolor"_utf16_fly_string.view()))
        return Keyword::Accentcolor;

    if (string.equals_ignoring_ascii_case("accentcolortext"_utf16_fly_string.view()))
        return Keyword::Accentcolortext;

    if (string.equals_ignoring_ascii_case("accumulate"_utf16_fly_string.view()))
        return Keyword::Accumulate;

    if (string.equals_ignoring_ascii_case("active"_utf16_fly_string.view()))
        return Keyword::Active;

    if (string.equals_ignoring_ascii_case("activeborder"_utf16_fly_string.view()))
        return Keyword::Activeborder;

    if (string.equals_ignoring_ascii_case("activecaption"_utf16_fly_string.view()))
        return Keyword::Activecaption;

    if (string.equals_ignoring_ascii_case("activetext"_utf16_fly_string.view()))
        return Keyword::Activetext;

    if (string.equals_ignoring_ascii_case("add"_utf16_fly_string.view()))
        return Keyword::Add;

    if (string.equals_ignoring_ascii_case("additive"_utf16_fly_string.view()))
        return Keyword::Additive;

    if (string.equals_ignoring_ascii_case("adlam"_utf16_fly_string.view()))
        return Keyword::Adlam;

    if (string.equals_ignoring_ascii_case("afar"_utf16_fly_string.view()))
        return Keyword::Afar;

    if (string.equals_ignoring_ascii_case("agaw"_utf16_fly_string.view()))
        return Keyword::Agaw;

    if (string.equals_ignoring_ascii_case("alias"_utf16_fly_string.view()))
        return Keyword::Alias;

    if (string.equals_ignoring_ascii_case("all"_utf16_fly_string.view()))
        return Keyword::All;

    if (string.equals_ignoring_ascii_case("all-petite-caps"_utf16_fly_string.view()))
        return Keyword::AllPetiteCaps;

    if (string.equals_ignoring_ascii_case("all-scroll"_utf16_fly_string.view()))
        return Keyword::AllScroll;

    if (string.equals_ignoring_ascii_case("all-small-caps"_utf16_fly_string.view()))
        return Keyword::AllSmallCaps;

    if (string.equals_ignoring_ascii_case("allow-discrete"_utf16_fly_string.view()))
        return Keyword::AllowDiscrete;

    if (string.equals_ignoring_ascii_case("alpha"_utf16_fly_string.view()))
        return Keyword::Alpha;

    if (string.equals_ignoring_ascii_case("alphabetic"_utf16_fly_string.view()))
        return Keyword::Alphabetic;

    if (string.equals_ignoring_ascii_case("alternate"_utf16_fly_string.view()))
        return Keyword::Alternate;

    if (string.equals_ignoring_ascii_case("alternate-reverse"_utf16_fly_string.view()))
        return Keyword::AlternateReverse;

    if (string.equals_ignoring_ascii_case("always"_utf16_fly_string.view()))
        return Keyword::Always;

    if (string.equals_ignoring_ascii_case("anchors-valid"_utf16_fly_string.view()))
        return Keyword::AnchorsValid;

    if (string.equals_ignoring_ascii_case("anchors-visible"_utf16_fly_string.view()))
        return Keyword::AnchorsVisible;

    if (string.equals_ignoring_ascii_case("ancient-tamil"_utf16_fly_string.view()))
        return Keyword::AncientTamil;

    if (string.equals_ignoring_ascii_case("anonymous"_utf16_fly_string.view()))
        return Keyword::Anonymous;

    if (string.equals_ignoring_ascii_case("anywhere"_utf16_fly_string.view()))
        return Keyword::Anywhere;

    if (string.equals_ignoring_ascii_case("appworkspace"_utf16_fly_string.view()))
        return Keyword::Appworkspace;

    if (string.equals_ignoring_ascii_case("arabic-abjad"_utf16_fly_string.view()))
        return Keyword::ArabicAbjad;

    if (string.equals_ignoring_ascii_case("arabic-indic"_utf16_fly_string.view()))
        return Keyword::ArabicIndic;

    if (string.equals_ignoring_ascii_case("ari"_utf16_fly_string.view()))
        return Keyword::Ari;

    if (string.equals_ignoring_ascii_case("armenian"_utf16_fly_string.view()))
        return Keyword::Armenian;

    if (string.equals_ignoring_ascii_case("auto"_utf16_fly_string.view()))
        return Keyword::Auto;

    if (string.equals_ignoring_ascii_case("auto-add"_utf16_fly_string.view()))
        return Keyword::AutoAdd;

    if (string.equals_ignoring_ascii_case("avar2"_utf16_fly_string.view()))
        return Keyword::Avar2;

    if (string.equals_ignoring_ascii_case("b"_utf16_fly_string.view()))
        return Keyword::B;

    if (string.equals_ignoring_ascii_case("b4"_utf16_fly_string.view()))
        return Keyword::B4;

    if (string.equals_ignoring_ascii_case("b5"_utf16_fly_string.view()))
        return Keyword::B5;

    if (string.equals_ignoring_ascii_case("back"_utf16_fly_string.view()))
        return Keyword::Back;

    if (string.equals_ignoring_ascii_case("background"_utf16_fly_string.view()))
        return Keyword::Background;

    if (string.equals_ignoring_ascii_case("backwards"_utf16_fly_string.view()))
        return Keyword::Backwards;

    if (string.equals_ignoring_ascii_case("balance"_utf16_fly_string.view()))
        return Keyword::Balance;

    if (string.equals_ignoring_ascii_case("balinese"_utf16_fly_string.view()))
        return Keyword::Balinese;

    if (string.equals_ignoring_ascii_case("bamum"_utf16_fly_string.view()))
        return Keyword::Bamum;

    if (string.equals_ignoring_ascii_case("bangla"_utf16_fly_string.view()))
        return Keyword::Bangla;

    if (string.equals_ignoring_ascii_case("baseline"_utf16_fly_string.view()))
        return Keyword::Baseline;

    if (string.equals_ignoring_ascii_case("bengali"_utf16_fly_string.view()))
        return Keyword::Bengali;

    if (string.equals_ignoring_ascii_case("bevel"_utf16_fly_string.view()))
        return Keyword::Bevel;

    if (string.equals_ignoring_ascii_case("bidi-override"_utf16_fly_string.view()))
        return Keyword::BidiOverride;

    if (string.equals_ignoring_ascii_case("binary"_utf16_fly_string.view()))
        return Keyword::Binary;

    if (string.equals_ignoring_ascii_case("blin"_utf16_fly_string.view()))
        return Keyword::Blin;

    if (string.equals_ignoring_ascii_case("blink"_utf16_fly_string.view()))
        return Keyword::Blink;

    if (string.equals_ignoring_ascii_case("block"_utf16_fly_string.view()))
        return Keyword::Block;

    if (string.equals_ignoring_ascii_case("block-end"_utf16_fly_string.view()))
        return Keyword::BlockEnd;

    if (string.equals_ignoring_ascii_case("block-start"_utf16_fly_string.view()))
        return Keyword::BlockStart;

    if (string.equals_ignoring_ascii_case("bodo"_utf16_fly_string.view()))
        return Keyword::Bodo;

    if (string.equals_ignoring_ascii_case("bold"_utf16_fly_string.view()))
        return Keyword::Bold;

    if (string.equals_ignoring_ascii_case("bolder"_utf16_fly_string.view()))
        return Keyword::Bolder;

    if (string.equals_ignoring_ascii_case("border-box"_utf16_fly_string.view()))
        return Keyword::BorderBox;

    if (string.equals_ignoring_ascii_case("both"_utf16_fly_string.view()))
        return Keyword::Both;

    if (string.equals_ignoring_ascii_case("both-edges"_utf16_fly_string.view()))
        return Keyword::BothEdges;

    if (string.equals_ignoring_ascii_case("bottom"_utf16_fly_string.view()))
        return Keyword::Bottom;

    if (string.equals_ignoring_ascii_case("break-all"_utf16_fly_string.view()))
        return Keyword::BreakAll;

    if (string.equals_ignoring_ascii_case("break-spaces"_utf16_fly_string.view()))
        return Keyword::BreakSpaces;

    if (string.equals_ignoring_ascii_case("break-word"_utf16_fly_string.view()))
        return Keyword::BreakWord;

    if (string.equals_ignoring_ascii_case("browser"_utf16_fly_string.view()))
        return Keyword::Browser;

    if (string.equals_ignoring_ascii_case("bullets"_utf16_fly_string.view()))
        return Keyword::Bullets;

    if (string.equals_ignoring_ascii_case("butt"_utf16_fly_string.view()))
        return Keyword::Butt;

    if (string.equals_ignoring_ascii_case("button"_utf16_fly_string.view()))
        return Keyword::Button;

    if (string.equals_ignoring_ascii_case("buttonborder"_utf16_fly_string.view()))
        return Keyword::Buttonborder;

    if (string.equals_ignoring_ascii_case("buttonface"_utf16_fly_string.view()))
        return Keyword::Buttonface;

    if (string.equals_ignoring_ascii_case("buttonhighlight"_utf16_fly_string.view()))
        return Keyword::Buttonhighlight;

    if (string.equals_ignoring_ascii_case("buttonshadow"_utf16_fly_string.view()))
        return Keyword::Buttonshadow;

    if (string.equals_ignoring_ascii_case("buttontext"_utf16_fly_string.view()))
        return Keyword::Buttontext;

    if (string.equals_ignoring_ascii_case("c"_utf16_fly_string.view()))
        return Keyword::C;

    if (string.equals_ignoring_ascii_case("cambodian"_utf16_fly_string.view()))
        return Keyword::Cambodian;

    if (string.equals_ignoring_ascii_case("canvas"_utf16_fly_string.view()))
        return Keyword::Canvas;

    if (string.equals_ignoring_ascii_case("canvastext"_utf16_fly_string.view()))
        return Keyword::Canvastext;

    if (string.equals_ignoring_ascii_case("capitalize"_utf16_fly_string.view()))
        return Keyword::Capitalize;

    if (string.equals_ignoring_ascii_case("captiontext"_utf16_fly_string.view()))
        return Keyword::Captiontext;

    if (string.equals_ignoring_ascii_case("cell"_utf16_fly_string.view()))
        return Keyword::Cell;

    if (string.equals_ignoring_ascii_case("center"_utf16_fly_string.view()))
        return Keyword::Center;

    if (string.equals_ignoring_ascii_case("central"_utf16_fly_string.view()))
        return Keyword::Central;

    if (string.equals_ignoring_ascii_case("checkbox"_utf16_fly_string.view()))
        return Keyword::Checkbox;

    if (string.equals_ignoring_ascii_case("circle"_utf16_fly_string.view()))
        return Keyword::Circle;

    if (string.equals_ignoring_ascii_case("circled-decimal"_utf16_fly_string.view()))
        return Keyword::CircledDecimal;

    if (string.equals_ignoring_ascii_case("circled-ideograph"_utf16_fly_string.view()))
        return Keyword::CircledIdeograph;

    if (string.equals_ignoring_ascii_case("circled-katakana"_utf16_fly_string.view()))
        return Keyword::CircledKatakana;

    if (string.equals_ignoring_ascii_case("circled-korean-consonant"_utf16_fly_string.view()))
        return Keyword::CircledKoreanConsonant;

    if (string.equals_ignoring_ascii_case("circled-korean-syllable"_utf16_fly_string.view()))
        return Keyword::CircledKoreanSyllable;

    if (string.equals_ignoring_ascii_case("circled-lower-latin"_utf16_fly_string.view()))
        return Keyword::CircledLowerLatin;

    if (string.equals_ignoring_ascii_case("circled-upper-latin"_utf16_fly_string.view()))
        return Keyword::CircledUpperLatin;

    if (string.equals_ignoring_ascii_case("cjk-decimal"_utf16_fly_string.view()))
        return Keyword::CjkDecimal;

    if (string.equals_ignoring_ascii_case("cjk-earthly-branch"_utf16_fly_string.view()))
        return Keyword::CjkEarthlyBranch;

    if (string.equals_ignoring_ascii_case("cjk-heavenly-stem"_utf16_fly_string.view()))
        return Keyword::CjkHeavenlyStem;

    if (string.equals_ignoring_ascii_case("cjk-ideographic"_utf16_fly_string.view()))
        return Keyword::CjkIdeographic;

    if (string.equals_ignoring_ascii_case("cjk-stem-branch"_utf16_fly_string.view()))
        return Keyword::CjkStemBranch;

    if (string.equals_ignoring_ascii_case("cjk-tally-mark"_utf16_fly_string.view()))
        return Keyword::CjkTallyMark;

    if (string.equals_ignoring_ascii_case("clip"_utf16_fly_string.view()))
        return Keyword::Clip;

    if (string.equals_ignoring_ascii_case("close-quote"_utf16_fly_string.view()))
        return Keyword::CloseQuote;

    if (string.equals_ignoring_ascii_case("closest-corner"_utf16_fly_string.view()))
        return Keyword::ClosestCorner;

    if (string.equals_ignoring_ascii_case("closest-side"_utf16_fly_string.view()))
        return Keyword::ClosestSide;

    if (string.equals_ignoring_ascii_case("coarse"_utf16_fly_string.view()))
        return Keyword::Coarse;

    if (string.equals_ignoring_ascii_case("col-resize"_utf16_fly_string.view()))
        return Keyword::ColResize;

    if (string.equals_ignoring_ascii_case("collapse"_utf16_fly_string.view()))
        return Keyword::Collapse;

    if (string.equals_ignoring_ascii_case("color"_utf16_fly_string.view()))
        return Keyword::Color;

    if (string.equals_ignoring_ascii_case("color-burn"_utf16_fly_string.view()))
        return Keyword::ColorBurn;

    if (string.equals_ignoring_ascii_case("color-cbdt"_utf16_fly_string.view()))
        return Keyword::ColorCbdt;

    if (string.equals_ignoring_ascii_case("color-colrv0"_utf16_fly_string.view()))
        return Keyword::ColorColrv0;

    if (string.equals_ignoring_ascii_case("color-colrv1"_utf16_fly_string.view()))
        return Keyword::ColorColrv1;

    if (string.equals_ignoring_ascii_case("color-dodge"_utf16_fly_string.view()))
        return Keyword::ColorDodge;

    if (string.equals_ignoring_ascii_case("color-sbix"_utf16_fly_string.view()))
        return Keyword::ColorSbix;

    if (string.equals_ignoring_ascii_case("color-svg"_utf16_fly_string.view()))
        return Keyword::ColorSvg;

    if (string.equals_ignoring_ascii_case("column"_utf16_fly_string.view()))
        return Keyword::Column;

    if (string.equals_ignoring_ascii_case("column-reverse"_utf16_fly_string.view()))
        return Keyword::ColumnReverse;

    if (string.equals_ignoring_ascii_case("common-ligatures"_utf16_fly_string.view()))
        return Keyword::CommonLigatures;

    if (string.equals_ignoring_ascii_case("compact"_utf16_fly_string.view()))
        return Keyword::Compact;

    if (string.equals_ignoring_ascii_case("condensed"_utf16_fly_string.view()))
        return Keyword::Condensed;

    if (string.equals_ignoring_ascii_case("contain"_utf16_fly_string.view()))
        return Keyword::Contain;

    if (string.equals_ignoring_ascii_case("content"_utf16_fly_string.view()))
        return Keyword::Content;

    if (string.equals_ignoring_ascii_case("content-box"_utf16_fly_string.view()))
        return Keyword::ContentBox;

    if (string.equals_ignoring_ascii_case("contents"_utf16_fly_string.view()))
        return Keyword::Contents;

    if (string.equals_ignoring_ascii_case("context-menu"_utf16_fly_string.view()))
        return Keyword::ContextMenu;

    if (string.equals_ignoring_ascii_case("contextual"_utf16_fly_string.view()))
        return Keyword::Contextual;

    if (string.equals_ignoring_ascii_case("copy"_utf16_fly_string.view()))
        return Keyword::Copy;

    if (string.equals_ignoring_ascii_case("cover"_utf16_fly_string.view()))
        return Keyword::Cover;

    if (string.equals_ignoring_ascii_case("crisp-edges"_utf16_fly_string.view()))
        return Keyword::CrispEdges;

    if (string.equals_ignoring_ascii_case("crispedges"_utf16_fly_string.view()))
        return Keyword::Crispedges;

    if (string.equals_ignoring_ascii_case("crop"_utf16_fly_string.view()))
        return Keyword::Crop;

    if (string.equals_ignoring_ascii_case("cross"_utf16_fly_string.view()))
        return Keyword::Cross;

    if (string.equals_ignoring_ascii_case("crosshair"_utf16_fly_string.view()))
        return Keyword::Crosshair;

    if (string.equals_ignoring_ascii_case("currentcolor"_utf16_fly_string.view()))
        return Keyword::Currentcolor;

    if (string.equals_ignoring_ascii_case("cursive"_utf16_fly_string.view()))
        return Keyword::Cursive;

    if (string.equals_ignoring_ascii_case("custom"_utf16_fly_string.view()))
        return Keyword::Custom;

    if (string.equals_ignoring_ascii_case("cyclic"_utf16_fly_string.view()))
        return Keyword::Cyclic;

    if (string.equals_ignoring_ascii_case("dark"_utf16_fly_string.view()))
        return Keyword::Dark;

    if (string.equals_ignoring_ascii_case("darken"_utf16_fly_string.view()))
        return Keyword::Darken;

    if (string.equals_ignoring_ascii_case("dashed"_utf16_fly_string.view()))
        return Keyword::Dashed;

    if (string.equals_ignoring_ascii_case("decimal"_utf16_fly_string.view()))
        return Keyword::Decimal;

    if (string.equals_ignoring_ascii_case("decimal-leading-zero"_utf16_fly_string.view()))
        return Keyword::DecimalLeadingZero;

    if (string.equals_ignoring_ascii_case("decreasing"_utf16_fly_string.view()))
        return Keyword::Decreasing;

    if (string.equals_ignoring_ascii_case("default"_utf16_fly_string.view()))
        return Keyword::Default;

    if (string.equals_ignoring_ascii_case("devanagari"_utf16_fly_string.view()))
        return Keyword::Devanagari;

    if (string.equals_ignoring_ascii_case("diagonal-fractions"_utf16_fly_string.view()))
        return Keyword::DiagonalFractions;

    if (string.equals_ignoring_ascii_case("difference"_utf16_fly_string.view()))
        return Keyword::Difference;

    if (string.equals_ignoring_ascii_case("disc"_utf16_fly_string.view()))
        return Keyword::Disc;

    if (string.equals_ignoring_ascii_case("discard"_utf16_fly_string.view()))
        return Keyword::Discard;

    if (string.equals_ignoring_ascii_case("discard-before"_utf16_fly_string.view()))
        return Keyword::DiscardBefore;

    if (string.equals_ignoring_ascii_case("discard-after"_utf16_fly_string.view()))
        return Keyword::DiscardAfter;

    if (string.equals_ignoring_ascii_case("discard-inner"_utf16_fly_string.view()))
        return Keyword::DiscardInner;

    if (string.equals_ignoring_ascii_case("disclosure-closed"_utf16_fly_string.view()))
        return Keyword::DisclosureClosed;

    if (string.equals_ignoring_ascii_case("disclosure-open"_utf16_fly_string.view()))
        return Keyword::DisclosureOpen;

    if (string.equals_ignoring_ascii_case("discretionary-ligatures"_utf16_fly_string.view()))
        return Keyword::DiscretionaryLigatures;

    if (string.equals_ignoring_ascii_case("distribute"_utf16_fly_string.view()))
        return Keyword::Distribute;

    if (string.equals_ignoring_ascii_case("display-p3"_utf16_fly_string.view()))
        return Keyword::DisplayP3;

    if (string.equals_ignoring_ascii_case("display-p3-linear"_utf16_fly_string.view()))
        return Keyword::DisplayP3Linear;

    if (string.equals_ignoring_ascii_case("dizi"_utf16_fly_string.view()))
        return Keyword::Dizi;

    if (string.equals_ignoring_ascii_case("dogri"_utf16_fly_string.view()))
        return Keyword::Dogri;

    if (string.equals_ignoring_ascii_case("dotted-decimal"_utf16_fly_string.view()))
        return Keyword::DottedDecimal;

    if (string.equals_ignoring_ascii_case("dotted"_utf16_fly_string.view()))
        return Keyword::Dotted;

    if (string.equals_ignoring_ascii_case("double-circled-decimal"_utf16_fly_string.view()))
        return Keyword::DoubleCircledDecimal;

    if (string.equals_ignoring_ascii_case("double"_utf16_fly_string.view()))
        return Keyword::Double;

    if (string.equals_ignoring_ascii_case("down"_utf16_fly_string.view()))
        return Keyword::Down;

    if (string.equals_ignoring_ascii_case("e"_utf16_fly_string.view()))
        return Keyword::E;

    if (string.equals_ignoring_ascii_case("e-resize"_utf16_fly_string.view()))
        return Keyword::EResize;

    if (string.equals_ignoring_ascii_case("each-line"_utf16_fly_string.view()))
        return Keyword::EachLine;

    if (string.equals_ignoring_ascii_case("ease"_utf16_fly_string.view()))
        return Keyword::Ease;

    if (string.equals_ignoring_ascii_case("ease-in"_utf16_fly_string.view()))
        return Keyword::EaseIn;

    if (string.equals_ignoring_ascii_case("ease-in-out"_utf16_fly_string.view()))
        return Keyword::EaseInOut;

    if (string.equals_ignoring_ascii_case("ease-out"_utf16_fly_string.view()))
        return Keyword::EaseOut;

    if (string.equals_ignoring_ascii_case("element-shared"_utf16_fly_string.view()))
        return Keyword::ElementShared;

    if (string.equals_ignoring_ascii_case("ellipsis"_utf16_fly_string.view()))
        return Keyword::Ellipsis;

    if (string.equals_ignoring_ascii_case("else"_utf16_fly_string.view()))
        return Keyword::Else;

    if (string.equals_ignoring_ascii_case("embed"_utf16_fly_string.view()))
        return Keyword::Embed;

    if (string.equals_ignoring_ascii_case("emoji"_utf16_fly_string.view()))
        return Keyword::Emoji;

    if (string.equals_ignoring_ascii_case("enabled"_utf16_fly_string.view()))
        return Keyword::Enabled;

    if (string.equals_ignoring_ascii_case("end"_utf16_fly_string.view()))
        return Keyword::End;

    if (string.equals_ignoring_ascii_case("ethiopic-halehame-am"_utf16_fly_string.view()))
        return Keyword::EthiopicHalehameAm;

    if (string.equals_ignoring_ascii_case("ethiopic-halehame-ti-er"_utf16_fly_string.view()))
        return Keyword::EthiopicHalehameTiEr;

    if (string.equals_ignoring_ascii_case("ethiopic-halehame-ti-et"_utf16_fly_string.view()))
        return Keyword::EthiopicHalehameTiEt;

    if (string.equals_ignoring_ascii_case("ethiopic-halehame"_utf16_fly_string.view()))
        return Keyword::EthiopicHalehame;

    if (string.equals_ignoring_ascii_case("ethiopic-numeric"_utf16_fly_string.view()))
        return Keyword::EthiopicNumeric;

    if (string.equals_ignoring_ascii_case("evenodd"_utf16_fly_string.view()))
        return Keyword::Evenodd;

    if (string.equals_ignoring_ascii_case("ew-resize"_utf16_fly_string.view()))
        return Keyword::EwResize;

    if (string.equals_ignoring_ascii_case("exclude"_utf16_fly_string.view()))
        return Keyword::Exclude;

    if (string.equals_ignoring_ascii_case("exclusion"_utf16_fly_string.view()))
        return Keyword::Exclusion;

    if (string.equals_ignoring_ascii_case("expanded"_utf16_fly_string.view()))
        return Keyword::Expanded;

    if (string.equals_ignoring_ascii_case("extends"_utf16_fly_string.view()))
        return Keyword::Extends;

    if (string.equals_ignoring_ascii_case("extra-condensed"_utf16_fly_string.view()))
        return Keyword::ExtraCondensed;

    if (string.equals_ignoring_ascii_case("extra-expanded"_utf16_fly_string.view()))
        return Keyword::ExtraExpanded;

    if (string.equals_ignoring_ascii_case("fallback"_utf16_fly_string.view()))
        return Keyword::Fallback;

    if (string.equals_ignoring_ascii_case("false"_utf16_fly_string.view()))
        return Keyword::False;

    if (string.equals_ignoring_ascii_case("fantasy"_utf16_fly_string.view()))
        return Keyword::Fantasy;

    if (string.equals_ignoring_ascii_case("farthest-corner"_utf16_fly_string.view()))
        return Keyword::FarthestCorner;

    if (string.equals_ignoring_ascii_case("farthest-side"_utf16_fly_string.view()))
        return Keyword::FarthestSide;

    if (string.equals_ignoring_ascii_case("fast"_utf16_fly_string.view()))
        return Keyword::Fast;

    if (string.equals_ignoring_ascii_case("features-aat"_utf16_fly_string.view()))
        return Keyword::FeaturesAat;

    if (string.equals_ignoring_ascii_case("features-graphite"_utf16_fly_string.view()))
        return Keyword::FeaturesGraphite;

    if (string.equals_ignoring_ascii_case("features-opentype"_utf16_fly_string.view()))
        return Keyword::FeaturesOpentype;

    if (string.equals_ignoring_ascii_case("field"_utf16_fly_string.view()))
        return Keyword::Field;

    if (string.equals_ignoring_ascii_case("fieldtext"_utf16_fly_string.view()))
        return Keyword::Fieldtext;

    if (string.equals_ignoring_ascii_case("fill"_utf16_fly_string.view()))
        return Keyword::Fill;

    if (string.equals_ignoring_ascii_case("fill-box"_utf16_fly_string.view()))
        return Keyword::FillBox;

    if (string.equals_ignoring_ascii_case("filled-circled-decimal"_utf16_fly_string.view()))
        return Keyword::FilledCircledDecimal;

    if (string.equals_ignoring_ascii_case("fine"_utf16_fly_string.view()))
        return Keyword::Fine;

    if (string.equals_ignoring_ascii_case("fit-content"_utf16_fly_string.view()))
        return Keyword::FitContent;

    if (string.equals_ignoring_ascii_case("fixed"_utf16_fly_string.view()))
        return Keyword::Fixed;

    if (string.equals_ignoring_ascii_case("flat"_utf16_fly_string.view()))
        return Keyword::Flat;

    if (string.equals_ignoring_ascii_case("flex"_utf16_fly_string.view()))
        return Keyword::Flex;

    if (string.equals_ignoring_ascii_case("flex-end"_utf16_fly_string.view()))
        return Keyword::FlexEnd;

    if (string.equals_ignoring_ascii_case("flex-start"_utf16_fly_string.view()))
        return Keyword::FlexStart;

    if (string.equals_ignoring_ascii_case("flip-block"_utf16_fly_string.view()))
        return Keyword::FlipBlock;

    if (string.equals_ignoring_ascii_case("flip-inline"_utf16_fly_string.view()))
        return Keyword::FlipInline;

    if (string.equals_ignoring_ascii_case("flip-start"_utf16_fly_string.view()))
        return Keyword::FlipStart;

    if (string.equals_ignoring_ascii_case("flow"_utf16_fly_string.view()))
        return Keyword::Flow;

    if (string.equals_ignoring_ascii_case("flow-root"_utf16_fly_string.view()))
        return Keyword::FlowRoot;

    if (string.equals_ignoring_ascii_case("forwards"_utf16_fly_string.view()))
        return Keyword::Forwards;

    if (string.equals_ignoring_ascii_case("from-font"_utf16_fly_string.view()))
        return Keyword::FromFont;

    if (string.equals_ignoring_ascii_case("full-size-kana"_utf16_fly_string.view()))
        return Keyword::FullSizeKana;

    if (string.equals_ignoring_ascii_case("full-width"_utf16_fly_string.view()))
        return Keyword::FullWidth;

    if (string.equals_ignoring_ascii_case("fullwidth-decimal"_utf16_fly_string.view()))
        return Keyword::FullwidthDecimal;

    if (string.equals_ignoring_ascii_case("fullwidth-lower-alpha"_utf16_fly_string.view()))
        return Keyword::FullwidthLowerAlpha;

    if (string.equals_ignoring_ascii_case("fullwidth-upper-alpha"_utf16_fly_string.view()))
        return Keyword::FullwidthUpperAlpha;

    if (string.equals_ignoring_ascii_case("fullwidth-upper-roman"_utf16_fly_string.view()))
        return Keyword::FullwidthUpperRoman;

    if (string.equals_ignoring_ascii_case("fullscreen"_utf16_fly_string.view()))
        return Keyword::Fullscreen;

    if (string.equals_ignoring_ascii_case("g"_utf16_fly_string.view()))
        return Keyword::G;

    if (string.equals_ignoring_ascii_case("gedeo"_utf16_fly_string.view()))
        return Keyword::Gedeo;

    if (string.equals_ignoring_ascii_case("geometricprecision"_utf16_fly_string.view()))
        return Keyword::Geometricprecision;

    if (string.equals_ignoring_ascii_case("georgian"_utf16_fly_string.view()))
        return Keyword::Georgian;

    if (string.equals_ignoring_ascii_case("grab"_utf16_fly_string.view()))
        return Keyword::Grab;

    if (string.equals_ignoring_ascii_case("grabbing"_utf16_fly_string.view()))
        return Keyword::Grabbing;

    if (string.equals_ignoring_ascii_case("grammar-error"_utf16_fly_string.view()))
        return Keyword::GrammarError;

    if (string.equals_ignoring_ascii_case("graytext"_utf16_fly_string.view()))
        return Keyword::Graytext;

    if (string.equals_ignoring_ascii_case("greek-lower-ancient"_utf16_fly_string.view()))
        return Keyword::GreekLowerAncient;

    if (string.equals_ignoring_ascii_case("greek-lower-modern"_utf16_fly_string.view()))
        return Keyword::GreekLowerModern;

    if (string.equals_ignoring_ascii_case("greek-upper-ancient"_utf16_fly_string.view()))
        return Keyword::GreekUpperAncient;

    if (string.equals_ignoring_ascii_case("greek-upper-modern"_utf16_fly_string.view()))
        return Keyword::GreekUpperModern;

    if (string.equals_ignoring_ascii_case("grid"_utf16_fly_string.view()))
        return Keyword::Grid;

    if (string.equals_ignoring_ascii_case("groove"_utf16_fly_string.view()))
        return Keyword::Groove;

    if (string.equals_ignoring_ascii_case("gujarati-alpha"_utf16_fly_string.view()))
        return Keyword::GujaratiAlpha;

    if (string.equals_ignoring_ascii_case("gujarati"_utf16_fly_string.view()))
        return Keyword::Gujarati;

    if (string.equals_ignoring_ascii_case("gumuz"_utf16_fly_string.view()))
        return Keyword::Gumuz;

    if (string.equals_ignoring_ascii_case("gurmukhi"_utf16_fly_string.view()))
        return Keyword::Gurmukhi;

    if (string.equals_ignoring_ascii_case("h"_utf16_fly_string.view()))
        return Keyword::H;

    if (string.equals_ignoring_ascii_case("hadiyaa"_utf16_fly_string.view()))
        return Keyword::Hadiyaa;

    if (string.equals_ignoring_ascii_case("hanging"_utf16_fly_string.view()))
        return Keyword::Hanging;

    if (string.equals_ignoring_ascii_case("hangul-consonant"_utf16_fly_string.view()))
        return Keyword::HangulConsonant;

    if (string.equals_ignoring_ascii_case("hangul"_utf16_fly_string.view()))
        return Keyword::Hangul;

    if (string.equals_ignoring_ascii_case("hanifi-rohingya"_utf16_fly_string.view()))
        return Keyword::HanifiRohingya;

    if (string.equals_ignoring_ascii_case("harari"_utf16_fly_string.view()))
        return Keyword::Harari;

    if (string.equals_ignoring_ascii_case("hard-light"_utf16_fly_string.view()))
        return Keyword::HardLight;

    if (string.equals_ignoring_ascii_case("hebrew"_utf16_fly_string.view()))
        return Keyword::Hebrew;

    if (string.equals_ignoring_ascii_case("height"_utf16_fly_string.view()))
        return Keyword::Height;

    if (string.equals_ignoring_ascii_case("help"_utf16_fly_string.view()))
        return Keyword::Help;

    if (string.equals_ignoring_ascii_case("hide"_utf16_fly_string.view()))
        return Keyword::Hide;

    if (string.equals_ignoring_ascii_case("hidden"_utf16_fly_string.view()))
        return Keyword::Hidden;

    if (string.equals_ignoring_ascii_case("high"_utf16_fly_string.view()))
        return Keyword::High;

    if (string.equals_ignoring_ascii_case("high-quality"_utf16_fly_string.view()))
        return Keyword::HighQuality;

    if (string.equals_ignoring_ascii_case("highlight"_utf16_fly_string.view()))
        return Keyword::Highlight;

    if (string.equals_ignoring_ascii_case("highlighttext"_utf16_fly_string.view()))
        return Keyword::Highlighttext;

    if (string.equals_ignoring_ascii_case("hindi"_utf16_fly_string.view()))
        return Keyword::Hindi;

    if (string.equals_ignoring_ascii_case("hiragana-iroha"_utf16_fly_string.view()))
        return Keyword::HiraganaIroha;

    if (string.equals_ignoring_ascii_case("hiragana"_utf16_fly_string.view()))
        return Keyword::Hiragana;

    if (string.equals_ignoring_ascii_case("historical-forms"_utf16_fly_string.view()))
        return Keyword::HistoricalForms;

    if (string.equals_ignoring_ascii_case("historical-ligatures"_utf16_fly_string.view()))
        return Keyword::HistoricalLigatures;

    if (string.equals_ignoring_ascii_case("horizontal"_utf16_fly_string.view()))
        return Keyword::Horizontal;

    if (string.equals_ignoring_ascii_case("horizontal-tb"_utf16_fly_string.view()))
        return Keyword::HorizontalTb;

    if (string.equals_ignoring_ascii_case("hover"_utf16_fly_string.view()))
        return Keyword::Hover;

    if (string.equals_ignoring_ascii_case("hsl"_utf16_fly_string.view()))
        return Keyword::Hsl;

    if (string.equals_ignoring_ascii_case("hue"_utf16_fly_string.view()))
        return Keyword::Hue;

    if (string.equals_ignoring_ascii_case("hwb"_utf16_fly_string.view()))
        return Keyword::Hwb;

    if (string.equals_ignoring_ascii_case("inactiveborder"_utf16_fly_string.view()))
        return Keyword::Inactiveborder;

    if (string.equals_ignoring_ascii_case("inactivecaption"_utf16_fly_string.view()))
        return Keyword::Inactivecaption;

    if (string.equals_ignoring_ascii_case("inactivecaptiontext"_utf16_fly_string.view()))
        return Keyword::Inactivecaptiontext;

    if (string.equals_ignoring_ascii_case("increasing"_utf16_fly_string.view()))
        return Keyword::Increasing;

    if (string.equals_ignoring_ascii_case("ideographic"_utf16_fly_string.view()))
        return Keyword::Ideographic;

    if (string.equals_ignoring_ascii_case("incremental"_utf16_fly_string.view()))
        return Keyword::Incremental;

    if (string.equals_ignoring_ascii_case("infinite"_utf16_fly_string.view()))
        return Keyword::Infinite;

    if (string.equals_ignoring_ascii_case("infinity"_utf16_fly_string.view()))
        return Keyword::Infinity;

    if (string.equals_ignoring_ascii_case("infobackground"_utf16_fly_string.view()))
        return Keyword::Infobackground;

    if (string.equals_ignoring_ascii_case("infotext"_utf16_fly_string.view()))
        return Keyword::Infotext;

    if (string.equals_ignoring_ascii_case("inherit"_utf16_fly_string.view()))
        return Keyword::Inherit;

    if (string.equals_ignoring_ascii_case("initial"_utf16_fly_string.view()))
        return Keyword::Initial;

    if (string.equals_ignoring_ascii_case("initial-only"_utf16_fly_string.view()))
        return Keyword::InitialOnly;

    if (string.equals_ignoring_ascii_case("inline"_utf16_fly_string.view()))
        return Keyword::Inline;

    if (string.equals_ignoring_ascii_case("inline-block"_utf16_fly_string.view()))
        return Keyword::InlineBlock;

    if (string.equals_ignoring_ascii_case("inline-end"_utf16_fly_string.view()))
        return Keyword::InlineEnd;

    if (string.equals_ignoring_ascii_case("inline-flex"_utf16_fly_string.view()))
        return Keyword::InlineFlex;

    if (string.equals_ignoring_ascii_case("inline-grid"_utf16_fly_string.view()))
        return Keyword::InlineGrid;

    if (string.equals_ignoring_ascii_case("inline-size"_utf16_fly_string.view()))
        return Keyword::InlineSize;

    if (string.equals_ignoring_ascii_case("inline-start"_utf16_fly_string.view()))
        return Keyword::InlineStart;

    if (string.equals_ignoring_ascii_case("inline-table"_utf16_fly_string.view()))
        return Keyword::InlineTable;

    if (string.equals_ignoring_ascii_case("inset"_utf16_fly_string.view()))
        return Keyword::Inset;

    if (string.equals_ignoring_ascii_case("inside"_utf16_fly_string.view()))
        return Keyword::Inside;

    if (string.equals_ignoring_ascii_case("inter-character"_utf16_fly_string.view()))
        return Keyword::InterCharacter;

    if (string.equals_ignoring_ascii_case("inter-word"_utf16_fly_string.view()))
        return Keyword::InterWord;

    if (string.equals_ignoring_ascii_case("interlace"_utf16_fly_string.view()))
        return Keyword::Interlace;

    if (string.equals_ignoring_ascii_case("intersect"_utf16_fly_string.view()))
        return Keyword::Intersect;

    if (string.equals_ignoring_ascii_case("invert"_utf16_fly_string.view()))
        return Keyword::Invert;

    if (string.equals_ignoring_ascii_case("inverted"_utf16_fly_string.view()))
        return Keyword::Inverted;

    if (string.equals_ignoring_ascii_case("isolate"_utf16_fly_string.view()))
        return Keyword::Isolate;

    if (string.equals_ignoring_ascii_case("isolate-override"_utf16_fly_string.view()))
        return Keyword::IsolateOverride;

    if (string.equals_ignoring_ascii_case("italic"_utf16_fly_string.view()))
        return Keyword::Italic;

    if (string.equals_ignoring_ascii_case("japanese-formal"_utf16_fly_string.view()))
        return Keyword::JapaneseFormal;

    if (string.equals_ignoring_ascii_case("japanese-informal"_utf16_fly_string.view()))
        return Keyword::JapaneseInformal;

    if (string.equals_ignoring_ascii_case("javanese"_utf16_fly_string.view()))
        return Keyword::Javanese;

    if (string.equals_ignoring_ascii_case("jis-b4"_utf16_fly_string.view()))
        return Keyword::JisB4;

    if (string.equals_ignoring_ascii_case("jis-b5"_utf16_fly_string.view()))
        return Keyword::JisB5;

    if (string.equals_ignoring_ascii_case("jis04"_utf16_fly_string.view()))
        return Keyword::Jis04;

    if (string.equals_ignoring_ascii_case("jis78"_utf16_fly_string.view()))
        return Keyword::Jis78;

    if (string.equals_ignoring_ascii_case("jis83"_utf16_fly_string.view()))
        return Keyword::Jis83;

    if (string.equals_ignoring_ascii_case("jis90"_utf16_fly_string.view()))
        return Keyword::Jis90;

    if (string.equals_ignoring_ascii_case("jump-both"_utf16_fly_string.view()))
        return Keyword::JumpBoth;

    if (string.equals_ignoring_ascii_case("jump-end"_utf16_fly_string.view()))
        return Keyword::JumpEnd;

    if (string.equals_ignoring_ascii_case("jump-none"_utf16_fly_string.view()))
        return Keyword::JumpNone;

    if (string.equals_ignoring_ascii_case("jump-start"_utf16_fly_string.view()))
        return Keyword::JumpStart;

    if (string.equals_ignoring_ascii_case("justify"_utf16_fly_string.view()))
        return Keyword::Justify;

    if (string.equals_ignoring_ascii_case("kaffa"_utf16_fly_string.view()))
        return Keyword::Kaffa;

    if (string.equals_ignoring_ascii_case("kannada-alpha"_utf16_fly_string.view()))
        return Keyword::KannadaAlpha;

    if (string.equals_ignoring_ascii_case("kannada"_utf16_fly_string.view()))
        return Keyword::Kannada;

    if (string.equals_ignoring_ascii_case("kashmiri"_utf16_fly_string.view()))
        return Keyword::Kashmiri;

    if (string.equals_ignoring_ascii_case("katakana-iroha"_utf16_fly_string.view()))
        return Keyword::KatakanaIroha;

    if (string.equals_ignoring_ascii_case("katakana"_utf16_fly_string.view()))
        return Keyword::Katakana;

    if (string.equals_ignoring_ascii_case("kayah-li"_utf16_fly_string.view()))
        return Keyword::KayahLi;

    if (string.equals_ignoring_ascii_case("kebena"_utf16_fly_string.view()))
        return Keyword::Kebena;

    if (string.equals_ignoring_ascii_case("keep-all"_utf16_fly_string.view()))
        return Keyword::KeepAll;

    if (string.equals_ignoring_ascii_case("kembata"_utf16_fly_string.view()))
        return Keyword::Kembata;

    if (string.equals_ignoring_ascii_case("khmer-consonant"_utf16_fly_string.view()))
        return Keyword::KhmerConsonant;

    if (string.equals_ignoring_ascii_case("khmer"_utf16_fly_string.view()))
        return Keyword::Khmer;

    if (string.equals_ignoring_ascii_case("konkani"_utf16_fly_string.view()))
        return Keyword::Konkani;

    if (string.equals_ignoring_ascii_case("konso"_utf16_fly_string.view()))
        return Keyword::Konso;

    if (string.equals_ignoring_ascii_case("korean-consonant"_utf16_fly_string.view()))
        return Keyword::KoreanConsonant;

    if (string.equals_ignoring_ascii_case("korean-hangul-formal"_utf16_fly_string.view()))
        return Keyword::KoreanHangulFormal;

    if (string.equals_ignoring_ascii_case("korean-hanja-formal"_utf16_fly_string.view()))
        return Keyword::KoreanHanjaFormal;

    if (string.equals_ignoring_ascii_case("korean-hanja-informal"_utf16_fly_string.view()))
        return Keyword::KoreanHanjaInformal;

    if (string.equals_ignoring_ascii_case("korean-syllable"_utf16_fly_string.view()))
        return Keyword::KoreanSyllable;

    if (string.equals_ignoring_ascii_case("kunama"_utf16_fly_string.view()))
        return Keyword::Kunama;

    if (string.equals_ignoring_ascii_case("l"_utf16_fly_string.view()))
        return Keyword::L;

    if (string.equals_ignoring_ascii_case("landscape"_utf16_fly_string.view()))
        return Keyword::Landscape;

    if (string.equals_ignoring_ascii_case("lanna-hora"_utf16_fly_string.view()))
        return Keyword::LannaHora;

    if (string.equals_ignoring_ascii_case("lanna-tham"_utf16_fly_string.view()))
        return Keyword::LannaTham;

    if (string.equals_ignoring_ascii_case("lao"_utf16_fly_string.view()))
        return Keyword::Lao;

    if (string.equals_ignoring_ascii_case("lab"_utf16_fly_string.view()))
        return Keyword::Lab;

    if (string.equals_ignoring_ascii_case("large"_utf16_fly_string.view()))
        return Keyword::Large;

    if (string.equals_ignoring_ascii_case("larger"_utf16_fly_string.view()))
        return Keyword::Larger;

    if (string.equals_ignoring_ascii_case("layout"_utf16_fly_string.view()))
        return Keyword::Layout;

    if (string.equals_ignoring_ascii_case("lch"_utf16_fly_string.view()))
        return Keyword::Lch;

    if (string.equals_ignoring_ascii_case("ledger"_utf16_fly_string.view()))
        return Keyword::Ledger;

    if (string.equals_ignoring_ascii_case("left"_utf16_fly_string.view()))
        return Keyword::Left;

    if (string.equals_ignoring_ascii_case("legacy"_utf16_fly_string.view()))
        return Keyword::Legacy;

    if (string.equals_ignoring_ascii_case("legal"_utf16_fly_string.view()))
        return Keyword::Legal;

    if (string.equals_ignoring_ascii_case("lepcha"_utf16_fly_string.view()))
        return Keyword::Lepcha;

    if (string.equals_ignoring_ascii_case("less"_utf16_fly_string.view()))
        return Keyword::Less;

    if (string.equals_ignoring_ascii_case("letter"_utf16_fly_string.view()))
        return Keyword::Letter;

    if (string.equals_ignoring_ascii_case("light"_utf16_fly_string.view()))
        return Keyword::Light;

    if (string.equals_ignoring_ascii_case("lighten"_utf16_fly_string.view()))
        return Keyword::Lighten;

    if (string.equals_ignoring_ascii_case("lighter"_utf16_fly_string.view()))
        return Keyword::Lighter;

    if (string.equals_ignoring_ascii_case("limbu"_utf16_fly_string.view()))
        return Keyword::Limbu;

    if (string.equals_ignoring_ascii_case("line-through"_utf16_fly_string.view()))
        return Keyword::LineThrough;

    if (string.equals_ignoring_ascii_case("linear"_utf16_fly_string.view()))
        return Keyword::Linear;

    if (string.equals_ignoring_ascii_case("linearrgb"_utf16_fly_string.view()))
        return Keyword::Linearrgb;

    if (string.equals_ignoring_ascii_case("lining-nums"_utf16_fly_string.view()))
        return Keyword::LiningNums;

    if (string.equals_ignoring_ascii_case("linktext"_utf16_fly_string.view()))
        return Keyword::Linktext;

    if (string.equals_ignoring_ascii_case("list-item"_utf16_fly_string.view()))
        return Keyword::ListItem;

    if (string.equals_ignoring_ascii_case("listbox"_utf16_fly_string.view()))
        return Keyword::Listbox;

    if (string.equals_ignoring_ascii_case("local"_utf16_fly_string.view()))
        return Keyword::Local;

    if (string.equals_ignoring_ascii_case("longer"_utf16_fly_string.view()))
        return Keyword::Longer;

    if (string.equals_ignoring_ascii_case("lower-alpha-symbolic"_utf16_fly_string.view()))
        return Keyword::LowerAlphaSymbolic;

    if (string.equals_ignoring_ascii_case("lower-alpha"_utf16_fly_string.view()))
        return Keyword::LowerAlpha;

    if (string.equals_ignoring_ascii_case("lower-armenian"_utf16_fly_string.view()))
        return Keyword::LowerArmenian;

    if (string.equals_ignoring_ascii_case("lower-belorussian"_utf16_fly_string.view()))
        return Keyword::LowerBelorussian;

    if (string.equals_ignoring_ascii_case("lower-bulgarian"_utf16_fly_string.view()))
        return Keyword::LowerBulgarian;

    if (string.equals_ignoring_ascii_case("lower-greek"_utf16_fly_string.view()))
        return Keyword::LowerGreek;

    if (string.equals_ignoring_ascii_case("lower-hexadecimal"_utf16_fly_string.view()))
        return Keyword::LowerHexadecimal;

    if (string.equals_ignoring_ascii_case("lower-latin"_utf16_fly_string.view()))
        return Keyword::LowerLatin;

    if (string.equals_ignoring_ascii_case("lower-macedonian"_utf16_fly_string.view()))
        return Keyword::LowerMacedonian;

    if (string.equals_ignoring_ascii_case("lower-oromo-qubee"_utf16_fly_string.view()))
        return Keyword::LowerOromoQubee;

    if (string.equals_ignoring_ascii_case("lower-roman"_utf16_fly_string.view()))
        return Keyword::LowerRoman;

    if (string.equals_ignoring_ascii_case("lower-russian-full"_utf16_fly_string.view()))
        return Keyword::LowerRussianFull;

    if (string.equals_ignoring_ascii_case("lower-russian"_utf16_fly_string.view()))
        return Keyword::LowerRussian;

    if (string.equals_ignoring_ascii_case("lower-serbian"_utf16_fly_string.view()))
        return Keyword::LowerSerbian;

    if (string.equals_ignoring_ascii_case("lower-ukrainian-full"_utf16_fly_string.view()))
        return Keyword::LowerUkrainianFull;

    if (string.equals_ignoring_ascii_case("lower-ukrainian"_utf16_fly_string.view()))
        return Keyword::LowerUkrainian;

    if (string.equals_ignoring_ascii_case("lowercase"_utf16_fly_string.view()))
        return Keyword::Lowercase;

    if (string.equals_ignoring_ascii_case("ltr"_utf16_fly_string.view()))
        return Keyword::Ltr;

    if (string.equals_ignoring_ascii_case("luminance"_utf16_fly_string.view()))
        return Keyword::Luminance;

    if (string.equals_ignoring_ascii_case("luminosity"_utf16_fly_string.view()))
        return Keyword::Luminosity;

    if (string.equals_ignoring_ascii_case("maghrebi-abjad"_utf16_fly_string.view()))
        return Keyword::MaghrebiAbjad;

    if (string.equals_ignoring_ascii_case("maithili"_utf16_fly_string.view()))
        return Keyword::Maithili;

    if (string.equals_ignoring_ascii_case("malayalam-alpha"_utf16_fly_string.view()))
        return Keyword::MalayalamAlpha;

    if (string.equals_ignoring_ascii_case("malayalam"_utf16_fly_string.view()))
        return Keyword::Malayalam;

    if (string.equals_ignoring_ascii_case("manipulation"_utf16_fly_string.view()))
        return Keyword::Manipulation;

    if (string.equals_ignoring_ascii_case("manipuri"_utf16_fly_string.view()))
        return Keyword::Manipuri;

    if (string.equals_ignoring_ascii_case("marathi"_utf16_fly_string.view()))
        return Keyword::Marathi;

    if (string.equals_ignoring_ascii_case("margin-box"_utf16_fly_string.view()))
        return Keyword::MarginBox;

    if (string.equals_ignoring_ascii_case("mark"_utf16_fly_string.view()))
        return Keyword::Mark;

    if (string.equals_ignoring_ascii_case("markers"_utf16_fly_string.view()))
        return Keyword::Markers;

    if (string.equals_ignoring_ascii_case("marktext"_utf16_fly_string.view()))
        return Keyword::Marktext;

    if (string.equals_ignoring_ascii_case("match-parent"_utf16_fly_string.view()))
        return Keyword::MatchParent;

    if (string.equals_ignoring_ascii_case("match-source"_utf16_fly_string.view()))
        return Keyword::MatchSource;

    if (string.equals_ignoring_ascii_case("math"_utf16_fly_string.view()))
        return Keyword::Math;

    if (string.equals_ignoring_ascii_case("math-auto"_utf16_fly_string.view()))
        return Keyword::MathAuto;

    if (string.equals_ignoring_ascii_case("mathematical"_utf16_fly_string.view()))
        return Keyword::Mathematical;

    if (string.equals_ignoring_ascii_case("max-content"_utf16_fly_string.view()))
        return Keyword::MaxContent;

    if (string.equals_ignoring_ascii_case("medium"_utf16_fly_string.view()))
        return Keyword::Medium;

    if (string.equals_ignoring_ascii_case("meen"_utf16_fly_string.view()))
        return Keyword::Meen;

    if (string.equals_ignoring_ascii_case("meetei"_utf16_fly_string.view()))
        return Keyword::Meetei;

    if (string.equals_ignoring_ascii_case("menu"_utf16_fly_string.view()))
        return Keyword::Menu;

    if (string.equals_ignoring_ascii_case("menulist"_utf16_fly_string.view()))
        return Keyword::Menulist;

    if (string.equals_ignoring_ascii_case("menulist-button"_utf16_fly_string.view()))
        return Keyword::MenulistButton;

    if (string.equals_ignoring_ascii_case("menutext"_utf16_fly_string.view()))
        return Keyword::Menutext;

    if (string.equals_ignoring_ascii_case("meter"_utf16_fly_string.view()))
        return Keyword::Meter;

    if (string.equals_ignoring_ascii_case("middle"_utf16_fly_string.view()))
        return Keyword::Middle;

    if (string.equals_ignoring_ascii_case("min-content"_utf16_fly_string.view()))
        return Keyword::MinContent;

    if (string.equals_ignoring_ascii_case("minimal-ui"_utf16_fly_string.view()))
        return Keyword::MinimalUi;

    if (string.equals_ignoring_ascii_case("miter"_utf16_fly_string.view()))
        return Keyword::Miter;

    if (string.equals_ignoring_ascii_case("mongolian"_utf16_fly_string.view()))
        return Keyword::Mongolian;

    if (string.equals_ignoring_ascii_case("monospace"_utf16_fly_string.view()))
        return Keyword::Monospace;

    if (string.equals_ignoring_ascii_case("more"_utf16_fly_string.view()))
        return Keyword::More;

    if (string.equals_ignoring_ascii_case("most-block-size"_utf16_fly_string.view()))
        return Keyword::MostBlockSize;

    if (string.equals_ignoring_ascii_case("most-height"_utf16_fly_string.view()))
        return Keyword::MostHeight;

    if (string.equals_ignoring_ascii_case("most-inline-size"_utf16_fly_string.view()))
        return Keyword::MostInlineSize;

    if (string.equals_ignoring_ascii_case("most-width"_utf16_fly_string.view()))
        return Keyword::MostWidth;

    if (string.equals_ignoring_ascii_case("move"_utf16_fly_string.view()))
        return Keyword::Move;

    if (string.equals_ignoring_ascii_case("mro"_utf16_fly_string.view()))
        return Keyword::Mro;

    if (string.equals_ignoring_ascii_case("multiply"_utf16_fly_string.view()))
        return Keyword::Multiply;

    if (string.equals_ignoring_ascii_case("myanmar"_utf16_fly_string.view()))
        return Keyword::Myanmar;

    if (string.equals_ignoring_ascii_case("n-resize"_utf16_fly_string.view()))
        return Keyword::NResize;

    if (string.equals_ignoring_ascii_case("nag-mundari"_utf16_fly_string.view()))
        return Keyword::NagMundari;

    if (string.equals_ignoring_ascii_case("nan"_utf16_fly_string.view()))
        return Keyword::Nan;

    if (string.equals_ignoring_ascii_case("ne-resize"_utf16_fly_string.view()))
        return Keyword::NeResize;

    if (string.equals_ignoring_ascii_case("nearest"_utf16_fly_string.view()))
        return Keyword::Nearest;

    if (string.equals_ignoring_ascii_case("nesw-resize"_utf16_fly_string.view()))
        return Keyword::NeswResize;

    if (string.equals_ignoring_ascii_case("new-base-60"_utf16_fly_string.view()))
        return Keyword::NewBase60;

    if (string.equals_ignoring_ascii_case("newa"_utf16_fly_string.view()))
        return Keyword::Newa;

    if (string.equals_ignoring_ascii_case("nko-cardinal"_utf16_fly_string.view()))
        return Keyword::NkoCardinal;

    if (string.equals_ignoring_ascii_case("no-clamp"_utf16_fly_string.view()))
        return Keyword::NoClamp;

    if (string.equals_ignoring_ascii_case("no-clip"_utf16_fly_string.view()))
        return Keyword::NoClip;

    if (string.equals_ignoring_ascii_case("no-close-quote"_utf16_fly_string.view()))
        return Keyword::NoCloseQuote;

    if (string.equals_ignoring_ascii_case("no-common-ligatures"_utf16_fly_string.view()))
        return Keyword::NoCommonLigatures;

    if (string.equals_ignoring_ascii_case("no-contextual"_utf16_fly_string.view()))
        return Keyword::NoContextual;

    if (string.equals_ignoring_ascii_case("no-discretionary-ligatures"_utf16_fly_string.view()))
        return Keyword::NoDiscretionaryLigatures;

    if (string.equals_ignoring_ascii_case("no-drop"_utf16_fly_string.view()))
        return Keyword::NoDrop;

    if (string.equals_ignoring_ascii_case("no-historical-ligatures"_utf16_fly_string.view()))
        return Keyword::NoHistoricalLigatures;

    if (string.equals_ignoring_ascii_case("no-open-quote"_utf16_fly_string.view()))
        return Keyword::NoOpenQuote;

    if (string.equals_ignoring_ascii_case("no-overflow"_utf16_fly_string.view()))
        return Keyword::NoOverflow;

    if (string.equals_ignoring_ascii_case("no-preference"_utf16_fly_string.view()))
        return Keyword::NoPreference;

    if (string.equals_ignoring_ascii_case("no-referrer"_utf16_fly_string.view()))
        return Keyword::NoReferrer;

    if (string.equals_ignoring_ascii_case("no-referrer-when-downgrade"_utf16_fly_string.view()))
        return Keyword::NoReferrerWhenDowngrade;

    if (string.equals_ignoring_ascii_case("no-repeat"_utf16_fly_string.view()))
        return Keyword::NoRepeat;

    if (string.equals_ignoring_ascii_case("none"_utf16_fly_string.view()))
        return Keyword::None;

    if (string.equals_ignoring_ascii_case("nonzero"_utf16_fly_string.view()))
        return Keyword::Nonzero;

    if (string.equals_ignoring_ascii_case("normal"_utf16_fly_string.view()))
        return Keyword::Normal;

    if (string.equals_ignoring_ascii_case("not-allowed"_utf16_fly_string.view()))
        return Keyword::NotAllowed;

    if (string.equals_ignoring_ascii_case("notch"_utf16_fly_string.view()))
        return Keyword::Notch;

    if (string.equals_ignoring_ascii_case("nowrap"_utf16_fly_string.view()))
        return Keyword::Nowrap;

    if (string.equals_ignoring_ascii_case("ns-resize"_utf16_fly_string.view()))
        return Keyword::NsResize;

    if (string.equals_ignoring_ascii_case("numbers"_utf16_fly_string.view()))
        return Keyword::Numbers;

    if (string.equals_ignoring_ascii_case("numeric"_utf16_fly_string.view()))
        return Keyword::Numeric;

    if (string.equals_ignoring_ascii_case("nw-resize"_utf16_fly_string.view()))
        return Keyword::NwResize;

    if (string.equals_ignoring_ascii_case("nwse-resize"_utf16_fly_string.view()))
        return Keyword::NwseResize;

    if (string.equals_ignoring_ascii_case("oblique"_utf16_fly_string.view()))
        return Keyword::Oblique;

    if (string.equals_ignoring_ascii_case("octal"_utf16_fly_string.view()))
        return Keyword::Octal;

    if (string.equals_ignoring_ascii_case("odia"_utf16_fly_string.view()))
        return Keyword::Odia;

    if (string.equals_ignoring_ascii_case("off"_utf16_fly_string.view()))
        return Keyword::Off;

    if (string.equals_ignoring_ascii_case("oklab"_utf16_fly_string.view()))
        return Keyword::Oklab;

    if (string.equals_ignoring_ascii_case("oklch"_utf16_fly_string.view()))
        return Keyword::Oklch;

    if (string.equals_ignoring_ascii_case("ol-chiki"_utf16_fly_string.view()))
        return Keyword::OlChiki;

    if (string.equals_ignoring_ascii_case("oldstyle-nums"_utf16_fly_string.view()))
        return Keyword::OldstyleNums;

    if (string.equals_ignoring_ascii_case("on"_utf16_fly_string.view()))
        return Keyword::On;

    if (string.equals_ignoring_ascii_case("opaque"_utf16_fly_string.view()))
        return Keyword::Opaque;

    if (string.equals_ignoring_ascii_case("open-quote"_utf16_fly_string.view()))
        return Keyword::OpenQuote;

    if (string.equals_ignoring_ascii_case("optimizelegibility"_utf16_fly_string.view()))
        return Keyword::Optimizelegibility;

    if (string.equals_ignoring_ascii_case("optimizequality"_utf16_fly_string.view()))
        return Keyword::Optimizequality;

    if (string.equals_ignoring_ascii_case("optimizespeed"_utf16_fly_string.view()))
        return Keyword::Optimizespeed;

    if (string.equals_ignoring_ascii_case("optional"_utf16_fly_string.view()))
        return Keyword::Optional;

    if (string.equals_ignoring_ascii_case("ordinal"_utf16_fly_string.view()))
        return Keyword::Ordinal;

    if (string.equals_ignoring_ascii_case("origin"_utf16_fly_string.view()))
        return Keyword::Origin;

    if (string.equals_ignoring_ascii_case("origin-when-cross-origin"_utf16_fly_string.view()))
        return Keyword::OriginWhenCrossOrigin;

    if (string.equals_ignoring_ascii_case("oriya"_utf16_fly_string.view()))
        return Keyword::Oriya;

    if (string.equals_ignoring_ascii_case("oromo"_utf16_fly_string.view()))
        return Keyword::Oromo;

    if (string.equals_ignoring_ascii_case("outset"_utf16_fly_string.view()))
        return Keyword::Outset;

    if (string.equals_ignoring_ascii_case("outside"_utf16_fly_string.view()))
        return Keyword::Outside;

    if (string.equals_ignoring_ascii_case("overlay"_utf16_fly_string.view()))
        return Keyword::Overlay;

    if (string.equals_ignoring_ascii_case("overline"_utf16_fly_string.view()))
        return Keyword::Overline;

    if (string.equals_ignoring_ascii_case("p3"_utf16_fly_string.view()))
        return Keyword::P3;

    if (string.equals_ignoring_ascii_case("padding-box"_utf16_fly_string.view()))
        return Keyword::PaddingBox;

    if (string.equals_ignoring_ascii_case("paged"_utf16_fly_string.view()))
        return Keyword::Paged;

    if (string.equals_ignoring_ascii_case("paint"_utf16_fly_string.view()))
        return Keyword::Paint;

    if (string.equals_ignoring_ascii_case("palettes"_utf16_fly_string.view()))
        return Keyword::Palettes;

    if (string.equals_ignoring_ascii_case("pan-down"_utf16_fly_string.view()))
        return Keyword::PanDown;

    if (string.equals_ignoring_ascii_case("pan-left"_utf16_fly_string.view()))
        return Keyword::PanLeft;

    if (string.equals_ignoring_ascii_case("pan-right"_utf16_fly_string.view()))
        return Keyword::PanRight;

    if (string.equals_ignoring_ascii_case("pan-up"_utf16_fly_string.view()))
        return Keyword::PanUp;

    if (string.equals_ignoring_ascii_case("pan-x"_utf16_fly_string.view()))
        return Keyword::PanX;

    if (string.equals_ignoring_ascii_case("pan-y"_utf16_fly_string.view()))
        return Keyword::PanY;

    if (string.equals_ignoring_ascii_case("parenthesized-decimal"_utf16_fly_string.view()))
        return Keyword::ParenthesizedDecimal;

    if (string.equals_ignoring_ascii_case("parenthesized-hangul-consonant"_utf16_fly_string.view()))
        return Keyword::ParenthesizedHangulConsonant;

    if (string.equals_ignoring_ascii_case("parenthesized-hangul-syllable"_utf16_fly_string.view()))
        return Keyword::ParenthesizedHangulSyllable;

    if (string.equals_ignoring_ascii_case("parenthesized-ideograph"_utf16_fly_string.view()))
        return Keyword::ParenthesizedIdeograph;

    if (string.equals_ignoring_ascii_case("parenthesized-lower-latin"_utf16_fly_string.view()))
        return Keyword::ParenthesizedLowerLatin;

    if (string.equals_ignoring_ascii_case("paused"_utf16_fly_string.view()))
        return Keyword::Paused;

    if (string.equals_ignoring_ascii_case("persian-abjad"_utf16_fly_string.view()))
        return Keyword::PersianAbjad;

    if (string.equals_ignoring_ascii_case("persian-alphabetic"_utf16_fly_string.view()))
        return Keyword::PersianAlphabetic;

    if (string.equals_ignoring_ascii_case("persian"_utf16_fly_string.view()))
        return Keyword::Persian;

    if (string.equals_ignoring_ascii_case("petite-caps"_utf16_fly_string.view()))
        return Keyword::PetiteCaps;

    if (string.equals_ignoring_ascii_case("pi"_utf16_fly_string.view()))
        return Keyword::Pi;

    if (string.equals_ignoring_ascii_case("picture-in-picture"_utf16_fly_string.view()))
        return Keyword::PictureInPicture;

    if (string.equals_ignoring_ascii_case("pixelated"_utf16_fly_string.view()))
        return Keyword::Pixelated;

    if (string.equals_ignoring_ascii_case("plaintext"_utf16_fly_string.view()))
        return Keyword::Plaintext;

    if (string.equals_ignoring_ascii_case("plus-darker"_utf16_fly_string.view()))
        return Keyword::PlusDarker;

    if (string.equals_ignoring_ascii_case("plus-lighter"_utf16_fly_string.view()))
        return Keyword::PlusLighter;

    if (string.equals_ignoring_ascii_case("pointer"_utf16_fly_string.view()))
        return Keyword::Pointer;

    if (string.equals_ignoring_ascii_case("portrait"_utf16_fly_string.view()))
        return Keyword::Portrait;

    if (string.equals_ignoring_ascii_case("pre"_utf16_fly_string.view()))
        return Keyword::Pre;

    if (string.equals_ignoring_ascii_case("pre-line"_utf16_fly_string.view()))
        return Keyword::PreLine;

    if (string.equals_ignoring_ascii_case("pre-wrap"_utf16_fly_string.view()))
        return Keyword::PreWrap;

    if (string.equals_ignoring_ascii_case("preserve"_utf16_fly_string.view()))
        return Keyword::Preserve;

    if (string.equals_ignoring_ascii_case("preserve-3d"_utf16_fly_string.view()))
        return Keyword::Preserve3d;

    if (string.equals_ignoring_ascii_case("preserve-breaks"_utf16_fly_string.view()))
        return Keyword::PreserveBreaks;

    if (string.equals_ignoring_ascii_case("preserve-spaces"_utf16_fly_string.view()))
        return Keyword::PreserveSpaces;

    if (string.equals_ignoring_ascii_case("pretty"_utf16_fly_string.view()))
        return Keyword::Pretty;

    if (string.equals_ignoring_ascii_case("progress"_utf16_fly_string.view()))
        return Keyword::Progress;

    if (string.equals_ignoring_ascii_case("progress-bar"_utf16_fly_string.view()))
        return Keyword::ProgressBar;

    if (string.equals_ignoring_ascii_case("progressive"_utf16_fly_string.view()))
        return Keyword::Progressive;

    if (string.equals_ignoring_ascii_case("prophoto-rgb"_utf16_fly_string.view()))
        return Keyword::ProphotoRgb;

    if (string.equals_ignoring_ascii_case("proportional-nums"_utf16_fly_string.view()))
        return Keyword::ProportionalNums;

    if (string.equals_ignoring_ascii_case("proportional-width"_utf16_fly_string.view()))
        return Keyword::ProportionalWidth;

    if (string.equals_ignoring_ascii_case("punjabi"_utf16_fly_string.view()))
        return Keyword::Punjabi;

    if (string.equals_ignoring_ascii_case("push-button"_utf16_fly_string.view()))
        return Keyword::PushButton;

    if (string.equals_ignoring_ascii_case("r"_utf16_fly_string.view()))
        return Keyword::R;

    if (string.equals_ignoring_ascii_case("radio"_utf16_fly_string.view()))
        return Keyword::Radio;

    if (string.equals_ignoring_ascii_case("rec2020"_utf16_fly_string.view()))
        return Keyword::Rec2020;

    if (string.equals_ignoring_ascii_case("reduce"_utf16_fly_string.view()))
        return Keyword::Reduce;

    if (string.equals_ignoring_ascii_case("relative"_utf16_fly_string.view()))
        return Keyword::Relative;

    if (string.equals_ignoring_ascii_case("repeat"_utf16_fly_string.view()))
        return Keyword::Repeat;

    if (string.equals_ignoring_ascii_case("repeat-x"_utf16_fly_string.view()))
        return Keyword::RepeatX;

    if (string.equals_ignoring_ascii_case("repeat-y"_utf16_fly_string.view()))
        return Keyword::RepeatY;

    if (string.equals_ignoring_ascii_case("replace"_utf16_fly_string.view()))
        return Keyword::Replace;

    if (string.equals_ignoring_ascii_case("reverse"_utf16_fly_string.view()))
        return Keyword::Reverse;

    if (string.equals_ignoring_ascii_case("revert"_utf16_fly_string.view()))
        return Keyword::Revert;

    if (string.equals_ignoring_ascii_case("revert-layer"_utf16_fly_string.view()))
        return Keyword::RevertLayer;

    if (string.equals_ignoring_ascii_case("ridge"_utf16_fly_string.view()))
        return Keyword::Ridge;

    if (string.equals_ignoring_ascii_case("right"_utf16_fly_string.view()))
        return Keyword::Right;

    if (string.equals_ignoring_ascii_case("root"_utf16_fly_string.view()))
        return Keyword::Root;

    if (string.equals_ignoring_ascii_case("rotate-left"_utf16_fly_string.view()))
        return Keyword::RotateLeft;

    if (string.equals_ignoring_ascii_case("rotate-right"_utf16_fly_string.view()))
        return Keyword::RotateRight;

    if (string.equals_ignoring_ascii_case("round"_utf16_fly_string.view()))
        return Keyword::Round;

    if (string.equals_ignoring_ascii_case("row"_utf16_fly_string.view()))
        return Keyword::Row;

    if (string.equals_ignoring_ascii_case("row-resize"_utf16_fly_string.view()))
        return Keyword::RowResize;

    if (string.equals_ignoring_ascii_case("row-reverse"_utf16_fly_string.view()))
        return Keyword::RowReverse;

    if (string.equals_ignoring_ascii_case("rtl"_utf16_fly_string.view()))
        return Keyword::Rtl;

    if (string.equals_ignoring_ascii_case("ruby"_utf16_fly_string.view()))
        return Keyword::Ruby;

    if (string.equals_ignoring_ascii_case("ruby-base"_utf16_fly_string.view()))
        return Keyword::RubyBase;

    if (string.equals_ignoring_ascii_case("ruby-base-container"_utf16_fly_string.view()))
        return Keyword::RubyBaseContainer;

    if (string.equals_ignoring_ascii_case("ruby-text"_utf16_fly_string.view()))
        return Keyword::RubyText;

    if (string.equals_ignoring_ascii_case("ruby-text-container"_utf16_fly_string.view()))
        return Keyword::RubyTextContainer;

    if (string.equals_ignoring_ascii_case("run-in"_utf16_fly_string.view()))
        return Keyword::RunIn;

    if (string.equals_ignoring_ascii_case("running"_utf16_fly_string.view()))
        return Keyword::Running;

    if (string.equals_ignoring_ascii_case("s"_utf16_fly_string.view()))
        return Keyword::S;

    if (string.equals_ignoring_ascii_case("s-resize"_utf16_fly_string.view()))
        return Keyword::SResize;

    if (string.equals_ignoring_ascii_case("safe"_utf16_fly_string.view()))
        return Keyword::Safe;

    if (string.equals_ignoring_ascii_case("saho"_utf16_fly_string.view()))
        return Keyword::Saho;

    if (string.equals_ignoring_ascii_case("same-origin"_utf16_fly_string.view()))
        return Keyword::SameOrigin;

    if (string.equals_ignoring_ascii_case("sans-serif"_utf16_fly_string.view()))
        return Keyword::SansSerif;

    if (string.equals_ignoring_ascii_case("sanskrit"_utf16_fly_string.view()))
        return Keyword::Sanskrit;

    if (string.equals_ignoring_ascii_case("santali"_utf16_fly_string.view()))
        return Keyword::Santali;

    if (string.equals_ignoring_ascii_case("saturation"_utf16_fly_string.view()))
        return Keyword::Saturation;

    if (string.equals_ignoring_ascii_case("scale-down"_utf16_fly_string.view()))
        return Keyword::ScaleDown;

    if (string.equals_ignoring_ascii_case("scoop"_utf16_fly_string.view()))
        return Keyword::Scoop;

    if (string.equals_ignoring_ascii_case("screen"_utf16_fly_string.view()))
        return Keyword::Screen;

    if (string.equals_ignoring_ascii_case("scroll"_utf16_fly_string.view()))
        return Keyword::Scroll;

    if (string.equals_ignoring_ascii_case("scroll-position"_utf16_fly_string.view()))
        return Keyword::ScrollPosition;

    if (string.equals_ignoring_ascii_case("scroll-state"_utf16_fly_string.view()))
        return Keyword::ScrollState;

    if (string.equals_ignoring_ascii_case("scrollbar"_utf16_fly_string.view()))
        return Keyword::Scrollbar;

    if (string.equals_ignoring_ascii_case("se-resize"_utf16_fly_string.view()))
        return Keyword::SeResize;

    if (string.equals_ignoring_ascii_case("searchfield"_utf16_fly_string.view()))
        return Keyword::Searchfield;

    if (string.equals_ignoring_ascii_case("selecteditem"_utf16_fly_string.view()))
        return Keyword::Selecteditem;

    if (string.equals_ignoring_ascii_case("selecteditemtext"_utf16_fly_string.view()))
        return Keyword::Selecteditemtext;

    if (string.equals_ignoring_ascii_case("self"_utf16_fly_string.view()))
        return Keyword::Self;

    if (string.equals_ignoring_ascii_case("self-block"_utf16_fly_string.view()))
        return Keyword::SelfBlock;

    if (string.equals_ignoring_ascii_case("self-block-end"_utf16_fly_string.view()))
        return Keyword::SelfBlockEnd;

    if (string.equals_ignoring_ascii_case("self-block-start"_utf16_fly_string.view()))
        return Keyword::SelfBlockStart;

    if (string.equals_ignoring_ascii_case("self-end"_utf16_fly_string.view()))
        return Keyword::SelfEnd;

    if (string.equals_ignoring_ascii_case("self-inline"_utf16_fly_string.view()))
        return Keyword::SelfInline;

    if (string.equals_ignoring_ascii_case("self-inline-end"_utf16_fly_string.view()))
        return Keyword::SelfInlineEnd;

    if (string.equals_ignoring_ascii_case("self-inline-start"_utf16_fly_string.view()))
        return Keyword::SelfInlineStart;

    if (string.equals_ignoring_ascii_case("self-x-end"_utf16_fly_string.view()))
        return Keyword::SelfXEnd;

    if (string.equals_ignoring_ascii_case("self-x-start"_utf16_fly_string.view()))
        return Keyword::SelfXStart;

    if (string.equals_ignoring_ascii_case("self-y-end"_utf16_fly_string.view()))
        return Keyword::SelfYEnd;

    if (string.equals_ignoring_ascii_case("self-y-start"_utf16_fly_string.view()))
        return Keyword::SelfYStart;

    if (string.equals_ignoring_ascii_case("self-start"_utf16_fly_string.view()))
        return Keyword::SelfStart;

    if (string.equals_ignoring_ascii_case("semi-condensed"_utf16_fly_string.view()))
        return Keyword::SemiCondensed;

    if (string.equals_ignoring_ascii_case("semi-expanded"_utf16_fly_string.view()))
        return Keyword::SemiExpanded;

    if (string.equals_ignoring_ascii_case("separate"_utf16_fly_string.view()))
        return Keyword::Separate;

    if (string.equals_ignoring_ascii_case("serif"_utf16_fly_string.view()))
        return Keyword::Serif;

    if (string.equals_ignoring_ascii_case("shan"_utf16_fly_string.view()))
        return Keyword::Shan;

    if (string.equals_ignoring_ascii_case("shorter"_utf16_fly_string.view()))
        return Keyword::Shorter;

    if (string.equals_ignoring_ascii_case("show"_utf16_fly_string.view()))
        return Keyword::Show;

    if (string.equals_ignoring_ascii_case("sidama"_utf16_fly_string.view()))
        return Keyword::Sidama;

    if (string.equals_ignoring_ascii_case("sideways-lr"_utf16_fly_string.view()))
        return Keyword::SidewaysLr;

    if (string.equals_ignoring_ascii_case("sideways-rl"_utf16_fly_string.view()))
        return Keyword::SidewaysRl;

    if (string.equals_ignoring_ascii_case("silti"_utf16_fly_string.view()))
        return Keyword::Silti;

    if (string.equals_ignoring_ascii_case("simp-chinese-formal"_utf16_fly_string.view()))
        return Keyword::SimpChineseFormal;

    if (string.equals_ignoring_ascii_case("simp-chinese-informal"_utf16_fly_string.view()))
        return Keyword::SimpChineseInformal;

    if (string.equals_ignoring_ascii_case("simple-lower-roman"_utf16_fly_string.view()))
        return Keyword::SimpleLowerRoman;

    if (string.equals_ignoring_ascii_case("simple-upper-roman"_utf16_fly_string.view()))
        return Keyword::SimpleUpperRoman;

    if (string.equals_ignoring_ascii_case("simplified"_utf16_fly_string.view()))
        return Keyword::Simplified;

    if (string.equals_ignoring_ascii_case("sindhi"_utf16_fly_string.view()))
        return Keyword::Sindhi;

    if (string.equals_ignoring_ascii_case("size"_utf16_fly_string.view()))
        return Keyword::Size;

    if (string.equals_ignoring_ascii_case("slashed-zero"_utf16_fly_string.view()))
        return Keyword::SlashedZero;

    if (string.equals_ignoring_ascii_case("slider-horizontal"_utf16_fly_string.view()))
        return Keyword::SliderHorizontal;

    if (string.equals_ignoring_ascii_case("slow"_utf16_fly_string.view()))
        return Keyword::Slow;

    if (string.equals_ignoring_ascii_case("small"_utf16_fly_string.view()))
        return Keyword::Small;

    if (string.equals_ignoring_ascii_case("small-caps"_utf16_fly_string.view()))
        return Keyword::SmallCaps;

    if (string.equals_ignoring_ascii_case("smaller"_utf16_fly_string.view()))
        return Keyword::Smaller;

    if (string.equals_ignoring_ascii_case("smooth"_utf16_fly_string.view()))
        return Keyword::Smooth;

    if (string.equals_ignoring_ascii_case("soft-light"_utf16_fly_string.view()))
        return Keyword::SoftLight;

    if (string.equals_ignoring_ascii_case("solid"_utf16_fly_string.view()))
        return Keyword::Solid;

    if (string.equals_ignoring_ascii_case("space"_utf16_fly_string.view()))
        return Keyword::Space;

    if (string.equals_ignoring_ascii_case("space-around"_utf16_fly_string.view()))
        return Keyword::SpaceAround;

    if (string.equals_ignoring_ascii_case("space-between"_utf16_fly_string.view()))
        return Keyword::SpaceBetween;

    if (string.equals_ignoring_ascii_case("space-evenly"_utf16_fly_string.view()))
        return Keyword::SpaceEvenly;

    if (string.equals_ignoring_ascii_case("span-all"_utf16_fly_string.view()))
        return Keyword::SpanAll;

    if (string.equals_ignoring_ascii_case("span-block-end"_utf16_fly_string.view()))
        return Keyword::SpanBlockEnd;

    if (string.equals_ignoring_ascii_case("span-block-start"_utf16_fly_string.view()))
        return Keyword::SpanBlockStart;

    if (string.equals_ignoring_ascii_case("span-bottom"_utf16_fly_string.view()))
        return Keyword::SpanBottom;

    if (string.equals_ignoring_ascii_case("span-end"_utf16_fly_string.view()))
        return Keyword::SpanEnd;

    if (string.equals_ignoring_ascii_case("span-inline-end"_utf16_fly_string.view()))
        return Keyword::SpanInlineEnd;

    if (string.equals_ignoring_ascii_case("span-inline-start"_utf16_fly_string.view()))
        return Keyword::SpanInlineStart;

    if (string.equals_ignoring_ascii_case("span-left"_utf16_fly_string.view()))
        return Keyword::SpanLeft;

    if (string.equals_ignoring_ascii_case("span-right"_utf16_fly_string.view()))
        return Keyword::SpanRight;

    if (string.equals_ignoring_ascii_case("span-self-block-end"_utf16_fly_string.view()))
        return Keyword::SpanSelfBlockEnd;

    if (string.equals_ignoring_ascii_case("span-self-block-start"_utf16_fly_string.view()))
        return Keyword::SpanSelfBlockStart;

    if (string.equals_ignoring_ascii_case("span-self-end"_utf16_fly_string.view()))
        return Keyword::SpanSelfEnd;

    if (string.equals_ignoring_ascii_case("span-self-inline-end"_utf16_fly_string.view()))
        return Keyword::SpanSelfInlineEnd;

    if (string.equals_ignoring_ascii_case("span-self-inline-start"_utf16_fly_string.view()))
        return Keyword::SpanSelfInlineStart;

    if (string.equals_ignoring_ascii_case("span-self-start"_utf16_fly_string.view()))
        return Keyword::SpanSelfStart;

    if (string.equals_ignoring_ascii_case("span-self-x-end"_utf16_fly_string.view()))
        return Keyword::SpanSelfXEnd;

    if (string.equals_ignoring_ascii_case("span-self-x-start"_utf16_fly_string.view()))
        return Keyword::SpanSelfXStart;

    if (string.equals_ignoring_ascii_case("span-self-y-end"_utf16_fly_string.view()))
        return Keyword::SpanSelfYEnd;

    if (string.equals_ignoring_ascii_case("span-self-y-start"_utf16_fly_string.view()))
        return Keyword::SpanSelfYStart;

    if (string.equals_ignoring_ascii_case("span-start"_utf16_fly_string.view()))
        return Keyword::SpanStart;

    if (string.equals_ignoring_ascii_case("span-top"_utf16_fly_string.view()))
        return Keyword::SpanTop;

    if (string.equals_ignoring_ascii_case("span-x-end"_utf16_fly_string.view()))
        return Keyword::SpanXEnd;

    if (string.equals_ignoring_ascii_case("span-x-start"_utf16_fly_string.view()))
        return Keyword::SpanXStart;

    if (string.equals_ignoring_ascii_case("span-y-end"_utf16_fly_string.view()))
        return Keyword::SpanYEnd;

    if (string.equals_ignoring_ascii_case("span-y-start"_utf16_fly_string.view()))
        return Keyword::SpanYStart;

    if (string.equals_ignoring_ascii_case("spelling-error"_utf16_fly_string.view()))
        return Keyword::SpellingError;

    if (string.equals_ignoring_ascii_case("spell-out"_utf16_fly_string.view()))
        return Keyword::SpellOut;

    if (string.equals_ignoring_ascii_case("square"_utf16_fly_string.view()))
        return Keyword::Square;

    if (string.equals_ignoring_ascii_case("square-button"_utf16_fly_string.view()))
        return Keyword::SquareButton;

    if (string.equals_ignoring_ascii_case("squircle"_utf16_fly_string.view()))
        return Keyword::Squircle;

    if (string.equals_ignoring_ascii_case("srgb"_utf16_fly_string.view()))
        return Keyword::Srgb;

    if (string.equals_ignoring_ascii_case("srgb-linear"_utf16_fly_string.view()))
        return Keyword::SrgbLinear;

    if (string.equals_ignoring_ascii_case("stable"_utf16_fly_string.view()))
        return Keyword::Stable;

    if (string.equals_ignoring_ascii_case("stacked-fractions"_utf16_fly_string.view()))
        return Keyword::StackedFractions;

    if (string.equals_ignoring_ascii_case("standalone"_utf16_fly_string.view()))
        return Keyword::Standalone;

    if (string.equals_ignoring_ascii_case("standard"_utf16_fly_string.view()))
        return Keyword::Standard;

    if (string.equals_ignoring_ascii_case("start"_utf16_fly_string.view()))
        return Keyword::Start;

    if (string.equals_ignoring_ascii_case("static"_utf16_fly_string.view()))
        return Keyword::Static;

    if (string.equals_ignoring_ascii_case("sticky"_utf16_fly_string.view()))
        return Keyword::Sticky;

    if (string.equals_ignoring_ascii_case("stretch"_utf16_fly_string.view()))
        return Keyword::Stretch;

    if (string.equals_ignoring_ascii_case("strict"_utf16_fly_string.view()))
        return Keyword::Strict;

    if (string.equals_ignoring_ascii_case("strict-origin"_utf16_fly_string.view()))
        return Keyword::StrictOrigin;

    if (string.equals_ignoring_ascii_case("strict-origin-when-cross-origin"_utf16_fly_string.view()))
        return Keyword::StrictOriginWhenCrossOrigin;

    if (string.equals_ignoring_ascii_case("stroke"_utf16_fly_string.view()))
        return Keyword::Stroke;

    if (string.equals_ignoring_ascii_case("stroke-box"_utf16_fly_string.view()))
        return Keyword::StrokeBox;

    if (string.equals_ignoring_ascii_case("style"_utf16_fly_string.view()))
        return Keyword::Style;

    if (string.equals_ignoring_ascii_case("sub"_utf16_fly_string.view()))
        return Keyword::Sub;

    if (string.equals_ignoring_ascii_case("subtract"_utf16_fly_string.view()))
        return Keyword::Subtract;

    if (string.equals_ignoring_ascii_case("subtractive"_utf16_fly_string.view()))
        return Keyword::Subtractive;

    if (string.equals_ignoring_ascii_case("sundanese"_utf16_fly_string.view()))
        return Keyword::Sundanese;

    if (string.equals_ignoring_ascii_case("super-decimal"_utf16_fly_string.view()))
        return Keyword::SuperDecimal;

    if (string.equals_ignoring_ascii_case("super"_utf16_fly_string.view()))
        return Keyword::Super;

    if (string.equals_ignoring_ascii_case("sw-resize"_utf16_fly_string.view()))
        return Keyword::SwResize;

    if (string.equals_ignoring_ascii_case("swap"_utf16_fly_string.view()))
        return Keyword::Swap;

    if (string.equals_ignoring_ascii_case("symbolic"_utf16_fly_string.view()))
        return Keyword::Symbolic;

    if (string.equals_ignoring_ascii_case("system-ui"_utf16_fly_string.view()))
        return Keyword::SystemUi;

    if (string.equals_ignoring_ascii_case("table"_utf16_fly_string.view()))
        return Keyword::Table;

    if (string.equals_ignoring_ascii_case("table-caption"_utf16_fly_string.view()))
        return Keyword::TableCaption;

    if (string.equals_ignoring_ascii_case("table-cell"_utf16_fly_string.view()))
        return Keyword::TableCell;

    if (string.equals_ignoring_ascii_case("table-column"_utf16_fly_string.view()))
        return Keyword::TableColumn;

    if (string.equals_ignoring_ascii_case("table-column-group"_utf16_fly_string.view()))
        return Keyword::TableColumnGroup;

    if (string.equals_ignoring_ascii_case("table-footer-group"_utf16_fly_string.view()))
        return Keyword::TableFooterGroup;

    if (string.equals_ignoring_ascii_case("table-header-group"_utf16_fly_string.view()))
        return Keyword::TableHeaderGroup;

    if (string.equals_ignoring_ascii_case("table-row"_utf16_fly_string.view()))
        return Keyword::TableRow;

    if (string.equals_ignoring_ascii_case("table-row-group"_utf16_fly_string.view()))
        return Keyword::TableRowGroup;

    if (string.equals_ignoring_ascii_case("tabular-nums"_utf16_fly_string.view()))
        return Keyword::TabularNums;

    if (string.equals_ignoring_ascii_case("tai-lue"_utf16_fly_string.view()))
        return Keyword::TaiLue;

    if (string.equals_ignoring_ascii_case("tally-mark"_utf16_fly_string.view()))
        return Keyword::TallyMark;

    if (string.equals_ignoring_ascii_case("tamil"_utf16_fly_string.view()))
        return Keyword::Tamil;

    if (string.equals_ignoring_ascii_case("telugu-alpha"_utf16_fly_string.view()))
        return Keyword::TeluguAlpha;

    if (string.equals_ignoring_ascii_case("telugu"_utf16_fly_string.view()))
        return Keyword::Telugu;

    if (string.equals_ignoring_ascii_case("text"_utf16_fly_string.view()))
        return Keyword::Text;

    if (string.equals_ignoring_ascii_case("text-bottom"_utf16_fly_string.view()))
        return Keyword::TextBottom;

    if (string.equals_ignoring_ascii_case("text-top"_utf16_fly_string.view()))
        return Keyword::TextTop;

    if (string.equals_ignoring_ascii_case("textarea"_utf16_fly_string.view()))
        return Keyword::Textarea;

    if (string.equals_ignoring_ascii_case("textfield"_utf16_fly_string.view()))
        return Keyword::Textfield;

    if (string.equals_ignoring_ascii_case("thai-alpha"_utf16_fly_string.view()))
        return Keyword::ThaiAlpha;

    if (string.equals_ignoring_ascii_case("thai"_utf16_fly_string.view()))
        return Keyword::Thai;

    if (string.equals_ignoring_ascii_case("thick"_utf16_fly_string.view()))
        return Keyword::Thick;

    if (string.equals_ignoring_ascii_case("thin"_utf16_fly_string.view()))
        return Keyword::Thin;

    if (string.equals_ignoring_ascii_case("threeddarkshadow"_utf16_fly_string.view()))
        return Keyword::Threeddarkshadow;

    if (string.equals_ignoring_ascii_case("threedface"_utf16_fly_string.view()))
        return Keyword::Threedface;

    if (string.equals_ignoring_ascii_case("threedhighlight"_utf16_fly_string.view()))
        return Keyword::Threedhighlight;

    if (string.equals_ignoring_ascii_case("threedlightshadow"_utf16_fly_string.view()))
        return Keyword::Threedlightshadow;

    if (string.equals_ignoring_ascii_case("threedshadow"_utf16_fly_string.view()))
        return Keyword::Threedshadow;

    if (string.equals_ignoring_ascii_case("tibetan"_utf16_fly_string.view()))
        return Keyword::Tibetan;

    if (string.equals_ignoring_ascii_case("tigre"_utf16_fly_string.view()))
        return Keyword::Tigre;

    if (string.equals_ignoring_ascii_case("titling-caps"_utf16_fly_string.view()))
        return Keyword::TitlingCaps;

    if (string.equals_ignoring_ascii_case("to-zero"_utf16_fly_string.view()))
        return Keyword::ToZero;

    if (string.equals_ignoring_ascii_case("top"_utf16_fly_string.view()))
        return Keyword::Top;

    if (string.equals_ignoring_ascii_case("trad-chinese-formal"_utf16_fly_string.view()))
        return Keyword::TradChineseFormal;

    if (string.equals_ignoring_ascii_case("trad-chinese-informal"_utf16_fly_string.view()))
        return Keyword::TradChineseInformal;

    if (string.equals_ignoring_ascii_case("traditional"_utf16_fly_string.view()))
        return Keyword::Traditional;

    if (string.equals_ignoring_ascii_case("true"_utf16_fly_string.view()))
        return Keyword::True;

    if (string.equals_ignoring_ascii_case("ui-monospace"_utf16_fly_string.view()))
        return Keyword::UiMonospace;

    if (string.equals_ignoring_ascii_case("ui-rounded"_utf16_fly_string.view()))
        return Keyword::UiRounded;

    if (string.equals_ignoring_ascii_case("ui-sans-serif"_utf16_fly_string.view()))
        return Keyword::UiSansSerif;

    if (string.equals_ignoring_ascii_case("ui-serif"_utf16_fly_string.view()))
        return Keyword::UiSerif;

    if (string.equals_ignoring_ascii_case("ultra-condensed"_utf16_fly_string.view()))
        return Keyword::UltraCondensed;

    if (string.equals_ignoring_ascii_case("ultra-expanded"_utf16_fly_string.view()))
        return Keyword::UltraExpanded;

    if (string.equals_ignoring_ascii_case("under"_utf16_fly_string.view()))
        return Keyword::Under;

    if (string.equals_ignoring_ascii_case("underline"_utf16_fly_string.view()))
        return Keyword::Underline;

    if (string.equals_ignoring_ascii_case("unicase"_utf16_fly_string.view()))
        return Keyword::Unicase;

    if (string.equals_ignoring_ascii_case("unicode"_utf16_fly_string.view()))
        return Keyword::Unicode;

    if (string.equals_ignoring_ascii_case("unsafe"_utf16_fly_string.view()))
        return Keyword::Unsafe;

    if (string.equals_ignoring_ascii_case("unsafe-url"_utf16_fly_string.view()))
        return Keyword::UnsafeUrl;

    if (string.equals_ignoring_ascii_case("unset"_utf16_fly_string.view()))
        return Keyword::Unset;

    if (string.equals_ignoring_ascii_case("up"_utf16_fly_string.view()))
        return Keyword::Up;

    if (string.equals_ignoring_ascii_case("upper-alpha-symbolic"_utf16_fly_string.view()))
        return Keyword::UpperAlphaSymbolic;

    if (string.equals_ignoring_ascii_case("upper-alpha"_utf16_fly_string.view()))
        return Keyword::UpperAlpha;

    if (string.equals_ignoring_ascii_case("upper-armenian"_utf16_fly_string.view()))
        return Keyword::UpperArmenian;

    if (string.equals_ignoring_ascii_case("upper-belorussian"_utf16_fly_string.view()))
        return Keyword::UpperBelorussian;

    if (string.equals_ignoring_ascii_case("upper-bulgarian"_utf16_fly_string.view()))
        return Keyword::UpperBulgarian;

    if (string.equals_ignoring_ascii_case("upper-hexadecimal"_utf16_fly_string.view()))
        return Keyword::UpperHexadecimal;

    if (string.equals_ignoring_ascii_case("upper-latin"_utf16_fly_string.view()))
        return Keyword::UpperLatin;

    if (string.equals_ignoring_ascii_case("upper-macedonian"_utf16_fly_string.view()))
        return Keyword::UpperMacedonian;

    if (string.equals_ignoring_ascii_case("upper-oromo-qubee"_utf16_fly_string.view()))
        return Keyword::UpperOromoQubee;

    if (string.equals_ignoring_ascii_case("upper-roman"_utf16_fly_string.view()))
        return Keyword::UpperRoman;

    if (string.equals_ignoring_ascii_case("upper-russian-full"_utf16_fly_string.view()))
        return Keyword::UpperRussianFull;

    if (string.equals_ignoring_ascii_case("upper-russian"_utf16_fly_string.view()))
        return Keyword::UpperRussian;

    if (string.equals_ignoring_ascii_case("upper-serbian"_utf16_fly_string.view()))
        return Keyword::UpperSerbian;

    if (string.equals_ignoring_ascii_case("upper-ukrainian-full"_utf16_fly_string.view()))
        return Keyword::UpperUkrainianFull;

    if (string.equals_ignoring_ascii_case("upper-ukrainian"_utf16_fly_string.view()))
        return Keyword::UpperUkrainian;

    if (string.equals_ignoring_ascii_case("uppercase"_utf16_fly_string.view()))
        return Keyword::Uppercase;

    if (string.equals_ignoring_ascii_case("upright"_utf16_fly_string.view()))
        return Keyword::Upright;

    if (string.equals_ignoring_ascii_case("urdu-abjad"_utf16_fly_string.view()))
        return Keyword::UrduAbjad;

    if (string.equals_ignoring_ascii_case("urdu-alphabetic"_utf16_fly_string.view()))
        return Keyword::UrduAlphabetic;

    if (string.equals_ignoring_ascii_case("urdu"_utf16_fly_string.view()))
        return Keyword::Urdu;

    if (string.equals_ignoring_ascii_case("use-credentials"_utf16_fly_string.view()))
        return Keyword::UseCredentials;

    if (string.equals_ignoring_ascii_case("variations"_utf16_fly_string.view()))
        return Keyword::Variations;

    if (string.equals_ignoring_ascii_case("vertical"_utf16_fly_string.view()))
        return Keyword::Vertical;

    if (string.equals_ignoring_ascii_case("vertical-lr"_utf16_fly_string.view()))
        return Keyword::VerticalLr;

    if (string.equals_ignoring_ascii_case("vertical-rl"_utf16_fly_string.view()))
        return Keyword::VerticalRl;

    if (string.equals_ignoring_ascii_case("vertical-text"_utf16_fly_string.view()))
        return Keyword::VerticalText;

    if (string.equals_ignoring_ascii_case("view-box"_utf16_fly_string.view()))
        return Keyword::ViewBox;

    if (string.equals_ignoring_ascii_case("visible"_utf16_fly_string.view()))
        return Keyword::Visible;

    if (string.equals_ignoring_ascii_case("visitedtext"_utf16_fly_string.view()))
        return Keyword::Visitedtext;

    if (string.equals_ignoring_ascii_case("w"_utf16_fly_string.view()))
        return Keyword::W;

    if (string.equals_ignoring_ascii_case("w-resize"_utf16_fly_string.view()))
        return Keyword::WResize;

    if (string.equals_ignoring_ascii_case("wait"_utf16_fly_string.view()))
        return Keyword::Wait;

    if (string.equals_ignoring_ascii_case("warang-citi"_utf16_fly_string.view()))
        return Keyword::WarangCiti;

    if (string.equals_ignoring_ascii_case("wavy"_utf16_fly_string.view()))
        return Keyword::Wavy;

    if (string.equals_ignoring_ascii_case("width"_utf16_fly_string.view()))
        return Keyword::Width;

    if (string.equals_ignoring_ascii_case("window"_utf16_fly_string.view()))
        return Keyword::Window;

    if (string.equals_ignoring_ascii_case("windowframe"_utf16_fly_string.view()))
        return Keyword::Windowframe;

    if (string.equals_ignoring_ascii_case("windowtext"_utf16_fly_string.view()))
        return Keyword::Windowtext;

    if (string.equals_ignoring_ascii_case("wolaita"_utf16_fly_string.view()))
        return Keyword::Wolaita;

    if (string.equals_ignoring_ascii_case("words"_utf16_fly_string.view()))
        return Keyword::Words;

    if (string.equals_ignoring_ascii_case("wrap"_utf16_fly_string.view()))
        return Keyword::Wrap;

    if (string.equals_ignoring_ascii_case("wrap-reverse"_utf16_fly_string.view()))
        return Keyword::WrapReverse;

    if (string.equals_ignoring_ascii_case("x"_utf16_fly_string.view()))
        return Keyword::X;

    if (string.equals_ignoring_ascii_case("x-end"_utf16_fly_string.view()))
        return Keyword::XEnd;

    if (string.equals_ignoring_ascii_case("x-large"_utf16_fly_string.view()))
        return Keyword::XLarge;

    if (string.equals_ignoring_ascii_case("x-start"_utf16_fly_string.view()))
        return Keyword::XStart;

    if (string.equals_ignoring_ascii_case("x-small"_utf16_fly_string.view()))
        return Keyword::XSmall;

    if (string.equals_ignoring_ascii_case("xx-large"_utf16_fly_string.view()))
        return Keyword::XxLarge;

    if (string.equals_ignoring_ascii_case("xx-small"_utf16_fly_string.view()))
        return Keyword::XxSmall;

    if (string.equals_ignoring_ascii_case("xxx-large"_utf16_fly_string.view()))
        return Keyword::XxxLarge;

    if (string.equals_ignoring_ascii_case("xyz"_utf16_fly_string.view()))
        return Keyword::Xyz;

    if (string.equals_ignoring_ascii_case("xyz-d50"_utf16_fly_string.view()))
        return Keyword::XyzD50;

    if (string.equals_ignoring_ascii_case("xyz-d65"_utf16_fly_string.view()))
        return Keyword::XyzD65;

    if (string.equals_ignoring_ascii_case("y"_utf16_fly_string.view()))
        return Keyword::Y;

    if (string.equals_ignoring_ascii_case("y-end"_utf16_fly_string.view()))
        return Keyword::YEnd;

    if (string.equals_ignoring_ascii_case("y-start"_utf16_fly_string.view()))
        return Keyword::YStart;

    if (string.equals_ignoring_ascii_case("yemsa"_utf16_fly_string.view()))
        return Keyword::Yemsa;

    if (string.equals_ignoring_ascii_case("z"_utf16_fly_string.view()))
        return Keyword::Z;

    if (string.equals_ignoring_ascii_case("zhuyin"_utf16_fly_string.view()))
        return Keyword::Zhuyin;

    if (string.equals_ignoring_ascii_case("zoom-in"_utf16_fly_string.view()))
        return Keyword::ZoomIn;

    if (string.equals_ignoring_ascii_case("zoom-out"_utf16_fly_string.view()))
        return Keyword::ZoomOut;

    return {};
}

StringView string_from_keyword(Keyword keyword) {
    switch (keyword) {

    case Keyword::NegativeInfinity:
        return "-infinity"sv;
        
    case Keyword::LibwebButtonfacedisabled:
        return "-libweb-buttonfacedisabled"sv;
        
    case Keyword::LibwebButtonfacehover:
        return "-libweb-buttonfacehover"sv;
        
    case Keyword::LibwebCenter:
        return "-libweb-center"sv;
        
    case Keyword::LibwebInheritOrCenter:
        return "-libweb-inherit-or-center"sv;
        
    case Keyword::LibwebLeft:
        return "-libweb-left"sv;
        
    case Keyword::LibwebRight:
        return "-libweb-right"sv;
        
    case Keyword::A:
        return "a"sv;
        
    case Keyword::A3:
        return "a3"sv;
        
    case Keyword::A4:
        return "a4"sv;
        
    case Keyword::A5:
        return "a5"sv;
        
    case Keyword::A98Rgb:
        return "a98-rgb"sv;
        
    case Keyword::Absolute:
        return "absolute"sv;
        
    case Keyword::Accentcolor:
        return "accentcolor"sv;
        
    case Keyword::Accentcolortext:
        return "accentcolortext"sv;
        
    case Keyword::Accumulate:
        return "accumulate"sv;
        
    case Keyword::Active:
        return "active"sv;
        
    case Keyword::Activeborder:
        return "activeborder"sv;
        
    case Keyword::Activecaption:
        return "activecaption"sv;
        
    case Keyword::Activetext:
        return "activetext"sv;
        
    case Keyword::Add:
        return "add"sv;
        
    case Keyword::Additive:
        return "additive"sv;
        
    case Keyword::Adlam:
        return "adlam"sv;
        
    case Keyword::Afar:
        return "afar"sv;
        
    case Keyword::Agaw:
        return "agaw"sv;
        
    case Keyword::Alias:
        return "alias"sv;
        
    case Keyword::All:
        return "all"sv;
        
    case Keyword::AllPetiteCaps:
        return "all-petite-caps"sv;
        
    case Keyword::AllScroll:
        return "all-scroll"sv;
        
    case Keyword::AllSmallCaps:
        return "all-small-caps"sv;
        
    case Keyword::AllowDiscrete:
        return "allow-discrete"sv;
        
    case Keyword::Alpha:
        return "alpha"sv;
        
    case Keyword::Alphabetic:
        return "alphabetic"sv;
        
    case Keyword::Alternate:
        return "alternate"sv;
        
    case Keyword::AlternateReverse:
        return "alternate-reverse"sv;
        
    case Keyword::Always:
        return "always"sv;
        
    case Keyword::AnchorsValid:
        return "anchors-valid"sv;
        
    case Keyword::AnchorsVisible:
        return "anchors-visible"sv;
        
    case Keyword::AncientTamil:
        return "ancient-tamil"sv;
        
    case Keyword::Anonymous:
        return "anonymous"sv;
        
    case Keyword::Anywhere:
        return "anywhere"sv;
        
    case Keyword::Appworkspace:
        return "appworkspace"sv;
        
    case Keyword::ArabicAbjad:
        return "arabic-abjad"sv;
        
    case Keyword::ArabicIndic:
        return "arabic-indic"sv;
        
    case Keyword::Ari:
        return "ari"sv;
        
    case Keyword::Armenian:
        return "armenian"sv;
        
    case Keyword::Auto:
        return "auto"sv;
        
    case Keyword::AutoAdd:
        return "auto-add"sv;
        
    case Keyword::Avar2:
        return "avar2"sv;
        
    case Keyword::B:
        return "b"sv;
        
    case Keyword::B4:
        return "b4"sv;
        
    case Keyword::B5:
        return "b5"sv;
        
    case Keyword::Back:
        return "back"sv;
        
    case Keyword::Background:
        return "background"sv;
        
    case Keyword::Backwards:
        return "backwards"sv;
        
    case Keyword::Balance:
        return "balance"sv;
        
    case Keyword::Balinese:
        return "balinese"sv;
        
    case Keyword::Bamum:
        return "bamum"sv;
        
    case Keyword::Bangla:
        return "bangla"sv;
        
    case Keyword::Baseline:
        return "baseline"sv;
        
    case Keyword::Bengali:
        return "bengali"sv;
        
    case Keyword::Bevel:
        return "bevel"sv;
        
    case Keyword::BidiOverride:
        return "bidi-override"sv;
        
    case Keyword::Binary:
        return "binary"sv;
        
    case Keyword::Blin:
        return "blin"sv;
        
    case Keyword::Blink:
        return "blink"sv;
        
    case Keyword::Block:
        return "block"sv;
        
    case Keyword::BlockEnd:
        return "block-end"sv;
        
    case Keyword::BlockStart:
        return "block-start"sv;
        
    case Keyword::Bodo:
        return "bodo"sv;
        
    case Keyword::Bold:
        return "bold"sv;
        
    case Keyword::Bolder:
        return "bolder"sv;
        
    case Keyword::BorderBox:
        return "border-box"sv;
        
    case Keyword::Both:
        return "both"sv;
        
    case Keyword::BothEdges:
        return "both-edges"sv;
        
    case Keyword::Bottom:
        return "bottom"sv;
        
    case Keyword::BreakAll:
        return "break-all"sv;
        
    case Keyword::BreakSpaces:
        return "break-spaces"sv;
        
    case Keyword::BreakWord:
        return "break-word"sv;
        
    case Keyword::Browser:
        return "browser"sv;
        
    case Keyword::Bullets:
        return "bullets"sv;
        
    case Keyword::Butt:
        return "butt"sv;
        
    case Keyword::Button:
        return "button"sv;
        
    case Keyword::Buttonborder:
        return "buttonborder"sv;
        
    case Keyword::Buttonface:
        return "buttonface"sv;
        
    case Keyword::Buttonhighlight:
        return "buttonhighlight"sv;
        
    case Keyword::Buttonshadow:
        return "buttonshadow"sv;
        
    case Keyword::Buttontext:
        return "buttontext"sv;
        
    case Keyword::C:
        return "c"sv;
        
    case Keyword::Cambodian:
        return "cambodian"sv;
        
    case Keyword::Canvas:
        return "canvas"sv;
        
    case Keyword::Canvastext:
        return "canvastext"sv;
        
    case Keyword::Capitalize:
        return "capitalize"sv;
        
    case Keyword::Captiontext:
        return "captiontext"sv;
        
    case Keyword::Cell:
        return "cell"sv;
        
    case Keyword::Center:
        return "center"sv;
        
    case Keyword::Central:
        return "central"sv;
        
    case Keyword::Checkbox:
        return "checkbox"sv;
        
    case Keyword::Circle:
        return "circle"sv;
        
    case Keyword::CircledDecimal:
        return "circled-decimal"sv;
        
    case Keyword::CircledIdeograph:
        return "circled-ideograph"sv;
        
    case Keyword::CircledKatakana:
        return "circled-katakana"sv;
        
    case Keyword::CircledKoreanConsonant:
        return "circled-korean-consonant"sv;
        
    case Keyword::CircledKoreanSyllable:
        return "circled-korean-syllable"sv;
        
    case Keyword::CircledLowerLatin:
        return "circled-lower-latin"sv;
        
    case Keyword::CircledUpperLatin:
        return "circled-upper-latin"sv;
        
    case Keyword::CjkDecimal:
        return "cjk-decimal"sv;
        
    case Keyword::CjkEarthlyBranch:
        return "cjk-earthly-branch"sv;
        
    case Keyword::CjkHeavenlyStem:
        return "cjk-heavenly-stem"sv;
        
    case Keyword::CjkIdeographic:
        return "cjk-ideographic"sv;
        
    case Keyword::CjkStemBranch:
        return "cjk-stem-branch"sv;
        
    case Keyword::CjkTallyMark:
        return "cjk-tally-mark"sv;
        
    case Keyword::Clip:
        return "clip"sv;
        
    case Keyword::CloseQuote:
        return "close-quote"sv;
        
    case Keyword::ClosestCorner:
        return "closest-corner"sv;
        
    case Keyword::ClosestSide:
        return "closest-side"sv;
        
    case Keyword::Coarse:
        return "coarse"sv;
        
    case Keyword::ColResize:
        return "col-resize"sv;
        
    case Keyword::Collapse:
        return "collapse"sv;
        
    case Keyword::Color:
        return "color"sv;
        
    case Keyword::ColorBurn:
        return "color-burn"sv;
        
    case Keyword::ColorCbdt:
        return "color-cbdt"sv;
        
    case Keyword::ColorColrv0:
        return "color-colrv0"sv;
        
    case Keyword::ColorColrv1:
        return "color-colrv1"sv;
        
    case Keyword::ColorDodge:
        return "color-dodge"sv;
        
    case Keyword::ColorSbix:
        return "color-sbix"sv;
        
    case Keyword::ColorSvg:
        return "color-svg"sv;
        
    case Keyword::Column:
        return "column"sv;
        
    case Keyword::ColumnReverse:
        return "column-reverse"sv;
        
    case Keyword::CommonLigatures:
        return "common-ligatures"sv;
        
    case Keyword::Compact:
        return "compact"sv;
        
    case Keyword::Condensed:
        return "condensed"sv;
        
    case Keyword::Contain:
        return "contain"sv;
        
    case Keyword::Content:
        return "content"sv;
        
    case Keyword::ContentBox:
        return "content-box"sv;
        
    case Keyword::Contents:
        return "contents"sv;
        
    case Keyword::ContextMenu:
        return "context-menu"sv;
        
    case Keyword::Contextual:
        return "contextual"sv;
        
    case Keyword::Copy:
        return "copy"sv;
        
    case Keyword::Cover:
        return "cover"sv;
        
    case Keyword::CrispEdges:
        return "crisp-edges"sv;
        
    case Keyword::Crispedges:
        return "crispedges"sv;
        
    case Keyword::Crop:
        return "crop"sv;
        
    case Keyword::Cross:
        return "cross"sv;
        
    case Keyword::Crosshair:
        return "crosshair"sv;
        
    case Keyword::Currentcolor:
        return "currentcolor"sv;
        
    case Keyword::Cursive:
        return "cursive"sv;
        
    case Keyword::Custom:
        return "custom"sv;
        
    case Keyword::Cyclic:
        return "cyclic"sv;
        
    case Keyword::Dark:
        return "dark"sv;
        
    case Keyword::Darken:
        return "darken"sv;
        
    case Keyword::Dashed:
        return "dashed"sv;
        
    case Keyword::Decimal:
        return "decimal"sv;
        
    case Keyword::DecimalLeadingZero:
        return "decimal-leading-zero"sv;
        
    case Keyword::Decreasing:
        return "decreasing"sv;
        
    case Keyword::Default:
        return "default"sv;
        
    case Keyword::Devanagari:
        return "devanagari"sv;
        
    case Keyword::DiagonalFractions:
        return "diagonal-fractions"sv;
        
    case Keyword::Difference:
        return "difference"sv;
        
    case Keyword::Disc:
        return "disc"sv;
        
    case Keyword::Discard:
        return "discard"sv;
        
    case Keyword::DiscardBefore:
        return "discard-before"sv;
        
    case Keyword::DiscardAfter:
        return "discard-after"sv;
        
    case Keyword::DiscardInner:
        return "discard-inner"sv;
        
    case Keyword::DisclosureClosed:
        return "disclosure-closed"sv;
        
    case Keyword::DisclosureOpen:
        return "disclosure-open"sv;
        
    case Keyword::DiscretionaryLigatures:
        return "discretionary-ligatures"sv;
        
    case Keyword::Distribute:
        return "distribute"sv;
        
    case Keyword::DisplayP3:
        return "display-p3"sv;
        
    case Keyword::DisplayP3Linear:
        return "display-p3-linear"sv;
        
    case Keyword::Dizi:
        return "dizi"sv;
        
    case Keyword::Dogri:
        return "dogri"sv;
        
    case Keyword::DottedDecimal:
        return "dotted-decimal"sv;
        
    case Keyword::Dotted:
        return "dotted"sv;
        
    case Keyword::DoubleCircledDecimal:
        return "double-circled-decimal"sv;
        
    case Keyword::Double:
        return "double"sv;
        
    case Keyword::Down:
        return "down"sv;
        
    case Keyword::E:
        return "e"sv;
        
    case Keyword::EResize:
        return "e-resize"sv;
        
    case Keyword::EachLine:
        return "each-line"sv;
        
    case Keyword::Ease:
        return "ease"sv;
        
    case Keyword::EaseIn:
        return "ease-in"sv;
        
    case Keyword::EaseInOut:
        return "ease-in-out"sv;
        
    case Keyword::EaseOut:
        return "ease-out"sv;
        
    case Keyword::ElementShared:
        return "element-shared"sv;
        
    case Keyword::Ellipsis:
        return "ellipsis"sv;
        
    case Keyword::Else:
        return "else"sv;
        
    case Keyword::Embed:
        return "embed"sv;
        
    case Keyword::Emoji:
        return "emoji"sv;
        
    case Keyword::Enabled:
        return "enabled"sv;
        
    case Keyword::End:
        return "end"sv;
        
    case Keyword::EthiopicHalehameAm:
        return "ethiopic-halehame-am"sv;
        
    case Keyword::EthiopicHalehameTiEr:
        return "ethiopic-halehame-ti-er"sv;
        
    case Keyword::EthiopicHalehameTiEt:
        return "ethiopic-halehame-ti-et"sv;
        
    case Keyword::EthiopicHalehame:
        return "ethiopic-halehame"sv;
        
    case Keyword::EthiopicNumeric:
        return "ethiopic-numeric"sv;
        
    case Keyword::Evenodd:
        return "evenodd"sv;
        
    case Keyword::EwResize:
        return "ew-resize"sv;
        
    case Keyword::Exclude:
        return "exclude"sv;
        
    case Keyword::Exclusion:
        return "exclusion"sv;
        
    case Keyword::Expanded:
        return "expanded"sv;
        
    case Keyword::Extends:
        return "extends"sv;
        
    case Keyword::ExtraCondensed:
        return "extra-condensed"sv;
        
    case Keyword::ExtraExpanded:
        return "extra-expanded"sv;
        
    case Keyword::Fallback:
        return "fallback"sv;
        
    case Keyword::False:
        return "false"sv;
        
    case Keyword::Fantasy:
        return "fantasy"sv;
        
    case Keyword::FarthestCorner:
        return "farthest-corner"sv;
        
    case Keyword::FarthestSide:
        return "farthest-side"sv;
        
    case Keyword::Fast:
        return "fast"sv;
        
    case Keyword::FeaturesAat:
        return "features-aat"sv;
        
    case Keyword::FeaturesGraphite:
        return "features-graphite"sv;
        
    case Keyword::FeaturesOpentype:
        return "features-opentype"sv;
        
    case Keyword::Field:
        return "field"sv;
        
    case Keyword::Fieldtext:
        return "fieldtext"sv;
        
    case Keyword::Fill:
        return "fill"sv;
        
    case Keyword::FillBox:
        return "fill-box"sv;
        
    case Keyword::FilledCircledDecimal:
        return "filled-circled-decimal"sv;
        
    case Keyword::Fine:
        return "fine"sv;
        
    case Keyword::FitContent:
        return "fit-content"sv;
        
    case Keyword::Fixed:
        return "fixed"sv;
        
    case Keyword::Flat:
        return "flat"sv;
        
    case Keyword::Flex:
        return "flex"sv;
        
    case Keyword::FlexEnd:
        return "flex-end"sv;
        
    case Keyword::FlexStart:
        return "flex-start"sv;
        
    case Keyword::FlipBlock:
        return "flip-block"sv;
        
    case Keyword::FlipInline:
        return "flip-inline"sv;
        
    case Keyword::FlipStart:
        return "flip-start"sv;
        
    case Keyword::Flow:
        return "flow"sv;
        
    case Keyword::FlowRoot:
        return "flow-root"sv;
        
    case Keyword::Forwards:
        return "forwards"sv;
        
    case Keyword::FromFont:
        return "from-font"sv;
        
    case Keyword::FullSizeKana:
        return "full-size-kana"sv;
        
    case Keyword::FullWidth:
        return "full-width"sv;
        
    case Keyword::FullwidthDecimal:
        return "fullwidth-decimal"sv;
        
    case Keyword::FullwidthLowerAlpha:
        return "fullwidth-lower-alpha"sv;
        
    case Keyword::FullwidthUpperAlpha:
        return "fullwidth-upper-alpha"sv;
        
    case Keyword::FullwidthUpperRoman:
        return "fullwidth-upper-roman"sv;
        
    case Keyword::Fullscreen:
        return "fullscreen"sv;
        
    case Keyword::G:
        return "g"sv;
        
    case Keyword::Gedeo:
        return "gedeo"sv;
        
    case Keyword::Geometricprecision:
        return "geometricprecision"sv;
        
    case Keyword::Georgian:
        return "georgian"sv;
        
    case Keyword::Grab:
        return "grab"sv;
        
    case Keyword::Grabbing:
        return "grabbing"sv;
        
    case Keyword::GrammarError:
        return "grammar-error"sv;
        
    case Keyword::Graytext:
        return "graytext"sv;
        
    case Keyword::GreekLowerAncient:
        return "greek-lower-ancient"sv;
        
    case Keyword::GreekLowerModern:
        return "greek-lower-modern"sv;
        
    case Keyword::GreekUpperAncient:
        return "greek-upper-ancient"sv;
        
    case Keyword::GreekUpperModern:
        return "greek-upper-modern"sv;
        
    case Keyword::Grid:
        return "grid"sv;
        
    case Keyword::Groove:
        return "groove"sv;
        
    case Keyword::GujaratiAlpha:
        return "gujarati-alpha"sv;
        
    case Keyword::Gujarati:
        return "gujarati"sv;
        
    case Keyword::Gumuz:
        return "gumuz"sv;
        
    case Keyword::Gurmukhi:
        return "gurmukhi"sv;
        
    case Keyword::H:
        return "h"sv;
        
    case Keyword::Hadiyaa:
        return "hadiyaa"sv;
        
    case Keyword::Hanging:
        return "hanging"sv;
        
    case Keyword::HangulConsonant:
        return "hangul-consonant"sv;
        
    case Keyword::Hangul:
        return "hangul"sv;
        
    case Keyword::HanifiRohingya:
        return "hanifi-rohingya"sv;
        
    case Keyword::Harari:
        return "harari"sv;
        
    case Keyword::HardLight:
        return "hard-light"sv;
        
    case Keyword::Hebrew:
        return "hebrew"sv;
        
    case Keyword::Height:
        return "height"sv;
        
    case Keyword::Help:
        return "help"sv;
        
    case Keyword::Hide:
        return "hide"sv;
        
    case Keyword::Hidden:
        return "hidden"sv;
        
    case Keyword::High:
        return "high"sv;
        
    case Keyword::HighQuality:
        return "high-quality"sv;
        
    case Keyword::Highlight:
        return "highlight"sv;
        
    case Keyword::Highlighttext:
        return "highlighttext"sv;
        
    case Keyword::Hindi:
        return "hindi"sv;
        
    case Keyword::HiraganaIroha:
        return "hiragana-iroha"sv;
        
    case Keyword::Hiragana:
        return "hiragana"sv;
        
    case Keyword::HistoricalForms:
        return "historical-forms"sv;
        
    case Keyword::HistoricalLigatures:
        return "historical-ligatures"sv;
        
    case Keyword::Horizontal:
        return "horizontal"sv;
        
    case Keyword::HorizontalTb:
        return "horizontal-tb"sv;
        
    case Keyword::Hover:
        return "hover"sv;
        
    case Keyword::Hsl:
        return "hsl"sv;
        
    case Keyword::Hue:
        return "hue"sv;
        
    case Keyword::Hwb:
        return "hwb"sv;
        
    case Keyword::Inactiveborder:
        return "inactiveborder"sv;
        
    case Keyword::Inactivecaption:
        return "inactivecaption"sv;
        
    case Keyword::Inactivecaptiontext:
        return "inactivecaptiontext"sv;
        
    case Keyword::Increasing:
        return "increasing"sv;
        
    case Keyword::Ideographic:
        return "ideographic"sv;
        
    case Keyword::Incremental:
        return "incremental"sv;
        
    case Keyword::Infinite:
        return "infinite"sv;
        
    case Keyword::Infinity:
        return "infinity"sv;
        
    case Keyword::Infobackground:
        return "infobackground"sv;
        
    case Keyword::Infotext:
        return "infotext"sv;
        
    case Keyword::Inherit:
        return "inherit"sv;
        
    case Keyword::Initial:
        return "initial"sv;
        
    case Keyword::InitialOnly:
        return "initial-only"sv;
        
    case Keyword::Inline:
        return "inline"sv;
        
    case Keyword::InlineBlock:
        return "inline-block"sv;
        
    case Keyword::InlineEnd:
        return "inline-end"sv;
        
    case Keyword::InlineFlex:
        return "inline-flex"sv;
        
    case Keyword::InlineGrid:
        return "inline-grid"sv;
        
    case Keyword::InlineSize:
        return "inline-size"sv;
        
    case Keyword::InlineStart:
        return "inline-start"sv;
        
    case Keyword::InlineTable:
        return "inline-table"sv;
        
    case Keyword::Inset:
        return "inset"sv;
        
    case Keyword::Inside:
        return "inside"sv;
        
    case Keyword::InterCharacter:
        return "inter-character"sv;
        
    case Keyword::InterWord:
        return "inter-word"sv;
        
    case Keyword::Interlace:
        return "interlace"sv;
        
    case Keyword::Intersect:
        return "intersect"sv;
        
    case Keyword::Invert:
        return "invert"sv;
        
    case Keyword::Inverted:
        return "inverted"sv;
        
    case Keyword::Isolate:
        return "isolate"sv;
        
    case Keyword::IsolateOverride:
        return "isolate-override"sv;
        
    case Keyword::Italic:
        return "italic"sv;
        
    case Keyword::JapaneseFormal:
        return "japanese-formal"sv;
        
    case Keyword::JapaneseInformal:
        return "japanese-informal"sv;
        
    case Keyword::Javanese:
        return "javanese"sv;
        
    case Keyword::JisB4:
        return "jis-b4"sv;
        
    case Keyword::JisB5:
        return "jis-b5"sv;
        
    case Keyword::Jis04:
        return "jis04"sv;
        
    case Keyword::Jis78:
        return "jis78"sv;
        
    case Keyword::Jis83:
        return "jis83"sv;
        
    case Keyword::Jis90:
        return "jis90"sv;
        
    case Keyword::JumpBoth:
        return "jump-both"sv;
        
    case Keyword::JumpEnd:
        return "jump-end"sv;
        
    case Keyword::JumpNone:
        return "jump-none"sv;
        
    case Keyword::JumpStart:
        return "jump-start"sv;
        
    case Keyword::Justify:
        return "justify"sv;
        
    case Keyword::Kaffa:
        return "kaffa"sv;
        
    case Keyword::KannadaAlpha:
        return "kannada-alpha"sv;
        
    case Keyword::Kannada:
        return "kannada"sv;
        
    case Keyword::Kashmiri:
        return "kashmiri"sv;
        
    case Keyword::KatakanaIroha:
        return "katakana-iroha"sv;
        
    case Keyword::Katakana:
        return "katakana"sv;
        
    case Keyword::KayahLi:
        return "kayah-li"sv;
        
    case Keyword::Kebena:
        return "kebena"sv;
        
    case Keyword::KeepAll:
        return "keep-all"sv;
        
    case Keyword::Kembata:
        return "kembata"sv;
        
    case Keyword::KhmerConsonant:
        return "khmer-consonant"sv;
        
    case Keyword::Khmer:
        return "khmer"sv;
        
    case Keyword::Konkani:
        return "konkani"sv;
        
    case Keyword::Konso:
        return "konso"sv;
        
    case Keyword::KoreanConsonant:
        return "korean-consonant"sv;
        
    case Keyword::KoreanHangulFormal:
        return "korean-hangul-formal"sv;
        
    case Keyword::KoreanHanjaFormal:
        return "korean-hanja-formal"sv;
        
    case Keyword::KoreanHanjaInformal:
        return "korean-hanja-informal"sv;
        
    case Keyword::KoreanSyllable:
        return "korean-syllable"sv;
        
    case Keyword::Kunama:
        return "kunama"sv;
        
    case Keyword::L:
        return "l"sv;
        
    case Keyword::Landscape:
        return "landscape"sv;
        
    case Keyword::LannaHora:
        return "lanna-hora"sv;
        
    case Keyword::LannaTham:
        return "lanna-tham"sv;
        
    case Keyword::Lao:
        return "lao"sv;
        
    case Keyword::Lab:
        return "lab"sv;
        
    case Keyword::Large:
        return "large"sv;
        
    case Keyword::Larger:
        return "larger"sv;
        
    case Keyword::Layout:
        return "layout"sv;
        
    case Keyword::Lch:
        return "lch"sv;
        
    case Keyword::Ledger:
        return "ledger"sv;
        
    case Keyword::Left:
        return "left"sv;
        
    case Keyword::Legacy:
        return "legacy"sv;
        
    case Keyword::Legal:
        return "legal"sv;
        
    case Keyword::Lepcha:
        return "lepcha"sv;
        
    case Keyword::Less:
        return "less"sv;
        
    case Keyword::Letter:
        return "letter"sv;
        
    case Keyword::Light:
        return "light"sv;
        
    case Keyword::Lighten:
        return "lighten"sv;
        
    case Keyword::Lighter:
        return "lighter"sv;
        
    case Keyword::Limbu:
        return "limbu"sv;
        
    case Keyword::LineThrough:
        return "line-through"sv;
        
    case Keyword::Linear:
        return "linear"sv;
        
    case Keyword::Linearrgb:
        return "linearrgb"sv;
        
    case Keyword::LiningNums:
        return "lining-nums"sv;
        
    case Keyword::Linktext:
        return "linktext"sv;
        
    case Keyword::ListItem:
        return "list-item"sv;
        
    case Keyword::Listbox:
        return "listbox"sv;
        
    case Keyword::Local:
        return "local"sv;
        
    case Keyword::Longer:
        return "longer"sv;
        
    case Keyword::LowerAlphaSymbolic:
        return "lower-alpha-symbolic"sv;
        
    case Keyword::LowerAlpha:
        return "lower-alpha"sv;
        
    case Keyword::LowerArmenian:
        return "lower-armenian"sv;
        
    case Keyword::LowerBelorussian:
        return "lower-belorussian"sv;
        
    case Keyword::LowerBulgarian:
        return "lower-bulgarian"sv;
        
    case Keyword::LowerGreek:
        return "lower-greek"sv;
        
    case Keyword::LowerHexadecimal:
        return "lower-hexadecimal"sv;
        
    case Keyword::LowerLatin:
        return "lower-latin"sv;
        
    case Keyword::LowerMacedonian:
        return "lower-macedonian"sv;
        
    case Keyword::LowerOromoQubee:
        return "lower-oromo-qubee"sv;
        
    case Keyword::LowerRoman:
        return "lower-roman"sv;
        
    case Keyword::LowerRussianFull:
        return "lower-russian-full"sv;
        
    case Keyword::LowerRussian:
        return "lower-russian"sv;
        
    case Keyword::LowerSerbian:
        return "lower-serbian"sv;
        
    case Keyword::LowerUkrainianFull:
        return "lower-ukrainian-full"sv;
        
    case Keyword::LowerUkrainian:
        return "lower-ukrainian"sv;
        
    case Keyword::Lowercase:
        return "lowercase"sv;
        
    case Keyword::Ltr:
        return "ltr"sv;
        
    case Keyword::Luminance:
        return "luminance"sv;
        
    case Keyword::Luminosity:
        return "luminosity"sv;
        
    case Keyword::MaghrebiAbjad:
        return "maghrebi-abjad"sv;
        
    case Keyword::Maithili:
        return "maithili"sv;
        
    case Keyword::MalayalamAlpha:
        return "malayalam-alpha"sv;
        
    case Keyword::Malayalam:
        return "malayalam"sv;
        
    case Keyword::Manipulation:
        return "manipulation"sv;
        
    case Keyword::Manipuri:
        return "manipuri"sv;
        
    case Keyword::Marathi:
        return "marathi"sv;
        
    case Keyword::MarginBox:
        return "margin-box"sv;
        
    case Keyword::Mark:
        return "mark"sv;
        
    case Keyword::Markers:
        return "markers"sv;
        
    case Keyword::Marktext:
        return "marktext"sv;
        
    case Keyword::MatchParent:
        return "match-parent"sv;
        
    case Keyword::MatchSource:
        return "match-source"sv;
        
    case Keyword::Math:
        return "math"sv;
        
    case Keyword::MathAuto:
        return "math-auto"sv;
        
    case Keyword::Mathematical:
        return "mathematical"sv;
        
    case Keyword::MaxContent:
        return "max-content"sv;
        
    case Keyword::Medium:
        return "medium"sv;
        
    case Keyword::Meen:
        return "meen"sv;
        
    case Keyword::Meetei:
        return "meetei"sv;
        
    case Keyword::Menu:
        return "menu"sv;
        
    case Keyword::Menulist:
        return "menulist"sv;
        
    case Keyword::MenulistButton:
        return "menulist-button"sv;
        
    case Keyword::Menutext:
        return "menutext"sv;
        
    case Keyword::Meter:
        return "meter"sv;
        
    case Keyword::Middle:
        return "middle"sv;
        
    case Keyword::MinContent:
        return "min-content"sv;
        
    case Keyword::MinimalUi:
        return "minimal-ui"sv;
        
    case Keyword::Miter:
        return "miter"sv;
        
    case Keyword::Mongolian:
        return "mongolian"sv;
        
    case Keyword::Monospace:
        return "monospace"sv;
        
    case Keyword::More:
        return "more"sv;
        
    case Keyword::MostBlockSize:
        return "most-block-size"sv;
        
    case Keyword::MostHeight:
        return "most-height"sv;
        
    case Keyword::MostInlineSize:
        return "most-inline-size"sv;
        
    case Keyword::MostWidth:
        return "most-width"sv;
        
    case Keyword::Move:
        return "move"sv;
        
    case Keyword::Mro:
        return "mro"sv;
        
    case Keyword::Multiply:
        return "multiply"sv;
        
    case Keyword::Myanmar:
        return "myanmar"sv;
        
    case Keyword::NResize:
        return "n-resize"sv;
        
    case Keyword::NagMundari:
        return "nag-mundari"sv;
        
    case Keyword::Nan:
        return "nan"sv;
        
    case Keyword::NeResize:
        return "ne-resize"sv;
        
    case Keyword::Nearest:
        return "nearest"sv;
        
    case Keyword::NeswResize:
        return "nesw-resize"sv;
        
    case Keyword::NewBase60:
        return "new-base-60"sv;
        
    case Keyword::Newa:
        return "newa"sv;
        
    case Keyword::NkoCardinal:
        return "nko-cardinal"sv;
        
    case Keyword::NoClamp:
        return "no-clamp"sv;
        
    case Keyword::NoClip:
        return "no-clip"sv;
        
    case Keyword::NoCloseQuote:
        return "no-close-quote"sv;
        
    case Keyword::NoCommonLigatures:
        return "no-common-ligatures"sv;
        
    case Keyword::NoContextual:
        return "no-contextual"sv;
        
    case Keyword::NoDiscretionaryLigatures:
        return "no-discretionary-ligatures"sv;
        
    case Keyword::NoDrop:
        return "no-drop"sv;
        
    case Keyword::NoHistoricalLigatures:
        return "no-historical-ligatures"sv;
        
    case Keyword::NoOpenQuote:
        return "no-open-quote"sv;
        
    case Keyword::NoOverflow:
        return "no-overflow"sv;
        
    case Keyword::NoPreference:
        return "no-preference"sv;
        
    case Keyword::NoReferrer:
        return "no-referrer"sv;
        
    case Keyword::NoReferrerWhenDowngrade:
        return "no-referrer-when-downgrade"sv;
        
    case Keyword::NoRepeat:
        return "no-repeat"sv;
        
    case Keyword::None:
        return "none"sv;
        
    case Keyword::Nonzero:
        return "nonzero"sv;
        
    case Keyword::Normal:
        return "normal"sv;
        
    case Keyword::NotAllowed:
        return "not-allowed"sv;
        
    case Keyword::Notch:
        return "notch"sv;
        
    case Keyword::Nowrap:
        return "nowrap"sv;
        
    case Keyword::NsResize:
        return "ns-resize"sv;
        
    case Keyword::Numbers:
        return "numbers"sv;
        
    case Keyword::Numeric:
        return "numeric"sv;
        
    case Keyword::NwResize:
        return "nw-resize"sv;
        
    case Keyword::NwseResize:
        return "nwse-resize"sv;
        
    case Keyword::Oblique:
        return "oblique"sv;
        
    case Keyword::Octal:
        return "octal"sv;
        
    case Keyword::Odia:
        return "odia"sv;
        
    case Keyword::Off:
        return "off"sv;
        
    case Keyword::Oklab:
        return "oklab"sv;
        
    case Keyword::Oklch:
        return "oklch"sv;
        
    case Keyword::OlChiki:
        return "ol-chiki"sv;
        
    case Keyword::OldstyleNums:
        return "oldstyle-nums"sv;
        
    case Keyword::On:
        return "on"sv;
        
    case Keyword::Opaque:
        return "opaque"sv;
        
    case Keyword::OpenQuote:
        return "open-quote"sv;
        
    case Keyword::Optimizelegibility:
        return "optimizelegibility"sv;
        
    case Keyword::Optimizequality:
        return "optimizequality"sv;
        
    case Keyword::Optimizespeed:
        return "optimizespeed"sv;
        
    case Keyword::Optional:
        return "optional"sv;
        
    case Keyword::Ordinal:
        return "ordinal"sv;
        
    case Keyword::Origin:
        return "origin"sv;
        
    case Keyword::OriginWhenCrossOrigin:
        return "origin-when-cross-origin"sv;
        
    case Keyword::Oriya:
        return "oriya"sv;
        
    case Keyword::Oromo:
        return "oromo"sv;
        
    case Keyword::Outset:
        return "outset"sv;
        
    case Keyword::Outside:
        return "outside"sv;
        
    case Keyword::Overlay:
        return "overlay"sv;
        
    case Keyword::Overline:
        return "overline"sv;
        
    case Keyword::P3:
        return "p3"sv;
        
    case Keyword::PaddingBox:
        return "padding-box"sv;
        
    case Keyword::Paged:
        return "paged"sv;
        
    case Keyword::Paint:
        return "paint"sv;
        
    case Keyword::Palettes:
        return "palettes"sv;
        
    case Keyword::PanDown:
        return "pan-down"sv;
        
    case Keyword::PanLeft:
        return "pan-left"sv;
        
    case Keyword::PanRight:
        return "pan-right"sv;
        
    case Keyword::PanUp:
        return "pan-up"sv;
        
    case Keyword::PanX:
        return "pan-x"sv;
        
    case Keyword::PanY:
        return "pan-y"sv;
        
    case Keyword::ParenthesizedDecimal:
        return "parenthesized-decimal"sv;
        
    case Keyword::ParenthesizedHangulConsonant:
        return "parenthesized-hangul-consonant"sv;
        
    case Keyword::ParenthesizedHangulSyllable:
        return "parenthesized-hangul-syllable"sv;
        
    case Keyword::ParenthesizedIdeograph:
        return "parenthesized-ideograph"sv;
        
    case Keyword::ParenthesizedLowerLatin:
        return "parenthesized-lower-latin"sv;
        
    case Keyword::Paused:
        return "paused"sv;
        
    case Keyword::PersianAbjad:
        return "persian-abjad"sv;
        
    case Keyword::PersianAlphabetic:
        return "persian-alphabetic"sv;
        
    case Keyword::Persian:
        return "persian"sv;
        
    case Keyword::PetiteCaps:
        return "petite-caps"sv;
        
    case Keyword::Pi:
        return "pi"sv;
        
    case Keyword::PictureInPicture:
        return "picture-in-picture"sv;
        
    case Keyword::Pixelated:
        return "pixelated"sv;
        
    case Keyword::Plaintext:
        return "plaintext"sv;
        
    case Keyword::PlusDarker:
        return "plus-darker"sv;
        
    case Keyword::PlusLighter:
        return "plus-lighter"sv;
        
    case Keyword::Pointer:
        return "pointer"sv;
        
    case Keyword::Portrait:
        return "portrait"sv;
        
    case Keyword::Pre:
        return "pre"sv;
        
    case Keyword::PreLine:
        return "pre-line"sv;
        
    case Keyword::PreWrap:
        return "pre-wrap"sv;
        
    case Keyword::Preserve:
        return "preserve"sv;
        
    case Keyword::Preserve3d:
        return "preserve-3d"sv;
        
    case Keyword::PreserveBreaks:
        return "preserve-breaks"sv;
        
    case Keyword::PreserveSpaces:
        return "preserve-spaces"sv;
        
    case Keyword::Pretty:
        return "pretty"sv;
        
    case Keyword::Progress:
        return "progress"sv;
        
    case Keyword::ProgressBar:
        return "progress-bar"sv;
        
    case Keyword::Progressive:
        return "progressive"sv;
        
    case Keyword::ProphotoRgb:
        return "prophoto-rgb"sv;
        
    case Keyword::ProportionalNums:
        return "proportional-nums"sv;
        
    case Keyword::ProportionalWidth:
        return "proportional-width"sv;
        
    case Keyword::Punjabi:
        return "punjabi"sv;
        
    case Keyword::PushButton:
        return "push-button"sv;
        
    case Keyword::R:
        return "r"sv;
        
    case Keyword::Radio:
        return "radio"sv;
        
    case Keyword::Rec2020:
        return "rec2020"sv;
        
    case Keyword::Reduce:
        return "reduce"sv;
        
    case Keyword::Relative:
        return "relative"sv;
        
    case Keyword::Repeat:
        return "repeat"sv;
        
    case Keyword::RepeatX:
        return "repeat-x"sv;
        
    case Keyword::RepeatY:
        return "repeat-y"sv;
        
    case Keyword::Replace:
        return "replace"sv;
        
    case Keyword::Reverse:
        return "reverse"sv;
        
    case Keyword::Revert:
        return "revert"sv;
        
    case Keyword::RevertLayer:
        return "revert-layer"sv;
        
    case Keyword::Ridge:
        return "ridge"sv;
        
    case Keyword::Right:
        return "right"sv;
        
    case Keyword::Root:
        return "root"sv;
        
    case Keyword::RotateLeft:
        return "rotate-left"sv;
        
    case Keyword::RotateRight:
        return "rotate-right"sv;
        
    case Keyword::Round:
        return "round"sv;
        
    case Keyword::Row:
        return "row"sv;
        
    case Keyword::RowResize:
        return "row-resize"sv;
        
    case Keyword::RowReverse:
        return "row-reverse"sv;
        
    case Keyword::Rtl:
        return "rtl"sv;
        
    case Keyword::Ruby:
        return "ruby"sv;
        
    case Keyword::RubyBase:
        return "ruby-base"sv;
        
    case Keyword::RubyBaseContainer:
        return "ruby-base-container"sv;
        
    case Keyword::RubyText:
        return "ruby-text"sv;
        
    case Keyword::RubyTextContainer:
        return "ruby-text-container"sv;
        
    case Keyword::RunIn:
        return "run-in"sv;
        
    case Keyword::Running:
        return "running"sv;
        
    case Keyword::S:
        return "s"sv;
        
    case Keyword::SResize:
        return "s-resize"sv;
        
    case Keyword::Safe:
        return "safe"sv;
        
    case Keyword::Saho:
        return "saho"sv;
        
    case Keyword::SameOrigin:
        return "same-origin"sv;
        
    case Keyword::SansSerif:
        return "sans-serif"sv;
        
    case Keyword::Sanskrit:
        return "sanskrit"sv;
        
    case Keyword::Santali:
        return "santali"sv;
        
    case Keyword::Saturation:
        return "saturation"sv;
        
    case Keyword::ScaleDown:
        return "scale-down"sv;
        
    case Keyword::Scoop:
        return "scoop"sv;
        
    case Keyword::Screen:
        return "screen"sv;
        
    case Keyword::Scroll:
        return "scroll"sv;
        
    case Keyword::ScrollPosition:
        return "scroll-position"sv;
        
    case Keyword::ScrollState:
        return "scroll-state"sv;
        
    case Keyword::Scrollbar:
        return "scrollbar"sv;
        
    case Keyword::SeResize:
        return "se-resize"sv;
        
    case Keyword::Searchfield:
        return "searchfield"sv;
        
    case Keyword::Selecteditem:
        return "selecteditem"sv;
        
    case Keyword::Selecteditemtext:
        return "selecteditemtext"sv;
        
    case Keyword::Self:
        return "self"sv;
        
    case Keyword::SelfBlock:
        return "self-block"sv;
        
    case Keyword::SelfBlockEnd:
        return "self-block-end"sv;
        
    case Keyword::SelfBlockStart:
        return "self-block-start"sv;
        
    case Keyword::SelfEnd:
        return "self-end"sv;
        
    case Keyword::SelfInline:
        return "self-inline"sv;
        
    case Keyword::SelfInlineEnd:
        return "self-inline-end"sv;
        
    case Keyword::SelfInlineStart:
        return "self-inline-start"sv;
        
    case Keyword::SelfXEnd:
        return "self-x-end"sv;
        
    case Keyword::SelfXStart:
        return "self-x-start"sv;
        
    case Keyword::SelfYEnd:
        return "self-y-end"sv;
        
    case Keyword::SelfYStart:
        return "self-y-start"sv;
        
    case Keyword::SelfStart:
        return "self-start"sv;
        
    case Keyword::SemiCondensed:
        return "semi-condensed"sv;
        
    case Keyword::SemiExpanded:
        return "semi-expanded"sv;
        
    case Keyword::Separate:
        return "separate"sv;
        
    case Keyword::Serif:
        return "serif"sv;
        
    case Keyword::Shan:
        return "shan"sv;
        
    case Keyword::Shorter:
        return "shorter"sv;
        
    case Keyword::Show:
        return "show"sv;
        
    case Keyword::Sidama:
        return "sidama"sv;
        
    case Keyword::SidewaysLr:
        return "sideways-lr"sv;
        
    case Keyword::SidewaysRl:
        return "sideways-rl"sv;
        
    case Keyword::Silti:
        return "silti"sv;
        
    case Keyword::SimpChineseFormal:
        return "simp-chinese-formal"sv;
        
    case Keyword::SimpChineseInformal:
        return "simp-chinese-informal"sv;
        
    case Keyword::SimpleLowerRoman:
        return "simple-lower-roman"sv;
        
    case Keyword::SimpleUpperRoman:
        return "simple-upper-roman"sv;
        
    case Keyword::Simplified:
        return "simplified"sv;
        
    case Keyword::Sindhi:
        return "sindhi"sv;
        
    case Keyword::Size:
        return "size"sv;
        
    case Keyword::SlashedZero:
        return "slashed-zero"sv;
        
    case Keyword::SliderHorizontal:
        return "slider-horizontal"sv;
        
    case Keyword::Slow:
        return "slow"sv;
        
    case Keyword::Small:
        return "small"sv;
        
    case Keyword::SmallCaps:
        return "small-caps"sv;
        
    case Keyword::Smaller:
        return "smaller"sv;
        
    case Keyword::Smooth:
        return "smooth"sv;
        
    case Keyword::SoftLight:
        return "soft-light"sv;
        
    case Keyword::Solid:
        return "solid"sv;
        
    case Keyword::Space:
        return "space"sv;
        
    case Keyword::SpaceAround:
        return "space-around"sv;
        
    case Keyword::SpaceBetween:
        return "space-between"sv;
        
    case Keyword::SpaceEvenly:
        return "space-evenly"sv;
        
    case Keyword::SpanAll:
        return "span-all"sv;
        
    case Keyword::SpanBlockEnd:
        return "span-block-end"sv;
        
    case Keyword::SpanBlockStart:
        return "span-block-start"sv;
        
    case Keyword::SpanBottom:
        return "span-bottom"sv;
        
    case Keyword::SpanEnd:
        return "span-end"sv;
        
    case Keyword::SpanInlineEnd:
        return "span-inline-end"sv;
        
    case Keyword::SpanInlineStart:
        return "span-inline-start"sv;
        
    case Keyword::SpanLeft:
        return "span-left"sv;
        
    case Keyword::SpanRight:
        return "span-right"sv;
        
    case Keyword::SpanSelfBlockEnd:
        return "span-self-block-end"sv;
        
    case Keyword::SpanSelfBlockStart:
        return "span-self-block-start"sv;
        
    case Keyword::SpanSelfEnd:
        return "span-self-end"sv;
        
    case Keyword::SpanSelfInlineEnd:
        return "span-self-inline-end"sv;
        
    case Keyword::SpanSelfInlineStart:
        return "span-self-inline-start"sv;
        
    case Keyword::SpanSelfStart:
        return "span-self-start"sv;
        
    case Keyword::SpanSelfXEnd:
        return "span-self-x-end"sv;
        
    case Keyword::SpanSelfXStart:
        return "span-self-x-start"sv;
        
    case Keyword::SpanSelfYEnd:
        return "span-self-y-end"sv;
        
    case Keyword::SpanSelfYStart:
        return "span-self-y-start"sv;
        
    case Keyword::SpanStart:
        return "span-start"sv;
        
    case Keyword::SpanTop:
        return "span-top"sv;
        
    case Keyword::SpanXEnd:
        return "span-x-end"sv;
        
    case Keyword::SpanXStart:
        return "span-x-start"sv;
        
    case Keyword::SpanYEnd:
        return "span-y-end"sv;
        
    case Keyword::SpanYStart:
        return "span-y-start"sv;
        
    case Keyword::SpellingError:
        return "spelling-error"sv;
        
    case Keyword::SpellOut:
        return "spell-out"sv;
        
    case Keyword::Square:
        return "square"sv;
        
    case Keyword::SquareButton:
        return "square-button"sv;
        
    case Keyword::Squircle:
        return "squircle"sv;
        
    case Keyword::Srgb:
        return "srgb"sv;
        
    case Keyword::SrgbLinear:
        return "srgb-linear"sv;
        
    case Keyword::Stable:
        return "stable"sv;
        
    case Keyword::StackedFractions:
        return "stacked-fractions"sv;
        
    case Keyword::Standalone:
        return "standalone"sv;
        
    case Keyword::Standard:
        return "standard"sv;
        
    case Keyword::Start:
        return "start"sv;
        
    case Keyword::Static:
        return "static"sv;
        
    case Keyword::Sticky:
        return "sticky"sv;
        
    case Keyword::Stretch:
        return "stretch"sv;
        
    case Keyword::Strict:
        return "strict"sv;
        
    case Keyword::StrictOrigin:
        return "strict-origin"sv;
        
    case Keyword::StrictOriginWhenCrossOrigin:
        return "strict-origin-when-cross-origin"sv;
        
    case Keyword::Stroke:
        return "stroke"sv;
        
    case Keyword::StrokeBox:
        return "stroke-box"sv;
        
    case Keyword::Style:
        return "style"sv;
        
    case Keyword::Sub:
        return "sub"sv;
        
    case Keyword::Subtract:
        return "subtract"sv;
        
    case Keyword::Subtractive:
        return "subtractive"sv;
        
    case Keyword::Sundanese:
        return "sundanese"sv;
        
    case Keyword::SuperDecimal:
        return "super-decimal"sv;
        
    case Keyword::Super:
        return "super"sv;
        
    case Keyword::SwResize:
        return "sw-resize"sv;
        
    case Keyword::Swap:
        return "swap"sv;
        
    case Keyword::Symbolic:
        return "symbolic"sv;
        
    case Keyword::SystemUi:
        return "system-ui"sv;
        
    case Keyword::Table:
        return "table"sv;
        
    case Keyword::TableCaption:
        return "table-caption"sv;
        
    case Keyword::TableCell:
        return "table-cell"sv;
        
    case Keyword::TableColumn:
        return "table-column"sv;
        
    case Keyword::TableColumnGroup:
        return "table-column-group"sv;
        
    case Keyword::TableFooterGroup:
        return "table-footer-group"sv;
        
    case Keyword::TableHeaderGroup:
        return "table-header-group"sv;
        
    case Keyword::TableRow:
        return "table-row"sv;
        
    case Keyword::TableRowGroup:
        return "table-row-group"sv;
        
    case Keyword::TabularNums:
        return "tabular-nums"sv;
        
    case Keyword::TaiLue:
        return "tai-lue"sv;
        
    case Keyword::TallyMark:
        return "tally-mark"sv;
        
    case Keyword::Tamil:
        return "tamil"sv;
        
    case Keyword::TeluguAlpha:
        return "telugu-alpha"sv;
        
    case Keyword::Telugu:
        return "telugu"sv;
        
    case Keyword::Text:
        return "text"sv;
        
    case Keyword::TextBottom:
        return "text-bottom"sv;
        
    case Keyword::TextTop:
        return "text-top"sv;
        
    case Keyword::Textarea:
        return "textarea"sv;
        
    case Keyword::Textfield:
        return "textfield"sv;
        
    case Keyword::ThaiAlpha:
        return "thai-alpha"sv;
        
    case Keyword::Thai:
        return "thai"sv;
        
    case Keyword::Thick:
        return "thick"sv;
        
    case Keyword::Thin:
        return "thin"sv;
        
    case Keyword::Threeddarkshadow:
        return "threeddarkshadow"sv;
        
    case Keyword::Threedface:
        return "threedface"sv;
        
    case Keyword::Threedhighlight:
        return "threedhighlight"sv;
        
    case Keyword::Threedlightshadow:
        return "threedlightshadow"sv;
        
    case Keyword::Threedshadow:
        return "threedshadow"sv;
        
    case Keyword::Tibetan:
        return "tibetan"sv;
        
    case Keyword::Tigre:
        return "tigre"sv;
        
    case Keyword::TitlingCaps:
        return "titling-caps"sv;
        
    case Keyword::ToZero:
        return "to-zero"sv;
        
    case Keyword::Top:
        return "top"sv;
        
    case Keyword::TradChineseFormal:
        return "trad-chinese-formal"sv;
        
    case Keyword::TradChineseInformal:
        return "trad-chinese-informal"sv;
        
    case Keyword::Traditional:
        return "traditional"sv;
        
    case Keyword::True:
        return "true"sv;
        
    case Keyword::UiMonospace:
        return "ui-monospace"sv;
        
    case Keyword::UiRounded:
        return "ui-rounded"sv;
        
    case Keyword::UiSansSerif:
        return "ui-sans-serif"sv;
        
    case Keyword::UiSerif:
        return "ui-serif"sv;
        
    case Keyword::UltraCondensed:
        return "ultra-condensed"sv;
        
    case Keyword::UltraExpanded:
        return "ultra-expanded"sv;
        
    case Keyword::Under:
        return "under"sv;
        
    case Keyword::Underline:
        return "underline"sv;
        
    case Keyword::Unicase:
        return "unicase"sv;
        
    case Keyword::Unicode:
        return "unicode"sv;
        
    case Keyword::Unsafe:
        return "unsafe"sv;
        
    case Keyword::UnsafeUrl:
        return "unsafe-url"sv;
        
    case Keyword::Unset:
        return "unset"sv;
        
    case Keyword::Up:
        return "up"sv;
        
    case Keyword::UpperAlphaSymbolic:
        return "upper-alpha-symbolic"sv;
        
    case Keyword::UpperAlpha:
        return "upper-alpha"sv;
        
    case Keyword::UpperArmenian:
        return "upper-armenian"sv;
        
    case Keyword::UpperBelorussian:
        return "upper-belorussian"sv;
        
    case Keyword::UpperBulgarian:
        return "upper-bulgarian"sv;
        
    case Keyword::UpperHexadecimal:
        return "upper-hexadecimal"sv;
        
    case Keyword::UpperLatin:
        return "upper-latin"sv;
        
    case Keyword::UpperMacedonian:
        return "upper-macedonian"sv;
        
    case Keyword::UpperOromoQubee:
        return "upper-oromo-qubee"sv;
        
    case Keyword::UpperRoman:
        return "upper-roman"sv;
        
    case Keyword::UpperRussianFull:
        return "upper-russian-full"sv;
        
    case Keyword::UpperRussian:
        return "upper-russian"sv;
        
    case Keyword::UpperSerbian:
        return "upper-serbian"sv;
        
    case Keyword::UpperUkrainianFull:
        return "upper-ukrainian-full"sv;
        
    case Keyword::UpperUkrainian:
        return "upper-ukrainian"sv;
        
    case Keyword::Uppercase:
        return "uppercase"sv;
        
    case Keyword::Upright:
        return "upright"sv;
        
    case Keyword::UrduAbjad:
        return "urdu-abjad"sv;
        
    case Keyword::UrduAlphabetic:
        return "urdu-alphabetic"sv;
        
    case Keyword::Urdu:
        return "urdu"sv;
        
    case Keyword::UseCredentials:
        return "use-credentials"sv;
        
    case Keyword::Variations:
        return "variations"sv;
        
    case Keyword::Vertical:
        return "vertical"sv;
        
    case Keyword::VerticalLr:
        return "vertical-lr"sv;
        
    case Keyword::VerticalRl:
        return "vertical-rl"sv;
        
    case Keyword::VerticalText:
        return "vertical-text"sv;
        
    case Keyword::ViewBox:
        return "view-box"sv;
        
    case Keyword::Visible:
        return "visible"sv;
        
    case Keyword::Visitedtext:
        return "visitedtext"sv;
        
    case Keyword::W:
        return "w"sv;
        
    case Keyword::WResize:
        return "w-resize"sv;
        
    case Keyword::Wait:
        return "wait"sv;
        
    case Keyword::WarangCiti:
        return "warang-citi"sv;
        
    case Keyword::Wavy:
        return "wavy"sv;
        
    case Keyword::Width:
        return "width"sv;
        
    case Keyword::Window:
        return "window"sv;
        
    case Keyword::Windowframe:
        return "windowframe"sv;
        
    case Keyword::Windowtext:
        return "windowtext"sv;
        
    case Keyword::Wolaita:
        return "wolaita"sv;
        
    case Keyword::Words:
        return "words"sv;
        
    case Keyword::Wrap:
        return "wrap"sv;
        
    case Keyword::WrapReverse:
        return "wrap-reverse"sv;
        
    case Keyword::X:
        return "x"sv;
        
    case Keyword::XEnd:
        return "x-end"sv;
        
    case Keyword::XLarge:
        return "x-large"sv;
        
    case Keyword::XStart:
        return "x-start"sv;
        
    case Keyword::XSmall:
        return "x-small"sv;
        
    case Keyword::XxLarge:
        return "xx-large"sv;
        
    case Keyword::XxSmall:
        return "xx-small"sv;
        
    case Keyword::XxxLarge:
        return "xxx-large"sv;
        
    case Keyword::Xyz:
        return "xyz"sv;
        
    case Keyword::XyzD50:
        return "xyz-d50"sv;
        
    case Keyword::XyzD65:
        return "xyz-d65"sv;
        
    case Keyword::Y:
        return "y"sv;
        
    case Keyword::YEnd:
        return "y-end"sv;
        
    case Keyword::YStart:
        return "y-start"sv;
        
    case Keyword::Yemsa:
        return "yemsa"sv;
        
    case Keyword::Z:
        return "z"sv;
        
    case Keyword::Zhuyin:
        return "zhuyin"sv;
        
    case Keyword::ZoomIn:
        return "zoom-in"sv;
        
    case Keyword::ZoomOut:
        return "zoom-out"sv;
        
    default:
        return "(invalid CSS::Keyword)"sv;
    }
}

Utf16FlyString utf16_fly_string_from_keyword(Keyword keyword) {
    switch (keyword) {

    case Keyword::NegativeInfinity:
        return "-infinity"_utf16_fly_string;
        
    case Keyword::LibwebButtonfacedisabled:
        return "-libweb-buttonfacedisabled"_utf16_fly_string;
        
    case Keyword::LibwebButtonfacehover:
        return "-libweb-buttonfacehover"_utf16_fly_string;
        
    case Keyword::LibwebCenter:
        return "-libweb-center"_utf16_fly_string;
        
    case Keyword::LibwebInheritOrCenter:
        return "-libweb-inherit-or-center"_utf16_fly_string;
        
    case Keyword::LibwebLeft:
        return "-libweb-left"_utf16_fly_string;
        
    case Keyword::LibwebRight:
        return "-libweb-right"_utf16_fly_string;
        
    case Keyword::A:
        return "a"_utf16_fly_string;
        
    case Keyword::A3:
        return "a3"_utf16_fly_string;
        
    case Keyword::A4:
        return "a4"_utf16_fly_string;
        
    case Keyword::A5:
        return "a5"_utf16_fly_string;
        
    case Keyword::A98Rgb:
        return "a98-rgb"_utf16_fly_string;
        
    case Keyword::Absolute:
        return "absolute"_utf16_fly_string;
        
    case Keyword::Accentcolor:
        return "accentcolor"_utf16_fly_string;
        
    case Keyword::Accentcolortext:
        return "accentcolortext"_utf16_fly_string;
        
    case Keyword::Accumulate:
        return "accumulate"_utf16_fly_string;
        
    case Keyword::Active:
        return "active"_utf16_fly_string;
        
    case Keyword::Activeborder:
        return "activeborder"_utf16_fly_string;
        
    case Keyword::Activecaption:
        return "activecaption"_utf16_fly_string;
        
    case Keyword::Activetext:
        return "activetext"_utf16_fly_string;
        
    case Keyword::Add:
        return "add"_utf16_fly_string;
        
    case Keyword::Additive:
        return "additive"_utf16_fly_string;
        
    case Keyword::Adlam:
        return "adlam"_utf16_fly_string;
        
    case Keyword::Afar:
        return "afar"_utf16_fly_string;
        
    case Keyword::Agaw:
        return "agaw"_utf16_fly_string;
        
    case Keyword::Alias:
        return "alias"_utf16_fly_string;
        
    case Keyword::All:
        return "all"_utf16_fly_string;
        
    case Keyword::AllPetiteCaps:
        return "all-petite-caps"_utf16_fly_string;
        
    case Keyword::AllScroll:
        return "all-scroll"_utf16_fly_string;
        
    case Keyword::AllSmallCaps:
        return "all-small-caps"_utf16_fly_string;
        
    case Keyword::AllowDiscrete:
        return "allow-discrete"_utf16_fly_string;
        
    case Keyword::Alpha:
        return "alpha"_utf16_fly_string;
        
    case Keyword::Alphabetic:
        return "alphabetic"_utf16_fly_string;
        
    case Keyword::Alternate:
        return "alternate"_utf16_fly_string;
        
    case Keyword::AlternateReverse:
        return "alternate-reverse"_utf16_fly_string;
        
    case Keyword::Always:
        return "always"_utf16_fly_string;
        
    case Keyword::AnchorsValid:
        return "anchors-valid"_utf16_fly_string;
        
    case Keyword::AnchorsVisible:
        return "anchors-visible"_utf16_fly_string;
        
    case Keyword::AncientTamil:
        return "ancient-tamil"_utf16_fly_string;
        
    case Keyword::Anonymous:
        return "anonymous"_utf16_fly_string;
        
    case Keyword::Anywhere:
        return "anywhere"_utf16_fly_string;
        
    case Keyword::Appworkspace:
        return "appworkspace"_utf16_fly_string;
        
    case Keyword::ArabicAbjad:
        return "arabic-abjad"_utf16_fly_string;
        
    case Keyword::ArabicIndic:
        return "arabic-indic"_utf16_fly_string;
        
    case Keyword::Ari:
        return "ari"_utf16_fly_string;
        
    case Keyword::Armenian:
        return "armenian"_utf16_fly_string;
        
    case Keyword::Auto:
        return "auto"_utf16_fly_string;
        
    case Keyword::AutoAdd:
        return "auto-add"_utf16_fly_string;
        
    case Keyword::Avar2:
        return "avar2"_utf16_fly_string;
        
    case Keyword::B:
        return "b"_utf16_fly_string;
        
    case Keyword::B4:
        return "b4"_utf16_fly_string;
        
    case Keyword::B5:
        return "b5"_utf16_fly_string;
        
    case Keyword::Back:
        return "back"_utf16_fly_string;
        
    case Keyword::Background:
        return "background"_utf16_fly_string;
        
    case Keyword::Backwards:
        return "backwards"_utf16_fly_string;
        
    case Keyword::Balance:
        return "balance"_utf16_fly_string;
        
    case Keyword::Balinese:
        return "balinese"_utf16_fly_string;
        
    case Keyword::Bamum:
        return "bamum"_utf16_fly_string;
        
    case Keyword::Bangla:
        return "bangla"_utf16_fly_string;
        
    case Keyword::Baseline:
        return "baseline"_utf16_fly_string;
        
    case Keyword::Bengali:
        return "bengali"_utf16_fly_string;
        
    case Keyword::Bevel:
        return "bevel"_utf16_fly_string;
        
    case Keyword::BidiOverride:
        return "bidi-override"_utf16_fly_string;
        
    case Keyword::Binary:
        return "binary"_utf16_fly_string;
        
    case Keyword::Blin:
        return "blin"_utf16_fly_string;
        
    case Keyword::Blink:
        return "blink"_utf16_fly_string;
        
    case Keyword::Block:
        return "block"_utf16_fly_string;
        
    case Keyword::BlockEnd:
        return "block-end"_utf16_fly_string;
        
    case Keyword::BlockStart:
        return "block-start"_utf16_fly_string;
        
    case Keyword::Bodo:
        return "bodo"_utf16_fly_string;
        
    case Keyword::Bold:
        return "bold"_utf16_fly_string;
        
    case Keyword::Bolder:
        return "bolder"_utf16_fly_string;
        
    case Keyword::BorderBox:
        return "border-box"_utf16_fly_string;
        
    case Keyword::Both:
        return "both"_utf16_fly_string;
        
    case Keyword::BothEdges:
        return "both-edges"_utf16_fly_string;
        
    case Keyword::Bottom:
        return "bottom"_utf16_fly_string;
        
    case Keyword::BreakAll:
        return "break-all"_utf16_fly_string;
        
    case Keyword::BreakSpaces:
        return "break-spaces"_utf16_fly_string;
        
    case Keyword::BreakWord:
        return "break-word"_utf16_fly_string;
        
    case Keyword::Browser:
        return "browser"_utf16_fly_string;
        
    case Keyword::Bullets:
        return "bullets"_utf16_fly_string;
        
    case Keyword::Butt:
        return "butt"_utf16_fly_string;
        
    case Keyword::Button:
        return "button"_utf16_fly_string;
        
    case Keyword::Buttonborder:
        return "buttonborder"_utf16_fly_string;
        
    case Keyword::Buttonface:
        return "buttonface"_utf16_fly_string;
        
    case Keyword::Buttonhighlight:
        return "buttonhighlight"_utf16_fly_string;
        
    case Keyword::Buttonshadow:
        return "buttonshadow"_utf16_fly_string;
        
    case Keyword::Buttontext:
        return "buttontext"_utf16_fly_string;
        
    case Keyword::C:
        return "c"_utf16_fly_string;
        
    case Keyword::Cambodian:
        return "cambodian"_utf16_fly_string;
        
    case Keyword::Canvas:
        return "canvas"_utf16_fly_string;
        
    case Keyword::Canvastext:
        return "canvastext"_utf16_fly_string;
        
    case Keyword::Capitalize:
        return "capitalize"_utf16_fly_string;
        
    case Keyword::Captiontext:
        return "captiontext"_utf16_fly_string;
        
    case Keyword::Cell:
        return "cell"_utf16_fly_string;
        
    case Keyword::Center:
        return "center"_utf16_fly_string;
        
    case Keyword::Central:
        return "central"_utf16_fly_string;
        
    case Keyword::Checkbox:
        return "checkbox"_utf16_fly_string;
        
    case Keyword::Circle:
        return "circle"_utf16_fly_string;
        
    case Keyword::CircledDecimal:
        return "circled-decimal"_utf16_fly_string;
        
    case Keyword::CircledIdeograph:
        return "circled-ideograph"_utf16_fly_string;
        
    case Keyword::CircledKatakana:
        return "circled-katakana"_utf16_fly_string;
        
    case Keyword::CircledKoreanConsonant:
        return "circled-korean-consonant"_utf16_fly_string;
        
    case Keyword::CircledKoreanSyllable:
        return "circled-korean-syllable"_utf16_fly_string;
        
    case Keyword::CircledLowerLatin:
        return "circled-lower-latin"_utf16_fly_string;
        
    case Keyword::CircledUpperLatin:
        return "circled-upper-latin"_utf16_fly_string;
        
    case Keyword::CjkDecimal:
        return "cjk-decimal"_utf16_fly_string;
        
    case Keyword::CjkEarthlyBranch:
        return "cjk-earthly-branch"_utf16_fly_string;
        
    case Keyword::CjkHeavenlyStem:
        return "cjk-heavenly-stem"_utf16_fly_string;
        
    case Keyword::CjkIdeographic:
        return "cjk-ideographic"_utf16_fly_string;
        
    case Keyword::CjkStemBranch:
        return "cjk-stem-branch"_utf16_fly_string;
        
    case Keyword::CjkTallyMark:
        return "cjk-tally-mark"_utf16_fly_string;
        
    case Keyword::Clip:
        return "clip"_utf16_fly_string;
        
    case Keyword::CloseQuote:
        return "close-quote"_utf16_fly_string;
        
    case Keyword::ClosestCorner:
        return "closest-corner"_utf16_fly_string;
        
    case Keyword::ClosestSide:
        return "closest-side"_utf16_fly_string;
        
    case Keyword::Coarse:
        return "coarse"_utf16_fly_string;
        
    case Keyword::ColResize:
        return "col-resize"_utf16_fly_string;
        
    case Keyword::Collapse:
        return "collapse"_utf16_fly_string;
        
    case Keyword::Color:
        return "color"_utf16_fly_string;
        
    case Keyword::ColorBurn:
        return "color-burn"_utf16_fly_string;
        
    case Keyword::ColorCbdt:
        return "color-cbdt"_utf16_fly_string;
        
    case Keyword::ColorColrv0:
        return "color-colrv0"_utf16_fly_string;
        
    case Keyword::ColorColrv1:
        return "color-colrv1"_utf16_fly_string;
        
    case Keyword::ColorDodge:
        return "color-dodge"_utf16_fly_string;
        
    case Keyword::ColorSbix:
        return "color-sbix"_utf16_fly_string;
        
    case Keyword::ColorSvg:
        return "color-svg"_utf16_fly_string;
        
    case Keyword::Column:
        return "column"_utf16_fly_string;
        
    case Keyword::ColumnReverse:
        return "column-reverse"_utf16_fly_string;
        
    case Keyword::CommonLigatures:
        return "common-ligatures"_utf16_fly_string;
        
    case Keyword::Compact:
        return "compact"_utf16_fly_string;
        
    case Keyword::Condensed:
        return "condensed"_utf16_fly_string;
        
    case Keyword::Contain:
        return "contain"_utf16_fly_string;
        
    case Keyword::Content:
        return "content"_utf16_fly_string;
        
    case Keyword::ContentBox:
        return "content-box"_utf16_fly_string;
        
    case Keyword::Contents:
        return "contents"_utf16_fly_string;
        
    case Keyword::ContextMenu:
        return "context-menu"_utf16_fly_string;
        
    case Keyword::Contextual:
        return "contextual"_utf16_fly_string;
        
    case Keyword::Copy:
        return "copy"_utf16_fly_string;
        
    case Keyword::Cover:
        return "cover"_utf16_fly_string;
        
    case Keyword::CrispEdges:
        return "crisp-edges"_utf16_fly_string;
        
    case Keyword::Crispedges:
        return "crispedges"_utf16_fly_string;
        
    case Keyword::Crop:
        return "crop"_utf16_fly_string;
        
    case Keyword::Cross:
        return "cross"_utf16_fly_string;
        
    case Keyword::Crosshair:
        return "crosshair"_utf16_fly_string;
        
    case Keyword::Currentcolor:
        return "currentcolor"_utf16_fly_string;
        
    case Keyword::Cursive:
        return "cursive"_utf16_fly_string;
        
    case Keyword::Custom:
        return "custom"_utf16_fly_string;
        
    case Keyword::Cyclic:
        return "cyclic"_utf16_fly_string;
        
    case Keyword::Dark:
        return "dark"_utf16_fly_string;
        
    case Keyword::Darken:
        return "darken"_utf16_fly_string;
        
    case Keyword::Dashed:
        return "dashed"_utf16_fly_string;
        
    case Keyword::Decimal:
        return "decimal"_utf16_fly_string;
        
    case Keyword::DecimalLeadingZero:
        return "decimal-leading-zero"_utf16_fly_string;
        
    case Keyword::Decreasing:
        return "decreasing"_utf16_fly_string;
        
    case Keyword::Default:
        return "default"_utf16_fly_string;
        
    case Keyword::Devanagari:
        return "devanagari"_utf16_fly_string;
        
    case Keyword::DiagonalFractions:
        return "diagonal-fractions"_utf16_fly_string;
        
    case Keyword::Difference:
        return "difference"_utf16_fly_string;
        
    case Keyword::Disc:
        return "disc"_utf16_fly_string;
        
    case Keyword::Discard:
        return "discard"_utf16_fly_string;
        
    case Keyword::DiscardBefore:
        return "discard-before"_utf16_fly_string;
        
    case Keyword::DiscardAfter:
        return "discard-after"_utf16_fly_string;
        
    case Keyword::DiscardInner:
        return "discard-inner"_utf16_fly_string;
        
    case Keyword::DisclosureClosed:
        return "disclosure-closed"_utf16_fly_string;
        
    case Keyword::DisclosureOpen:
        return "disclosure-open"_utf16_fly_string;
        
    case Keyword::DiscretionaryLigatures:
        return "discretionary-ligatures"_utf16_fly_string;
        
    case Keyword::Distribute:
        return "distribute"_utf16_fly_string;
        
    case Keyword::DisplayP3:
        return "display-p3"_utf16_fly_string;
        
    case Keyword::DisplayP3Linear:
        return "display-p3-linear"_utf16_fly_string;
        
    case Keyword::Dizi:
        return "dizi"_utf16_fly_string;
        
    case Keyword::Dogri:
        return "dogri"_utf16_fly_string;
        
    case Keyword::DottedDecimal:
        return "dotted-decimal"_utf16_fly_string;
        
    case Keyword::Dotted:
        return "dotted"_utf16_fly_string;
        
    case Keyword::DoubleCircledDecimal:
        return "double-circled-decimal"_utf16_fly_string;
        
    case Keyword::Double:
        return "double"_utf16_fly_string;
        
    case Keyword::Down:
        return "down"_utf16_fly_string;
        
    case Keyword::E:
        return "e"_utf16_fly_string;
        
    case Keyword::EResize:
        return "e-resize"_utf16_fly_string;
        
    case Keyword::EachLine:
        return "each-line"_utf16_fly_string;
        
    case Keyword::Ease:
        return "ease"_utf16_fly_string;
        
    case Keyword::EaseIn:
        return "ease-in"_utf16_fly_string;
        
    case Keyword::EaseInOut:
        return "ease-in-out"_utf16_fly_string;
        
    case Keyword::EaseOut:
        return "ease-out"_utf16_fly_string;
        
    case Keyword::ElementShared:
        return "element-shared"_utf16_fly_string;
        
    case Keyword::Ellipsis:
        return "ellipsis"_utf16_fly_string;
        
    case Keyword::Else:
        return "else"_utf16_fly_string;
        
    case Keyword::Embed:
        return "embed"_utf16_fly_string;
        
    case Keyword::Emoji:
        return "emoji"_utf16_fly_string;
        
    case Keyword::Enabled:
        return "enabled"_utf16_fly_string;
        
    case Keyword::End:
        return "end"_utf16_fly_string;
        
    case Keyword::EthiopicHalehameAm:
        return "ethiopic-halehame-am"_utf16_fly_string;
        
    case Keyword::EthiopicHalehameTiEr:
        return "ethiopic-halehame-ti-er"_utf16_fly_string;
        
    case Keyword::EthiopicHalehameTiEt:
        return "ethiopic-halehame-ti-et"_utf16_fly_string;
        
    case Keyword::EthiopicHalehame:
        return "ethiopic-halehame"_utf16_fly_string;
        
    case Keyword::EthiopicNumeric:
        return "ethiopic-numeric"_utf16_fly_string;
        
    case Keyword::Evenodd:
        return "evenodd"_utf16_fly_string;
        
    case Keyword::EwResize:
        return "ew-resize"_utf16_fly_string;
        
    case Keyword::Exclude:
        return "exclude"_utf16_fly_string;
        
    case Keyword::Exclusion:
        return "exclusion"_utf16_fly_string;
        
    case Keyword::Expanded:
        return "expanded"_utf16_fly_string;
        
    case Keyword::Extends:
        return "extends"_utf16_fly_string;
        
    case Keyword::ExtraCondensed:
        return "extra-condensed"_utf16_fly_string;
        
    case Keyword::ExtraExpanded:
        return "extra-expanded"_utf16_fly_string;
        
    case Keyword::Fallback:
        return "fallback"_utf16_fly_string;
        
    case Keyword::False:
        return "false"_utf16_fly_string;
        
    case Keyword::Fantasy:
        return "fantasy"_utf16_fly_string;
        
    case Keyword::FarthestCorner:
        return "farthest-corner"_utf16_fly_string;
        
    case Keyword::FarthestSide:
        return "farthest-side"_utf16_fly_string;
        
    case Keyword::Fast:
        return "fast"_utf16_fly_string;
        
    case Keyword::FeaturesAat:
        return "features-aat"_utf16_fly_string;
        
    case Keyword::FeaturesGraphite:
        return "features-graphite"_utf16_fly_string;
        
    case Keyword::FeaturesOpentype:
        return "features-opentype"_utf16_fly_string;
        
    case Keyword::Field:
        return "field"_utf16_fly_string;
        
    case Keyword::Fieldtext:
        return "fieldtext"_utf16_fly_string;
        
    case Keyword::Fill:
        return "fill"_utf16_fly_string;
        
    case Keyword::FillBox:
        return "fill-box"_utf16_fly_string;
        
    case Keyword::FilledCircledDecimal:
        return "filled-circled-decimal"_utf16_fly_string;
        
    case Keyword::Fine:
        return "fine"_utf16_fly_string;
        
    case Keyword::FitContent:
        return "fit-content"_utf16_fly_string;
        
    case Keyword::Fixed:
        return "fixed"_utf16_fly_string;
        
    case Keyword::Flat:
        return "flat"_utf16_fly_string;
        
    case Keyword::Flex:
        return "flex"_utf16_fly_string;
        
    case Keyword::FlexEnd:
        return "flex-end"_utf16_fly_string;
        
    case Keyword::FlexStart:
        return "flex-start"_utf16_fly_string;
        
    case Keyword::FlipBlock:
        return "flip-block"_utf16_fly_string;
        
    case Keyword::FlipInline:
        return "flip-inline"_utf16_fly_string;
        
    case Keyword::FlipStart:
        return "flip-start"_utf16_fly_string;
        
    case Keyword::Flow:
        return "flow"_utf16_fly_string;
        
    case Keyword::FlowRoot:
        return "flow-root"_utf16_fly_string;
        
    case Keyword::Forwards:
        return "forwards"_utf16_fly_string;
        
    case Keyword::FromFont:
        return "from-font"_utf16_fly_string;
        
    case Keyword::FullSizeKana:
        return "full-size-kana"_utf16_fly_string;
        
    case Keyword::FullWidth:
        return "full-width"_utf16_fly_string;
        
    case Keyword::FullwidthDecimal:
        return "fullwidth-decimal"_utf16_fly_string;
        
    case Keyword::FullwidthLowerAlpha:
        return "fullwidth-lower-alpha"_utf16_fly_string;
        
    case Keyword::FullwidthUpperAlpha:
        return "fullwidth-upper-alpha"_utf16_fly_string;
        
    case Keyword::FullwidthUpperRoman:
        return "fullwidth-upper-roman"_utf16_fly_string;
        
    case Keyword::Fullscreen:
        return "fullscreen"_utf16_fly_string;
        
    case Keyword::G:
        return "g"_utf16_fly_string;
        
    case Keyword::Gedeo:
        return "gedeo"_utf16_fly_string;
        
    case Keyword::Geometricprecision:
        return "geometricprecision"_utf16_fly_string;
        
    case Keyword::Georgian:
        return "georgian"_utf16_fly_string;
        
    case Keyword::Grab:
        return "grab"_utf16_fly_string;
        
    case Keyword::Grabbing:
        return "grabbing"_utf16_fly_string;
        
    case Keyword::GrammarError:
        return "grammar-error"_utf16_fly_string;
        
    case Keyword::Graytext:
        return "graytext"_utf16_fly_string;
        
    case Keyword::GreekLowerAncient:
        return "greek-lower-ancient"_utf16_fly_string;
        
    case Keyword::GreekLowerModern:
        return "greek-lower-modern"_utf16_fly_string;
        
    case Keyword::GreekUpperAncient:
        return "greek-upper-ancient"_utf16_fly_string;
        
    case Keyword::GreekUpperModern:
        return "greek-upper-modern"_utf16_fly_string;
        
    case Keyword::Grid:
        return "grid"_utf16_fly_string;
        
    case Keyword::Groove:
        return "groove"_utf16_fly_string;
        
    case Keyword::GujaratiAlpha:
        return "gujarati-alpha"_utf16_fly_string;
        
    case Keyword::Gujarati:
        return "gujarati"_utf16_fly_string;
        
    case Keyword::Gumuz:
        return "gumuz"_utf16_fly_string;
        
    case Keyword::Gurmukhi:
        return "gurmukhi"_utf16_fly_string;
        
    case Keyword::H:
        return "h"_utf16_fly_string;
        
    case Keyword::Hadiyaa:
        return "hadiyaa"_utf16_fly_string;
        
    case Keyword::Hanging:
        return "hanging"_utf16_fly_string;
        
    case Keyword::HangulConsonant:
        return "hangul-consonant"_utf16_fly_string;
        
    case Keyword::Hangul:
        return "hangul"_utf16_fly_string;
        
    case Keyword::HanifiRohingya:
        return "hanifi-rohingya"_utf16_fly_string;
        
    case Keyword::Harari:
        return "harari"_utf16_fly_string;
        
    case Keyword::HardLight:
        return "hard-light"_utf16_fly_string;
        
    case Keyword::Hebrew:
        return "hebrew"_utf16_fly_string;
        
    case Keyword::Height:
        return "height"_utf16_fly_string;
        
    case Keyword::Help:
        return "help"_utf16_fly_string;
        
    case Keyword::Hide:
        return "hide"_utf16_fly_string;
        
    case Keyword::Hidden:
        return "hidden"_utf16_fly_string;
        
    case Keyword::High:
        return "high"_utf16_fly_string;
        
    case Keyword::HighQuality:
        return "high-quality"_utf16_fly_string;
        
    case Keyword::Highlight:
        return "highlight"_utf16_fly_string;
        
    case Keyword::Highlighttext:
        return "highlighttext"_utf16_fly_string;
        
    case Keyword::Hindi:
        return "hindi"_utf16_fly_string;
        
    case Keyword::HiraganaIroha:
        return "hiragana-iroha"_utf16_fly_string;
        
    case Keyword::Hiragana:
        return "hiragana"_utf16_fly_string;
        
    case Keyword::HistoricalForms:
        return "historical-forms"_utf16_fly_string;
        
    case Keyword::HistoricalLigatures:
        return "historical-ligatures"_utf16_fly_string;
        
    case Keyword::Horizontal:
        return "horizontal"_utf16_fly_string;
        
    case Keyword::HorizontalTb:
        return "horizontal-tb"_utf16_fly_string;
        
    case Keyword::Hover:
        return "hover"_utf16_fly_string;
        
    case Keyword::Hsl:
        return "hsl"_utf16_fly_string;
        
    case Keyword::Hue:
        return "hue"_utf16_fly_string;
        
    case Keyword::Hwb:
        return "hwb"_utf16_fly_string;
        
    case Keyword::Inactiveborder:
        return "inactiveborder"_utf16_fly_string;
        
    case Keyword::Inactivecaption:
        return "inactivecaption"_utf16_fly_string;
        
    case Keyword::Inactivecaptiontext:
        return "inactivecaptiontext"_utf16_fly_string;
        
    case Keyword::Increasing:
        return "increasing"_utf16_fly_string;
        
    case Keyword::Ideographic:
        return "ideographic"_utf16_fly_string;
        
    case Keyword::Incremental:
        return "incremental"_utf16_fly_string;
        
    case Keyword::Infinite:
        return "infinite"_utf16_fly_string;
        
    case Keyword::Infinity:
        return "infinity"_utf16_fly_string;
        
    case Keyword::Infobackground:
        return "infobackground"_utf16_fly_string;
        
    case Keyword::Infotext:
        return "infotext"_utf16_fly_string;
        
    case Keyword::Inherit:
        return "inherit"_utf16_fly_string;
        
    case Keyword::Initial:
        return "initial"_utf16_fly_string;
        
    case Keyword::InitialOnly:
        return "initial-only"_utf16_fly_string;
        
    case Keyword::Inline:
        return "inline"_utf16_fly_string;
        
    case Keyword::InlineBlock:
        return "inline-block"_utf16_fly_string;
        
    case Keyword::InlineEnd:
        return "inline-end"_utf16_fly_string;
        
    case Keyword::InlineFlex:
        return "inline-flex"_utf16_fly_string;
        
    case Keyword::InlineGrid:
        return "inline-grid"_utf16_fly_string;
        
    case Keyword::InlineSize:
        return "inline-size"_utf16_fly_string;
        
    case Keyword::InlineStart:
        return "inline-start"_utf16_fly_string;
        
    case Keyword::InlineTable:
        return "inline-table"_utf16_fly_string;
        
    case Keyword::Inset:
        return "inset"_utf16_fly_string;
        
    case Keyword::Inside:
        return "inside"_utf16_fly_string;
        
    case Keyword::InterCharacter:
        return "inter-character"_utf16_fly_string;
        
    case Keyword::InterWord:
        return "inter-word"_utf16_fly_string;
        
    case Keyword::Interlace:
        return "interlace"_utf16_fly_string;
        
    case Keyword::Intersect:
        return "intersect"_utf16_fly_string;
        
    case Keyword::Invert:
        return "invert"_utf16_fly_string;
        
    case Keyword::Inverted:
        return "inverted"_utf16_fly_string;
        
    case Keyword::Isolate:
        return "isolate"_utf16_fly_string;
        
    case Keyword::IsolateOverride:
        return "isolate-override"_utf16_fly_string;
        
    case Keyword::Italic:
        return "italic"_utf16_fly_string;
        
    case Keyword::JapaneseFormal:
        return "japanese-formal"_utf16_fly_string;
        
    case Keyword::JapaneseInformal:
        return "japanese-informal"_utf16_fly_string;
        
    case Keyword::Javanese:
        return "javanese"_utf16_fly_string;
        
    case Keyword::JisB4:
        return "jis-b4"_utf16_fly_string;
        
    case Keyword::JisB5:
        return "jis-b5"_utf16_fly_string;
        
    case Keyword::Jis04:
        return "jis04"_utf16_fly_string;
        
    case Keyword::Jis78:
        return "jis78"_utf16_fly_string;
        
    case Keyword::Jis83:
        return "jis83"_utf16_fly_string;
        
    case Keyword::Jis90:
        return "jis90"_utf16_fly_string;
        
    case Keyword::JumpBoth:
        return "jump-both"_utf16_fly_string;
        
    case Keyword::JumpEnd:
        return "jump-end"_utf16_fly_string;
        
    case Keyword::JumpNone:
        return "jump-none"_utf16_fly_string;
        
    case Keyword::JumpStart:
        return "jump-start"_utf16_fly_string;
        
    case Keyword::Justify:
        return "justify"_utf16_fly_string;
        
    case Keyword::Kaffa:
        return "kaffa"_utf16_fly_string;
        
    case Keyword::KannadaAlpha:
        return "kannada-alpha"_utf16_fly_string;
        
    case Keyword::Kannada:
        return "kannada"_utf16_fly_string;
        
    case Keyword::Kashmiri:
        return "kashmiri"_utf16_fly_string;
        
    case Keyword::KatakanaIroha:
        return "katakana-iroha"_utf16_fly_string;
        
    case Keyword::Katakana:
        return "katakana"_utf16_fly_string;
        
    case Keyword::KayahLi:
        return "kayah-li"_utf16_fly_string;
        
    case Keyword::Kebena:
        return "kebena"_utf16_fly_string;
        
    case Keyword::KeepAll:
        return "keep-all"_utf16_fly_string;
        
    case Keyword::Kembata:
        return "kembata"_utf16_fly_string;
        
    case Keyword::KhmerConsonant:
        return "khmer-consonant"_utf16_fly_string;
        
    case Keyword::Khmer:
        return "khmer"_utf16_fly_string;
        
    case Keyword::Konkani:
        return "konkani"_utf16_fly_string;
        
    case Keyword::Konso:
        return "konso"_utf16_fly_string;
        
    case Keyword::KoreanConsonant:
        return "korean-consonant"_utf16_fly_string;
        
    case Keyword::KoreanHangulFormal:
        return "korean-hangul-formal"_utf16_fly_string;
        
    case Keyword::KoreanHanjaFormal:
        return "korean-hanja-formal"_utf16_fly_string;
        
    case Keyword::KoreanHanjaInformal:
        return "korean-hanja-informal"_utf16_fly_string;
        
    case Keyword::KoreanSyllable:
        return "korean-syllable"_utf16_fly_string;
        
    case Keyword::Kunama:
        return "kunama"_utf16_fly_string;
        
    case Keyword::L:
        return "l"_utf16_fly_string;
        
    case Keyword::Landscape:
        return "landscape"_utf16_fly_string;
        
    case Keyword::LannaHora:
        return "lanna-hora"_utf16_fly_string;
        
    case Keyword::LannaTham:
        return "lanna-tham"_utf16_fly_string;
        
    case Keyword::Lao:
        return "lao"_utf16_fly_string;
        
    case Keyword::Lab:
        return "lab"_utf16_fly_string;
        
    case Keyword::Large:
        return "large"_utf16_fly_string;
        
    case Keyword::Larger:
        return "larger"_utf16_fly_string;
        
    case Keyword::Layout:
        return "layout"_utf16_fly_string;
        
    case Keyword::Lch:
        return "lch"_utf16_fly_string;
        
    case Keyword::Ledger:
        return "ledger"_utf16_fly_string;
        
    case Keyword::Left:
        return "left"_utf16_fly_string;
        
    case Keyword::Legacy:
        return "legacy"_utf16_fly_string;
        
    case Keyword::Legal:
        return "legal"_utf16_fly_string;
        
    case Keyword::Lepcha:
        return "lepcha"_utf16_fly_string;
        
    case Keyword::Less:
        return "less"_utf16_fly_string;
        
    case Keyword::Letter:
        return "letter"_utf16_fly_string;
        
    case Keyword::Light:
        return "light"_utf16_fly_string;
        
    case Keyword::Lighten:
        return "lighten"_utf16_fly_string;
        
    case Keyword::Lighter:
        return "lighter"_utf16_fly_string;
        
    case Keyword::Limbu:
        return "limbu"_utf16_fly_string;
        
    case Keyword::LineThrough:
        return "line-through"_utf16_fly_string;
        
    case Keyword::Linear:
        return "linear"_utf16_fly_string;
        
    case Keyword::Linearrgb:
        return "linearrgb"_utf16_fly_string;
        
    case Keyword::LiningNums:
        return "lining-nums"_utf16_fly_string;
        
    case Keyword::Linktext:
        return "linktext"_utf16_fly_string;
        
    case Keyword::ListItem:
        return "list-item"_utf16_fly_string;
        
    case Keyword::Listbox:
        return "listbox"_utf16_fly_string;
        
    case Keyword::Local:
        return "local"_utf16_fly_string;
        
    case Keyword::Longer:
        return "longer"_utf16_fly_string;
        
    case Keyword::LowerAlphaSymbolic:
        return "lower-alpha-symbolic"_utf16_fly_string;
        
    case Keyword::LowerAlpha:
        return "lower-alpha"_utf16_fly_string;
        
    case Keyword::LowerArmenian:
        return "lower-armenian"_utf16_fly_string;
        
    case Keyword::LowerBelorussian:
        return "lower-belorussian"_utf16_fly_string;
        
    case Keyword::LowerBulgarian:
        return "lower-bulgarian"_utf16_fly_string;
        
    case Keyword::LowerGreek:
        return "lower-greek"_utf16_fly_string;
        
    case Keyword::LowerHexadecimal:
        return "lower-hexadecimal"_utf16_fly_string;
        
    case Keyword::LowerLatin:
        return "lower-latin"_utf16_fly_string;
        
    case Keyword::LowerMacedonian:
        return "lower-macedonian"_utf16_fly_string;
        
    case Keyword::LowerOromoQubee:
        return "lower-oromo-qubee"_utf16_fly_string;
        
    case Keyword::LowerRoman:
        return "lower-roman"_utf16_fly_string;
        
    case Keyword::LowerRussianFull:
        return "lower-russian-full"_utf16_fly_string;
        
    case Keyword::LowerRussian:
        return "lower-russian"_utf16_fly_string;
        
    case Keyword::LowerSerbian:
        return "lower-serbian"_utf16_fly_string;
        
    case Keyword::LowerUkrainianFull:
        return "lower-ukrainian-full"_utf16_fly_string;
        
    case Keyword::LowerUkrainian:
        return "lower-ukrainian"_utf16_fly_string;
        
    case Keyword::Lowercase:
        return "lowercase"_utf16_fly_string;
        
    case Keyword::Ltr:
        return "ltr"_utf16_fly_string;
        
    case Keyword::Luminance:
        return "luminance"_utf16_fly_string;
        
    case Keyword::Luminosity:
        return "luminosity"_utf16_fly_string;
        
    case Keyword::MaghrebiAbjad:
        return "maghrebi-abjad"_utf16_fly_string;
        
    case Keyword::Maithili:
        return "maithili"_utf16_fly_string;
        
    case Keyword::MalayalamAlpha:
        return "malayalam-alpha"_utf16_fly_string;
        
    case Keyword::Malayalam:
        return "malayalam"_utf16_fly_string;
        
    case Keyword::Manipulation:
        return "manipulation"_utf16_fly_string;
        
    case Keyword::Manipuri:
        return "manipuri"_utf16_fly_string;
        
    case Keyword::Marathi:
        return "marathi"_utf16_fly_string;
        
    case Keyword::MarginBox:
        return "margin-box"_utf16_fly_string;
        
    case Keyword::Mark:
        return "mark"_utf16_fly_string;
        
    case Keyword::Markers:
        return "markers"_utf16_fly_string;
        
    case Keyword::Marktext:
        return "marktext"_utf16_fly_string;
        
    case Keyword::MatchParent:
        return "match-parent"_utf16_fly_string;
        
    case Keyword::MatchSource:
        return "match-source"_utf16_fly_string;
        
    case Keyword::Math:
        return "math"_utf16_fly_string;
        
    case Keyword::MathAuto:
        return "math-auto"_utf16_fly_string;
        
    case Keyword::Mathematical:
        return "mathematical"_utf16_fly_string;
        
    case Keyword::MaxContent:
        return "max-content"_utf16_fly_string;
        
    case Keyword::Medium:
        return "medium"_utf16_fly_string;
        
    case Keyword::Meen:
        return "meen"_utf16_fly_string;
        
    case Keyword::Meetei:
        return "meetei"_utf16_fly_string;
        
    case Keyword::Menu:
        return "menu"_utf16_fly_string;
        
    case Keyword::Menulist:
        return "menulist"_utf16_fly_string;
        
    case Keyword::MenulistButton:
        return "menulist-button"_utf16_fly_string;
        
    case Keyword::Menutext:
        return "menutext"_utf16_fly_string;
        
    case Keyword::Meter:
        return "meter"_utf16_fly_string;
        
    case Keyword::Middle:
        return "middle"_utf16_fly_string;
        
    case Keyword::MinContent:
        return "min-content"_utf16_fly_string;
        
    case Keyword::MinimalUi:
        return "minimal-ui"_utf16_fly_string;
        
    case Keyword::Miter:
        return "miter"_utf16_fly_string;
        
    case Keyword::Mongolian:
        return "mongolian"_utf16_fly_string;
        
    case Keyword::Monospace:
        return "monospace"_utf16_fly_string;
        
    case Keyword::More:
        return "more"_utf16_fly_string;
        
    case Keyword::MostBlockSize:
        return "most-block-size"_utf16_fly_string;
        
    case Keyword::MostHeight:
        return "most-height"_utf16_fly_string;
        
    case Keyword::MostInlineSize:
        return "most-inline-size"_utf16_fly_string;
        
    case Keyword::MostWidth:
        return "most-width"_utf16_fly_string;
        
    case Keyword::Move:
        return "move"_utf16_fly_string;
        
    case Keyword::Mro:
        return "mro"_utf16_fly_string;
        
    case Keyword::Multiply:
        return "multiply"_utf16_fly_string;
        
    case Keyword::Myanmar:
        return "myanmar"_utf16_fly_string;
        
    case Keyword::NResize:
        return "n-resize"_utf16_fly_string;
        
    case Keyword::NagMundari:
        return "nag-mundari"_utf16_fly_string;
        
    case Keyword::Nan:
        return "nan"_utf16_fly_string;
        
    case Keyword::NeResize:
        return "ne-resize"_utf16_fly_string;
        
    case Keyword::Nearest:
        return "nearest"_utf16_fly_string;
        
    case Keyword::NeswResize:
        return "nesw-resize"_utf16_fly_string;
        
    case Keyword::NewBase60:
        return "new-base-60"_utf16_fly_string;
        
    case Keyword::Newa:
        return "newa"_utf16_fly_string;
        
    case Keyword::NkoCardinal:
        return "nko-cardinal"_utf16_fly_string;
        
    case Keyword::NoClamp:
        return "no-clamp"_utf16_fly_string;
        
    case Keyword::NoClip:
        return "no-clip"_utf16_fly_string;
        
    case Keyword::NoCloseQuote:
        return "no-close-quote"_utf16_fly_string;
        
    case Keyword::NoCommonLigatures:
        return "no-common-ligatures"_utf16_fly_string;
        
    case Keyword::NoContextual:
        return "no-contextual"_utf16_fly_string;
        
    case Keyword::NoDiscretionaryLigatures:
        return "no-discretionary-ligatures"_utf16_fly_string;
        
    case Keyword::NoDrop:
        return "no-drop"_utf16_fly_string;
        
    case Keyword::NoHistoricalLigatures:
        return "no-historical-ligatures"_utf16_fly_string;
        
    case Keyword::NoOpenQuote:
        return "no-open-quote"_utf16_fly_string;
        
    case Keyword::NoOverflow:
        return "no-overflow"_utf16_fly_string;
        
    case Keyword::NoPreference:
        return "no-preference"_utf16_fly_string;
        
    case Keyword::NoReferrer:
        return "no-referrer"_utf16_fly_string;
        
    case Keyword::NoReferrerWhenDowngrade:
        return "no-referrer-when-downgrade"_utf16_fly_string;
        
    case Keyword::NoRepeat:
        return "no-repeat"_utf16_fly_string;
        
    case Keyword::None:
        return "none"_utf16_fly_string;
        
    case Keyword::Nonzero:
        return "nonzero"_utf16_fly_string;
        
    case Keyword::Normal:
        return "normal"_utf16_fly_string;
        
    case Keyword::NotAllowed:
        return "not-allowed"_utf16_fly_string;
        
    case Keyword::Notch:
        return "notch"_utf16_fly_string;
        
    case Keyword::Nowrap:
        return "nowrap"_utf16_fly_string;
        
    case Keyword::NsResize:
        return "ns-resize"_utf16_fly_string;
        
    case Keyword::Numbers:
        return "numbers"_utf16_fly_string;
        
    case Keyword::Numeric:
        return "numeric"_utf16_fly_string;
        
    case Keyword::NwResize:
        return "nw-resize"_utf16_fly_string;
        
    case Keyword::NwseResize:
        return "nwse-resize"_utf16_fly_string;
        
    case Keyword::Oblique:
        return "oblique"_utf16_fly_string;
        
    case Keyword::Octal:
        return "octal"_utf16_fly_string;
        
    case Keyword::Odia:
        return "odia"_utf16_fly_string;
        
    case Keyword::Off:
        return "off"_utf16_fly_string;
        
    case Keyword::Oklab:
        return "oklab"_utf16_fly_string;
        
    case Keyword::Oklch:
        return "oklch"_utf16_fly_string;
        
    case Keyword::OlChiki:
        return "ol-chiki"_utf16_fly_string;
        
    case Keyword::OldstyleNums:
        return "oldstyle-nums"_utf16_fly_string;
        
    case Keyword::On:
        return "on"_utf16_fly_string;
        
    case Keyword::Opaque:
        return "opaque"_utf16_fly_string;
        
    case Keyword::OpenQuote:
        return "open-quote"_utf16_fly_string;
        
    case Keyword::Optimizelegibility:
        return "optimizelegibility"_utf16_fly_string;
        
    case Keyword::Optimizequality:
        return "optimizequality"_utf16_fly_string;
        
    case Keyword::Optimizespeed:
        return "optimizespeed"_utf16_fly_string;
        
    case Keyword::Optional:
        return "optional"_utf16_fly_string;
        
    case Keyword::Ordinal:
        return "ordinal"_utf16_fly_string;
        
    case Keyword::Origin:
        return "origin"_utf16_fly_string;
        
    case Keyword::OriginWhenCrossOrigin:
        return "origin-when-cross-origin"_utf16_fly_string;
        
    case Keyword::Oriya:
        return "oriya"_utf16_fly_string;
        
    case Keyword::Oromo:
        return "oromo"_utf16_fly_string;
        
    case Keyword::Outset:
        return "outset"_utf16_fly_string;
        
    case Keyword::Outside:
        return "outside"_utf16_fly_string;
        
    case Keyword::Overlay:
        return "overlay"_utf16_fly_string;
        
    case Keyword::Overline:
        return "overline"_utf16_fly_string;
        
    case Keyword::P3:
        return "p3"_utf16_fly_string;
        
    case Keyword::PaddingBox:
        return "padding-box"_utf16_fly_string;
        
    case Keyword::Paged:
        return "paged"_utf16_fly_string;
        
    case Keyword::Paint:
        return "paint"_utf16_fly_string;
        
    case Keyword::Palettes:
        return "palettes"_utf16_fly_string;
        
    case Keyword::PanDown:
        return "pan-down"_utf16_fly_string;
        
    case Keyword::PanLeft:
        return "pan-left"_utf16_fly_string;
        
    case Keyword::PanRight:
        return "pan-right"_utf16_fly_string;
        
    case Keyword::PanUp:
        return "pan-up"_utf16_fly_string;
        
    case Keyword::PanX:
        return "pan-x"_utf16_fly_string;
        
    case Keyword::PanY:
        return "pan-y"_utf16_fly_string;
        
    case Keyword::ParenthesizedDecimal:
        return "parenthesized-decimal"_utf16_fly_string;
        
    case Keyword::ParenthesizedHangulConsonant:
        return "parenthesized-hangul-consonant"_utf16_fly_string;
        
    case Keyword::ParenthesizedHangulSyllable:
        return "parenthesized-hangul-syllable"_utf16_fly_string;
        
    case Keyword::ParenthesizedIdeograph:
        return "parenthesized-ideograph"_utf16_fly_string;
        
    case Keyword::ParenthesizedLowerLatin:
        return "parenthesized-lower-latin"_utf16_fly_string;
        
    case Keyword::Paused:
        return "paused"_utf16_fly_string;
        
    case Keyword::PersianAbjad:
        return "persian-abjad"_utf16_fly_string;
        
    case Keyword::PersianAlphabetic:
        return "persian-alphabetic"_utf16_fly_string;
        
    case Keyword::Persian:
        return "persian"_utf16_fly_string;
        
    case Keyword::PetiteCaps:
        return "petite-caps"_utf16_fly_string;
        
    case Keyword::Pi:
        return "pi"_utf16_fly_string;
        
    case Keyword::PictureInPicture:
        return "picture-in-picture"_utf16_fly_string;
        
    case Keyword::Pixelated:
        return "pixelated"_utf16_fly_string;
        
    case Keyword::Plaintext:
        return "plaintext"_utf16_fly_string;
        
    case Keyword::PlusDarker:
        return "plus-darker"_utf16_fly_string;
        
    case Keyword::PlusLighter:
        return "plus-lighter"_utf16_fly_string;
        
    case Keyword::Pointer:
        return "pointer"_utf16_fly_string;
        
    case Keyword::Portrait:
        return "portrait"_utf16_fly_string;
        
    case Keyword::Pre:
        return "pre"_utf16_fly_string;
        
    case Keyword::PreLine:
        return "pre-line"_utf16_fly_string;
        
    case Keyword::PreWrap:
        return "pre-wrap"_utf16_fly_string;
        
    case Keyword::Preserve:
        return "preserve"_utf16_fly_string;
        
    case Keyword::Preserve3d:
        return "preserve-3d"_utf16_fly_string;
        
    case Keyword::PreserveBreaks:
        return "preserve-breaks"_utf16_fly_string;
        
    case Keyword::PreserveSpaces:
        return "preserve-spaces"_utf16_fly_string;
        
    case Keyword::Pretty:
        return "pretty"_utf16_fly_string;
        
    case Keyword::Progress:
        return "progress"_utf16_fly_string;
        
    case Keyword::ProgressBar:
        return "progress-bar"_utf16_fly_string;
        
    case Keyword::Progressive:
        return "progressive"_utf16_fly_string;
        
    case Keyword::ProphotoRgb:
        return "prophoto-rgb"_utf16_fly_string;
        
    case Keyword::ProportionalNums:
        return "proportional-nums"_utf16_fly_string;
        
    case Keyword::ProportionalWidth:
        return "proportional-width"_utf16_fly_string;
        
    case Keyword::Punjabi:
        return "punjabi"_utf16_fly_string;
        
    case Keyword::PushButton:
        return "push-button"_utf16_fly_string;
        
    case Keyword::R:
        return "r"_utf16_fly_string;
        
    case Keyword::Radio:
        return "radio"_utf16_fly_string;
        
    case Keyword::Rec2020:
        return "rec2020"_utf16_fly_string;
        
    case Keyword::Reduce:
        return "reduce"_utf16_fly_string;
        
    case Keyword::Relative:
        return "relative"_utf16_fly_string;
        
    case Keyword::Repeat:
        return "repeat"_utf16_fly_string;
        
    case Keyword::RepeatX:
        return "repeat-x"_utf16_fly_string;
        
    case Keyword::RepeatY:
        return "repeat-y"_utf16_fly_string;
        
    case Keyword::Replace:
        return "replace"_utf16_fly_string;
        
    case Keyword::Reverse:
        return "reverse"_utf16_fly_string;
        
    case Keyword::Revert:
        return "revert"_utf16_fly_string;
        
    case Keyword::RevertLayer:
        return "revert-layer"_utf16_fly_string;
        
    case Keyword::Ridge:
        return "ridge"_utf16_fly_string;
        
    case Keyword::Right:
        return "right"_utf16_fly_string;
        
    case Keyword::Root:
        return "root"_utf16_fly_string;
        
    case Keyword::RotateLeft:
        return "rotate-left"_utf16_fly_string;
        
    case Keyword::RotateRight:
        return "rotate-right"_utf16_fly_string;
        
    case Keyword::Round:
        return "round"_utf16_fly_string;
        
    case Keyword::Row:
        return "row"_utf16_fly_string;
        
    case Keyword::RowResize:
        return "row-resize"_utf16_fly_string;
        
    case Keyword::RowReverse:
        return "row-reverse"_utf16_fly_string;
        
    case Keyword::Rtl:
        return "rtl"_utf16_fly_string;
        
    case Keyword::Ruby:
        return "ruby"_utf16_fly_string;
        
    case Keyword::RubyBase:
        return "ruby-base"_utf16_fly_string;
        
    case Keyword::RubyBaseContainer:
        return "ruby-base-container"_utf16_fly_string;
        
    case Keyword::RubyText:
        return "ruby-text"_utf16_fly_string;
        
    case Keyword::RubyTextContainer:
        return "ruby-text-container"_utf16_fly_string;
        
    case Keyword::RunIn:
        return "run-in"_utf16_fly_string;
        
    case Keyword::Running:
        return "running"_utf16_fly_string;
        
    case Keyword::S:
        return "s"_utf16_fly_string;
        
    case Keyword::SResize:
        return "s-resize"_utf16_fly_string;
        
    case Keyword::Safe:
        return "safe"_utf16_fly_string;
        
    case Keyword::Saho:
        return "saho"_utf16_fly_string;
        
    case Keyword::SameOrigin:
        return "same-origin"_utf16_fly_string;
        
    case Keyword::SansSerif:
        return "sans-serif"_utf16_fly_string;
        
    case Keyword::Sanskrit:
        return "sanskrit"_utf16_fly_string;
        
    case Keyword::Santali:
        return "santali"_utf16_fly_string;
        
    case Keyword::Saturation:
        return "saturation"_utf16_fly_string;
        
    case Keyword::ScaleDown:
        return "scale-down"_utf16_fly_string;
        
    case Keyword::Scoop:
        return "scoop"_utf16_fly_string;
        
    case Keyword::Screen:
        return "screen"_utf16_fly_string;
        
    case Keyword::Scroll:
        return "scroll"_utf16_fly_string;
        
    case Keyword::ScrollPosition:
        return "scroll-position"_utf16_fly_string;
        
    case Keyword::ScrollState:
        return "scroll-state"_utf16_fly_string;
        
    case Keyword::Scrollbar:
        return "scrollbar"_utf16_fly_string;
        
    case Keyword::SeResize:
        return "se-resize"_utf16_fly_string;
        
    case Keyword::Searchfield:
        return "searchfield"_utf16_fly_string;
        
    case Keyword::Selecteditem:
        return "selecteditem"_utf16_fly_string;
        
    case Keyword::Selecteditemtext:
        return "selecteditemtext"_utf16_fly_string;
        
    case Keyword::Self:
        return "self"_utf16_fly_string;
        
    case Keyword::SelfBlock:
        return "self-block"_utf16_fly_string;
        
    case Keyword::SelfBlockEnd:
        return "self-block-end"_utf16_fly_string;
        
    case Keyword::SelfBlockStart:
        return "self-block-start"_utf16_fly_string;
        
    case Keyword::SelfEnd:
        return "self-end"_utf16_fly_string;
        
    case Keyword::SelfInline:
        return "self-inline"_utf16_fly_string;
        
    case Keyword::SelfInlineEnd:
        return "self-inline-end"_utf16_fly_string;
        
    case Keyword::SelfInlineStart:
        return "self-inline-start"_utf16_fly_string;
        
    case Keyword::SelfXEnd:
        return "self-x-end"_utf16_fly_string;
        
    case Keyword::SelfXStart:
        return "self-x-start"_utf16_fly_string;
        
    case Keyword::SelfYEnd:
        return "self-y-end"_utf16_fly_string;
        
    case Keyword::SelfYStart:
        return "self-y-start"_utf16_fly_string;
        
    case Keyword::SelfStart:
        return "self-start"_utf16_fly_string;
        
    case Keyword::SemiCondensed:
        return "semi-condensed"_utf16_fly_string;
        
    case Keyword::SemiExpanded:
        return "semi-expanded"_utf16_fly_string;
        
    case Keyword::Separate:
        return "separate"_utf16_fly_string;
        
    case Keyword::Serif:
        return "serif"_utf16_fly_string;
        
    case Keyword::Shan:
        return "shan"_utf16_fly_string;
        
    case Keyword::Shorter:
        return "shorter"_utf16_fly_string;
        
    case Keyword::Show:
        return "show"_utf16_fly_string;
        
    case Keyword::Sidama:
        return "sidama"_utf16_fly_string;
        
    case Keyword::SidewaysLr:
        return "sideways-lr"_utf16_fly_string;
        
    case Keyword::SidewaysRl:
        return "sideways-rl"_utf16_fly_string;
        
    case Keyword::Silti:
        return "silti"_utf16_fly_string;
        
    case Keyword::SimpChineseFormal:
        return "simp-chinese-formal"_utf16_fly_string;
        
    case Keyword::SimpChineseInformal:
        return "simp-chinese-informal"_utf16_fly_string;
        
    case Keyword::SimpleLowerRoman:
        return "simple-lower-roman"_utf16_fly_string;
        
    case Keyword::SimpleUpperRoman:
        return "simple-upper-roman"_utf16_fly_string;
        
    case Keyword::Simplified:
        return "simplified"_utf16_fly_string;
        
    case Keyword::Sindhi:
        return "sindhi"_utf16_fly_string;
        
    case Keyword::Size:
        return "size"_utf16_fly_string;
        
    case Keyword::SlashedZero:
        return "slashed-zero"_utf16_fly_string;
        
    case Keyword::SliderHorizontal:
        return "slider-horizontal"_utf16_fly_string;
        
    case Keyword::Slow:
        return "slow"_utf16_fly_string;
        
    case Keyword::Small:
        return "small"_utf16_fly_string;
        
    case Keyword::SmallCaps:
        return "small-caps"_utf16_fly_string;
        
    case Keyword::Smaller:
        return "smaller"_utf16_fly_string;
        
    case Keyword::Smooth:
        return "smooth"_utf16_fly_string;
        
    case Keyword::SoftLight:
        return "soft-light"_utf16_fly_string;
        
    case Keyword::Solid:
        return "solid"_utf16_fly_string;
        
    case Keyword::Space:
        return "space"_utf16_fly_string;
        
    case Keyword::SpaceAround:
        return "space-around"_utf16_fly_string;
        
    case Keyword::SpaceBetween:
        return "space-between"_utf16_fly_string;
        
    case Keyword::SpaceEvenly:
        return "space-evenly"_utf16_fly_string;
        
    case Keyword::SpanAll:
        return "span-all"_utf16_fly_string;
        
    case Keyword::SpanBlockEnd:
        return "span-block-end"_utf16_fly_string;
        
    case Keyword::SpanBlockStart:
        return "span-block-start"_utf16_fly_string;
        
    case Keyword::SpanBottom:
        return "span-bottom"_utf16_fly_string;
        
    case Keyword::SpanEnd:
        return "span-end"_utf16_fly_string;
        
    case Keyword::SpanInlineEnd:
        return "span-inline-end"_utf16_fly_string;
        
    case Keyword::SpanInlineStart:
        return "span-inline-start"_utf16_fly_string;
        
    case Keyword::SpanLeft:
        return "span-left"_utf16_fly_string;
        
    case Keyword::SpanRight:
        return "span-right"_utf16_fly_string;
        
    case Keyword::SpanSelfBlockEnd:
        return "span-self-block-end"_utf16_fly_string;
        
    case Keyword::SpanSelfBlockStart:
        return "span-self-block-start"_utf16_fly_string;
        
    case Keyword::SpanSelfEnd:
        return "span-self-end"_utf16_fly_string;
        
    case Keyword::SpanSelfInlineEnd:
        return "span-self-inline-end"_utf16_fly_string;
        
    case Keyword::SpanSelfInlineStart:
        return "span-self-inline-start"_utf16_fly_string;
        
    case Keyword::SpanSelfStart:
        return "span-self-start"_utf16_fly_string;
        
    case Keyword::SpanSelfXEnd:
        return "span-self-x-end"_utf16_fly_string;
        
    case Keyword::SpanSelfXStart:
        return "span-self-x-start"_utf16_fly_string;
        
    case Keyword::SpanSelfYEnd:
        return "span-self-y-end"_utf16_fly_string;
        
    case Keyword::SpanSelfYStart:
        return "span-self-y-start"_utf16_fly_string;
        
    case Keyword::SpanStart:
        return "span-start"_utf16_fly_string;
        
    case Keyword::SpanTop:
        return "span-top"_utf16_fly_string;
        
    case Keyword::SpanXEnd:
        return "span-x-end"_utf16_fly_string;
        
    case Keyword::SpanXStart:
        return "span-x-start"_utf16_fly_string;
        
    case Keyword::SpanYEnd:
        return "span-y-end"_utf16_fly_string;
        
    case Keyword::SpanYStart:
        return "span-y-start"_utf16_fly_string;
        
    case Keyword::SpellingError:
        return "spelling-error"_utf16_fly_string;
        
    case Keyword::SpellOut:
        return "spell-out"_utf16_fly_string;
        
    case Keyword::Square:
        return "square"_utf16_fly_string;
        
    case Keyword::SquareButton:
        return "square-button"_utf16_fly_string;
        
    case Keyword::Squircle:
        return "squircle"_utf16_fly_string;
        
    case Keyword::Srgb:
        return "srgb"_utf16_fly_string;
        
    case Keyword::SrgbLinear:
        return "srgb-linear"_utf16_fly_string;
        
    case Keyword::Stable:
        return "stable"_utf16_fly_string;
        
    case Keyword::StackedFractions:
        return "stacked-fractions"_utf16_fly_string;
        
    case Keyword::Standalone:
        return "standalone"_utf16_fly_string;
        
    case Keyword::Standard:
        return "standard"_utf16_fly_string;
        
    case Keyword::Start:
        return "start"_utf16_fly_string;
        
    case Keyword::Static:
        return "static"_utf16_fly_string;
        
    case Keyword::Sticky:
        return "sticky"_utf16_fly_string;
        
    case Keyword::Stretch:
        return "stretch"_utf16_fly_string;
        
    case Keyword::Strict:
        return "strict"_utf16_fly_string;
        
    case Keyword::StrictOrigin:
        return "strict-origin"_utf16_fly_string;
        
    case Keyword::StrictOriginWhenCrossOrigin:
        return "strict-origin-when-cross-origin"_utf16_fly_string;
        
    case Keyword::Stroke:
        return "stroke"_utf16_fly_string;
        
    case Keyword::StrokeBox:
        return "stroke-box"_utf16_fly_string;
        
    case Keyword::Style:
        return "style"_utf16_fly_string;
        
    case Keyword::Sub:
        return "sub"_utf16_fly_string;
        
    case Keyword::Subtract:
        return "subtract"_utf16_fly_string;
        
    case Keyword::Subtractive:
        return "subtractive"_utf16_fly_string;
        
    case Keyword::Sundanese:
        return "sundanese"_utf16_fly_string;
        
    case Keyword::SuperDecimal:
        return "super-decimal"_utf16_fly_string;
        
    case Keyword::Super:
        return "super"_utf16_fly_string;
        
    case Keyword::SwResize:
        return "sw-resize"_utf16_fly_string;
        
    case Keyword::Swap:
        return "swap"_utf16_fly_string;
        
    case Keyword::Symbolic:
        return "symbolic"_utf16_fly_string;
        
    case Keyword::SystemUi:
        return "system-ui"_utf16_fly_string;
        
    case Keyword::Table:
        return "table"_utf16_fly_string;
        
    case Keyword::TableCaption:
        return "table-caption"_utf16_fly_string;
        
    case Keyword::TableCell:
        return "table-cell"_utf16_fly_string;
        
    case Keyword::TableColumn:
        return "table-column"_utf16_fly_string;
        
    case Keyword::TableColumnGroup:
        return "table-column-group"_utf16_fly_string;
        
    case Keyword::TableFooterGroup:
        return "table-footer-group"_utf16_fly_string;
        
    case Keyword::TableHeaderGroup:
        return "table-header-group"_utf16_fly_string;
        
    case Keyword::TableRow:
        return "table-row"_utf16_fly_string;
        
    case Keyword::TableRowGroup:
        return "table-row-group"_utf16_fly_string;
        
    case Keyword::TabularNums:
        return "tabular-nums"_utf16_fly_string;
        
    case Keyword::TaiLue:
        return "tai-lue"_utf16_fly_string;
        
    case Keyword::TallyMark:
        return "tally-mark"_utf16_fly_string;
        
    case Keyword::Tamil:
        return "tamil"_utf16_fly_string;
        
    case Keyword::TeluguAlpha:
        return "telugu-alpha"_utf16_fly_string;
        
    case Keyword::Telugu:
        return "telugu"_utf16_fly_string;
        
    case Keyword::Text:
        return "text"_utf16_fly_string;
        
    case Keyword::TextBottom:
        return "text-bottom"_utf16_fly_string;
        
    case Keyword::TextTop:
        return "text-top"_utf16_fly_string;
        
    case Keyword::Textarea:
        return "textarea"_utf16_fly_string;
        
    case Keyword::Textfield:
        return "textfield"_utf16_fly_string;
        
    case Keyword::ThaiAlpha:
        return "thai-alpha"_utf16_fly_string;
        
    case Keyword::Thai:
        return "thai"_utf16_fly_string;
        
    case Keyword::Thick:
        return "thick"_utf16_fly_string;
        
    case Keyword::Thin:
        return "thin"_utf16_fly_string;
        
    case Keyword::Threeddarkshadow:
        return "threeddarkshadow"_utf16_fly_string;
        
    case Keyword::Threedface:
        return "threedface"_utf16_fly_string;
        
    case Keyword::Threedhighlight:
        return "threedhighlight"_utf16_fly_string;
        
    case Keyword::Threedlightshadow:
        return "threedlightshadow"_utf16_fly_string;
        
    case Keyword::Threedshadow:
        return "threedshadow"_utf16_fly_string;
        
    case Keyword::Tibetan:
        return "tibetan"_utf16_fly_string;
        
    case Keyword::Tigre:
        return "tigre"_utf16_fly_string;
        
    case Keyword::TitlingCaps:
        return "titling-caps"_utf16_fly_string;
        
    case Keyword::ToZero:
        return "to-zero"_utf16_fly_string;
        
    case Keyword::Top:
        return "top"_utf16_fly_string;
        
    case Keyword::TradChineseFormal:
        return "trad-chinese-formal"_utf16_fly_string;
        
    case Keyword::TradChineseInformal:
        return "trad-chinese-informal"_utf16_fly_string;
        
    case Keyword::Traditional:
        return "traditional"_utf16_fly_string;
        
    case Keyword::True:
        return "true"_utf16_fly_string;
        
    case Keyword::UiMonospace:
        return "ui-monospace"_utf16_fly_string;
        
    case Keyword::UiRounded:
        return "ui-rounded"_utf16_fly_string;
        
    case Keyword::UiSansSerif:
        return "ui-sans-serif"_utf16_fly_string;
        
    case Keyword::UiSerif:
        return "ui-serif"_utf16_fly_string;
        
    case Keyword::UltraCondensed:
        return "ultra-condensed"_utf16_fly_string;
        
    case Keyword::UltraExpanded:
        return "ultra-expanded"_utf16_fly_string;
        
    case Keyword::Under:
        return "under"_utf16_fly_string;
        
    case Keyword::Underline:
        return "underline"_utf16_fly_string;
        
    case Keyword::Unicase:
        return "unicase"_utf16_fly_string;
        
    case Keyword::Unicode:
        return "unicode"_utf16_fly_string;
        
    case Keyword::Unsafe:
        return "unsafe"_utf16_fly_string;
        
    case Keyword::UnsafeUrl:
        return "unsafe-url"_utf16_fly_string;
        
    case Keyword::Unset:
        return "unset"_utf16_fly_string;
        
    case Keyword::Up:
        return "up"_utf16_fly_string;
        
    case Keyword::UpperAlphaSymbolic:
        return "upper-alpha-symbolic"_utf16_fly_string;
        
    case Keyword::UpperAlpha:
        return "upper-alpha"_utf16_fly_string;
        
    case Keyword::UpperArmenian:
        return "upper-armenian"_utf16_fly_string;
        
    case Keyword::UpperBelorussian:
        return "upper-belorussian"_utf16_fly_string;
        
    case Keyword::UpperBulgarian:
        return "upper-bulgarian"_utf16_fly_string;
        
    case Keyword::UpperHexadecimal:
        return "upper-hexadecimal"_utf16_fly_string;
        
    case Keyword::UpperLatin:
        return "upper-latin"_utf16_fly_string;
        
    case Keyword::UpperMacedonian:
        return "upper-macedonian"_utf16_fly_string;
        
    case Keyword::UpperOromoQubee:
        return "upper-oromo-qubee"_utf16_fly_string;
        
    case Keyword::UpperRoman:
        return "upper-roman"_utf16_fly_string;
        
    case Keyword::UpperRussianFull:
        return "upper-russian-full"_utf16_fly_string;
        
    case Keyword::UpperRussian:
        return "upper-russian"_utf16_fly_string;
        
    case Keyword::UpperSerbian:
        return "upper-serbian"_utf16_fly_string;
        
    case Keyword::UpperUkrainianFull:
        return "upper-ukrainian-full"_utf16_fly_string;
        
    case Keyword::UpperUkrainian:
        return "upper-ukrainian"_utf16_fly_string;
        
    case Keyword::Uppercase:
        return "uppercase"_utf16_fly_string;
        
    case Keyword::Upright:
        return "upright"_utf16_fly_string;
        
    case Keyword::UrduAbjad:
        return "urdu-abjad"_utf16_fly_string;
        
    case Keyword::UrduAlphabetic:
        return "urdu-alphabetic"_utf16_fly_string;
        
    case Keyword::Urdu:
        return "urdu"_utf16_fly_string;
        
    case Keyword::UseCredentials:
        return "use-credentials"_utf16_fly_string;
        
    case Keyword::Variations:
        return "variations"_utf16_fly_string;
        
    case Keyword::Vertical:
        return "vertical"_utf16_fly_string;
        
    case Keyword::VerticalLr:
        return "vertical-lr"_utf16_fly_string;
        
    case Keyword::VerticalRl:
        return "vertical-rl"_utf16_fly_string;
        
    case Keyword::VerticalText:
        return "vertical-text"_utf16_fly_string;
        
    case Keyword::ViewBox:
        return "view-box"_utf16_fly_string;
        
    case Keyword::Visible:
        return "visible"_utf16_fly_string;
        
    case Keyword::Visitedtext:
        return "visitedtext"_utf16_fly_string;
        
    case Keyword::W:
        return "w"_utf16_fly_string;
        
    case Keyword::WResize:
        return "w-resize"_utf16_fly_string;
        
    case Keyword::Wait:
        return "wait"_utf16_fly_string;
        
    case Keyword::WarangCiti:
        return "warang-citi"_utf16_fly_string;
        
    case Keyword::Wavy:
        return "wavy"_utf16_fly_string;
        
    case Keyword::Width:
        return "width"_utf16_fly_string;
        
    case Keyword::Window:
        return "window"_utf16_fly_string;
        
    case Keyword::Windowframe:
        return "windowframe"_utf16_fly_string;
        
    case Keyword::Windowtext:
        return "windowtext"_utf16_fly_string;
        
    case Keyword::Wolaita:
        return "wolaita"_utf16_fly_string;
        
    case Keyword::Words:
        return "words"_utf16_fly_string;
        
    case Keyword::Wrap:
        return "wrap"_utf16_fly_string;
        
    case Keyword::WrapReverse:
        return "wrap-reverse"_utf16_fly_string;
        
    case Keyword::X:
        return "x"_utf16_fly_string;
        
    case Keyword::XEnd:
        return "x-end"_utf16_fly_string;
        
    case Keyword::XLarge:
        return "x-large"_utf16_fly_string;
        
    case Keyword::XStart:
        return "x-start"_utf16_fly_string;
        
    case Keyword::XSmall:
        return "x-small"_utf16_fly_string;
        
    case Keyword::XxLarge:
        return "xx-large"_utf16_fly_string;
        
    case Keyword::XxSmall:
        return "xx-small"_utf16_fly_string;
        
    case Keyword::XxxLarge:
        return "xxx-large"_utf16_fly_string;
        
    case Keyword::Xyz:
        return "xyz"_utf16_fly_string;
        
    case Keyword::XyzD50:
        return "xyz-d50"_utf16_fly_string;
        
    case Keyword::XyzD65:
        return "xyz-d65"_utf16_fly_string;
        
    case Keyword::Y:
        return "y"_utf16_fly_string;
        
    case Keyword::YEnd:
        return "y-end"_utf16_fly_string;
        
    case Keyword::YStart:
        return "y-start"_utf16_fly_string;
        
    case Keyword::Yemsa:
        return "yemsa"_utf16_fly_string;
        
    case Keyword::Z:
        return "z"_utf16_fly_string;
        
    case Keyword::Zhuyin:
        return "zhuyin"_utf16_fly_string;
        
    case Keyword::ZoomIn:
        return "zoom-in"_utf16_fly_string;
        
    case Keyword::ZoomOut:
        return "zoom-out"_utf16_fly_string;
        
    default:
        return "(invalid CSS::Keyword)"_utf16_fly_string;
    }
}

} // namespace Web::CSS
