Y_Less

y_x11parse.inc

Jun 8th, 2011
707
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 340.09 KB | None | 0 0
  1. /*----------------------------------------------------------------------------*\
  2.                     ==========================
  3.                      y_colours - X11 colours!
  4.                     ==========================
  5. Description:
  6.     This holds the colour information that used to be part of the text system
  7.     but which is far more useful than just for text.  This now supports the full
  8.     set of X11 colours, both by name and by definition.  You can also define
  9.     your own if you so choose (up to 32 - should be enough given that this
  10.     includes the X11 colours).
  11. Legal:
  12.     Version: MPL 1.1
  13.    
  14.     The contents of this file are subject to the Mozilla Public License Version
  15.     1.1 (the "License"); you may not use this file except in compliance with
  16.     the License. You may obtain a copy of the License at
  17.     http://www.mozilla.org/MPL/
  18.    
  19.     Software distributed under the License is distributed on an "AS IS" basis,
  20.     WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  21.     for the specific language governing rights and limitations under the
  22.     License.
  23.    
  24.     The Original Code is the YSI colours include.
  25.    
  26.     The Initial Developer of the Original Code is Alex "Y_Less" Cole.
  27.     Portions created by the Initial Developer are Copyright (C) 2011
  28.     the Initial Developer. All Rights Reserved.
  29.    
  30.     Contributors:
  31.         ZeeX, koolk, JoeBullet/Google63, g_aSlice/Slice
  32.    
  33.     Thanks:
  34.         JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
  35.         ZeeX - Very productive conversations.
  36.         koolk - IsPlayerinAreaEx code.
  37.         TheAlpha - Danish translation.
  38.         breadfish - German translation.
  39.         Fireburn - Dutch translation.
  40.         yom - French translation.
  41.         50p - Polish translation.
  42.         Zamaroht - Spanish translation.
  43.         Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes
  44.             for me to strive to better.
  45.         Pixels^ - Running XScripters where the idea was born.
  46.         Matite - Pestering me to release it and using it.
  47.    
  48.     Very special thanks to:
  49.         Thiadmer - PAWN, whose limits continue to amaze me!
  50.         Kye/Kalcor - SA:MP.
  51.         SA:MP Team past, present and future - SA:MP.
  52.    
  53. Version:
  54.     1.0
  55. Changelog:
  56.     29/11/10:
  57.         Added the ability to use "X11" prefixes in strings.
  58.         Added colourspace resolution for converting {FF0000} to ~r~.
  59.     25/11/10:
  60.         First version.
  61. \*----------------------------------------------------------------------------*/
  62.  
  63.     switch (str[0] | 0x20)
  64.     {
  65.         case 'a':
  66.         {
  67.             switch (str[1] | 0x20)
  68.             {
  69.                 case 'l':
  70.                 {
  71.                     if (!str[2] || strcmp(str[2], !"ICE", true, 3))
  72.                     {
  73.                         return -1;
  74.                     }
  75.                     switch (str[5] | 0x20)
  76.                     {
  77.                         case ' ' | 0x20: // ' '
  78.                         {
  79.                             if (str[5])
  80.                             {
  81.                                 if (str[6] && !strcmp(str[6], !"BLUE", true, 4))
  82.                                 {
  83.                                     idx += 10;
  84.                                     return X11_ALICE_BLUE;
  85.                                 }
  86.                             }
  87.                         }
  88.                         case '_' | 0x20:
  89.                         {
  90.                             if (str[6] && !strcmp(str[6], !"BLUE", true, 4))
  91.                             {
  92.                                 idx += 10;
  93.                                 return X11_ALICE_BLUE;
  94.                             }
  95.                         }
  96.                         case 'b':
  97.                         {
  98.                             if (str[6] && !strcmp(str[6], !"LUE", true, 3))
  99.                             {
  100.                                 idx += 9;
  101.                                 return X11_ALICEBLUE;
  102.                             }
  103.                         }
  104.                     }
  105.                 }
  106.                 case 'n':
  107.                 {
  108.                     if (!str[2] || strcmp(str[2], !"TIQUE", true, 5))
  109.                     {
  110.                         return -1;
  111.                     }
  112.                     switch (str[7] | 0x20)
  113.                     {
  114.                         case ' ' | 0x20: // ' '
  115.                         {
  116.                             if (str[7])
  117.                             {
  118.                                 if (!str[8] || strcmp(str[8], !"WHITE", true, 5))
  119.                                 {
  120.                                     return -1;
  121.                                 }
  122.                                 switch (str[13] | 0x20)
  123.                                 {
  124.                                     case ' ' | 0x20: // ' '
  125.                                     {
  126.                                         if (str[13])
  127.                                         {
  128.                                             switch (str[14] | 0x20)
  129.                                             {
  130.                                                 case '1':
  131.                                                 {
  132.                                                     idx += 15;
  133.                                                     return X11_ANTIQUE_WHITE_1;
  134.                                                 }
  135.                                                 case '2':
  136.                                                 {
  137.                                                     idx += 15;
  138.                                                     return X11_ANTIQUE_WHITE_2;
  139.                                                 }
  140.                                                 case '3':
  141.                                                 {
  142.                                                     idx += 15;
  143.                                                     return X11_ANTIQUE_WHITE_3;
  144.                                                 }
  145.                                                 case '4':
  146.                                                 {
  147.                                                     idx += 15;
  148.                                                     return X11_ANTIQUE_WHITE_4;
  149.                                                 }
  150.                                             }
  151.                                         }
  152.                                     }
  153.                                     case '_' | 0x20:
  154.                                     {
  155.                                         switch (str[14] | 0x20)
  156.                                         {
  157.                                             case '1':
  158.                                             {
  159.                                                 idx += 15;
  160.                                                 return X11_ANTIQUE_WHITE_1;
  161.                                             }
  162.                                             case '2':
  163.                                             {
  164.                                                 idx += 15;
  165.                                                 return X11_ANTIQUE_WHITE_2;
  166.                                             }
  167.                                             case '3':
  168.                                             {
  169.                                                 idx += 15;
  170.                                                 return X11_ANTIQUE_WHITE_3;
  171.                                             }
  172.                                             case '4':
  173.                                             {
  174.                                                 idx += 15;
  175.                                                 return X11_ANTIQUE_WHITE_4;
  176.                                             }
  177.                                         }
  178.                                     }
  179.                                 }
  180.                                 idx += 13;
  181.                                 return X11_ANTIQUE_WHITE;
  182.                             }
  183.                         }
  184.                         case '_' | 0x20:
  185.                         {
  186.                             if (!str[8] || strcmp(str[8], !"WHITE", true, 5))
  187.                             {
  188.                                 return -1;
  189.                             }
  190.                             switch (str[13] | 0x20)
  191.                             {
  192.                                 case ' ' | 0x20: // ' '
  193.                                 {
  194.                                     if (str[13])
  195.                                     {
  196.                                         switch (str[14] | 0x20)
  197.                                         {
  198.                                             case '1':
  199.                                             {
  200.                                                 idx += 15;
  201.                                                 return X11_ANTIQUE_WHITE_1;
  202.                                             }
  203.                                             case '2':
  204.                                             {
  205.                                                 idx += 15;
  206.                                                 return X11_ANTIQUE_WHITE_2;
  207.                                             }
  208.                                             case '3':
  209.                                             {
  210.                                                 idx += 15;
  211.                                                 return X11_ANTIQUE_WHITE_3;
  212.                                             }
  213.                                             case '4':
  214.                                             {
  215.                                                 idx += 15;
  216.                                                 return X11_ANTIQUE_WHITE_4;
  217.                                             }
  218.                                         }
  219.                                     }
  220.                                 }
  221.                                 case '_' | 0x20:
  222.                                 {
  223.                                     switch (str[14] | 0x20)
  224.                                     {
  225.                                         case '1':
  226.                                         {
  227.                                             idx += 15;
  228.                                             return X11_ANTIQUE_WHITE_1;
  229.                                         }
  230.                                         case '2':
  231.                                         {
  232.                                             idx += 15;
  233.                                             return X11_ANTIQUE_WHITE_2;
  234.                                         }
  235.                                         case '3':
  236.                                         {
  237.                                             idx += 15;
  238.                                             return X11_ANTIQUE_WHITE_3;
  239.                                         }
  240.                                         case '4':
  241.                                         {
  242.                                             idx += 15;
  243.                                             return X11_ANTIQUE_WHITE_4;
  244.                                         }
  245.                                     }
  246.                                 }
  247.                             }
  248.                             idx += 13;
  249.                             return X11_ANTIQUE_WHITE;
  250.                         }
  251.                         case 'w':
  252.                         {
  253.                             if (!str[8] || strcmp(str[8], !"HITE", true, 4))
  254.                             {
  255.                                 return -1;
  256.                             }
  257.                             switch (str[12] | 0x20)
  258.                             {
  259.                                 case '1':
  260.                                 {
  261.                                     idx += 13;
  262.                                     return X11_ANTIQUEWHITE1;
  263.                                 }
  264.                                 case '2':
  265.                                 {
  266.                                     idx += 13;
  267.                                     return X11_ANTIQUEWHITE2;
  268.                                 }
  269.                                 case '3':
  270.                                 {
  271.                                     idx += 13;
  272.                                     return X11_ANTIQUEWHITE3;
  273.                                 }
  274.                                 case '4':
  275.                                 {
  276.                                     idx += 13;
  277.                                     return X11_ANTIQUEWHITE4;
  278.                                 }
  279.                             }
  280.                             idx += 12;
  281.                             return X11_ANTIQUEWHITE;
  282.                         }
  283.                     }
  284.                 }
  285.                 case 'q':
  286.                 {
  287.                     if (!str[2] || strcmp(str[2], !"UAMARINE", true, 8))
  288.                     {
  289.                         return -1;
  290.                     }
  291.                     switch (str[10] | 0x20)
  292.                     {
  293.                         case ' ' | 0x20: // ' '
  294.                         {
  295.                             if (str[10])
  296.                             {
  297.                                 switch (str[11] | 0x20)
  298.                                 {
  299.                                     case '1':
  300.                                     {
  301.                                         idx += 12;
  302.                                         return X11_AQUAMARINE_1;
  303.                                     }
  304.                                     case '2':
  305.                                     {
  306.                                         idx += 12;
  307.                                         return X11_AQUAMARINE_2;
  308.                                     }
  309.                                     case '3':
  310.                                     {
  311.                                         idx += 12;
  312.                                         return X11_AQUAMARINE_3;
  313.                                     }
  314.                                     case '4':
  315.                                     {
  316.                                         idx += 12;
  317.                                         return X11_AQUAMARINE_4;
  318.                                     }
  319.                                 }
  320.                             }
  321.                         }
  322.                         case '_' | 0x20:
  323.                         {
  324.                             switch (str[11] | 0x20)
  325.                             {
  326.                                 case '1':
  327.                                 {
  328.                                     idx += 12;
  329.                                     return X11_AQUAMARINE_1;
  330.                                 }
  331.                                 case '2':
  332.                                 {
  333.                                     idx += 12;
  334.                                     return X11_AQUAMARINE_2;
  335.                                 }
  336.                                 case '3':
  337.                                 {
  338.                                     idx += 12;
  339.                                     return X11_AQUAMARINE_3;
  340.                                 }
  341.                                 case '4':
  342.                                 {
  343.                                     idx += 12;
  344.                                     return X11_AQUAMARINE_4;
  345.                                 }
  346.                             }
  347.                         }
  348.                         case '1':
  349.                         {
  350.                             idx += 11;
  351.                             return X11_AQUAMARINE1;
  352.                         }
  353.                         case '2':
  354.                         {
  355.                             idx += 11;
  356.                             return X11_AQUAMARINE2;
  357.                         }
  358.                         case '3':
  359.                         {
  360.                             idx += 11;
  361.                             return X11_AQUAMARINE3;
  362.                         }
  363.                         case '4':
  364.                         {
  365.                             idx += 11;
  366.                             return X11_AQUAMARINE4;
  367.                         }
  368.                     }
  369.                     idx += 10;
  370.                     return X11_AQUAMARINE;
  371.                 }
  372.                 case 'z':
  373.                 {
  374.                     if (!str[2] || strcmp(str[2], !"URE", true, 3))
  375.                     {
  376.                         return -1;
  377.                     }
  378.                     switch (str[5] | 0x20)
  379.                     {
  380.                         case ' ' | 0x20: // ' '
  381.                         {
  382.                             if (str[5])
  383.                             {
  384.                                 switch (str[6] | 0x20)
  385.                                 {
  386.                                     case '1':
  387.                                     {
  388.                                         idx += 7;
  389.                                         return X11_AZURE_1;
  390.                                     }
  391.                                     case '2':
  392.                                     {
  393.                                         idx += 7;
  394.                                         return X11_AZURE_2;
  395.                                     }
  396.                                     case '3':
  397.                                     {
  398.                                         idx += 7;
  399.                                         return X11_AZURE_3;
  400.                                     }
  401.                                     case '4':
  402.                                     {
  403.                                         idx += 7;
  404.                                         return X11_AZURE_4;
  405.                                     }
  406.                                 }
  407.                             }
  408.                         }
  409.                         case '_' | 0x20:
  410.                         {
  411.                             switch (str[6] | 0x20)
  412.                             {
  413.                                 case '1':
  414.                                 {
  415.                                     idx += 7;
  416.                                     return X11_AZURE_1;
  417.                                 }
  418.                                 case '2':
  419.                                 {
  420.                                     idx += 7;
  421.                                     return X11_AZURE_2;
  422.                                 }
  423.                                 case '3':
  424.                                 {
  425.                                     idx += 7;
  426.                                     return X11_AZURE_3;
  427.                                 }
  428.                                 case '4':
  429.                                 {
  430.                                     idx += 7;
  431.                                     return X11_AZURE_4;
  432.                                 }
  433.                             }
  434.                         }
  435.                         case '1':
  436.                         {
  437.                             idx += 6;
  438.                             return X11_AZURE1;
  439.                         }
  440.                         case '2':
  441.                         {
  442.                             idx += 6;
  443.                             return X11_AZURE2;
  444.                         }
  445.                         case '3':
  446.                         {
  447.                             idx += 6;
  448.                             return X11_AZURE3;
  449.                         }
  450.                         case '4':
  451.                         {
  452.                             idx += 6;
  453.                             return X11_AZURE4;
  454.                         }
  455.                     }
  456.                     idx += 5;
  457.                     return X11_AZURE;
  458.                 }
  459.             }
  460.         }
  461.         case 'b':
  462.         {
  463.             switch (str[1] | 0x20)
  464.             {
  465.                 case 'e':
  466.                 {
  467.                     if (str[2] && !strcmp(str[2], !"IGE", true, 3))
  468.                     {
  469.                         idx += 5;
  470.                         return X11_BEIGE;
  471.                     }
  472.                 }
  473.                 case 'i':
  474.                 {
  475.                     if (!str[2] || strcmp(str[2], !"SQUE", true, 4))
  476.                     {
  477.                         return -1;
  478.                     }
  479.                     switch (str[6] | 0x20)
  480.                     {
  481.                         case ' ' | 0x20: // ' '
  482.                         {
  483.                             if (str[6])
  484.                             {
  485.                                 switch (str[7] | 0x20)
  486.                                 {
  487.                                     case '1':
  488.                                     {
  489.                                         idx += 8;
  490.                                         return X11_BISQUE_1;
  491.                                     }
  492.                                     case '2':
  493.                                     {
  494.                                         idx += 8;
  495.                                         return X11_BISQUE_2;
  496.                                     }
  497.                                     case '3':
  498.                                     {
  499.                                         idx += 8;
  500.                                         return X11_BISQUE_3;
  501.                                     }
  502.                                     case '4':
  503.                                     {
  504.                                         idx += 8;
  505.                                         return X11_BISQUE_4;
  506.                                     }
  507.                                 }
  508.                             }
  509.                         }
  510.                         case '_' | 0x20:
  511.                         {
  512.                             switch (str[7] | 0x20)
  513.                             {
  514.                                 case '1':
  515.                                 {
  516.                                     idx += 8;
  517.                                     return X11_BISQUE_1;
  518.                                 }
  519.                                 case '2':
  520.                                 {
  521.                                     idx += 8;
  522.                                     return X11_BISQUE_2;
  523.                                 }
  524.                                 case '3':
  525.                                 {
  526.                                     idx += 8;
  527.                                     return X11_BISQUE_3;
  528.                                 }
  529.                                 case '4':
  530.                                 {
  531.                                     idx += 8;
  532.                                     return X11_BISQUE_4;
  533.                                 }
  534.                             }
  535.                         }
  536.                         case '1':
  537.                         {
  538.                             idx += 7;
  539.                             return X11_BISQUE1;
  540.                         }
  541.                         case '2':
  542.                         {
  543.                             idx += 7;
  544.                             return X11_BISQUE2;
  545.                         }
  546.                         case '3':
  547.                         {
  548.                             idx += 7;
  549.                             return X11_BISQUE3;
  550.                         }
  551.                         case '4':
  552.                         {
  553.                             idx += 7;
  554.                             return X11_BISQUE4;
  555.                         }
  556.                     }
  557.                     idx += 6;
  558.                     return X11_BISQUE;
  559.                 }
  560.                 case 'l':
  561.                 {
  562.                     switch (str[2] | 0x20)
  563.                     {
  564.                         case 'a':
  565.                         {
  566.                             switch (str[3] | 0x20)
  567.                             {
  568.                                 case 'c':
  569.                                 {
  570.                                     if (str[4] == 'K')
  571.                                     {
  572.                                         idx += 5;
  573.                                         return X11_BLACK;
  574.                                     }
  575.                                 }
  576.                                 case 'n':
  577.                                 {
  578.                                     if (!str[4] || strcmp(str[4], !"CHED", true, 4))
  579.                                     {
  580.                                         return -1;
  581.                                     }
  582.                                     switch (str[8] | 0x20)
  583.                                     {
  584.                                         case ' ' | 0x20: // ' '
  585.                                         {
  586.                                             if (str[8])
  587.                                             {
  588.                                                 if (str[9] && !strcmp(str[9], !"ALMOND", true, 6))
  589.                                                 {
  590.                                                     idx += 15;
  591.                                                     return X11_BLANCHED_ALMOND;
  592.                                                 }
  593.                                             }
  594.                                         }
  595.                                         case '_' | 0x20:
  596.                                         {
  597.                                             if (str[9] && !strcmp(str[9], !"ALMOND", true, 6))
  598.                                             {
  599.                                                 idx += 15;
  600.                                                 return X11_BLANCHED_ALMOND;
  601.                                             }
  602.                                         }
  603.                                         case 'a':
  604.                                         {
  605.                                             if (str[9] && !strcmp(str[9], !"LMOND", true, 5))
  606.                                             {
  607.                                                 idx += 14;
  608.                                                 return X11_BLANCHEDALMOND;
  609.                                             }
  610.                                         }
  611.                                     }
  612.                                 }
  613.                             }
  614.                         }
  615.                         case 'u':
  616.                         {
  617.                             if (str[3] != 'E')
  618.                             {
  619.                                 return -1;
  620.                             }
  621.                             switch (str[4] | 0x20)
  622.                             {
  623.                                 case ' ' | 0x20: // ' '
  624.                                 {
  625.                                     if (str[4])
  626.                                     {
  627.                                         switch (str[5] | 0x20)
  628.                                         {
  629.                                             case '1':
  630.                                             {
  631.                                                 idx += 6;
  632.                                                 return X11_BLUE_1;
  633.                                             }
  634.                                             case '2':
  635.                                             {
  636.                                                 idx += 6;
  637.                                                 return X11_BLUE_2;
  638.                                             }
  639.                                             case '3':
  640.                                             {
  641.                                                 idx += 6;
  642.                                                 return X11_BLUE_3;
  643.                                             }
  644.                                             case '4':
  645.                                             {
  646.                                                 idx += 6;
  647.                                                 return X11_BLUE_4;
  648.                                             }
  649.                                             case 'v':
  650.                                             {
  651.                                                 if (str[6] && !strcmp(str[6], !"IOLET", true, 5))
  652.                                                 {
  653.                                                     idx += 11;
  654.                                                     return X11_BLUE_VIOLET;
  655.                                                 }
  656.                                             }
  657.                                         }
  658.                                     }
  659.                                 }
  660.                                 case '_' | 0x20:
  661.                                 {
  662.                                     switch (str[5] | 0x20)
  663.                                     {
  664.                                         case '1':
  665.                                         {
  666.                                             idx += 6;
  667.                                             return X11_BLUE_1;
  668.                                         }
  669.                                         case '2':
  670.                                         {
  671.                                             idx += 6;
  672.                                             return X11_BLUE_2;
  673.                                         }
  674.                                         case '3':
  675.                                         {
  676.                                             idx += 6;
  677.                                             return X11_BLUE_3;
  678.                                         }
  679.                                         case '4':
  680.                                         {
  681.                                             idx += 6;
  682.                                             return X11_BLUE_4;
  683.                                         }
  684.                                         case 'v':
  685.                                         {
  686.                                             if (str[6] && !strcmp(str[6], !"IOLET", true, 5))
  687.                                             {
  688.                                                 idx += 11;
  689.                                                 return X11_BLUE_VIOLET;
  690.                                             }
  691.                                         }
  692.                                     }
  693.                                 }
  694.                                 case '1':
  695.                                 {
  696.                                     idx += 5;
  697.                                     return X11_BLUE1;
  698.                                 }
  699.                                 case '2':
  700.                                 {
  701.                                     idx += 5;
  702.                                     return X11_BLUE2;
  703.                                 }
  704.                                 case '3':
  705.                                 {
  706.                                     idx += 5;
  707.                                     return X11_BLUE3;
  708.                                 }
  709.                                 case '4':
  710.                                 {
  711.                                     idx += 5;
  712.                                     return X11_BLUE4;
  713.                                 }
  714.                                 case 'v':
  715.                                 {
  716.                                     if (str[5] && !strcmp(str[5], !"IOLET", true, 5))
  717.                                     {
  718.                                         idx += 10;
  719.                                         return X11_BLUEVIOLET;
  720.                                     }
  721.                                 }
  722.                             }
  723.                             idx += 4;
  724.                             return X11_BLUE;
  725.                         }
  726.                     }
  727.                 }
  728.                 case 'r':
  729.                 {
  730.                     if (!str[2] || strcmp(str[2], !"OWN", true, 3))
  731.                     {
  732.                         return -1;
  733.                     }
  734.                     switch (str[5] | 0x20)
  735.                     {
  736.                         case ' ' | 0x20: // ' '
  737.                         {
  738.                             if (str[5])
  739.                             {
  740.                                 switch (str[6] | 0x20)
  741.                                 {
  742.                                     case '1':
  743.                                     {
  744.                                         idx += 7;
  745.                                         return X11_BROWN_1;
  746.                                     }
  747.                                     case '2':
  748.                                     {
  749.                                         idx += 7;
  750.                                         return X11_BROWN_2;
  751.                                     }
  752.                                     case '3':
  753.                                     {
  754.                                         idx += 7;
  755.                                         return X11_BROWN_3;
  756.                                     }
  757.                                     case '4':
  758.                                     {
  759.                                         idx += 7;
  760.                                         return X11_BROWN_4;
  761.                                     }
  762.                                 }
  763.                             }
  764.                         }
  765.                         case '_' | 0x20:
  766.                         {
  767.                             switch (str[6] | 0x20)
  768.                             {
  769.                                 case '1':
  770.                                 {
  771.                                     idx += 7;
  772.                                     return X11_BROWN_1;
  773.                                 }
  774.                                 case '2':
  775.                                 {
  776.                                     idx += 7;
  777.                                     return X11_BROWN_2;
  778.                                 }
  779.                                 case '3':
  780.                                 {
  781.                                     idx += 7;
  782.                                     return X11_BROWN_3;
  783.                                 }
  784.                                 case '4':
  785.                                 {
  786.                                     idx += 7;
  787.                                     return X11_BROWN_4;
  788.                                 }
  789.                             }
  790.                         }
  791.                         case '1':
  792.                         {
  793.                             idx += 6;
  794.                             return X11_BROWN1;
  795.                         }
  796.                         case '2':
  797.                         {
  798.                             idx += 6;
  799.                             return X11_BROWN2;
  800.                         }
  801.                         case '3':
  802.                         {
  803.                             idx += 6;
  804.                             return X11_BROWN3;
  805.                         }
  806.                         case '4':
  807.                         {
  808.                             idx += 6;
  809.                             return X11_BROWN4;
  810.                         }
  811.                     }
  812.                     idx += 5;
  813.                     return X11_BROWN;
  814.                 }
  815.                 case 'u':
  816.                 {
  817.                     if (!str[2] || strcmp(str[2], !"RLYWOOD", true, 7))
  818.                     {
  819.                         return -1;
  820.                     }
  821.                     switch (str[9] | 0x20)
  822.                     {
  823.                         case ' ' | 0x20: // ' '
  824.                         {
  825.                             if (str[9])
  826.                             {
  827.                                 switch (str[10] | 0x20)
  828.                                 {
  829.                                     case '1':
  830.                                     {
  831.                                         idx += 11;
  832.                                         return X11_BURLYWOOD_1;
  833.                                     }
  834.                                     case '2':
  835.                                     {
  836.                                         idx += 11;
  837.                                         return X11_BURLYWOOD_2;
  838.                                     }
  839.                                     case '3':
  840.                                     {
  841.                                         idx += 11;
  842.                                         return X11_BURLYWOOD_3;
  843.                                     }
  844.                                     case '4':
  845.                                     {
  846.                                         idx += 11;
  847.                                         return X11_BURLYWOOD_4;
  848.                                     }
  849.                                 }
  850.                             }
  851.                         }
  852.                         case '_' | 0x20:
  853.                         {
  854.                             switch (str[10] | 0x20)
  855.                             {
  856.                                 case '1':
  857.                                 {
  858.                                     idx += 11;
  859.                                     return X11_BURLYWOOD_1;
  860.                                 }
  861.                                 case '2':
  862.                                 {
  863.                                     idx += 11;
  864.                                     return X11_BURLYWOOD_2;
  865.                                 }
  866.                                 case '3':
  867.                                 {
  868.                                     idx += 11;
  869.                                     return X11_BURLYWOOD_3;
  870.                                 }
  871.                                 case '4':
  872.                                 {
  873.                                     idx += 11;
  874.                                     return X11_BURLYWOOD_4;
  875.                                 }
  876.                             }
  877.                         }
  878.                         case '1':
  879.                         {
  880.                             idx += 10;
  881.                             return X11_BURLYWOOD1;
  882.                         }
  883.                         case '2':
  884.                         {
  885.                             idx += 10;
  886.                             return X11_BURLYWOOD2;
  887.                         }
  888.                         case '3':
  889.                         {
  890.                             idx += 10;
  891.                             return X11_BURLYWOOD3;
  892.                         }
  893.                         case '4':
  894.                         {
  895.                             idx += 10;
  896.                             return X11_BURLYWOOD4;
  897.                         }
  898.                     }
  899.                     idx += 9;
  900.                     return X11_BURLYWOOD;
  901.                 }
  902.             }
  903.         }
  904.         case 'c':
  905.         {
  906.             switch (str[1] | 0x20)
  907.             {
  908.                 case 'a':
  909.                 {
  910.                     if (!str[2] || strcmp(str[2], !"DET", true, 3))
  911.                     {
  912.                         return -1;
  913.                     }
  914.                     switch (str[5] | 0x20)
  915.                     {
  916.                         case ' ' | 0x20: // ' '
  917.                         {
  918.                             if (str[5])
  919.                             {
  920.                                 if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  921.                                 {
  922.                                     return -1;
  923.                                 }
  924.                                 switch (str[10] | 0x20)
  925.                                 {
  926.                                     case ' ' | 0x20: // ' '
  927.                                     {
  928.                                         if (str[10])
  929.                                         {
  930.                                             switch (str[11] | 0x20)
  931.                                             {
  932.                                                 case '1':
  933.                                                 {
  934.                                                     idx += 12;
  935.                                                     return X11_CADET_BLUE_1;
  936.                                                 }
  937.                                                 case '2':
  938.                                                 {
  939.                                                     idx += 12;
  940.                                                     return X11_CADET_BLUE_2;
  941.                                                 }
  942.                                                 case '3':
  943.                                                 {
  944.                                                     idx += 12;
  945.                                                     return X11_CADET_BLUE_3;
  946.                                                 }
  947.                                                 case '4':
  948.                                                 {
  949.                                                     idx += 12;
  950.                                                     return X11_CADET_BLUE_4;
  951.                                                 }
  952.                                             }
  953.                                         }
  954.                                     }
  955.                                     case '_' | 0x20:
  956.                                     {
  957.                                         switch (str[11] | 0x20)
  958.                                         {
  959.                                             case '1':
  960.                                             {
  961.                                                 idx += 12;
  962.                                                 return X11_CADET_BLUE_1;
  963.                                             }
  964.                                             case '2':
  965.                                             {
  966.                                                 idx += 12;
  967.                                                 return X11_CADET_BLUE_2;
  968.                                             }
  969.                                             case '3':
  970.                                             {
  971.                                                 idx += 12;
  972.                                                 return X11_CADET_BLUE_3;
  973.                                             }
  974.                                             case '4':
  975.                                             {
  976.                                                 idx += 12;
  977.                                                 return X11_CADET_BLUE_4;
  978.                                             }
  979.                                         }
  980.                                     }
  981.                                 }
  982.                                 idx += 10;
  983.                                 return X11_CADET_BLUE;
  984.                             }
  985.                         }
  986.                         case '_' | 0x20:
  987.                         {
  988.                             if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  989.                             {
  990.                                 return -1;
  991.                             }
  992.                             switch (str[10] | 0x20)
  993.                             {
  994.                                 case ' ' | 0x20: // ' '
  995.                                 {
  996.                                     if (str[10])
  997.                                     {
  998.                                         switch (str[11] | 0x20)
  999.                                         {
  1000.                                             case '1':
  1001.                                             {
  1002.                                                 idx += 12;
  1003.                                                 return X11_CADET_BLUE_1;
  1004.                                             }
  1005.                                             case '2':
  1006.                                             {
  1007.                                                 idx += 12;
  1008.                                                 return X11_CADET_BLUE_2;
  1009.                                             }
  1010.                                             case '3':
  1011.                                             {
  1012.                                                 idx += 12;
  1013.                                                 return X11_CADET_BLUE_3;
  1014.                                             }
  1015.                                             case '4':
  1016.                                             {
  1017.                                                 idx += 12;
  1018.                                                 return X11_CADET_BLUE_4;
  1019.                                             }
  1020.                                         }
  1021.                                     }
  1022.                                 }
  1023.                                 case '_' | 0x20:
  1024.                                 {
  1025.                                     switch (str[11] | 0x20)
  1026.                                     {
  1027.                                         case '1':
  1028.                                         {
  1029.                                             idx += 12;
  1030.                                             return X11_CADET_BLUE_1;
  1031.                                         }
  1032.                                         case '2':
  1033.                                         {
  1034.                                             idx += 12;
  1035.                                             return X11_CADET_BLUE_2;
  1036.                                         }
  1037.                                         case '3':
  1038.                                         {
  1039.                                             idx += 12;
  1040.                                             return X11_CADET_BLUE_3;
  1041.                                         }
  1042.                                         case '4':
  1043.                                         {
  1044.                                             idx += 12;
  1045.                                             return X11_CADET_BLUE_4;
  1046.                                         }
  1047.                                     }
  1048.                                 }
  1049.                             }
  1050.                             idx += 10;
  1051.                             return X11_CADET_BLUE;
  1052.                         }
  1053.                         case 'b':
  1054.                         {
  1055.                             if (!str[6] || strcmp(str[6], !"LUE", true, 3))
  1056.                             {
  1057.                                 return -1;
  1058.                             }
  1059.                             switch (str[9] | 0x20)
  1060.                             {
  1061.                                 case '1':
  1062.                                 {
  1063.                                     idx += 10;
  1064.                                     return X11_CADETBLUE1;
  1065.                                 }
  1066.                                 case '2':
  1067.                                 {
  1068.                                     idx += 10;
  1069.                                     return X11_CADETBLUE2;
  1070.                                 }
  1071.                                 case '3':
  1072.                                 {
  1073.                                     idx += 10;
  1074.                                     return X11_CADETBLUE3;
  1075.                                 }
  1076.                                 case '4':
  1077.                                 {
  1078.                                     idx += 10;
  1079.                                     return X11_CADETBLUE4;
  1080.                                 }
  1081.                             }
  1082.                             idx += 9;
  1083.                             return X11_CADETBLUE;
  1084.                         }
  1085.                     }
  1086.                 }
  1087.                 case 'h':
  1088.                 {
  1089.                     switch (str[2] | 0x20)
  1090.                     {
  1091.                         case 'a':
  1092.                         {
  1093.                             if (!str[3] || strcmp(str[3], !"RTREUSE", true, 7))
  1094.                             {
  1095.                                 return -1;
  1096.                             }
  1097.                             switch (str[10] | 0x20)
  1098.                             {
  1099.                                 case ' ' | 0x20: // ' '
  1100.                                 {
  1101.                                     if (str[10])
  1102.                                     {
  1103.                                         switch (str[11] | 0x20)
  1104.                                         {
  1105.                                             case '1':
  1106.                                             {
  1107.                                                 idx += 12;
  1108.                                                 return X11_CHARTREUSE_1;
  1109.                                             }
  1110.                                             case '2':
  1111.                                             {
  1112.                                                 idx += 12;
  1113.                                                 return X11_CHARTREUSE_2;
  1114.                                             }
  1115.                                             case '3':
  1116.                                             {
  1117.                                                 idx += 12;
  1118.                                                 return X11_CHARTREUSE_3;
  1119.                                             }
  1120.                                             case '4':
  1121.                                             {
  1122.                                                 idx += 12;
  1123.                                                 return X11_CHARTREUSE_4;
  1124.                                             }
  1125.                                         }
  1126.                                     }
  1127.                                 }
  1128.                                 case '_' | 0x20:
  1129.                                 {
  1130.                                     switch (str[11] | 0x20)
  1131.                                     {
  1132.                                         case '1':
  1133.                                         {
  1134.                                             idx += 12;
  1135.                                             return X11_CHARTREUSE_1;
  1136.                                         }
  1137.                                         case '2':
  1138.                                         {
  1139.                                             idx += 12;
  1140.                                             return X11_CHARTREUSE_2;
  1141.                                         }
  1142.                                         case '3':
  1143.                                         {
  1144.                                             idx += 12;
  1145.                                             return X11_CHARTREUSE_3;
  1146.                                         }
  1147.                                         case '4':
  1148.                                         {
  1149.                                             idx += 12;
  1150.                                             return X11_CHARTREUSE_4;
  1151.                                         }
  1152.                                     }
  1153.                                 }
  1154.                                 case '1':
  1155.                                 {
  1156.                                     idx += 11;
  1157.                                     return X11_CHARTREUSE1;
  1158.                                 }
  1159.                                 case '2':
  1160.                                 {
  1161.                                     idx += 11;
  1162.                                     return X11_CHARTREUSE2;
  1163.                                 }
  1164.                                 case '3':
  1165.                                 {
  1166.                                     idx += 11;
  1167.                                     return X11_CHARTREUSE3;
  1168.                                 }
  1169.                                 case '4':
  1170.                                 {
  1171.                                     idx += 11;
  1172.                                     return X11_CHARTREUSE4;
  1173.                                 }
  1174.                             }
  1175.                             idx += 10;
  1176.                             return X11_CHARTREUSE;
  1177.                         }
  1178.                         case 'o':
  1179.                         {
  1180.                             if (!str[3] || strcmp(str[3], !"COLATE", true, 6))
  1181.                             {
  1182.                                 return -1;
  1183.                             }
  1184.                             switch (str[9] | 0x20)
  1185.                             {
  1186.                                 case ' ' | 0x20: // ' '
  1187.                                 {
  1188.                                     if (str[9])
  1189.                                     {
  1190.                                         switch (str[10] | 0x20)
  1191.                                         {
  1192.                                             case '1':
  1193.                                             {
  1194.                                                 idx += 11;
  1195.                                                 return X11_CHOCOLATE_1;
  1196.                                             }
  1197.                                             case '2':
  1198.                                             {
  1199.                                                 idx += 11;
  1200.                                                 return X11_CHOCOLATE_2;
  1201.                                             }
  1202.                                             case '3':
  1203.                                             {
  1204.                                                 idx += 11;
  1205.                                                 return X11_CHOCOLATE_3;
  1206.                                             }
  1207.                                             case '4':
  1208.                                             {
  1209.                                                 idx += 11;
  1210.                                                 return X11_CHOCOLATE_4;
  1211.                                             }
  1212.                                         }
  1213.                                     }
  1214.                                 }
  1215.                                 case '_' | 0x20:
  1216.                                 {
  1217.                                     switch (str[10] | 0x20)
  1218.                                     {
  1219.                                         case '1':
  1220.                                         {
  1221.                                             idx += 11;
  1222.                                             return X11_CHOCOLATE_1;
  1223.                                         }
  1224.                                         case '2':
  1225.                                         {
  1226.                                             idx += 11;
  1227.                                             return X11_CHOCOLATE_2;
  1228.                                         }
  1229.                                         case '3':
  1230.                                         {
  1231.                                             idx += 11;
  1232.                                             return X11_CHOCOLATE_3;
  1233.                                         }
  1234.                                         case '4':
  1235.                                         {
  1236.                                             idx += 11;
  1237.                                             return X11_CHOCOLATE_4;
  1238.                                         }
  1239.                                     }
  1240.                                 }
  1241.                                 case '1':
  1242.                                 {
  1243.                                     idx += 10;
  1244.                                     return X11_CHOCOLATE1;
  1245.                                 }
  1246.                                 case '2':
  1247.                                 {
  1248.                                     idx += 10;
  1249.                                     return X11_CHOCOLATE2;
  1250.                                 }
  1251.                                 case '3':
  1252.                                 {
  1253.                                     idx += 10;
  1254.                                     return X11_CHOCOLATE3;
  1255.                                 }
  1256.                                 case '4':
  1257.                                 {
  1258.                                     idx += 10;
  1259.                                     return X11_CHOCOLATE4;
  1260.                                 }
  1261.                             }
  1262.                             idx += 9;
  1263.                             return X11_CHOCOLATE;
  1264.                         }
  1265.                     }
  1266.                 }
  1267.                 case 'o':
  1268.                 {
  1269.                     if (str[2] != 'R')
  1270.                     {
  1271.                         return -1;
  1272.                     }
  1273.                     switch (str[3] | 0x20)
  1274.                     {
  1275.                         case 'a':
  1276.                         {
  1277.                             if (str[4] != 'L')
  1278.                             {
  1279.                                 return -1;
  1280.                             }
  1281.                             switch (str[5] | 0x20)
  1282.                             {
  1283.                                 case ' ' | 0x20: // ' '
  1284.                                 {
  1285.                                     if (str[5])
  1286.                                     {
  1287.                                         switch (str[6] | 0x20)
  1288.                                         {
  1289.                                             case '1':
  1290.                                             {
  1291.                                                 idx += 7;
  1292.                                                 return X11_CORAL_1;
  1293.                                             }
  1294.                                             case '2':
  1295.                                             {
  1296.                                                 idx += 7;
  1297.                                                 return X11_CORAL_2;
  1298.                                             }
  1299.                                             case '3':
  1300.                                             {
  1301.                                                 idx += 7;
  1302.                                                 return X11_CORAL_3;
  1303.                                             }
  1304.                                             case '4':
  1305.                                             {
  1306.                                                 idx += 7;
  1307.                                                 return X11_CORAL_4;
  1308.                                             }
  1309.                                         }
  1310.                                     }
  1311.                                 }
  1312.                                 case '_' | 0x20:
  1313.                                 {
  1314.                                     switch (str[6] | 0x20)
  1315.                                     {
  1316.                                         case '1':
  1317.                                         {
  1318.                                             idx += 7;
  1319.                                             return X11_CORAL_1;
  1320.                                         }
  1321.                                         case '2':
  1322.                                         {
  1323.                                             idx += 7;
  1324.                                             return X11_CORAL_2;
  1325.                                         }
  1326.                                         case '3':
  1327.                                         {
  1328.                                             idx += 7;
  1329.                                             return X11_CORAL_3;
  1330.                                         }
  1331.                                         case '4':
  1332.                                         {
  1333.                                             idx += 7;
  1334.                                             return X11_CORAL_4;
  1335.                                         }
  1336.                                     }
  1337.                                 }
  1338.                                 case '1':
  1339.                                 {
  1340.                                     idx += 6;
  1341.                                     return X11_CORAL1;
  1342.                                 }
  1343.                                 case '2':
  1344.                                 {
  1345.                                     idx += 6;
  1346.                                     return X11_CORAL2;
  1347.                                 }
  1348.                                 case '3':
  1349.                                 {
  1350.                                     idx += 6;
  1351.                                     return X11_CORAL3;
  1352.                                 }
  1353.                                 case '4':
  1354.                                 {
  1355.                                     idx += 6;
  1356.                                     return X11_CORAL4;
  1357.                                 }
  1358.                             }
  1359.                             idx += 5;
  1360.                             return X11_CORAL;
  1361.                         }
  1362.                         case 'n':
  1363.                         {
  1364.                             switch (str[4] | 0x20)
  1365.                             {
  1366.                                 case 'f':
  1367.                                 {
  1368.                                     if (!str[5] || strcmp(str[5], !"LOWER", true, 5))
  1369.                                     {
  1370.                                         return -1;
  1371.                                     }
  1372.                                     switch (str[10] | 0x20)
  1373.                                     {
  1374.                                         case ' ' | 0x20: // ' '
  1375.                                         {
  1376.                                             if (str[10])
  1377.                                             {
  1378.                                                 if (str[11] && !strcmp(str[11], !"BLUE", true, 4))
  1379.                                                 {
  1380.                                                     idx += 15;
  1381.                                                     return X11_CORNFLOWER_BLUE;
  1382.                                                 }
  1383.                                             }
  1384.                                         }
  1385.                                         case '_' | 0x20:
  1386.                                         {
  1387.                                             if (str[11] && !strcmp(str[11], !"BLUE", true, 4))
  1388.                                             {
  1389.                                                 idx += 15;
  1390.                                                 return X11_CORNFLOWER_BLUE;
  1391.                                             }
  1392.                                         }
  1393.                                         case 'b':
  1394.                                         {
  1395.                                             if (str[11] && !strcmp(str[11], !"LUE", true, 3))
  1396.                                             {
  1397.                                                 idx += 14;
  1398.                                                 return X11_CORNFLOWERBLUE;
  1399.                                             }
  1400.                                         }
  1401.                                     }
  1402.                                 }
  1403.                                 case 's':
  1404.                                 {
  1405.                                     if (!str[5] || strcmp(str[5], !"ILK", true, 3))
  1406.                                     {
  1407.                                         return -1;
  1408.                                     }
  1409.                                     switch (str[8] | 0x20)
  1410.                                     {
  1411.                                         case ' ' | 0x20: // ' '
  1412.                                         {
  1413.                                             if (str[8])
  1414.                                             {
  1415.                                                 switch (str[9] | 0x20)
  1416.                                                 {
  1417.                                                     case '1':
  1418.                                                     {
  1419.                                                         idx += 10;
  1420.                                                         return X11_CORNSILK_1;
  1421.                                                     }
  1422.                                                     case '2':
  1423.                                                     {
  1424.                                                         idx += 10;
  1425.                                                         return X11_CORNSILK_2;
  1426.                                                     }
  1427.                                                     case '3':
  1428.                                                     {
  1429.                                                         idx += 10;
  1430.                                                         return X11_CORNSILK_3;
  1431.                                                     }
  1432.                                                     case '4':
  1433.                                                     {
  1434.                                                         idx += 10;
  1435.                                                         return X11_CORNSILK_4;
  1436.                                                     }
  1437.                                                 }
  1438.                                             }
  1439.                                         }
  1440.                                         case '_' | 0x20:
  1441.                                         {
  1442.                                             switch (str[9] | 0x20)
  1443.                                             {
  1444.                                                 case '1':
  1445.                                                 {
  1446.                                                     idx += 10;
  1447.                                                     return X11_CORNSILK_1;
  1448.                                                 }
  1449.                                                 case '2':
  1450.                                                 {
  1451.                                                     idx += 10;
  1452.                                                     return X11_CORNSILK_2;
  1453.                                                 }
  1454.                                                 case '3':
  1455.                                                 {
  1456.                                                     idx += 10;
  1457.                                                     return X11_CORNSILK_3;
  1458.                                                 }
  1459.                                                 case '4':
  1460.                                                 {
  1461.                                                     idx += 10;
  1462.                                                     return X11_CORNSILK_4;
  1463.                                                 }
  1464.                                             }
  1465.                                         }
  1466.                                         case '1':
  1467.                                         {
  1468.                                             idx += 9;
  1469.                                             return X11_CORNSILK1;
  1470.                                         }
  1471.                                         case '2':
  1472.                                         {
  1473.                                             idx += 9;
  1474.                                             return X11_CORNSILK2;
  1475.                                         }
  1476.                                         case '3':
  1477.                                         {
  1478.                                             idx += 9;
  1479.                                             return X11_CORNSILK3;
  1480.                                         }
  1481.                                         case '4':
  1482.                                         {
  1483.                                             idx += 9;
  1484.                                             return X11_CORNSILK4;
  1485.                                         }
  1486.                                     }
  1487.                                     idx += 8;
  1488.                                     return X11_CORNSILK;
  1489.                                 }
  1490.                             }
  1491.                         }
  1492.                     }
  1493.                 }
  1494.                 case 'y':
  1495.                 {
  1496.                     if (!str[2] || strcmp(str[2], !"AN", true, 2))
  1497.                     {
  1498.                         return -1;
  1499.                     }
  1500.                     switch (str[4] | 0x20)
  1501.                     {
  1502.                         case ' ' | 0x20: // ' '
  1503.                         {
  1504.                             if (str[4])
  1505.                             {
  1506.                                 switch (str[5] | 0x20)
  1507.                                 {
  1508.                                     case '1':
  1509.                                     {
  1510.                                         idx += 6;
  1511.                                         return X11_CYAN_1;
  1512.                                     }
  1513.                                     case '2':
  1514.                                     {
  1515.                                         idx += 6;
  1516.                                         return X11_CYAN_2;
  1517.                                     }
  1518.                                     case '3':
  1519.                                     {
  1520.                                         idx += 6;
  1521.                                         return X11_CYAN_3;
  1522.                                     }
  1523.                                     case '4':
  1524.                                     {
  1525.                                         idx += 6;
  1526.                                         return X11_CYAN_4;
  1527.                                     }
  1528.                                 }
  1529.                             }
  1530.                         }
  1531.                         case '_' | 0x20:
  1532.                         {
  1533.                             switch (str[5] | 0x20)
  1534.                             {
  1535.                                 case '1':
  1536.                                 {
  1537.                                     idx += 6;
  1538.                                     return X11_CYAN_1;
  1539.                                 }
  1540.                                 case '2':
  1541.                                 {
  1542.                                     idx += 6;
  1543.                                     return X11_CYAN_2;
  1544.                                 }
  1545.                                 case '3':
  1546.                                 {
  1547.                                     idx += 6;
  1548.                                     return X11_CYAN_3;
  1549.                                 }
  1550.                                 case '4':
  1551.                                 {
  1552.                                     idx += 6;
  1553.                                     return X11_CYAN_4;
  1554.                                 }
  1555.                             }
  1556.                         }
  1557.                         case '1':
  1558.                         {
  1559.                             idx += 5;
  1560.                             return X11_CYAN1;
  1561.                         }
  1562.                         case '2':
  1563.                         {
  1564.                             idx += 5;
  1565.                             return X11_CYAN2;
  1566.                         }
  1567.                         case '3':
  1568.                         {
  1569.                             idx += 5;
  1570.                             return X11_CYAN3;
  1571.                         }
  1572.                         case '4':
  1573.                         {
  1574.                             idx += 5;
  1575.                             return X11_CYAN4;
  1576.                         }
  1577.                     }
  1578.                     idx += 4;
  1579.                     return X11_CYAN;
  1580.                 }
  1581.             }
  1582.         }
  1583.         case 'd':
  1584.         {
  1585.             switch (str[1] | 0x20)
  1586.             {
  1587.                 case 'a':
  1588.                 {
  1589.                     if (!str[2] || strcmp(str[2], !"RK", true, 2))
  1590.                     {
  1591.                         return -1;
  1592.                     }
  1593.                     switch (str[4] | 0x20)
  1594.                     {
  1595.                         case ' ' | 0x20: // ' '
  1596.                         {
  1597.                             if (str[4])
  1598.                             {
  1599.                                 switch (str[5] | 0x20)
  1600.                                 {
  1601.                                     case 'b':
  1602.                                     {
  1603.                                         if (str[6] && !strcmp(str[6], !"LUE", true, 3))
  1604.                                         {
  1605.                                             idx += 9;
  1606.                                             return X11_DARK_BLUE;
  1607.                                         }
  1608.                                     }
  1609.                                     case 'c':
  1610.                                     {
  1611.                                         if (str[6] && !strcmp(str[6], !"YAN", true, 3))
  1612.                                         {
  1613.                                             idx += 9;
  1614.                                             return X11_DARK_CYAN;
  1615.                                         }
  1616.                                     }
  1617.                                     case 'g':
  1618.                                     {
  1619.                                         switch (str[6] | 0x20)
  1620.                                         {
  1621.                                             case 'o':
  1622.                                             {
  1623.                                                 if (!str[7] || strcmp(str[7], !"LDENROD", true, 7))
  1624.                                                 {
  1625.                                                     return -1;
  1626.                                                 }
  1627.                                                 switch (str[14] | 0x20)
  1628.                                                 {
  1629.                                                     case ' ' | 0x20: // ' '
  1630.                                                     {
  1631.                                                         if (str[14])
  1632.                                                         {
  1633.                                                             switch (str[15] | 0x20)
  1634.                                                             {
  1635.                                                                 case '1':
  1636.                                                                 {
  1637.                                                                     idx += 16;
  1638.                                                                     return X11_DARK_GOLDENROD_1;
  1639.                                                                 }
  1640.                                                                 case '2':
  1641.                                                                 {
  1642.                                                                     idx += 16;
  1643.                                                                     return X11_DARK_GOLDENROD_2;
  1644.                                                                 }
  1645.                                                                 case '3':
  1646.                                                                 {
  1647.                                                                     idx += 16;
  1648.                                                                     return X11_DARK_GOLDENROD_3;
  1649.                                                                 }
  1650.                                                                 case '4':
  1651.                                                                 {
  1652.                                                                     idx += 16;
  1653.                                                                     return X11_DARK_GOLDENROD_4;
  1654.                                                                 }
  1655.                                                             }
  1656.                                                         }
  1657.                                                     }
  1658.                                                     case '_' | 0x20:
  1659.                                                     {
  1660.                                                         switch (str[15] | 0x20)
  1661.                                                         {
  1662.                                                             case '1':
  1663.                                                             {
  1664.                                                                 idx += 16;
  1665.                                                                 return X11_DARK_GOLDENROD_1;
  1666.                                                             }
  1667.                                                             case '2':
  1668.                                                             {
  1669.                                                                 idx += 16;
  1670.                                                                 return X11_DARK_GOLDENROD_2;
  1671.                                                             }
  1672.                                                             case '3':
  1673.                                                             {
  1674.                                                                 idx += 16;
  1675.                                                                 return X11_DARK_GOLDENROD_3;
  1676.                                                             }
  1677.                                                             case '4':
  1678.                                                             {
  1679.                                                                 idx += 16;
  1680.                                                                 return X11_DARK_GOLDENROD_4;
  1681.                                                             }
  1682.                                                         }
  1683.                                                     }
  1684.                                                 }
  1685.                                                 idx += 14;
  1686.                                                 return X11_DARK_GOLDENROD;
  1687.                                             }
  1688.                                             case 'r':
  1689.                                             {
  1690.                                                 switch (str[7] | 0x20)
  1691.                                                 {
  1692.                                                     case 'a':
  1693.                                                     {
  1694.                                                         if (str[8] == 'Y')
  1695.                                                         {
  1696.                                                             idx += 9;
  1697.                                                             return X11_DARK_GRAY;
  1698.                                                         }
  1699.                                                     }
  1700.                                                     case 'e':
  1701.                                                     {
  1702.                                                         switch (str[8] | 0x20)
  1703.                                                         {
  1704.                                                             case 'e':
  1705.                                                             {
  1706.                                                                 if (str[9] == 'N')
  1707.                                                                 {
  1708.                                                                     idx += 10;
  1709.                                                                     return X11_DARK_GREEN;
  1710.                                                                 }
  1711.                                                             }
  1712.                                                             case 'y':
  1713.                                                             {
  1714.                                                                 idx += 9;
  1715.                                                                 return X11_DARK_GREY;
  1716.                                                             }
  1717.                                                         }
  1718.                                                     }
  1719.                                                 }
  1720.                                             }
  1721.                                         }
  1722.                                     }
  1723.                                     case 'k':
  1724.                                     {
  1725.                                         if (str[6] && !strcmp(str[6], !"HAKI", true, 4))
  1726.                                         {
  1727.                                             idx += 10;
  1728.                                             return X11_DARK_KHAKI;
  1729.                                         }
  1730.                                     }
  1731.                                     case 'm':
  1732.                                     {
  1733.                                         if (str[6] && !strcmp(str[6], !"AGENTA", true, 6))
  1734.                                         {
  1735.                                             idx += 12;
  1736.                                             return X11_DARK_MAGENTA;
  1737.                                         }
  1738.                                     }
  1739.                                     case 'o':
  1740.                                     {
  1741.                                         switch (str[6] | 0x20)
  1742.                                         {
  1743.                                             case 'l':
  1744.                                             {
  1745.                                                 if (!str[7] || strcmp(str[7], !"IVE_GREEN", true, 9))
  1746.                                                 {
  1747.                                                     return -1;
  1748.                                                 }
  1749.                                                 switch (str[16] | 0x20)
  1750.                                                 {
  1751.                                                     case ' ' | 0x20: // ' '
  1752.                                                     {
  1753.                                                         if (str[16])
  1754.                                                         {
  1755.                                                             switch (str[17] | 0x20)
  1756.                                                             {
  1757.                                                                 case '1':
  1758.                                                                 {
  1759.                                                                     idx += 18;
  1760.                                                                     return X11_DARK_OLIVE_GREEN_1;
  1761.                                                                 }
  1762.                                                                 case '2':
  1763.                                                                 {
  1764.                                                                     idx += 18;
  1765.                                                                     return X11_DARK_OLIVE_GREEN_2;
  1766.                                                                 }
  1767.                                                                 case '3':
  1768.                                                                 {
  1769.                                                                     idx += 18;
  1770.                                                                     return X11_DARK_OLIVE_GREEN_3;
  1771.                                                                 }
  1772.                                                                 case '4':
  1773.                                                                 {
  1774.                                                                     idx += 18;
  1775.                                                                     return X11_DARK_OLIVE_GREEN_4;
  1776.                                                                 }
  1777.                                                             }
  1778.                                                         }
  1779.                                                     }
  1780.                                                     case '_' | 0x20:
  1781.                                                     {
  1782.                                                         switch (str[17] | 0x20)
  1783.                                                         {
  1784.                                                             case '1':
  1785.                                                             {
  1786.                                                                 idx += 18;
  1787.                                                                 return X11_DARK_OLIVE_GREEN_1;
  1788.                                                             }
  1789.                                                             case '2':
  1790.                                                             {
  1791.                                                                 idx += 18;
  1792.                                                                 return X11_DARK_OLIVE_GREEN_2;
  1793.                                                             }
  1794.                                                             case '3':
  1795.                                                             {
  1796.                                                                 idx += 18;
  1797.                                                                 return X11_DARK_OLIVE_GREEN_3;
  1798.                                                             }
  1799.                                                             case '4':
  1800.                                                             {
  1801.                                                                 idx += 18;
  1802.                                                                 return X11_DARK_OLIVE_GREEN_4;
  1803.                                                             }
  1804.                                                         }
  1805.                                                     }
  1806.                                                 }
  1807.                                                 idx += 16;
  1808.                                                 return X11_DARK_OLIVE_GREEN;
  1809.                                             }
  1810.                                             case 'r':
  1811.                                             {
  1812.                                                 switch (str[7] | 0x20)
  1813.                                                 {
  1814.                                                     case 'a':
  1815.                                                     {
  1816.                                                         if (!str[8] || strcmp(str[8], !"NGE", true, 3))
  1817.                                                         {
  1818.                                                             return -1;
  1819.                                                         }
  1820.                                                         switch (str[11] | 0x20)
  1821.                                                         {
  1822.                                                             case ' ' | 0x20: // ' '
  1823.                                                             {
  1824.                                                                 if (str[11])
  1825.                                                                 {
  1826.                                                                     switch (str[12] | 0x20)
  1827.                                                                     {
  1828.                                                                         case '1':
  1829.                                                                         {
  1830.                                                                             idx += 13;
  1831.                                                                             return X11_DARK_ORANGE_1;
  1832.                                                                         }
  1833.                                                                         case '2':
  1834.                                                                         {
  1835.                                                                             idx += 13;
  1836.                                                                             return X11_DARK_ORANGE_2;
  1837.                                                                         }
  1838.                                                                         case '3':
  1839.                                                                         {
  1840.                                                                             idx += 13;
  1841.                                                                             return X11_DARK_ORANGE_3;
  1842.                                                                         }
  1843.                                                                         case '4':
  1844.                                                                         {
  1845.                                                                             idx += 13;
  1846.                                                                             return X11_DARK_ORANGE_4;
  1847.                                                                         }
  1848.                                                                     }
  1849.                                                                 }
  1850.                                                             }
  1851.                                                             case '_' | 0x20:
  1852.                                                             {
  1853.                                                                 switch (str[12] | 0x20)
  1854.                                                                 {
  1855.                                                                     case '1':
  1856.                                                                     {
  1857.                                                                         idx += 13;
  1858.                                                                         return X11_DARK_ORANGE_1;
  1859.                                                                     }
  1860.                                                                     case '2':
  1861.                                                                     {
  1862.                                                                         idx += 13;
  1863.                                                                         return X11_DARK_ORANGE_2;
  1864.                                                                     }
  1865.                                                                     case '3':
  1866.                                                                     {
  1867.                                                                         idx += 13;
  1868.                                                                         return X11_DARK_ORANGE_3;
  1869.                                                                     }
  1870.                                                                     case '4':
  1871.                                                                     {
  1872.                                                                         idx += 13;
  1873.                                                                         return X11_DARK_ORANGE_4;
  1874.                                                                     }
  1875.                                                                 }
  1876.                                                             }
  1877.                                                         }
  1878.                                                         idx += 11;
  1879.                                                         return X11_DARK_ORANGE;
  1880.                                                     }
  1881.                                                     case 'c':
  1882.                                                     {
  1883.                                                         if (!str[8] || strcmp(str[8], !"HID", true, 3))
  1884.                                                         {
  1885.                                                             return -1;
  1886.                                                         }
  1887.                                                         switch (str[11] | 0x20)
  1888.                                                         {
  1889.                                                             case ' ' | 0x20: // ' '
  1890.                                                             {
  1891.                                                                 if (str[11])
  1892.                                                                 {
  1893.                                                                     switch (str[12] | 0x20)
  1894.                                                                     {
  1895.                                                                         case '1':
  1896.                                                                         {
  1897.                                                                             idx += 13;
  1898.                                                                             return X11_DARK_ORCHID_1;
  1899.                                                                         }
  1900.                                                                         case '2':
  1901.                                                                         {
  1902.                                                                             idx += 13;
  1903.                                                                             return X11_DARK_ORCHID_2;
  1904.                                                                         }
  1905.                                                                         case '3':
  1906.                                                                         {
  1907.                                                                             idx += 13;
  1908.                                                                             return X11_DARK_ORCHID_3;
  1909.                                                                         }
  1910.                                                                         case '4':
  1911.                                                                         {
  1912.                                                                             idx += 13;
  1913.                                                                             return X11_DARK_ORCHID_4;
  1914.                                                                         }
  1915.                                                                     }
  1916.                                                                 }
  1917.                                                             }
  1918.                                                             case '_' | 0x20:
  1919.                                                             {
  1920.                                                                 switch (str[12] | 0x20)
  1921.                                                                 {
  1922.                                                                     case '1':
  1923.                                                                     {
  1924.                                                                         idx += 13;
  1925.                                                                         return X11_DARK_ORCHID_1;
  1926.                                                                     }
  1927.                                                                     case '2':
  1928.                                                                     {
  1929.                                                                         idx += 13;
  1930.                                                                         return X11_DARK_ORCHID_2;
  1931.                                                                     }
  1932.                                                                     case '3':
  1933.                                                                     {
  1934.                                                                         idx += 13;
  1935.                                                                         return X11_DARK_ORCHID_3;
  1936.                                                                     }
  1937.                                                                     case '4':
  1938.                                                                     {
  1939.                                                                         idx += 13;
  1940.                                                                         return X11_DARK_ORCHID_4;
  1941.                                                                     }
  1942.                                                                 }
  1943.                                                             }
  1944.                                                         }
  1945.                                                         idx += 11;
  1946.                                                         return X11_DARK_ORCHID;
  1947.                                                     }
  1948.                                                 }
  1949.                                             }
  1950.                                         }
  1951.                                     }
  1952.                                     case 'r':
  1953.                                     {
  1954.                                         if (str[6] && !strcmp(str[6], !"ED", true, 2))
  1955.                                         {
  1956.                                             idx += 8;
  1957.                                             return X11_DARK_RED;
  1958.                                         }
  1959.                                     }
  1960.                                     case 's':
  1961.                                     {
  1962.                                         switch (str[6] | 0x20)
  1963.                                         {
  1964.                                             case 'a':
  1965.                                             {
  1966.                                                 if (str[7] && !strcmp(str[7], !"LMON", true, 4))
  1967.                                                 {
  1968.                                                     idx += 11;
  1969.                                                     return X11_DARK_SALMON;
  1970.                                                 }
  1971.                                             }
  1972.                                             case 'e':
  1973.                                             {
  1974.                                                 if (!str[7] || strcmp(str[7], !"A_GREEN", true, 7))
  1975.                                                 {
  1976.                                                     return -1;
  1977.                                                 }
  1978.                                                 switch (str[14] | 0x20)
  1979.                                                 {
  1980.                                                     case ' ' | 0x20: // ' '
  1981.                                                     {
  1982.                                                         if (str[14])
  1983.                                                         {
  1984.                                                             switch (str[15] | 0x20)
  1985.                                                             {
  1986.                                                                 case '1':
  1987.                                                                 {
  1988.                                                                     idx += 16;
  1989.                                                                     return X11_DARK_SEA_GREEN_1;
  1990.                                                                 }
  1991.                                                                 case '2':
  1992.                                                                 {
  1993.                                                                     idx += 16;
  1994.                                                                     return X11_DARK_SEA_GREEN_2;
  1995.                                                                 }
  1996.                                                                 case '3':
  1997.                                                                 {
  1998.                                                                     idx += 16;
  1999.                                                                     return X11_DARK_SEA_GREEN_3;
  2000.                                                                 }
  2001.                                                                 case '4':
  2002.                                                                 {
  2003.                                                                     idx += 16;
  2004.                                                                     return X11_DARK_SEA_GREEN_4;
  2005.                                                                 }
  2006.                                                             }
  2007.                                                         }
  2008.                                                     }
  2009.                                                     case '_' | 0x20:
  2010.                                                     {
  2011.                                                         switch (str[15] | 0x20)
  2012.                                                         {
  2013.                                                             case '1':
  2014.                                                             {
  2015.                                                                 idx += 16;
  2016.                                                                 return X11_DARK_SEA_GREEN_1;
  2017.                                                             }
  2018.                                                             case '2':
  2019.                                                             {
  2020.                                                                 idx += 16;
  2021.                                                                 return X11_DARK_SEA_GREEN_2;
  2022.                                                             }
  2023.                                                             case '3':
  2024.                                                             {
  2025.                                                                 idx += 16;
  2026.                                                                 return X11_DARK_SEA_GREEN_3;
  2027.                                                             }
  2028.                                                             case '4':
  2029.                                                             {
  2030.                                                                 idx += 16;
  2031.                                                                 return X11_DARK_SEA_GREEN_4;
  2032.                                                             }
  2033.                                                         }
  2034.                                                     }
  2035.                                                 }
  2036.                                                 idx += 14;
  2037.                                                 return X11_DARK_SEA_GREEN;
  2038.                                             }
  2039.                                             case 'l':
  2040.                                             {
  2041.                                                 if (!str[7] || strcmp(str[7], !"ATE_", true, 4))
  2042.                                                 {
  2043.                                                     return -1;
  2044.                                                 }
  2045.                                                 switch (str[11] | 0x20)
  2046.                                                 {
  2047.                                                     case 'b':
  2048.                                                     {
  2049.                                                         if (str[12] && !strcmp(str[12], !"LUE", true, 3))
  2050.                                                         {
  2051.                                                             idx += 15;
  2052.                                                             return X11_DARK_SLATE_BLUE;
  2053.                                                         }
  2054.                                                     }
  2055.                                                     case 'g':
  2056.                                                     {
  2057.                                                         if (str[12] != 'R')
  2058.                                                         {
  2059.                                                             return -1;
  2060.                                                         }
  2061.                                                         switch (str[13] | 0x20)
  2062.                                                         {
  2063.                                                             case 'a':
  2064.                                                             {
  2065.                                                                 if (str[14] != 'Y')
  2066.                                                                 {
  2067.                                                                     return -1;
  2068.                                                                 }
  2069.                                                                 switch (str[15] | 0x20)
  2070.                                                                 {
  2071.                                                                     case ' ' | 0x20: // ' '
  2072.                                                                     {
  2073.                                                                         if (str[15])
  2074.                                                                         {
  2075.                                                                             switch (str[16] | 0x20)
  2076.                                                                             {
  2077.                                                                                 case '1':
  2078.                                                                                 {
  2079.                                                                                     idx += 17;
  2080.                                                                                     return X11_DARK_SLATE_GRAY_1;
  2081.                                                                                 }
  2082.                                                                                 case '2':
  2083.                                                                                 {
  2084.                                                                                     idx += 17;
  2085.                                                                                     return X11_DARK_SLATE_GRAY_2;
  2086.                                                                                 }
  2087.                                                                                 case '3':
  2088.                                                                                 {
  2089.                                                                                     idx += 17;
  2090.                                                                                     return X11_DARK_SLATE_GRAY_3;
  2091.                                                                                 }
  2092.                                                                                 case '4':
  2093.                                                                                 {
  2094.                                                                                     idx += 17;
  2095.                                                                                     return X11_DARK_SLATE_GRAY_4;
  2096.                                                                                 }
  2097.                                                                             }
  2098.                                                                         }
  2099.                                                                     }
  2100.                                                                     case '_' | 0x20:
  2101.                                                                     {
  2102.                                                                         switch (str[16] | 0x20)
  2103.                                                                         {
  2104.                                                                             case '1':
  2105.                                                                             {
  2106.                                                                                 idx += 17;
  2107.                                                                                 return X11_DARK_SLATE_GRAY_1;
  2108.                                                                             }
  2109.                                                                             case '2':
  2110.                                                                             {
  2111.                                                                                 idx += 17;
  2112.                                                                                 return X11_DARK_SLATE_GRAY_2;
  2113.                                                                             }
  2114.                                                                             case '3':
  2115.                                                                             {
  2116.                                                                                 idx += 17;
  2117.                                                                                 return X11_DARK_SLATE_GRAY_3;
  2118.                                                                             }
  2119.                                                                             case '4':
  2120.                                                                             {
  2121.                                                                                 idx += 17;
  2122.                                                                                 return X11_DARK_SLATE_GRAY_4;
  2123.                                                                             }
  2124.                                                                         }
  2125.                                                                     }
  2126.                                                                 }
  2127.                                                                 idx += 15;
  2128.                                                                 return X11_DARK_SLATE_GRAY;
  2129.                                                             }
  2130.                                                             case 'e':
  2131.                                                             {
  2132.                                                                 if (str[14] == 'Y')
  2133.                                                                 {
  2134.                                                                     idx += 15;
  2135.                                                                     return X11_DARK_SLATE_GREY;
  2136.                                                                 }
  2137.                                                             }
  2138.                                                         }
  2139.                                                     }
  2140.                                                 }
  2141.                                             }
  2142.                                         }
  2143.                                     }
  2144.                                     case 't':
  2145.                                     {
  2146.                                         if (str[6] && !strcmp(str[6], !"URQUOISE", true, 8))
  2147.                                         {
  2148.                                             idx += 14;
  2149.                                             return X11_DARK_TURQUOISE;
  2150.                                         }
  2151.                                     }
  2152.                                     case 'v':
  2153.                                     {
  2154.                                         if (str[6] && !strcmp(str[6], !"IOLET", true, 5))
  2155.                                         {
  2156.                                             idx += 11;
  2157.                                             return X11_DARK_VIOLET;
  2158.                                         }
  2159.                                     }
  2160.                                 }
  2161.                             }
  2162.                         }
  2163.                         case '_' | 0x20:
  2164.                         {
  2165.                             switch (str[5] | 0x20)
  2166.                             {
  2167.                                 case 'b':
  2168.                                 {
  2169.                                     if (str[6] && !strcmp(str[6], !"LUE", true, 3))
  2170.                                     {
  2171.                                         idx += 9;
  2172.                                         return X11_DARK_BLUE;
  2173.                                     }
  2174.                                 }
  2175.                                 case 'c':
  2176.                                 {
  2177.                                     if (str[6] && !strcmp(str[6], !"YAN", true, 3))
  2178.                                     {
  2179.                                         idx += 9;
  2180.                                         return X11_DARK_CYAN;
  2181.                                     }
  2182.                                 }
  2183.                                 case 'g':
  2184.                                 {
  2185.                                     switch (str[6] | 0x20)
  2186.                                     {
  2187.                                         case 'o':
  2188.                                         {
  2189.                                             if (!str[7] || strcmp(str[7], !"LDENROD", true, 7))
  2190.                                             {
  2191.                                                 return -1;
  2192.                                             }
  2193.                                             switch (str[14] | 0x20)
  2194.                                             {
  2195.                                                 case ' ' | 0x20: // ' '
  2196.                                                 {
  2197.                                                     if (str[14])
  2198.                                                     {
  2199.                                                         switch (str[15] | 0x20)
  2200.                                                         {
  2201.                                                             case '1':
  2202.                                                             {
  2203.                                                                 idx += 16;
  2204.                                                                 return X11_DARK_GOLDENROD_1;
  2205.                                                             }
  2206.                                                             case '2':
  2207.                                                             {
  2208.                                                                 idx += 16;
  2209.                                                                 return X11_DARK_GOLDENROD_2;
  2210.                                                             }
  2211.                                                             case '3':
  2212.                                                             {
  2213.                                                                 idx += 16;
  2214.                                                                 return X11_DARK_GOLDENROD_3;
  2215.                                                             }
  2216.                                                             case '4':
  2217.                                                             {
  2218.                                                                 idx += 16;
  2219.                                                                 return X11_DARK_GOLDENROD_4;
  2220.                                                             }
  2221.                                                         }
  2222.                                                     }
  2223.                                                 }
  2224.                                                 case '_' | 0x20:
  2225.                                                 {
  2226.                                                     switch (str[15] | 0x20)
  2227.                                                     {
  2228.                                                         case '1':
  2229.                                                         {
  2230.                                                             idx += 16;
  2231.                                                             return X11_DARK_GOLDENROD_1;
  2232.                                                         }
  2233.                                                         case '2':
  2234.                                                         {
  2235.                                                             idx += 16;
  2236.                                                             return X11_DARK_GOLDENROD_2;
  2237.                                                         }
  2238.                                                         case '3':
  2239.                                                         {
  2240.                                                             idx += 16;
  2241.                                                             return X11_DARK_GOLDENROD_3;
  2242.                                                         }
  2243.                                                         case '4':
  2244.                                                         {
  2245.                                                             idx += 16;
  2246.                                                             return X11_DARK_GOLDENROD_4;
  2247.                                                         }
  2248.                                                     }
  2249.                                                 }
  2250.                                             }
  2251.                                             idx += 14;
  2252.                                             return X11_DARK_GOLDENROD;
  2253.                                         }
  2254.                                         case 'r':
  2255.                                         {
  2256.                                             switch (str[7] | 0x20)
  2257.                                             {
  2258.                                                 case 'a':
  2259.                                                 {
  2260.                                                     if (str[8] == 'Y')
  2261.                                                     {
  2262.                                                         idx += 9;
  2263.                                                         return X11_DARK_GRAY;
  2264.                                                     }
  2265.                                                 }
  2266.                                                 case 'e':
  2267.                                                 {
  2268.                                                     switch (str[8] | 0x20)
  2269.                                                     {
  2270.                                                         case 'e':
  2271.                                                         {
  2272.                                                             if (str[9] == 'N')
  2273.                                                             {
  2274.                                                                 idx += 10;
  2275.                                                                 return X11_DARK_GREEN;
  2276.                                                             }
  2277.                                                         }
  2278.                                                         case 'y':
  2279.                                                         {
  2280.                                                             idx += 9;
  2281.                                                             return X11_DARK_GREY;
  2282.                                                         }
  2283.                                                     }
  2284.                                                 }
  2285.                                             }
  2286.                                         }
  2287.                                     }
  2288.                                 }
  2289.                                 case 'k':
  2290.                                 {
  2291.                                     if (str[6] && !strcmp(str[6], !"HAKI", true, 4))
  2292.                                     {
  2293.                                         idx += 10;
  2294.                                         return X11_DARK_KHAKI;
  2295.                                     }
  2296.                                 }
  2297.                                 case 'm':
  2298.                                 {
  2299.                                     if (str[6] && !strcmp(str[6], !"AGENTA", true, 6))
  2300.                                     {
  2301.                                         idx += 12;
  2302.                                         return X11_DARK_MAGENTA;
  2303.                                     }
  2304.                                 }
  2305.                                 case 'o':
  2306.                                 {
  2307.                                     switch (str[6] | 0x20)
  2308.                                     {
  2309.                                         case 'l':
  2310.                                         {
  2311.                                             if (!str[7] || strcmp(str[7], !"IVE_GREEN", true, 9))
  2312.                                             {
  2313.                                                 return -1;
  2314.                                             }
  2315.                                             switch (str[16] | 0x20)
  2316.                                             {
  2317.                                                 case ' ' | 0x20: // ' '
  2318.                                                 {
  2319.                                                     if (str[16])
  2320.                                                     {
  2321.                                                         switch (str[17] | 0x20)
  2322.                                                         {
  2323.                                                             case '1':
  2324.                                                             {
  2325.                                                                 idx += 18;
  2326.                                                                 return X11_DARK_OLIVE_GREEN_1;
  2327.                                                             }
  2328.                                                             case '2':
  2329.                                                             {
  2330.                                                                 idx += 18;
  2331.                                                                 return X11_DARK_OLIVE_GREEN_2;
  2332.                                                             }
  2333.                                                             case '3':
  2334.                                                             {
  2335.                                                                 idx += 18;
  2336.                                                                 return X11_DARK_OLIVE_GREEN_3;
  2337.                                                             }
  2338.                                                             case '4':
  2339.                                                             {
  2340.                                                                 idx += 18;
  2341.                                                                 return X11_DARK_OLIVE_GREEN_4;
  2342.                                                             }
  2343.                                                         }
  2344.                                                     }
  2345.                                                 }
  2346.                                                 case '_' | 0x20:
  2347.                                                 {
  2348.                                                     switch (str[17] | 0x20)
  2349.                                                     {
  2350.                                                         case '1':
  2351.                                                         {
  2352.                                                             idx += 18;
  2353.                                                             return X11_DARK_OLIVE_GREEN_1;
  2354.                                                         }
  2355.                                                         case '2':
  2356.                                                         {
  2357.                                                             idx += 18;
  2358.                                                             return X11_DARK_OLIVE_GREEN_2;
  2359.                                                         }
  2360.                                                         case '3':
  2361.                                                         {
  2362.                                                             idx += 18;
  2363.                                                             return X11_DARK_OLIVE_GREEN_3;
  2364.                                                         }
  2365.                                                         case '4':
  2366.                                                         {
  2367.                                                             idx += 18;
  2368.                                                             return X11_DARK_OLIVE_GREEN_4;
  2369.                                                         }
  2370.                                                     }
  2371.                                                 }
  2372.                                             }
  2373.                                             idx += 16;
  2374.                                             return X11_DARK_OLIVE_GREEN;
  2375.                                         }
  2376.                                         case 'r':
  2377.                                         {
  2378.                                             switch (str[7] | 0x20)
  2379.                                             {
  2380.                                                 case 'a':
  2381.                                                 {
  2382.                                                     if (!str[8] || strcmp(str[8], !"NGE", true, 3))
  2383.                                                     {
  2384.                                                         return -1;
  2385.                                                     }
  2386.                                                     switch (str[11] | 0x20)
  2387.                                                     {
  2388.                                                         case ' ' | 0x20: // ' '
  2389.                                                         {
  2390.                                                             if (str[11])
  2391.                                                             {
  2392.                                                                 switch (str[12] | 0x20)
  2393.                                                                 {
  2394.                                                                     case '1':
  2395.                                                                     {
  2396.                                                                         idx += 13;
  2397.                                                                         return X11_DARK_ORANGE_1;
  2398.                                                                     }
  2399.                                                                     case '2':
  2400.                                                                     {
  2401.                                                                         idx += 13;
  2402.                                                                         return X11_DARK_ORANGE_2;
  2403.                                                                     }
  2404.                                                                     case '3':
  2405.                                                                     {
  2406.                                                                         idx += 13;
  2407.                                                                         return X11_DARK_ORANGE_3;
  2408.                                                                     }
  2409.                                                                     case '4':
  2410.                                                                     {
  2411.                                                                         idx += 13;
  2412.                                                                         return X11_DARK_ORANGE_4;
  2413.                                                                     }
  2414.                                                                 }
  2415.                                                             }
  2416.                                                         }
  2417.                                                         case '_' | 0x20:
  2418.                                                         {
  2419.                                                             switch (str[12] | 0x20)
  2420.                                                             {
  2421.                                                                 case '1':
  2422.                                                                 {
  2423.                                                                     idx += 13;
  2424.                                                                     return X11_DARK_ORANGE_1;
  2425.                                                                 }
  2426.                                                                 case '2':
  2427.                                                                 {
  2428.                                                                     idx += 13;
  2429.                                                                     return X11_DARK_ORANGE_2;
  2430.                                                                 }
  2431.                                                                 case '3':
  2432.                                                                 {
  2433.                                                                     idx += 13;
  2434.                                                                     return X11_DARK_ORANGE_3;
  2435.                                                                 }
  2436.                                                                 case '4':
  2437.                                                                 {
  2438.                                                                     idx += 13;
  2439.                                                                     return X11_DARK_ORANGE_4;
  2440.                                                                 }
  2441.                                                             }
  2442.                                                         }
  2443.                                                     }
  2444.                                                     idx += 11;
  2445.                                                     return X11_DARK_ORANGE;
  2446.                                                 }
  2447.                                                 case 'c':
  2448.                                                 {
  2449.                                                     if (!str[8] || strcmp(str[8], !"HID", true, 3))
  2450.                                                     {
  2451.                                                         return -1;
  2452.                                                     }
  2453.                                                     switch (str[11] | 0x20)
  2454.                                                     {
  2455.                                                         case ' ' | 0x20: // ' '
  2456.                                                         {
  2457.                                                             if (str[11])
  2458.                                                             {
  2459.                                                                 switch (str[12] | 0x20)
  2460.                                                                 {
  2461.                                                                     case '1':
  2462.                                                                     {
  2463.                                                                         idx += 13;
  2464.                                                                         return X11_DARK_ORCHID_1;
  2465.                                                                     }
  2466.                                                                     case '2':
  2467.                                                                     {
  2468.                                                                         idx += 13;
  2469.                                                                         return X11_DARK_ORCHID_2;
  2470.                                                                     }
  2471.                                                                     case '3':
  2472.                                                                     {
  2473.                                                                         idx += 13;
  2474.                                                                         return X11_DARK_ORCHID_3;
  2475.                                                                     }
  2476.                                                                     case '4':
  2477.                                                                     {
  2478.                                                                         idx += 13;
  2479.                                                                         return X11_DARK_ORCHID_4;
  2480.                                                                     }
  2481.                                                                 }
  2482.                                                             }
  2483.                                                         }
  2484.                                                         case '_' | 0x20:
  2485.                                                         {
  2486.                                                             switch (str[12] | 0x20)
  2487.                                                             {
  2488.                                                                 case '1':
  2489.                                                                 {
  2490.                                                                     idx += 13;
  2491.                                                                     return X11_DARK_ORCHID_1;
  2492.                                                                 }
  2493.                                                                 case '2':
  2494.                                                                 {
  2495.                                                                     idx += 13;
  2496.                                                                     return X11_DARK_ORCHID_2;
  2497.                                                                 }
  2498.                                                                 case '3':
  2499.                                                                 {
  2500.                                                                     idx += 13;
  2501.                                                                     return X11_DARK_ORCHID_3;
  2502.                                                                 }
  2503.                                                                 case '4':
  2504.                                                                 {
  2505.                                                                     idx += 13;
  2506.                                                                     return X11_DARK_ORCHID_4;
  2507.                                                                 }
  2508.                                                             }
  2509.                                                         }
  2510.                                                     }
  2511.                                                     idx += 11;
  2512.                                                     return X11_DARK_ORCHID;
  2513.                                                 }
  2514.                                             }
  2515.                                         }
  2516.                                     }
  2517.                                 }
  2518.                                 case 'r':
  2519.                                 {
  2520.                                     if (str[6] && !strcmp(str[6], !"ED", true, 2))
  2521.                                     {
  2522.                                         idx += 8;
  2523.                                         return X11_DARK_RED;
  2524.                                     }
  2525.                                 }
  2526.                                 case 's':
  2527.                                 {
  2528.                                     switch (str[6] | 0x20)
  2529.                                     {
  2530.                                         case 'a':
  2531.                                         {
  2532.                                             if (str[7] && !strcmp(str[7], !"LMON", true, 4))
  2533.                                             {
  2534.                                                 idx += 11;
  2535.                                                 return X11_DARK_SALMON;
  2536.                                             }
  2537.                                         }
  2538.                                         case 'e':
  2539.                                         {
  2540.                                             if (!str[7] || strcmp(str[7], !"A_GREEN", true, 7))
  2541.                                             {
  2542.                                                 return -1;
  2543.                                             }
  2544.                                             switch (str[14] | 0x20)
  2545.                                             {
  2546.                                                 case ' ' | 0x20: // ' '
  2547.                                                 {
  2548.                                                     if (str[14])
  2549.                                                     {
  2550.                                                         switch (str[15] | 0x20)
  2551.                                                         {
  2552.                                                             case '1':
  2553.                                                             {
  2554.                                                                 idx += 16;
  2555.                                                                 return X11_DARK_SEA_GREEN_1;
  2556.                                                             }
  2557.                                                             case '2':
  2558.                                                             {
  2559.                                                                 idx += 16;
  2560.                                                                 return X11_DARK_SEA_GREEN_2;
  2561.                                                             }
  2562.                                                             case '3':
  2563.                                                             {
  2564.                                                                 idx += 16;
  2565.                                                                 return X11_DARK_SEA_GREEN_3;
  2566.                                                             }
  2567.                                                             case '4':
  2568.                                                             {
  2569.                                                                 idx += 16;
  2570.                                                                 return X11_DARK_SEA_GREEN_4;
  2571.                                                             }
  2572.                                                         }
  2573.                                                     }
  2574.                                                 }
  2575.                                                 case '_' | 0x20:
  2576.                                                 {
  2577.                                                     switch (str[15] | 0x20)
  2578.                                                     {
  2579.                                                         case '1':
  2580.                                                         {
  2581.                                                             idx += 16;
  2582.                                                             return X11_DARK_SEA_GREEN_1;
  2583.                                                         }
  2584.                                                         case '2':
  2585.                                                         {
  2586.                                                             idx += 16;
  2587.                                                             return X11_DARK_SEA_GREEN_2;
  2588.                                                         }
  2589.                                                         case '3':
  2590.                                                         {
  2591.                                                             idx += 16;
  2592.                                                             return X11_DARK_SEA_GREEN_3;
  2593.                                                         }
  2594.                                                         case '4':
  2595.                                                         {
  2596.                                                             idx += 16;
  2597.                                                             return X11_DARK_SEA_GREEN_4;
  2598.                                                         }
  2599.                                                     }
  2600.                                                 }
  2601.                                             }
  2602.                                             idx += 14;
  2603.                                             return X11_DARK_SEA_GREEN;
  2604.                                         }
  2605.                                         case 'l':
  2606.                                         {
  2607.                                             if (!str[7] || strcmp(str[7], !"ATE_", true, 4))
  2608.                                             {
  2609.                                                 return -1;
  2610.                                             }
  2611.                                             switch (str[11] | 0x20)
  2612.                                             {
  2613.                                                 case 'b':
  2614.                                                 {
  2615.                                                     if (str[12] && !strcmp(str[12], !"LUE", true, 3))
  2616.                                                     {
  2617.                                                         idx += 15;
  2618.                                                         return X11_DARK_SLATE_BLUE;
  2619.                                                     }
  2620.                                                 }
  2621.                                                 case 'g':
  2622.                                                 {
  2623.                                                     if (str[12] != 'R')
  2624.                                                     {
  2625.                                                         return -1;
  2626.                                                     }
  2627.                                                     switch (str[13] | 0x20)
  2628.                                                     {
  2629.                                                         case 'a':
  2630.                                                         {
  2631.                                                             if (str[14] != 'Y')
  2632.                                                             {
  2633.                                                                 return -1;
  2634.                                                             }
  2635.                                                             switch (str[15] | 0x20)
  2636.                                                             {
  2637.                                                                 case ' ' | 0x20: // ' '
  2638.                                                                 {
  2639.                                                                     if (str[15])
  2640.                                                                     {
  2641.                                                                         switch (str[16] | 0x20)
  2642.                                                                         {
  2643.                                                                             case '1':
  2644.                                                                             {
  2645.                                                                                 idx += 17;
  2646.                                                                                 return X11_DARK_SLATE_GRAY_1;
  2647.                                                                             }
  2648.                                                                             case '2':
  2649.                                                                             {
  2650.                                                                                 idx += 17;
  2651.                                                                                 return X11_DARK_SLATE_GRAY_2;
  2652.                                                                             }
  2653.                                                                             case '3':
  2654.                                                                             {
  2655.                                                                                 idx += 17;
  2656.                                                                                 return X11_DARK_SLATE_GRAY_3;
  2657.                                                                             }
  2658.                                                                             case '4':
  2659.                                                                             {
  2660.                                                                                 idx += 17;
  2661.                                                                                 return X11_DARK_SLATE_GRAY_4;
  2662.                                                                             }
  2663.                                                                         }
  2664.                                                                     }
  2665.                                                                 }
  2666.                                                                 case '_' | 0x20:
  2667.                                                                 {
  2668.                                                                     switch (str[16] | 0x20)
  2669.                                                                     {
  2670.                                                                         case '1':
  2671.                                                                         {
  2672.                                                                             idx += 17;
  2673.                                                                             return X11_DARK_SLATE_GRAY_1;
  2674.                                                                         }
  2675.                                                                         case '2':
  2676.                                                                         {
  2677.                                                                             idx += 17;
  2678.                                                                             return X11_DARK_SLATE_GRAY_2;
  2679.                                                                         }
  2680.                                                                         case '3':
  2681.                                                                         {
  2682.                                                                             idx += 17;
  2683.                                                                             return X11_DARK_SLATE_GRAY_3;
  2684.                                                                         }
  2685.                                                                         case '4':
  2686.                                                                         {
  2687.                                                                             idx += 17;
  2688.                                                                             return X11_DARK_SLATE_GRAY_4;
  2689.                                                                         }
  2690.                                                                     }
  2691.                                                                 }
  2692.                                                             }
  2693.                                                             idx += 15;
  2694.                                                             return X11_DARK_SLATE_GRAY;
  2695.                                                         }
  2696.                                                         case 'e':
  2697.                                                         {
  2698.                                                             if (str[14] == 'Y')
  2699.                                                             {
  2700.                                                                 idx += 15;
  2701.                                                                 return X11_DARK_SLATE_GREY;
  2702.                                                             }
  2703.                                                         }
  2704.                                                     }
  2705.                                                 }
  2706.                                             }
  2707.                                         }
  2708.                                     }
  2709.                                 }
  2710.                                 case 't':
  2711.                                 {
  2712.                                     if (str[6] && !strcmp(str[6], !"URQUOISE", true, 8))
  2713.                                     {
  2714.                                         idx += 14;
  2715.                                         return X11_DARK_TURQUOISE;
  2716.                                     }
  2717.                                 }
  2718.                                 case 'v':
  2719.                                 {
  2720.                                     if (str[6] && !strcmp(str[6], !"IOLET", true, 5))
  2721.                                     {
  2722.                                         idx += 11;
  2723.                                         return X11_DARK_VIOLET;
  2724.                                     }
  2725.                                 }
  2726.                             }
  2727.                         }
  2728.                         case 'b':
  2729.                         {
  2730.                             if (str[5] && !strcmp(str[5], !"LUE", true, 3))
  2731.                             {
  2732.                                 idx += 8;
  2733.                                 return X11_DARKBLUE;
  2734.                             }
  2735.                         }
  2736.                         case 'c':
  2737.                         {
  2738.                             if (str[5] && !strcmp(str[5], !"YAN", true, 3))
  2739.                             {
  2740.                                 idx += 8;
  2741.                                 return X11_DARKCYAN;
  2742.                             }
  2743.                         }
  2744.                         case 'g':
  2745.                         {
  2746.                             switch (str[5] | 0x20)
  2747.                             {
  2748.                                 case 'o':
  2749.                                 {
  2750.                                     if (!str[6] || strcmp(str[6], !"LDENROD", true, 7))
  2751.                                     {
  2752.                                         return -1;
  2753.                                     }
  2754.                                     switch (str[13] | 0x20)
  2755.                                     {
  2756.                                         case '1':
  2757.                                         {
  2758.                                             idx += 14;
  2759.                                             return X11_DARKGOLDENROD1;
  2760.                                         }
  2761.                                         case '2':
  2762.                                         {
  2763.                                             idx += 14;
  2764.                                             return X11_DARKGOLDENROD2;
  2765.                                         }
  2766.                                         case '3':
  2767.                                         {
  2768.                                             idx += 14;
  2769.                                             return X11_DARKGOLDENROD3;
  2770.                                         }
  2771.                                         case '4':
  2772.                                         {
  2773.                                             idx += 14;
  2774.                                             return X11_DARKGOLDENROD4;
  2775.                                         }
  2776.                                     }
  2777.                                     idx += 13;
  2778.                                     return X11_DARKGOLDENROD;
  2779.                                 }
  2780.                                 case 'r':
  2781.                                 {
  2782.                                     switch (str[6] | 0x20)
  2783.                                     {
  2784.                                         case 'a':
  2785.                                         {
  2786.                                             if (str[7] == 'Y')
  2787.                                             {
  2788.                                                 idx += 8;
  2789.                                                 return X11_DARKGRAY;
  2790.                                             }
  2791.                                         }
  2792.                                         case 'e':
  2793.                                         {
  2794.                                             switch (str[7] | 0x20)
  2795.                                             {
  2796.                                                 case 'e':
  2797.                                                 {
  2798.                                                     if (str[8] == 'N')
  2799.                                                     {
  2800.                                                         idx += 9;
  2801.                                                         return X11_DARKGREEN;
  2802.                                                     }
  2803.                                                 }
  2804.                                                 case 'y':
  2805.                                                 {
  2806.                                                     idx += 8;
  2807.                                                     return X11_DARKGREY;
  2808.                                                 }
  2809.                                             }
  2810.                                         }
  2811.                                     }
  2812.                                 }
  2813.                             }
  2814.                         }
  2815.                         case 'k':
  2816.                         {
  2817.                             if (str[5] && !strcmp(str[5], !"HAKI", true, 4))
  2818.                             {
  2819.                                 idx += 9;
  2820.                                 return X11_DARKKHAKI;
  2821.                             }
  2822.                         }
  2823.                         case 'm':
  2824.                         {
  2825.                             if (str[5] && !strcmp(str[5], !"AGENTA", true, 6))
  2826.                             {
  2827.                                 idx += 11;
  2828.                                 return X11_DARKMAGENTA;
  2829.                             }
  2830.                         }
  2831.                         case 'o':
  2832.                         {
  2833.                             switch (str[5] | 0x20)
  2834.                             {
  2835.                                 case 'l':
  2836.                                 {
  2837.                                     if (!str[6] || strcmp(str[6], !"IVEGREEN", true, 8))
  2838.                                     {
  2839.                                         return -1;
  2840.                                     }
  2841.                                     switch (str[14] | 0x20)
  2842.                                     {
  2843.                                         case '1':
  2844.                                         {
  2845.                                             idx += 15;
  2846.                                             return X11_DARKOLIVEGREEN1;
  2847.                                         }
  2848.                                         case '2':
  2849.                                         {
  2850.                                             idx += 15;
  2851.                                             return X11_DARKOLIVEGREEN2;
  2852.                                         }
  2853.                                         case '3':
  2854.                                         {
  2855.                                             idx += 15;
  2856.                                             return X11_DARKOLIVEGREEN3;
  2857.                                         }
  2858.                                         case '4':
  2859.                                         {
  2860.                                             idx += 15;
  2861.                                             return X11_DARKOLIVEGREEN4;
  2862.                                         }
  2863.                                     }
  2864.                                     idx += 14;
  2865.                                     return X11_DARKOLIVEGREEN;
  2866.                                 }
  2867.                                 case 'r':
  2868.                                 {
  2869.                                     switch (str[6] | 0x20)
  2870.                                     {
  2871.                                         case 'a':
  2872.                                         {
  2873.                                             if (!str[7] || strcmp(str[7], !"NGE", true, 3))
  2874.                                             {
  2875.                                                 return -1;
  2876.                                             }
  2877.                                             switch (str[10] | 0x20)
  2878.                                             {
  2879.                                                 case '1':
  2880.                                                 {
  2881.                                                     idx += 11;
  2882.                                                     return X11_DARKORANGE1;
  2883.                                                 }
  2884.                                                 case '2':
  2885.                                                 {
  2886.                                                     idx += 11;
  2887.                                                     return X11_DARKORANGE2;
  2888.                                                 }
  2889.                                                 case '3':
  2890.                                                 {
  2891.                                                     idx += 11;
  2892.                                                     return X11_DARKORANGE3;
  2893.                                                 }
  2894.                                                 case '4':
  2895.                                                 {
  2896.                                                     idx += 11;
  2897.                                                     return X11_DARKORANGE4;
  2898.                                                 }
  2899.                                             }
  2900.                                             idx += 10;
  2901.                                             return X11_DARKORANGE;
  2902.                                         }
  2903.                                         case 'c':
  2904.                                         {
  2905.                                             if (!str[7] || strcmp(str[7], !"HID", true, 3))
  2906.                                             {
  2907.                                                 return -1;
  2908.                                             }
  2909.                                             switch (str[10] | 0x20)
  2910.                                             {
  2911.                                                 case '1':
  2912.                                                 {
  2913.                                                     idx += 11;
  2914.                                                     return X11_DARKORCHID1;
  2915.                                                 }
  2916.                                                 case '2':
  2917.                                                 {
  2918.                                                     idx += 11;
  2919.                                                     return X11_DARKORCHID2;
  2920.                                                 }
  2921.                                                 case '3':
  2922.                                                 {
  2923.                                                     idx += 11;
  2924.                                                     return X11_DARKORCHID3;
  2925.                                                 }
  2926.                                                 case '4':
  2927.                                                 {
  2928.                                                     idx += 11;
  2929.                                                     return X11_DARKORCHID4;
  2930.                                                 }
  2931.                                             }
  2932.                                             idx += 10;
  2933.                                             return X11_DARKORCHID;
  2934.                                         }
  2935.                                     }
  2936.                                 }
  2937.                             }
  2938.                         }
  2939.                         case 'r':
  2940.                         {
  2941.                             if (str[5] && !strcmp(str[5], !"ED", true, 2))
  2942.                             {
  2943.                                 idx += 7;
  2944.                                 return X11_DARKRED;
  2945.                             }
  2946.                         }
  2947.                         case 's':
  2948.                         {
  2949.                             switch (str[5] | 0x20)
  2950.                             {
  2951.                                 case 'a':
  2952.                                 {
  2953.                                     if (str[6] && !strcmp(str[6], !"LMON", true, 4))
  2954.                                     {
  2955.                                         idx += 10;
  2956.                                         return X11_DARKSALMON;
  2957.                                     }
  2958.                                 }
  2959.                                 case 'e':
  2960.                                 {
  2961.                                     if (!str[6] || strcmp(str[6], !"AGREEN", true, 6))
  2962.                                     {
  2963.                                         return -1;
  2964.                                     }
  2965.                                     switch (str[12] | 0x20)
  2966.                                     {
  2967.                                         case '1':
  2968.                                         {
  2969.                                             idx += 13;
  2970.                                             return X11_DARKSEAGREEN1;
  2971.                                         }
  2972.                                         case '2':
  2973.                                         {
  2974.                                             idx += 13;
  2975.                                             return X11_DARKSEAGREEN2;
  2976.                                         }
  2977.                                         case '3':
  2978.                                         {
  2979.                                             idx += 13;
  2980.                                             return X11_DARKSEAGREEN3;
  2981.                                         }
  2982.                                         case '4':
  2983.                                         {
  2984.                                             idx += 13;
  2985.                                             return X11_DARKSEAGREEN4;
  2986.                                         }
  2987.                                     }
  2988.                                     idx += 12;
  2989.                                     return X11_DARKSEAGREEN;
  2990.                                 }
  2991.                                 case 'l':
  2992.                                 {
  2993.                                     if (!str[6] || strcmp(str[6], !"ATE", true, 3))
  2994.                                     {
  2995.                                         return -1;
  2996.                                     }
  2997.                                     switch (str[9] | 0x20)
  2998.                                     {
  2999.                                         case 'b':
  3000.                                         {
  3001.                                             if (str[10] && !strcmp(str[10], !"LUE", true, 3))
  3002.                                             {
  3003.                                                 idx += 13;
  3004.                                                 return X11_DARKSLATEBLUE;
  3005.                                             }
  3006.                                         }
  3007.                                         case 'g':
  3008.                                         {
  3009.                                             if (str[10] != 'R')
  3010.                                             {
  3011.                                                 return -1;
  3012.                                             }
  3013.                                             switch (str[11] | 0x20)
  3014.                                             {
  3015.                                                 case 'a':
  3016.                                                 {
  3017.                                                     if (str[12] != 'Y')
  3018.                                                     {
  3019.                                                         return -1;
  3020.                                                     }
  3021.                                                     switch (str[13] | 0x20)
  3022.                                                     {
  3023.                                                         case '1':
  3024.                                                         {
  3025.                                                             idx += 14;
  3026.                                                             return X11_DARKSLATEGRAY1;
  3027.                                                         }
  3028.                                                         case '2':
  3029.                                                         {
  3030.                                                             idx += 14;
  3031.                                                             return X11_DARKSLATEGRAY2;
  3032.                                                         }
  3033.                                                         case '3':
  3034.                                                         {
  3035.                                                             idx += 14;
  3036.                                                             return X11_DARKSLATEGRAY3;
  3037.                                                         }
  3038.                                                         case '4':
  3039.                                                         {
  3040.                                                             idx += 14;
  3041.                                                             return X11_DARKSLATEGRAY4;
  3042.                                                         }
  3043.                                                     }
  3044.                                                     idx += 13;
  3045.                                                     return X11_DARKSLATEGRAY;
  3046.                                                 }
  3047.                                                 case 'e':
  3048.                                                 {
  3049.                                                     if (str[12] == 'Y')
  3050.                                                     {
  3051.                                                         idx += 13;
  3052.                                                         return X11_DARKSLATEGREY;
  3053.                                                     }
  3054.                                                 }
  3055.                                             }
  3056.                                         }
  3057.                                     }
  3058.                                 }
  3059.                             }
  3060.                         }
  3061.                         case 't':
  3062.                         {
  3063.                             if (str[5] && !strcmp(str[5], !"URQUOISE", true, 8))
  3064.                             {
  3065.                                 idx += 13;
  3066.                                 return X11_DARKTURQUOISE;
  3067.                             }
  3068.                         }
  3069.                         case 'v':
  3070.                         {
  3071.                             if (str[5] && !strcmp(str[5], !"IOLET", true, 5))
  3072.                             {
  3073.                                 idx += 10;
  3074.                                 return X11_DARKVIOLET;
  3075.                             }
  3076.                         }
  3077.                     }
  3078.                 }
  3079.                 case 'e':
  3080.                 {
  3081.                     if (!str[2] || strcmp(str[2], !"EP", true, 2))
  3082.                     {
  3083.                         return -1;
  3084.                     }
  3085.                     switch (str[4] | 0x20)
  3086.                     {
  3087.                         case ' ' | 0x20: // ' '
  3088.                         {
  3089.                             if (str[4])
  3090.                             {
  3091.                                 switch (str[5] | 0x20)
  3092.                                 {
  3093.                                     case 'p':
  3094.                                     {
  3095.                                         if (!str[6] || strcmp(str[6], !"INK", true, 3))
  3096.                                         {
  3097.                                             return -1;
  3098.                                         }
  3099.                                         switch (str[9] | 0x20)
  3100.                                         {
  3101.                                             case ' ' | 0x20: // ' '
  3102.                                             {
  3103.                                                 if (str[9])
  3104.                                                 {
  3105.                                                     switch (str[10] | 0x20)
  3106.                                                     {
  3107.                                                         case '1':
  3108.                                                         {
  3109.                                                             idx += 11;
  3110.                                                             return X11_DEEP_PINK_1;
  3111.                                                         }
  3112.                                                         case '2':
  3113.                                                         {
  3114.                                                             idx += 11;
  3115.                                                             return X11_DEEP_PINK_2;
  3116.                                                         }
  3117.                                                         case '3':
  3118.                                                         {
  3119.                                                             idx += 11;
  3120.                                                             return X11_DEEP_PINK_3;
  3121.                                                         }
  3122.                                                         case '4':
  3123.                                                         {
  3124.                                                             idx += 11;
  3125.                                                             return X11_DEEP_PINK_4;
  3126.                                                         }
  3127.                                                     }
  3128.                                                 }
  3129.                                             }
  3130.                                             case '_' | 0x20:
  3131.                                             {
  3132.                                                 switch (str[10] | 0x20)
  3133.                                                 {
  3134.                                                     case '1':
  3135.                                                     {
  3136.                                                         idx += 11;
  3137.                                                         return X11_DEEP_PINK_1;
  3138.                                                     }
  3139.                                                     case '2':
  3140.                                                     {
  3141.                                                         idx += 11;
  3142.                                                         return X11_DEEP_PINK_2;
  3143.                                                     }
  3144.                                                     case '3':
  3145.                                                     {
  3146.                                                         idx += 11;
  3147.                                                         return X11_DEEP_PINK_3;
  3148.                                                     }
  3149.                                                     case '4':
  3150.                                                     {
  3151.                                                         idx += 11;
  3152.                                                         return X11_DEEP_PINK_4;
  3153.                                                     }
  3154.                                                 }
  3155.                                             }
  3156.                                         }
  3157.                                         idx += 9;
  3158.                                         return X11_DEEP_PINK;
  3159.                                     }
  3160.                                     case 's':
  3161.                                     {
  3162.                                         if (!str[6] || strcmp(str[6], !"KY_BLUE", true, 7))
  3163.                                         {
  3164.                                             return -1;
  3165.                                         }
  3166.                                         switch (str[13] | 0x20)
  3167.                                         {
  3168.                                             case ' ' | 0x20: // ' '
  3169.                                             {
  3170.                                                 if (str[13])
  3171.                                                 {
  3172.                                                     switch (str[14] | 0x20)
  3173.                                                     {
  3174.                                                         case '1':
  3175.                                                         {
  3176.                                                             idx += 15;
  3177.                                                             return X11_DEEP_SKY_BLUE_1;
  3178.                                                         }
  3179.                                                         case '2':
  3180.                                                         {
  3181.                                                             idx += 15;
  3182.                                                             return X11_DEEP_SKY_BLUE_2;
  3183.                                                         }
  3184.                                                         case '3':
  3185.                                                         {
  3186.                                                             idx += 15;
  3187.                                                             return X11_DEEP_SKY_BLUE_3;
  3188.                                                         }
  3189.                                                         case '4':
  3190.                                                         {
  3191.                                                             idx += 15;
  3192.                                                             return X11_DEEP_SKY_BLUE_4;
  3193.                                                         }
  3194.                                                     }
  3195.                                                 }
  3196.                                             }
  3197.                                             case '_' | 0x20:
  3198.                                             {
  3199.                                                 switch (str[14] | 0x20)
  3200.                                                 {
  3201.                                                     case '1':
  3202.                                                     {
  3203.                                                         idx += 15;
  3204.                                                         return X11_DEEP_SKY_BLUE_1;
  3205.                                                     }
  3206.                                                     case '2':
  3207.                                                     {
  3208.                                                         idx += 15;
  3209.                                                         return X11_DEEP_SKY_BLUE_2;
  3210.                                                     }
  3211.                                                     case '3':
  3212.                                                     {
  3213.                                                         idx += 15;
  3214.                                                         return X11_DEEP_SKY_BLUE_3;
  3215.                                                     }
  3216.                                                     case '4':
  3217.                                                     {
  3218.                                                         idx += 15;
  3219.                                                         return X11_DEEP_SKY_BLUE_4;
  3220.                                                     }
  3221.                                                 }
  3222.                                             }
  3223.                                         }
  3224.                                         idx += 13;
  3225.                                         return X11_DEEP_SKY_BLUE;
  3226.                                     }
  3227.                                 }
  3228.                             }
  3229.                         }
  3230.                         case '_' | 0x20:
  3231.                         {
  3232.                             switch (str[5] | 0x20)
  3233.                             {
  3234.                                 case 'p':
  3235.                                 {
  3236.                                     if (!str[6] || strcmp(str[6], !"INK", true, 3))
  3237.                                     {
  3238.                                         return -1;
  3239.                                     }
  3240.                                     switch (str[9] | 0x20)
  3241.                                     {
  3242.                                         case ' ' | 0x20: // ' '
  3243.                                         {
  3244.                                             if (str[9])
  3245.                                             {
  3246.                                                 switch (str[10] | 0x20)
  3247.                                                 {
  3248.                                                     case '1':
  3249.                                                     {
  3250.                                                         idx += 11;
  3251.                                                         return X11_DEEP_PINK_1;
  3252.                                                     }
  3253.                                                     case '2':
  3254.                                                     {
  3255.                                                         idx += 11;
  3256.                                                         return X11_DEEP_PINK_2;
  3257.                                                     }
  3258.                                                     case '3':
  3259.                                                     {
  3260.                                                         idx += 11;
  3261.                                                         return X11_DEEP_PINK_3;
  3262.                                                     }
  3263.                                                     case '4':
  3264.                                                     {
  3265.                                                         idx += 11;
  3266.                                                         return X11_DEEP_PINK_4;
  3267.                                                     }
  3268.                                                 }
  3269.                                             }
  3270.                                         }
  3271.                                         case '_' | 0x20:
  3272.                                         {
  3273.                                             switch (str[10] | 0x20)
  3274.                                             {
  3275.                                                 case '1':
  3276.                                                 {
  3277.                                                     idx += 11;
  3278.                                                     return X11_DEEP_PINK_1;
  3279.                                                 }
  3280.                                                 case '2':
  3281.                                                 {
  3282.                                                     idx += 11;
  3283.                                                     return X11_DEEP_PINK_2;
  3284.                                                 }
  3285.                                                 case '3':
  3286.                                                 {
  3287.                                                     idx += 11;
  3288.                                                     return X11_DEEP_PINK_3;
  3289.                                                 }
  3290.                                                 case '4':
  3291.                                                 {
  3292.                                                     idx += 11;
  3293.                                                     return X11_DEEP_PINK_4;
  3294.                                                 }
  3295.                                             }
  3296.                                         }
  3297.                                     }
  3298.                                     idx += 9;
  3299.                                     return X11_DEEP_PINK;
  3300.                                 }
  3301.                                 case 's':
  3302.                                 {
  3303.                                     if (!str[6] || strcmp(str[6], !"KY_BLUE", true, 7))
  3304.                                     {
  3305.                                         return -1;
  3306.                                     }
  3307.                                     switch (str[13] | 0x20)
  3308.                                     {
  3309.                                         case ' ' | 0x20: // ' '
  3310.                                         {
  3311.                                             if (str[13])
  3312.                                             {
  3313.                                                 switch (str[14] | 0x20)
  3314.                                                 {
  3315.                                                     case '1':
  3316.                                                     {
  3317.                                                         idx += 15;
  3318.                                                         return X11_DEEP_SKY_BLUE_1;
  3319.                                                     }
  3320.                                                     case '2':
  3321.                                                     {
  3322.                                                         idx += 15;
  3323.                                                         return X11_DEEP_SKY_BLUE_2;
  3324.                                                     }
  3325.                                                     case '3':
  3326.                                                     {
  3327.                                                         idx += 15;
  3328.                                                         return X11_DEEP_SKY_BLUE_3;
  3329.                                                     }
  3330.                                                     case '4':
  3331.                                                     {
  3332.                                                         idx += 15;
  3333.                                                         return X11_DEEP_SKY_BLUE_4;
  3334.                                                     }
  3335.                                                 }
  3336.                                             }
  3337.                                         }
  3338.                                         case '_' | 0x20:
  3339.                                         {
  3340.                                             switch (str[14] | 0x20)
  3341.                                             {
  3342.                                                 case '1':
  3343.                                                 {
  3344.                                                     idx += 15;
  3345.                                                     return X11_DEEP_SKY_BLUE_1;
  3346.                                                 }
  3347.                                                 case '2':
  3348.                                                 {
  3349.                                                     idx += 15;
  3350.                                                     return X11_DEEP_SKY_BLUE_2;
  3351.                                                 }
  3352.                                                 case '3':
  3353.                                                 {
  3354.                                                     idx += 15;
  3355.                                                     return X11_DEEP_SKY_BLUE_3;
  3356.                                                 }
  3357.                                                 case '4':
  3358.                                                 {
  3359.                                                     idx += 15;
  3360.                                                     return X11_DEEP_SKY_BLUE_4;
  3361.                                                 }
  3362.                                             }
  3363.                                         }
  3364.                                     }
  3365.                                     idx += 13;
  3366.                                     return X11_DEEP_SKY_BLUE;
  3367.                                 }
  3368.                             }
  3369.                         }
  3370.                         case 'p':
  3371.                         {
  3372.                             if (!str[5] || strcmp(str[5], !"INK", true, 3))
  3373.                             {
  3374.                                 return -1;
  3375.                             }
  3376.                             switch (str[8] | 0x20)
  3377.                             {
  3378.                                 case '1':
  3379.                                 {
  3380.                                     idx += 9;
  3381.                                     return X11_DEEPPINK1;
  3382.                                 }
  3383.                                 case '2':
  3384.                                 {
  3385.                                     idx += 9;
  3386.                                     return X11_DEEPPINK2;
  3387.                                 }
  3388.                                 case '3':
  3389.                                 {
  3390.                                     idx += 9;
  3391.                                     return X11_DEEPPINK3;
  3392.                                 }
  3393.                                 case '4':
  3394.                                 {
  3395.                                     idx += 9;
  3396.                                     return X11_DEEPPINK4;
  3397.                                 }
  3398.                             }
  3399.                             idx += 8;
  3400.                             return X11_DEEPPINK;
  3401.                         }
  3402.                         case 's':
  3403.                         {
  3404.                             if (!str[5] || strcmp(str[5], !"KYBLUE", true, 6))
  3405.                             {
  3406.                                 return -1;
  3407.                             }
  3408.                             switch (str[11] | 0x20)
  3409.                             {
  3410.                                 case '1':
  3411.                                 {
  3412.                                     idx += 12;
  3413.                                     return X11_DEEPSKYBLUE1;
  3414.                                 }
  3415.                                 case '2':
  3416.                                 {
  3417.                                     idx += 12;
  3418.                                     return X11_DEEPSKYBLUE2;
  3419.                                 }
  3420.                                 case '3':
  3421.                                 {
  3422.                                     idx += 12;
  3423.                                     return X11_DEEPSKYBLUE3;
  3424.                                 }
  3425.                                 case '4':
  3426.                                 {
  3427.                                     idx += 12;
  3428.                                     return X11_DEEPSKYBLUE4;
  3429.                                 }
  3430.                             }
  3431.                             idx += 11;
  3432.                             return X11_DEEPSKYBLUE;
  3433.                         }
  3434.                     }
  3435.                 }
  3436.                 case 'i':
  3437.                 {
  3438.                     if (str[2] != 'M')
  3439.                     {
  3440.                         return -1;
  3441.                     }
  3442.                     switch (str[3] | 0x20)
  3443.                     {
  3444.                         case ' ' | 0x20: // ' '
  3445.                         {
  3446.                             if (str[3])
  3447.                             {
  3448.                                 if (!str[4] || strcmp(str[4], !"GR", true, 2))
  3449.                                 {
  3450.                                     return -1;
  3451.                                 }
  3452.                                 switch (str[6] | 0x20)
  3453.                                 {
  3454.                                     case 'a':
  3455.                                     {
  3456.                                         if (str[7] == 'Y')
  3457.                                         {
  3458.                                             idx += 8;
  3459.                                             return X11_DIM_GRAY;
  3460.                                         }
  3461.                                     }
  3462.                                     case 'e':
  3463.                                     {
  3464.                                         if (str[7] == 'Y')
  3465.                                         {
  3466.                                             idx += 8;
  3467.                                             return X11_DIM_GREY;
  3468.                                         }
  3469.                                     }
  3470.                                 }
  3471.                             }
  3472.                         }
  3473.                         case '_' | 0x20:
  3474.                         {
  3475.                             if (!str[4] || strcmp(str[4], !"GR", true, 2))
  3476.                             {
  3477.                                 return -1;
  3478.                             }
  3479.                             switch (str[6] | 0x20)
  3480.                             {
  3481.                                 case 'a':
  3482.                                 {
  3483.                                     if (str[7] == 'Y')
  3484.                                     {
  3485.                                         idx += 8;
  3486.                                         return X11_DIM_GRAY;
  3487.                                     }
  3488.                                 }
  3489.                                 case 'e':
  3490.                                 {
  3491.                                     if (str[7] == 'Y')
  3492.                                     {
  3493.                                         idx += 8;
  3494.                                         return X11_DIM_GREY;
  3495.                                     }
  3496.                                 }
  3497.                             }
  3498.                         }
  3499.                         case 'g':
  3500.                         {
  3501.                             if (str[4] != 'R')
  3502.                             {
  3503.                                 return -1;
  3504.                             }
  3505.                             switch (str[5] | 0x20)
  3506.                             {
  3507.                                 case 'a':
  3508.                                 {
  3509.                                     if (str[6] == 'Y')
  3510.                                     {
  3511.                                         idx += 7;
  3512.                                         return X11_DIMGRAY;
  3513.                                     }
  3514.                                 }
  3515.                                 case 'e':
  3516.                                 {
  3517.                                     if (str[6] == 'Y')
  3518.                                     {
  3519.                                         idx += 7;
  3520.                                         return X11_DIMGREY;
  3521.                                     }
  3522.                                 }
  3523.                             }
  3524.                         }
  3525.                     }
  3526.                 }
  3527.                 case 'o':
  3528.                 {
  3529.                     if (!str[2] || strcmp(str[2], !"DGER", true, 4))
  3530.                     {
  3531.                         return -1;
  3532.                     }
  3533.                     switch (str[6] | 0x20)
  3534.                     {
  3535.                         case ' ' | 0x20: // ' '
  3536.                         {
  3537.                             if (str[6])
  3538.                             {
  3539.                                 if (!str[7] || strcmp(str[7], !"BLUE", true, 4))
  3540.                                 {
  3541.                                     return -1;
  3542.                                 }
  3543.                                 switch (str[11] | 0x20)
  3544.                                 {
  3545.                                     case ' ' | 0x20: // ' '
  3546.                                     {
  3547.                                         if (str[11])
  3548.                                         {
  3549.                                             switch (str[12] | 0x20)
  3550.                                             {
  3551.                                                 case '1':
  3552.                                                 {
  3553.                                                     idx += 13;
  3554.                                                     return X11_DODGER_BLUE_1;
  3555.                                                 }
  3556.                                                 case '2':
  3557.                                                 {
  3558.                                                     idx += 13;
  3559.                                                     return X11_DODGER_BLUE_2;
  3560.                                                 }
  3561.                                                 case '3':
  3562.                                                 {
  3563.                                                     idx += 13;
  3564.                                                     return X11_DODGER_BLUE_3;
  3565.                                                 }
  3566.                                                 case '4':
  3567.                                                 {
  3568.                                                     idx += 13;
  3569.                                                     return X11_DODGER_BLUE_4;
  3570.                                                 }
  3571.                                             }
  3572.                                         }
  3573.                                     }
  3574.                                     case '_' | 0x20:
  3575.                                     {
  3576.                                         switch (str[12] | 0x20)
  3577.                                         {
  3578.                                             case '1':
  3579.                                             {
  3580.                                                 idx += 13;
  3581.                                                 return X11_DODGER_BLUE_1;
  3582.                                             }
  3583.                                             case '2':
  3584.                                             {
  3585.                                                 idx += 13;
  3586.                                                 return X11_DODGER_BLUE_2;
  3587.                                             }
  3588.                                             case '3':
  3589.                                             {
  3590.                                                 idx += 13;
  3591.                                                 return X11_DODGER_BLUE_3;
  3592.                                             }
  3593.                                             case '4':
  3594.                                             {
  3595.                                                 idx += 13;
  3596.                                                 return X11_DODGER_BLUE_4;
  3597.                                             }
  3598.                                         }
  3599.                                     }
  3600.                                 }
  3601.                                 idx += 11;
  3602.                                 return X11_DODGER_BLUE;
  3603.                             }
  3604.                         }
  3605.                         case '_' | 0x20:
  3606.                         {
  3607.                             if (!str[7] || strcmp(str[7], !"BLUE", true, 4))
  3608.                             {
  3609.                                 return -1;
  3610.                             }
  3611.                             switch (str[11] | 0x20)
  3612.                             {
  3613.                                 case ' ' | 0x20: // ' '
  3614.                                 {
  3615.                                     if (str[11])
  3616.                                     {
  3617.                                         switch (str[12] | 0x20)
  3618.                                         {
  3619.                                             case '1':
  3620.                                             {
  3621.                                                 idx += 13;
  3622.                                                 return X11_DODGER_BLUE_1;
  3623.                                             }
  3624.                                             case '2':
  3625.                                             {
  3626.                                                 idx += 13;
  3627.                                                 return X11_DODGER_BLUE_2;
  3628.                                             }
  3629.                                             case '3':
  3630.                                             {
  3631.                                                 idx += 13;
  3632.                                                 return X11_DODGER_BLUE_3;
  3633.                                             }
  3634.                                             case '4':
  3635.                                             {
  3636.                                                 idx += 13;
  3637.                                                 return X11_DODGER_BLUE_4;
  3638.                                             }
  3639.                                         }
  3640.                                     }
  3641.                                 }
  3642.                                 case '_' | 0x20:
  3643.                                 {
  3644.                                     switch (str[12] | 0x20)
  3645.                                     {
  3646.                                         case '1':
  3647.                                         {
  3648.                                             idx += 13;
  3649.                                             return X11_DODGER_BLUE_1;
  3650.                                         }
  3651.                                         case '2':
  3652.                                         {
  3653.                                             idx += 13;
  3654.                                             return X11_DODGER_BLUE_2;
  3655.                                         }
  3656.                                         case '3':
  3657.                                         {
  3658.                                             idx += 13;
  3659.                                             return X11_DODGER_BLUE_3;
  3660.                                         }
  3661.                                         case '4':
  3662.                                         {
  3663.                                             idx += 13;
  3664.                                             return X11_DODGER_BLUE_4;
  3665.                                         }
  3666.                                     }
  3667.                                 }
  3668.                             }
  3669.                             idx += 11;
  3670.                             return X11_DODGER_BLUE;
  3671.                         }
  3672.                         case 'b':
  3673.                         {
  3674.                             if (!str[7] || strcmp(str[7], !"LUE", true, 3))
  3675.                             {
  3676.                                 return -1;
  3677.                             }
  3678.                             switch (str[10] | 0x20)
  3679.                             {
  3680.                                 case '1':
  3681.                                 {
  3682.                                     idx += 11;
  3683.                                     return X11_DODGERBLUE1;
  3684.                                 }
  3685.                                 case '2':
  3686.                                 {
  3687.                                     idx += 11;
  3688.                                     return X11_DODGERBLUE2;
  3689.                                 }
  3690.                                 case '3':
  3691.                                 {
  3692.                                     idx += 11;
  3693.                                     return X11_DODGERBLUE3;
  3694.                                 }
  3695.                                 case '4':
  3696.                                 {
  3697.                                     idx += 11;
  3698.                                     return X11_DODGERBLUE4;
  3699.                                 }
  3700.                             }
  3701.                             idx += 10;
  3702.                             return X11_DODGERBLUE;
  3703.                         }
  3704.                     }
  3705.                 }
  3706.             }
  3707.         }
  3708.         case 'f':
  3709.         {
  3710.             switch (str[1] | 0x20)
  3711.             {
  3712.                 case 'i':
  3713.                 {
  3714.                     if (!str[2] || strcmp(str[2], !"REBRICK", true, 7))
  3715.                     {
  3716.                         return -1;
  3717.                     }
  3718.                     switch (str[9] | 0x20)
  3719.                     {
  3720.                         case ' ' | 0x20: // ' '
  3721.                         {
  3722.                             if (str[9])
  3723.                             {
  3724.                                 switch (str[10] | 0x20)
  3725.                                 {
  3726.                                     case '1':
  3727.                                     {
  3728.                                         idx += 11;
  3729.                                         return X11_FIREBRICK_1;
  3730.                                     }
  3731.                                     case '2':
  3732.                                     {
  3733.                                         idx += 11;
  3734.                                         return X11_FIREBRICK_2;
  3735.                                     }
  3736.                                     case '3':
  3737.                                     {
  3738.                                         idx += 11;
  3739.                                         return X11_FIREBRICK_3;
  3740.                                     }
  3741.                                     case '4':
  3742.                                     {
  3743.                                         idx += 11;
  3744.                                         return X11_FIREBRICK_4;
  3745.                                     }
  3746.                                 }
  3747.                             }
  3748.                         }
  3749.                         case '_' | 0x20:
  3750.                         {
  3751.                             switch (str[10] | 0x20)
  3752.                             {
  3753.                                 case '1':
  3754.                                 {
  3755.                                     idx += 11;
  3756.                                     return X11_FIREBRICK_1;
  3757.                                 }
  3758.                                 case '2':
  3759.                                 {
  3760.                                     idx += 11;
  3761.                                     return X11_FIREBRICK_2;
  3762.                                 }
  3763.                                 case '3':
  3764.                                 {
  3765.                                     idx += 11;
  3766.                                     return X11_FIREBRICK_3;
  3767.                                 }
  3768.                                 case '4':
  3769.                                 {
  3770.                                     idx += 11;
  3771.                                     return X11_FIREBRICK_4;
  3772.                                 }
  3773.                             }
  3774.                         }
  3775.                         case '1':
  3776.                         {
  3777.                             idx += 10;
  3778.                             return X11_FIREBRICK1;
  3779.                         }
  3780.                         case '2':
  3781.                         {
  3782.                             idx += 10;
  3783.                             return X11_FIREBRICK2;
  3784.                         }
  3785.                         case '3':
  3786.                         {
  3787.                             idx += 10;
  3788.                             return X11_FIREBRICK3;
  3789.                         }
  3790.                         case '4':
  3791.                         {
  3792.                             idx += 10;
  3793.                             return X11_FIREBRICK4;
  3794.                         }
  3795.                     }
  3796.                     idx += 9;
  3797.                     return X11_FIREBRICK;
  3798.                 }
  3799.                 case 'l':
  3800.                 {
  3801.                     if (!str[2] || strcmp(str[2], !"ORAL", true, 4))
  3802.                     {
  3803.                         return -1;
  3804.                     }
  3805.                     switch (str[6] | 0x20)
  3806.                     {
  3807.                         case ' ' | 0x20: // ' '
  3808.                         {
  3809.                             if (str[6])
  3810.                             {
  3811.                                 if (str[7] && !strcmp(str[7], !"WHITE", true, 5))
  3812.                                 {
  3813.                                     idx += 12;
  3814.                                     return X11_FLORAL_WHITE;
  3815.                                 }
  3816.                             }
  3817.                         }
  3818.                         case '_' | 0x20:
  3819.                         {
  3820.                             if (str[7] && !strcmp(str[7], !"WHITE", true, 5))
  3821.                             {
  3822.                                 idx += 12;
  3823.                                 return X11_FLORAL_WHITE;
  3824.                             }
  3825.                         }
  3826.                         case 'w':
  3827.                         {
  3828.                             if (str[7] && !strcmp(str[7], !"HITE", true, 4))
  3829.                             {
  3830.                                 idx += 11;
  3831.                                 return X11_FLORALWHITE;
  3832.                             }
  3833.                         }
  3834.                     }
  3835.                 }
  3836.                 case 'o':
  3837.                 {
  3838.                     if (!str[2] || strcmp(str[2], !"REST", true, 4))
  3839.                     {
  3840.                         return -1;
  3841.                     }
  3842.                     switch (str[6] | 0x20)
  3843.                     {
  3844.                         case ' ' | 0x20: // ' '
  3845.                         {
  3846.                             if (str[6])
  3847.                             {
  3848.                                 if (str[7] && !strcmp(str[7], !"GREEN", true, 5))
  3849.                                 {
  3850.                                     idx += 12;
  3851.                                     return X11_FOREST_GREEN;
  3852.                                 }
  3853.                             }
  3854.                         }
  3855.                         case '_' | 0x20:
  3856.                         {
  3857.                             if (str[7] && !strcmp(str[7], !"GREEN", true, 5))
  3858.                             {
  3859.                                 idx += 12;
  3860.                                 return X11_FOREST_GREEN;
  3861.                             }
  3862.                         }
  3863.                         case 'g':
  3864.                         {
  3865.                             if (str[7] && !strcmp(str[7], !"REEN", true, 4))
  3866.                             {
  3867.                                 idx += 11;
  3868.                                 return X11_FORESTGREEN;
  3869.                             }
  3870.                         }
  3871.                     }
  3872.                 }
  3873.             }
  3874.         }
  3875.         case 'g':
  3876.         {
  3877.             switch (str[1] | 0x20)
  3878.             {
  3879.                 case 'a':
  3880.                 {
  3881.                     if (str[2] && !strcmp(str[2], !"INSBORO", true, 7))
  3882.                     {
  3883.                         idx += 9;
  3884.                         return X11_GAINSBORO;
  3885.                     }
  3886.                 }
  3887.                 case 'h':
  3888.                 {
  3889.                     if (!str[2] || strcmp(str[2], !"OST", true, 3))
  3890.                     {
  3891.                         return -1;
  3892.                     }
  3893.                     switch (str[5] | 0x20)
  3894.                     {
  3895.                         case ' ' | 0x20: // ' '
  3896.                         {
  3897.                             if (str[5])
  3898.                             {
  3899.                                 if (str[6] && !strcmp(str[6], !"WHITE", true, 5))
  3900.                                 {
  3901.                                     idx += 11;
  3902.                                     return X11_GHOST_WHITE;
  3903.                                 }
  3904.                             }
  3905.                         }
  3906.                         case '_' | 0x20:
  3907.                         {
  3908.                             if (str[6] && !strcmp(str[6], !"WHITE", true, 5))
  3909.                             {
  3910.                                 idx += 11;
  3911.                                 return X11_GHOST_WHITE;
  3912.                             }
  3913.                         }
  3914.                         case 'w':
  3915.                         {
  3916.                             if (str[6] && !strcmp(str[6], !"HITE", true, 4))
  3917.                             {
  3918.                                 idx += 10;
  3919.                                 return X11_GHOSTWHITE;
  3920.                             }
  3921.                         }
  3922.                     }
  3923.                 }
  3924.                 case 'o':
  3925.                 {
  3926.                     if (!str[2] || strcmp(str[2], !"LD", true, 2))
  3927.                     {
  3928.                         return -1;
  3929.                     }
  3930.                     switch (str[4] | 0x20)
  3931.                     {
  3932.                         case ' ' | 0x20: // ' '
  3933.                         {
  3934.                             if (str[4])
  3935.                             {
  3936.                                 switch (str[5] | 0x20)
  3937.                                 {
  3938.                                     case '1':
  3939.                                     {
  3940.                                         idx += 6;
  3941.                                         return X11_GOLD_1;
  3942.                                     }
  3943.                                     case '2':
  3944.                                     {
  3945.                                         idx += 6;
  3946.                                         return X11_GOLD_2;
  3947.                                     }
  3948.                                     case '3':
  3949.                                     {
  3950.                                         idx += 6;
  3951.                                         return X11_GOLD_3;
  3952.                                     }
  3953.                                     case '4':
  3954.                                     {
  3955.                                         idx += 6;
  3956.                                         return X11_GOLD_4;
  3957.                                     }
  3958.                                 }
  3959.                             }
  3960.                         }
  3961.                         case '_' | 0x20:
  3962.                         {
  3963.                             switch (str[5] | 0x20)
  3964.                             {
  3965.                                 case '1':
  3966.                                 {
  3967.                                     idx += 6;
  3968.                                     return X11_GOLD_1;
  3969.                                 }
  3970.                                 case '2':
  3971.                                 {
  3972.                                     idx += 6;
  3973.                                     return X11_GOLD_2;
  3974.                                 }
  3975.                                 case '3':
  3976.                                 {
  3977.                                     idx += 6;
  3978.                                     return X11_GOLD_3;
  3979.                                 }
  3980.                                 case '4':
  3981.                                 {
  3982.                                     idx += 6;
  3983.                                     return X11_GOLD_4;
  3984.                                 }
  3985.                             }
  3986.                         }
  3987.                         case '1':
  3988.                         {
  3989.                             idx += 5;
  3990.                             return X11_GOLD1;
  3991.                         }
  3992.                         case '2':
  3993.                         {
  3994.                             idx += 5;
  3995.                             return X11_GOLD2;
  3996.                         }
  3997.                         case '3':
  3998.                         {
  3999.                             idx += 5;
  4000.                             return X11_GOLD3;
  4001.                         }
  4002.                         case '4':
  4003.                         {
  4004.                             idx += 5;
  4005.                             return X11_GOLD4;
  4006.                         }
  4007.                         case 'e':
  4008.                         {
  4009.                             if (!str[5] || strcmp(str[5], !"NROD", true, 4))
  4010.                             {
  4011.                                 return -1;
  4012.                             }
  4013.                             switch (str[9] | 0x20)
  4014.                             {
  4015.                                 case ' ' | 0x20: // ' '
  4016.                                 {
  4017.                                     if (str[9])
  4018.                                     {
  4019.                                         switch (str[10] | 0x20)
  4020.                                         {
  4021.                                             case '1':
  4022.                                             {
  4023.                                                 idx += 11;
  4024.                                                 return X11_GOLDENROD_1;
  4025.                                             }
  4026.                                             case '2':
  4027.                                             {
  4028.                                                 idx += 11;
  4029.                                                 return X11_GOLDENROD_2;
  4030.                                             }
  4031.                                             case '3':
  4032.                                             {
  4033.                                                 idx += 11;
  4034.                                                 return X11_GOLDENROD_3;
  4035.                                             }
  4036.                                             case '4':
  4037.                                             {
  4038.                                                 idx += 11;
  4039.                                                 return X11_GOLDENROD_4;
  4040.                                             }
  4041.                                         }
  4042.                                     }
  4043.                                 }
  4044.                                 case '_' | 0x20:
  4045.                                 {
  4046.                                     switch (str[10] | 0x20)
  4047.                                     {
  4048.                                         case '1':
  4049.                                         {
  4050.                                             idx += 11;
  4051.                                             return X11_GOLDENROD_1;
  4052.                                         }
  4053.                                         case '2':
  4054.                                         {
  4055.                                             idx += 11;
  4056.                                             return X11_GOLDENROD_2;
  4057.                                         }
  4058.                                         case '3':
  4059.                                         {
  4060.                                             idx += 11;
  4061.                                             return X11_GOLDENROD_3;
  4062.                                         }
  4063.                                         case '4':
  4064.                                         {
  4065.                                             idx += 11;
  4066.                                             return X11_GOLDENROD_4;
  4067.                                         }
  4068.                                     }
  4069.                                 }
  4070.                                 case '1':
  4071.                                 {
  4072.                                     idx += 10;
  4073.                                     return X11_GOLDENROD1;
  4074.                                 }
  4075.                                 case '2':
  4076.                                 {
  4077.                                     idx += 10;
  4078.                                     return X11_GOLDENROD2;
  4079.                                 }
  4080.                                 case '3':
  4081.                                 {
  4082.                                     idx += 10;
  4083.                                     return X11_GOLDENROD3;
  4084.                                 }
  4085.                                 case '4':
  4086.                                 {
  4087.                                     idx += 10;
  4088.                                     return X11_GOLDENROD4;
  4089.                                 }
  4090.                             }
  4091.                             idx += 9;
  4092.                             return X11_GOLDENROD;
  4093.                         }
  4094.                     }
  4095.                     idx += 4;
  4096.                     return X11_GOLD;
  4097.                 }
  4098.                 case 'r':
  4099.                 {
  4100.                     switch (str[2] | 0x20)
  4101.                     {
  4102.                         case 'a':
  4103.                         {
  4104.                             if (str[3] != 'Y')
  4105.                             {
  4106.                                 return -1;
  4107.                             }
  4108.                             switch (str[4] | 0x20)
  4109.                             {
  4110.                                 case ' ' | 0x20: // ' '
  4111.                                 {
  4112.                                     if (str[4])
  4113.                                     {
  4114.                                         switch (str[5] | 0x20)
  4115.                                         {
  4116.                                             case '0':
  4117.                                             {
  4118.                                                 idx += 6;
  4119.                                                 return X11_GRAY_0;
  4120.                                             }
  4121.                                             case '1':
  4122.                                             {
  4123.                                                 switch (str[6] | 0x20)
  4124.                                                 {
  4125.                                                     case '0':
  4126.                                                     {
  4127.                                                         switch (str[7] | 0x20)
  4128.                                                         {
  4129.                                                             case '0':
  4130.                                                             {
  4131.                                                                 idx += 8;
  4132.                                                                 return X11_GRAY_100;
  4133.                                                             }
  4134.                                                         }
  4135.                                                         idx += 7;
  4136.                                                         return X11_GRAY_10;
  4137.                                                     }
  4138.                                                     case '1':
  4139.                                                     {
  4140.                                                         idx += 7;
  4141.                                                         return X11_GRAY_11;
  4142.                                                     }
  4143.                                                     case '2':
  4144.                                                     {
  4145.                                                         idx += 7;
  4146.                                                         return X11_GRAY_12;
  4147.                                                     }
  4148.                                                     case '3':
  4149.                                                     {
  4150.                                                         idx += 7;
  4151.                                                         return X11_GRAY_13;
  4152.                                                     }
  4153.                                                     case '4':
  4154.                                                     {
  4155.                                                         idx += 7;
  4156.                                                         return X11_GRAY_14;
  4157.                                                     }
  4158.                                                     case '5':
  4159.                                                     {
  4160.                                                         idx += 7;
  4161.                                                         return X11_GRAY_15;
  4162.                                                     }
  4163.                                                     case '6':
  4164.                                                     {
  4165.                                                         idx += 7;
  4166.                                                         return X11_GRAY_16;
  4167.                                                     }
  4168.                                                     case '7':
  4169.                                                     {
  4170.                                                         idx += 7;
  4171.                                                         return X11_GRAY_17;
  4172.                                                     }
  4173.                                                     case '8':
  4174.                                                     {
  4175.                                                         idx += 7;
  4176.                                                         return X11_GRAY_18;
  4177.                                                     }
  4178.                                                     case '9':
  4179.                                                     {
  4180.                                                         idx += 7;
  4181.                                                         return X11_GRAY_19;
  4182.                                                     }
  4183.                                                 }
  4184.                                                 idx += 6;
  4185.                                                 return X11_GRAY_1;
  4186.                                             }
  4187.                                             case '2':
  4188.                                             {
  4189.                                                 switch (str[6] | 0x20)
  4190.                                                 {
  4191.                                                     case '0':
  4192.                                                     {
  4193.                                                         idx += 7;
  4194.                                                         return X11_GRAY_20;
  4195.                                                     }
  4196.                                                     case '1':
  4197.                                                     {
  4198.                                                         idx += 7;
  4199.                                                         return X11_GRAY_21;
  4200.                                                     }
  4201.                                                     case '2':
  4202.                                                     {
  4203.                                                         idx += 7;
  4204.                                                         return X11_GRAY_22;
  4205.                                                     }
  4206.                                                     case '3':
  4207.                                                     {
  4208.                                                         idx += 7;
  4209.                                                         return X11_GRAY_23;
  4210.                                                     }
  4211.                                                     case '4':
  4212.                                                     {
  4213.                                                         idx += 7;
  4214.                                                         return X11_GRAY_24;
  4215.                                                     }
  4216.                                                     case '5':
  4217.                                                     {
  4218.                                                         idx += 7;
  4219.                                                         return X11_GRAY_25;
  4220.                                                     }
  4221.                                                     case '6':
  4222.                                                     {
  4223.                                                         idx += 7;
  4224.                                                         return X11_GRAY_26;
  4225.                                                     }
  4226.                                                     case '7':
  4227.                                                     {
  4228.                                                         idx += 7;
  4229.                                                         return X11_GRAY_27;
  4230.                                                     }
  4231.                                                     case '8':
  4232.                                                     {
  4233.                                                         idx += 7;
  4234.                                                         return X11_GRAY_28;
  4235.                                                     }
  4236.                                                     case '9':
  4237.                                                     {
  4238.                                                         idx += 7;
  4239.                                                         return X11_GRAY_29;
  4240.                                                     }
  4241.                                                 }
  4242.                                                 idx += 6;
  4243.                                                 return X11_GRAY_2;
  4244.                                             }
  4245.                                             case '3':
  4246.                                             {
  4247.                                                 switch (str[6] | 0x20)
  4248.                                                 {
  4249.                                                     case '0':
  4250.                                                     {
  4251.                                                         idx += 7;
  4252.                                                         return X11_GRAY_30;
  4253.                                                     }
  4254.                                                     case '1':
  4255.                                                     {
  4256.                                                         idx += 7;
  4257.                                                         return X11_GRAY_31;
  4258.                                                     }
  4259.                                                     case '2':
  4260.                                                     {
  4261.                                                         idx += 7;
  4262.                                                         return X11_GRAY_32;
  4263.                                                     }
  4264.                                                     case '3':
  4265.                                                     {
  4266.                                                         idx += 7;
  4267.                                                         return X11_GRAY_33;
  4268.                                                     }
  4269.                                                     case '4':
  4270.                                                     {
  4271.                                                         idx += 7;
  4272.                                                         return X11_GRAY_34;
  4273.                                                     }
  4274.                                                     case '5':
  4275.                                                     {
  4276.                                                         idx += 7;
  4277.                                                         return X11_GRAY_35;
  4278.                                                     }
  4279.                                                     case '6':
  4280.                                                     {
  4281.                                                         idx += 7;
  4282.                                                         return X11_GRAY_36;
  4283.                                                     }
  4284.                                                     case '7':
  4285.                                                     {
  4286.                                                         idx += 7;
  4287.                                                         return X11_GRAY_37;
  4288.                                                     }
  4289.                                                     case '8':
  4290.                                                     {
  4291.                                                         idx += 7;
  4292.                                                         return X11_GRAY_38;
  4293.                                                     }
  4294.                                                     case '9':
  4295.                                                     {
  4296.                                                         idx += 7;
  4297.                                                         return X11_GRAY_39;
  4298.                                                     }
  4299.                                                 }
  4300.                                                 idx += 6;
  4301.                                                 return X11_GRAY_3;
  4302.                                             }
  4303.                                             case '4':
  4304.                                             {
  4305.                                                 switch (str[6] | 0x20)
  4306.                                                 {
  4307.                                                     case '0':
  4308.                                                     {
  4309.                                                         idx += 7;
  4310.                                                         return X11_GRAY_40;
  4311.                                                     }
  4312.                                                     case '1':
  4313.                                                     {
  4314.                                                         idx += 7;
  4315.                                                         return X11_GRAY_41;
  4316.                                                     }
  4317.                                                     case '2':
  4318.                                                     {
  4319.                                                         idx += 7;
  4320.                                                         return X11_GRAY_42;
  4321.                                                     }
  4322.                                                     case '3':
  4323.                                                     {
  4324.                                                         idx += 7;
  4325.                                                         return X11_GRAY_43;
  4326.                                                     }
  4327.                                                     case '4':
  4328.                                                     {
  4329.                                                         idx += 7;
  4330.                                                         return X11_GRAY_44;
  4331.                                                     }
  4332.                                                     case '5':
  4333.                                                     {
  4334.                                                         idx += 7;
  4335.                                                         return X11_GRAY_45;
  4336.                                                     }
  4337.                                                     case '6':
  4338.                                                     {
  4339.                                                         idx += 7;
  4340.                                                         return X11_GRAY_46;
  4341.                                                     }
  4342.                                                     case '7':
  4343.                                                     {
  4344.                                                         idx += 7;
  4345.                                                         return X11_GRAY_47;
  4346.                                                     }
  4347.                                                     case '8':
  4348.                                                     {
  4349.                                                         idx += 7;
  4350.                                                         return X11_GRAY_48;
  4351.                                                     }
  4352.                                                     case '9':
  4353.                                                     {
  4354.                                                         idx += 7;
  4355.                                                         return X11_GRAY_49;
  4356.                                                     }
  4357.                                                 }
  4358.                                                 idx += 6;
  4359.                                                 return X11_GRAY_4;
  4360.                                             }
  4361.                                             case '5':
  4362.                                             {
  4363.                                                 switch (str[6] | 0x20)
  4364.                                                 {
  4365.                                                     case '0':
  4366.                                                     {
  4367.                                                         idx += 7;
  4368.                                                         return X11_GRAY_50;
  4369.                                                     }
  4370.                                                     case '1':
  4371.                                                     {
  4372.                                                         idx += 7;
  4373.                                                         return X11_GRAY_51;
  4374.                                                     }
  4375.                                                     case '2':
  4376.                                                     {
  4377.                                                         idx += 7;
  4378.                                                         return X11_GRAY_52;
  4379.                                                     }
  4380.                                                     case '3':
  4381.                                                     {
  4382.                                                         idx += 7;
  4383.                                                         return X11_GRAY_53;
  4384.                                                     }
  4385.                                                     case '4':
  4386.                                                     {
  4387.                                                         idx += 7;
  4388.                                                         return X11_GRAY_54;
  4389.                                                     }
  4390.                                                     case '5':
  4391.                                                     {
  4392.                                                         idx += 7;
  4393.                                                         return X11_GRAY_55;
  4394.                                                     }
  4395.                                                     case '6':
  4396.                                                     {
  4397.                                                         idx += 7;
  4398.                                                         return X11_GRAY_56;
  4399.                                                     }
  4400.                                                     case '7':
  4401.                                                     {
  4402.                                                         idx += 7;
  4403.                                                         return X11_GRAY_57;
  4404.                                                     }
  4405.                                                     case '8':
  4406.                                                     {
  4407.                                                         idx += 7;
  4408.                                                         return X11_GRAY_58;
  4409.                                                     }
  4410.                                                     case '9':
  4411.                                                     {
  4412.                                                         idx += 7;
  4413.                                                         return X11_GRAY_59;
  4414.                                                     }
  4415.                                                 }
  4416.                                                 idx += 6;
  4417.                                                 return X11_GRAY_5;
  4418.                                             }
  4419.                                             case '6':
  4420.                                             {
  4421.                                                 switch (str[6] | 0x20)
  4422.                                                 {
  4423.                                                     case '0':
  4424.                                                     {
  4425.                                                         idx += 7;
  4426.                                                         return X11_GRAY_60;
  4427.                                                     }
  4428.                                                     case '1':
  4429.                                                     {
  4430.                                                         idx += 7;
  4431.                                                         return X11_GRAY_61;
  4432.                                                     }
  4433.                                                     case '2':
  4434.                                                     {
  4435.                                                         idx += 7;
  4436.                                                         return X11_GRAY_62;
  4437.                                                     }
  4438.                                                     case '3':
  4439.                                                     {
  4440.                                                         idx += 7;
  4441.                                                         return X11_GRAY_63;
  4442.                                                     }
  4443.                                                     case '4':
  4444.                                                     {
  4445.                                                         idx += 7;
  4446.                                                         return X11_GRAY_64;
  4447.                                                     }
  4448.                                                     case '5':
  4449.                                                     {
  4450.                                                         idx += 7;
  4451.                                                         return X11_GRAY_65;
  4452.                                                     }
  4453.                                                     case '6':
  4454.                                                     {
  4455.                                                         idx += 7;
  4456.                                                         return X11_GRAY_66;
  4457.                                                     }
  4458.                                                     case '7':
  4459.                                                     {
  4460.                                                         idx += 7;
  4461.                                                         return X11_GRAY_67;
  4462.                                                     }
  4463.                                                     case '8':
  4464.                                                     {
  4465.                                                         idx += 7;
  4466.                                                         return X11_GRAY_68;
  4467.                                                     }
  4468.                                                     case '9':
  4469.                                                     {
  4470.                                                         idx += 7;
  4471.                                                         return X11_GRAY_69;
  4472.                                                     }
  4473.                                                 }
  4474.                                                 idx += 6;
  4475.                                                 return X11_GRAY_6;
  4476.                                             }
  4477.                                             case '7':
  4478.                                             {
  4479.                                                 switch (str[6] | 0x20)
  4480.                                                 {
  4481.                                                     case '0':
  4482.                                                     {
  4483.                                                         idx += 7;
  4484.                                                         return X11_GRAY_70;
  4485.                                                     }
  4486.                                                     case '1':
  4487.                                                     {
  4488.                                                         idx += 7;
  4489.                                                         return X11_GRAY_71;
  4490.                                                     }
  4491.                                                     case '2':
  4492.                                                     {
  4493.                                                         idx += 7;
  4494.                                                         return X11_GRAY_72;
  4495.                                                     }
  4496.                                                     case '3':
  4497.                                                     {
  4498.                                                         idx += 7;
  4499.                                                         return X11_GRAY_73;
  4500.                                                     }
  4501.                                                     case '4':
  4502.                                                     {
  4503.                                                         idx += 7;
  4504.                                                         return X11_GRAY_74;
  4505.                                                     }
  4506.                                                     case '5':
  4507.                                                     {
  4508.                                                         idx += 7;
  4509.                                                         return X11_GRAY_75;
  4510.                                                     }
  4511.                                                     case '6':
  4512.                                                     {
  4513.                                                         idx += 7;
  4514.                                                         return X11_GRAY_76;
  4515.                                                     }
  4516.                                                     case '7':
  4517.                                                     {
  4518.                                                         idx += 7;
  4519.                                                         return X11_GRAY_77;
  4520.                                                     }
  4521.                                                     case '8':
  4522.                                                     {
  4523.                                                         idx += 7;
  4524.                                                         return X11_GRAY_78;
  4525.                                                     }
  4526.                                                     case '9':
  4527.                                                     {
  4528.                                                         idx += 7;
  4529.                                                         return X11_GRAY_79;
  4530.                                                     }
  4531.                                                 }
  4532.                                                 idx += 6;
  4533.                                                 return X11_GRAY_7;
  4534.                                             }
  4535.                                             case '8':
  4536.                                             {
  4537.                                                 switch (str[6] | 0x20)
  4538.                                                 {
  4539.                                                     case '0':
  4540.                                                     {
  4541.                                                         idx += 7;
  4542.                                                         return X11_GRAY_80;
  4543.                                                     }
  4544.                                                     case '1':
  4545.                                                     {
  4546.                                                         idx += 7;
  4547.                                                         return X11_GRAY_81;
  4548.                                                     }
  4549.                                                     case '2':
  4550.                                                     {
  4551.                                                         idx += 7;
  4552.                                                         return X11_GRAY_82;
  4553.                                                     }
  4554.                                                     case '3':
  4555.                                                     {
  4556.                                                         idx += 7;
  4557.                                                         return X11_GRAY_83;
  4558.                                                     }
  4559.                                                     case '4':
  4560.                                                     {
  4561.                                                         idx += 7;
  4562.                                                         return X11_GRAY_84;
  4563.                                                     }
  4564.                                                     case '5':
  4565.                                                     {
  4566.                                                         idx += 7;
  4567.                                                         return X11_GRAY_85;
  4568.                                                     }
  4569.                                                     case '6':
  4570.                                                     {
  4571.                                                         idx += 7;
  4572.                                                         return X11_GRAY_86;
  4573.                                                     }
  4574.                                                     case '7':
  4575.                                                     {
  4576.                                                         idx += 7;
  4577.                                                         return X11_GRAY_87;
  4578.                                                     }
  4579.                                                     case '8':
  4580.                                                     {
  4581.                                                         idx += 7;
  4582.                                                         return X11_GRAY_88;
  4583.                                                     }
  4584.                                                     case '9':
  4585.                                                     {
  4586.                                                         idx += 7;
  4587.                                                         return X11_GRAY_89;
  4588.                                                     }
  4589.                                                 }
  4590.                                                 idx += 6;
  4591.                                                 return X11_GRAY_8;
  4592.                                             }
  4593.                                             case '9':
  4594.                                             {
  4595.                                                 switch (str[6] | 0x20)
  4596.                                                 {
  4597.                                                     case '0':
  4598.                                                     {
  4599.                                                         idx += 7;
  4600.                                                         return X11_GRAY_90;
  4601.                                                     }
  4602.                                                     case '1':
  4603.                                                     {
  4604.                                                         idx += 7;
  4605.                                                         return X11_GRAY_91;
  4606.                                                     }
  4607.                                                     case '2':
  4608.                                                     {
  4609.                                                         idx += 7;
  4610.                                                         return X11_GRAY_92;
  4611.                                                     }
  4612.                                                     case '3':
  4613.                                                     {
  4614.                                                         idx += 7;
  4615.                                                         return X11_GRAY_93;
  4616.                                                     }
  4617.                                                     case '4':
  4618.                                                     {
  4619.                                                         idx += 7;
  4620.                                                         return X11_GRAY_94;
  4621.                                                     }
  4622.                                                     case '5':
  4623.                                                     {
  4624.                                                         idx += 7;
  4625.                                                         return X11_GRAY_95;
  4626.                                                     }
  4627.                                                     case '6':
  4628.                                                     {
  4629.                                                         idx += 7;
  4630.                                                         return X11_GRAY_96;
  4631.                                                     }
  4632.                                                     case '7':
  4633.                                                     {
  4634.                                                         idx += 7;
  4635.                                                         return X11_GRAY_97;
  4636.                                                     }
  4637.                                                     case '8':
  4638.                                                     {
  4639.                                                         idx += 7;
  4640.                                                         return X11_GRAY_98;
  4641.                                                     }
  4642.                                                     case '9':
  4643.                                                     {
  4644.                                                         idx += 7;
  4645.                                                         return X11_GRAY_99;
  4646.                                                     }
  4647.                                                 }
  4648.                                                 idx += 6;
  4649.                                                 return X11_GRAY_9;
  4650.                                             }
  4651.                                         }
  4652.                                     }
  4653.                                 }
  4654.                                 case '_' | 0x20:
  4655.                                 {
  4656.                                     switch (str[5] | 0x20)
  4657.                                     {
  4658.                                         case '0':
  4659.                                         {
  4660.                                             idx += 6;
  4661.                                             return X11_GRAY_0;
  4662.                                         }
  4663.                                         case '1':
  4664.                                         {
  4665.                                             switch (str[6] | 0x20)
  4666.                                             {
  4667.                                                 case '0':
  4668.                                                 {
  4669.                                                     switch (str[7] | 0x20)
  4670.                                                     {
  4671.                                                         case '0':
  4672.                                                         {
  4673.                                                             idx += 8;
  4674.                                                             return X11_GRAY_100;
  4675.                                                         }
  4676.                                                     }
  4677.                                                     idx += 7;
  4678.                                                     return X11_GRAY_10;
  4679.                                                 }
  4680.                                                 case '1':
  4681.                                                 {
  4682.                                                     idx += 7;
  4683.                                                     return X11_GRAY_11;
  4684.                                                 }
  4685.                                                 case '2':
  4686.                                                 {
  4687.                                                     idx += 7;
  4688.                                                     return X11_GRAY_12;
  4689.                                                 }
  4690.                                                 case '3':
  4691.                                                 {
  4692.                                                     idx += 7;
  4693.                                                     return X11_GRAY_13;
  4694.                                                 }
  4695.                                                 case '4':
  4696.                                                 {
  4697.                                                     idx += 7;
  4698.                                                     return X11_GRAY_14;
  4699.                                                 }
  4700.                                                 case '5':
  4701.                                                 {
  4702.                                                     idx += 7;
  4703.                                                     return X11_GRAY_15;
  4704.                                                 }
  4705.                                                 case '6':
  4706.                                                 {
  4707.                                                     idx += 7;
  4708.                                                     return X11_GRAY_16;
  4709.                                                 }
  4710.                                                 case '7':
  4711.                                                 {
  4712.                                                     idx += 7;
  4713.                                                     return X11_GRAY_17;
  4714.                                                 }
  4715.                                                 case '8':
  4716.                                                 {
  4717.                                                     idx += 7;
  4718.                                                     return X11_GRAY_18;
  4719.                                                 }
  4720.                                                 case '9':
  4721.                                                 {
  4722.                                                     idx += 7;
  4723.                                                     return X11_GRAY_19;
  4724.                                                 }
  4725.                                             }
  4726.                                             idx += 6;
  4727.                                             return X11_GRAY_1;
  4728.                                         }
  4729.                                         case '2':
  4730.                                         {
  4731.                                             switch (str[6] | 0x20)
  4732.                                             {
  4733.                                                 case '0':
  4734.                                                 {
  4735.                                                     idx += 7;
  4736.                                                     return X11_GRAY_20;
  4737.                                                 }
  4738.                                                 case '1':
  4739.                                                 {
  4740.                                                     idx += 7;
  4741.                                                     return X11_GRAY_21;
  4742.                                                 }
  4743.                                                 case '2':
  4744.                                                 {
  4745.                                                     idx += 7;
  4746.                                                     return X11_GRAY_22;
  4747.                                                 }
  4748.                                                 case '3':
  4749.                                                 {
  4750.                                                     idx += 7;
  4751.                                                     return X11_GRAY_23;
  4752.                                                 }
  4753.                                                 case '4':
  4754.                                                 {
  4755.                                                     idx += 7;
  4756.                                                     return X11_GRAY_24;
  4757.                                                 }
  4758.                                                 case '5':
  4759.                                                 {
  4760.                                                     idx += 7;
  4761.                                                     return X11_GRAY_25;
  4762.                                                 }
  4763.                                                 case '6':
  4764.                                                 {
  4765.                                                     idx += 7;
  4766.                                                     return X11_GRAY_26;
  4767.                                                 }
  4768.                                                 case '7':
  4769.                                                 {
  4770.                                                     idx += 7;
  4771.                                                     return X11_GRAY_27;
  4772.                                                 }
  4773.                                                 case '8':
  4774.                                                 {
  4775.                                                     idx += 7;
  4776.                                                     return X11_GRAY_28;
  4777.                                                 }
  4778.                                                 case '9':
  4779.                                                 {
  4780.                                                     idx += 7;
  4781.                                                     return X11_GRAY_29;
  4782.                                                 }
  4783.                                             }
  4784.                                             idx += 6;
  4785.                                             return X11_GRAY_2;
  4786.                                         }
  4787.                                         case '3':
  4788.                                         {
  4789.                                             switch (str[6] | 0x20)
  4790.                                             {
  4791.                                                 case '0':
  4792.                                                 {
  4793.                                                     idx += 7;
  4794.                                                     return X11_GRAY_30;
  4795.                                                 }
  4796.                                                 case '1':
  4797.                                                 {
  4798.                                                     idx += 7;
  4799.                                                     return X11_GRAY_31;
  4800.                                                 }
  4801.                                                 case '2':
  4802.                                                 {
  4803.                                                     idx += 7;
  4804.                                                     return X11_GRAY_32;
  4805.                                                 }
  4806.                                                 case '3':
  4807.                                                 {
  4808.                                                     idx += 7;
  4809.                                                     return X11_GRAY_33;
  4810.                                                 }
  4811.                                                 case '4':
  4812.                                                 {
  4813.                                                     idx += 7;
  4814.                                                     return X11_GRAY_34;
  4815.                                                 }
  4816.                                                 case '5':
  4817.                                                 {
  4818.                                                     idx += 7;
  4819.                                                     return X11_GRAY_35;
  4820.                                                 }
  4821.                                                 case '6':
  4822.                                                 {
  4823.                                                     idx += 7;
  4824.                                                     return X11_GRAY_36;
  4825.                                                 }
  4826.                                                 case '7':
  4827.                                                 {
  4828.                                                     idx += 7;
  4829.                                                     return X11_GRAY_37;
  4830.                                                 }
  4831.                                                 case '8':
  4832.                                                 {
  4833.                                                     idx += 7;
  4834.                                                     return X11_GRAY_38;
  4835.                                                 }
  4836.                                                 case '9':
  4837.                                                 {
  4838.                                                     idx += 7;
  4839.                                                     return X11_GRAY_39;
  4840.                                                 }
  4841.                                             }
  4842.                                             idx += 6;
  4843.                                             return X11_GRAY_3;
  4844.                                         }
  4845.                                         case '4':
  4846.                                         {
  4847.                                             switch (str[6] | 0x20)
  4848.                                             {
  4849.                                                 case '0':
  4850.                                                 {
  4851.                                                     idx += 7;
  4852.                                                     return X11_GRAY_40;
  4853.                                                 }
  4854.                                                 case '1':
  4855.                                                 {
  4856.                                                     idx += 7;
  4857.                                                     return X11_GRAY_41;
  4858.                                                 }
  4859.                                                 case '2':
  4860.                                                 {
  4861.                                                     idx += 7;
  4862.                                                     return X11_GRAY_42;
  4863.                                                 }
  4864.                                                 case '3':
  4865.                                                 {
  4866.                                                     idx += 7;
  4867.                                                     return X11_GRAY_43;
  4868.                                                 }
  4869.                                                 case '4':
  4870.                                                 {
  4871.                                                     idx += 7;
  4872.                                                     return X11_GRAY_44;
  4873.                                                 }
  4874.                                                 case '5':
  4875.                                                 {
  4876.                                                     idx += 7;
  4877.                                                     return X11_GRAY_45;
  4878.                                                 }
  4879.                                                 case '6':
  4880.                                                 {
  4881.                                                     idx += 7;
  4882.                                                     return X11_GRAY_46;
  4883.                                                 }
  4884.                                                 case '7':
  4885.                                                 {
  4886.                                                     idx += 7;
  4887.                                                     return X11_GRAY_47;
  4888.                                                 }
  4889.                                                 case '8':
  4890.                                                 {
  4891.                                                     idx += 7;
  4892.                                                     return X11_GRAY_48;
  4893.                                                 }
  4894.                                                 case '9':
  4895.                                                 {
  4896.                                                     idx += 7;
  4897.                                                     return X11_GRAY_49;
  4898.                                                 }
  4899.                                             }
  4900.                                             idx += 6;
  4901.                                             return X11_GRAY_4;
  4902.                                         }
  4903.                                         case '5':
  4904.                                         {
  4905.                                             switch (str[6] | 0x20)
  4906.                                             {
  4907.                                                 case '0':
  4908.                                                 {
  4909.                                                     idx += 7;
  4910.                                                     return X11_GRAY_50;
  4911.                                                 }
  4912.                                                 case '1':
  4913.                                                 {
  4914.                                                     idx += 7;
  4915.                                                     return X11_GRAY_51;
  4916.                                                 }
  4917.                                                 case '2':
  4918.                                                 {
  4919.                                                     idx += 7;
  4920.                                                     return X11_GRAY_52;
  4921.                                                 }
  4922.                                                 case '3':
  4923.                                                 {
  4924.                                                     idx += 7;
  4925.                                                     return X11_GRAY_53;
  4926.                                                 }
  4927.                                                 case '4':
  4928.                                                 {
  4929.                                                     idx += 7;
  4930.                                                     return X11_GRAY_54;
  4931.                                                 }
  4932.                                                 case '5':
  4933.                                                 {
  4934.                                                     idx += 7;
  4935.                                                     return X11_GRAY_55;
  4936.                                                 }
  4937.                                                 case '6':
  4938.                                                 {
  4939.                                                     idx += 7;
  4940.                                                     return X11_GRAY_56;
  4941.                                                 }
  4942.                                                 case '7':
  4943.                                                 {
  4944.                                                     idx += 7;
  4945.                                                     return X11_GRAY_57;
  4946.                                                 }
  4947.                                                 case '8':
  4948.                                                 {
  4949.                                                     idx += 7;
  4950.                                                     return X11_GRAY_58;
  4951.                                                 }
  4952.                                                 case '9':
  4953.                                                 {
  4954.                                                     idx += 7;
  4955.                                                     return X11_GRAY_59;
  4956.                                                 }
  4957.                                             }
  4958.                                             idx += 6;
  4959.                                             return X11_GRAY_5;
  4960.                                         }
  4961.                                         case '6':
  4962.                                         {
  4963.                                             switch (str[6] | 0x20)
  4964.                                             {
  4965.                                                 case '0':
  4966.                                                 {
  4967.                                                     idx += 7;
  4968.                                                     return X11_GRAY_60;
  4969.                                                 }
  4970.                                                 case '1':
  4971.                                                 {
  4972.                                                     idx += 7;
  4973.                                                     return X11_GRAY_61;
  4974.                                                 }
  4975.                                                 case '2':
  4976.                                                 {
  4977.                                                     idx += 7;
  4978.                                                     return X11_GRAY_62;
  4979.                                                 }
  4980.                                                 case '3':
  4981.                                                 {
  4982.                                                     idx += 7;
  4983.                                                     return X11_GRAY_63;
  4984.                                                 }
  4985.                                                 case '4':
  4986.                                                 {
  4987.                                                     idx += 7;
  4988.                                                     return X11_GRAY_64;
  4989.                                                 }
  4990.                                                 case '5':
  4991.                                                 {
  4992.                                                     idx += 7;
  4993.                                                     return X11_GRAY_65;
  4994.                                                 }
  4995.                                                 case '6':
  4996.                                                 {
  4997.                                                     idx += 7;
  4998.                                                     return X11_GRAY_66;
  4999.                                                 }
  5000.                                                 case '7':
  5001.                                                 {
  5002.                                                     idx += 7;
  5003.                                                     return X11_GRAY_67;
  5004.                                                 }
  5005.                                                 case '8':
  5006.                                                 {
  5007.                                                     idx += 7;
  5008.                                                     return X11_GRAY_68;
  5009.                                                 }
  5010.                                                 case '9':
  5011.                                                 {
  5012.                                                     idx += 7;
  5013.                                                     return X11_GRAY_69;
  5014.                                                 }
  5015.                                             }
  5016.                                             idx += 6;
  5017.                                             return X11_GRAY_6;
  5018.                                         }
  5019.                                         case '7':
  5020.                                         {
  5021.                                             switch (str[6] | 0x20)
  5022.                                             {
  5023.                                                 case '0':
  5024.                                                 {
  5025.                                                     idx += 7;
  5026.                                                     return X11_GRAY_70;
  5027.                                                 }
  5028.                                                 case '1':
  5029.                                                 {
  5030.                                                     idx += 7;
  5031.                                                     return X11_GRAY_71;
  5032.                                                 }
  5033.                                                 case '2':
  5034.                                                 {
  5035.                                                     idx += 7;
  5036.                                                     return X11_GRAY_72;
  5037.                                                 }
  5038.                                                 case '3':
  5039.                                                 {
  5040.                                                     idx += 7;
  5041.                                                     return X11_GRAY_73;
  5042.                                                 }
  5043.                                                 case '4':
  5044.                                                 {
  5045.                                                     idx += 7;
  5046.                                                     return X11_GRAY_74;
  5047.                                                 }
  5048.                                                 case '5':
  5049.                                                 {
  5050.                                                     idx += 7;
  5051.                                                     return X11_GRAY_75;
  5052.                                                 }
  5053.                                                 case '6':
  5054.                                                 {
  5055.                                                     idx += 7;
  5056.                                                     return X11_GRAY_76;
  5057.                                                 }
  5058.                                                 case '7':
  5059.                                                 {
  5060.                                                     idx += 7;
  5061.                                                     return X11_GRAY_77;
  5062.                                                 }
  5063.                                                 case '8':
  5064.                                                 {
  5065.                                                     idx += 7;
  5066.                                                     return X11_GRAY_78;
  5067.                                                 }
  5068.                                                 case '9':
  5069.                                                 {
  5070.                                                     idx += 7;
  5071.                                                     return X11_GRAY_79;
  5072.                                                 }
  5073.                                             }
  5074.                                             idx += 6;
  5075.                                             return X11_GRAY_7;
  5076.                                         }
  5077.                                         case '8':
  5078.                                         {
  5079.                                             switch (str[6] | 0x20)
  5080.                                             {
  5081.                                                 case '0':
  5082.                                                 {
  5083.                                                     idx += 7;
  5084.                                                     return X11_GRAY_80;
  5085.                                                 }
  5086.                                                 case '1':
  5087.                                                 {
  5088.                                                     idx += 7;
  5089.                                                     return X11_GRAY_81;
  5090.                                                 }
  5091.                                                 case '2':
  5092.                                                 {
  5093.                                                     idx += 7;
  5094.                                                     return X11_GRAY_82;
  5095.                                                 }
  5096.                                                 case '3':
  5097.                                                 {
  5098.                                                     idx += 7;
  5099.                                                     return X11_GRAY_83;
  5100.                                                 }
  5101.                                                 case '4':
  5102.                                                 {
  5103.                                                     idx += 7;
  5104.                                                     return X11_GRAY_84;
  5105.                                                 }
  5106.                                                 case '5':
  5107.                                                 {
  5108.                                                     idx += 7;
  5109.                                                     return X11_GRAY_85;
  5110.                                                 }
  5111.                                                 case '6':
  5112.                                                 {
  5113.                                                     idx += 7;
  5114.                                                     return X11_GRAY_86;
  5115.                                                 }
  5116.                                                 case '7':
  5117.                                                 {
  5118.                                                     idx += 7;
  5119.                                                     return X11_GRAY_87;
  5120.                                                 }
  5121.                                                 case '8':
  5122.                                                 {
  5123.                                                     idx += 7;
  5124.                                                     return X11_GRAY_88;
  5125.                                                 }
  5126.                                                 case '9':
  5127.                                                 {
  5128.                                                     idx += 7;
  5129.                                                     return X11_GRAY_89;
  5130.                                                 }
  5131.                                             }
  5132.                                             idx += 6;
  5133.                                             return X11_GRAY_8;
  5134.                                         }
  5135.                                         case '9':
  5136.                                         {
  5137.                                             switch (str[6] | 0x20)
  5138.                                             {
  5139.                                                 case '0':
  5140.                                                 {
  5141.                                                     idx += 7;
  5142.                                                     return X11_GRAY_90;
  5143.                                                 }
  5144.                                                 case '1':
  5145.                                                 {
  5146.                                                     idx += 7;
  5147.                                                     return X11_GRAY_91;
  5148.                                                 }
  5149.                                                 case '2':
  5150.                                                 {
  5151.                                                     idx += 7;
  5152.                                                     return X11_GRAY_92;
  5153.                                                 }
  5154.                                                 case '3':
  5155.                                                 {
  5156.                                                     idx += 7;
  5157.                                                     return X11_GRAY_93;
  5158.                                                 }
  5159.                                                 case '4':
  5160.                                                 {
  5161.                                                     idx += 7;
  5162.                                                     return X11_GRAY_94;
  5163.                                                 }
  5164.                                                 case '5':
  5165.                                                 {
  5166.                                                     idx += 7;
  5167.                                                     return X11_GRAY_95;
  5168.                                                 }
  5169.                                                 case '6':
  5170.                                                 {
  5171.                                                     idx += 7;
  5172.                                                     return X11_GRAY_96;
  5173.                                                 }
  5174.                                                 case '7':
  5175.                                                 {
  5176.                                                     idx += 7;
  5177.                                                     return X11_GRAY_97;
  5178.                                                 }
  5179.                                                 case '8':
  5180.                                                 {
  5181.                                                     idx += 7;
  5182.                                                     return X11_GRAY_98;
  5183.                                                 }
  5184.                                                 case '9':
  5185.                                                 {
  5186.                                                     idx += 7;
  5187.                                                     return X11_GRAY_99;
  5188.                                                 }
  5189.                                             }
  5190.                                             idx += 6;
  5191.                                             return X11_GRAY_9;
  5192.                                         }
  5193.                                     }
  5194.                                 }
  5195.                                 case '0':
  5196.                                 {
  5197.                                     idx += 5;
  5198.                                     return X11_GRAY0;
  5199.                                 }
  5200.                                 case '1':
  5201.                                 {
  5202.                                     switch (str[5] | 0x20)
  5203.                                     {
  5204.                                         case '0':
  5205.                                         {
  5206.                                             switch (str[6] | 0x20)
  5207.                                             {
  5208.                                                 case '0':
  5209.                                                 {
  5210.                                                     idx += 7;
  5211.                                                     return X11_GRAY100;
  5212.                                                 }
  5213.                                             }
  5214.                                             idx += 6;
  5215.                                             return X11_GRAY10;
  5216.                                         }
  5217.                                         case '1':
  5218.                                         {
  5219.                                             idx += 6;
  5220.                                             return X11_GRAY11;
  5221.                                         }
  5222.                                         case '2':
  5223.                                         {
  5224.                                             idx += 6;
  5225.                                             return X11_GRAY12;
  5226.                                         }
  5227.                                         case '3':
  5228.                                         {
  5229.                                             idx += 6;
  5230.                                             return X11_GRAY13;
  5231.                                         }
  5232.                                         case '4':
  5233.                                         {
  5234.                                             idx += 6;
  5235.                                             return X11_GRAY14;
  5236.                                         }
  5237.                                         case '5':
  5238.                                         {
  5239.                                             idx += 6;
  5240.                                             return X11_GRAY15;
  5241.                                         }
  5242.                                         case '6':
  5243.                                         {
  5244.                                             idx += 6;
  5245.                                             return X11_GRAY16;
  5246.                                         }
  5247.                                         case '7':
  5248.                                         {
  5249.                                             idx += 6;
  5250.                                             return X11_GRAY17;
  5251.                                         }
  5252.                                         case '8':
  5253.                                         {
  5254.                                             idx += 6;
  5255.                                             return X11_GRAY18;
  5256.                                         }
  5257.                                         case '9':
  5258.                                         {
  5259.                                             idx += 6;
  5260.                                             return X11_GRAY19;
  5261.                                         }
  5262.                                     }
  5263.                                     idx += 5;
  5264.                                     return X11_GRAY1;
  5265.                                 }
  5266.                                 case '2':
  5267.                                 {
  5268.                                     switch (str[5] | 0x20)
  5269.                                     {
  5270.                                         case '0':
  5271.                                         {
  5272.                                             idx += 6;
  5273.                                             return X11_GRAY20;
  5274.                                         }
  5275.                                         case '1':
  5276.                                         {
  5277.                                             idx += 6;
  5278.                                             return X11_GRAY21;
  5279.                                         }
  5280.                                         case '2':
  5281.                                         {
  5282.                                             idx += 6;
  5283.                                             return X11_GRAY22;
  5284.                                         }
  5285.                                         case '3':
  5286.                                         {
  5287.                                             idx += 6;
  5288.                                             return X11_GRAY23;
  5289.                                         }
  5290.                                         case '4':
  5291.                                         {
  5292.                                             idx += 6;
  5293.                                             return X11_GRAY24;
  5294.                                         }
  5295.                                         case '5':
  5296.                                         {
  5297.                                             idx += 6;
  5298.                                             return X11_GRAY25;
  5299.                                         }
  5300.                                         case '6':
  5301.                                         {
  5302.                                             idx += 6;
  5303.                                             return X11_GRAY26;
  5304.                                         }
  5305.                                         case '7':
  5306.                                         {
  5307.                                             idx += 6;
  5308.                                             return X11_GRAY27;
  5309.                                         }
  5310.                                         case '8':
  5311.                                         {
  5312.                                             idx += 6;
  5313.                                             return X11_GRAY28;
  5314.                                         }
  5315.                                         case '9':
  5316.                                         {
  5317.                                             idx += 6;
  5318.                                             return X11_GRAY29;
  5319.                                         }
  5320.                                     }
  5321.                                     idx += 5;
  5322.                                     return X11_GRAY2;
  5323.                                 }
  5324.                                 case '3':
  5325.                                 {
  5326.                                     switch (str[5] | 0x20)
  5327.                                     {
  5328.                                         case '0':
  5329.                                         {
  5330.                                             idx += 6;
  5331.                                             return X11_GRAY30;
  5332.                                         }
  5333.                                         case '1':
  5334.                                         {
  5335.                                             idx += 6;
  5336.                                             return X11_GRAY31;
  5337.                                         }
  5338.                                         case '2':
  5339.                                         {
  5340.                                             idx += 6;
  5341.                                             return X11_GRAY32;
  5342.                                         }
  5343.                                         case '3':
  5344.                                         {
  5345.                                             idx += 6;
  5346.                                             return X11_GRAY33;
  5347.                                         }
  5348.                                         case '4':
  5349.                                         {
  5350.                                             idx += 6;
  5351.                                             return X11_GRAY34;
  5352.                                         }
  5353.                                         case '5':
  5354.                                         {
  5355.                                             idx += 6;
  5356.                                             return X11_GRAY35;
  5357.                                         }
  5358.                                         case '6':
  5359.                                         {
  5360.                                             idx += 6;
  5361.                                             return X11_GRAY36;
  5362.                                         }
  5363.                                         case '7':
  5364.                                         {
  5365.                                             idx += 6;
  5366.                                             return X11_GRAY37;
  5367.                                         }
  5368.                                         case '8':
  5369.                                         {
  5370.                                             idx += 6;
  5371.                                             return X11_GRAY38;
  5372.                                         }
  5373.                                         case '9':
  5374.                                         {
  5375.                                             idx += 6;
  5376.                                             return X11_GRAY39;
  5377.                                         }
  5378.                                     }
  5379.                                     idx += 5;
  5380.                                     return X11_GRAY3;
  5381.                                 }
  5382.                                 case '4':
  5383.                                 {
  5384.                                     switch (str[5] | 0x20)
  5385.                                     {
  5386.                                         case '0':
  5387.                                         {
  5388.                                             idx += 6;
  5389.                                             return X11_GRAY40;
  5390.                                         }
  5391.                                         case '1':
  5392.                                         {
  5393.                                             idx += 6;
  5394.                                             return X11_GRAY41;
  5395.                                         }
  5396.                                         case '2':
  5397.                                         {
  5398.                                             idx += 6;
  5399.                                             return X11_GRAY42;
  5400.                                         }
  5401.                                         case '3':
  5402.                                         {
  5403.                                             idx += 6;
  5404.                                             return X11_GRAY43;
  5405.                                         }
  5406.                                         case '4':
  5407.                                         {
  5408.                                             idx += 6;
  5409.                                             return X11_GRAY44;
  5410.                                         }
  5411.                                         case '5':
  5412.                                         {
  5413.                                             idx += 6;
  5414.                                             return X11_GRAY45;
  5415.                                         }
  5416.                                         case '6':
  5417.                                         {
  5418.                                             idx += 6;
  5419.                                             return X11_GRAY46;
  5420.                                         }
  5421.                                         case '7':
  5422.                                         {
  5423.                                             idx += 6;
  5424.                                             return X11_GRAY47;
  5425.                                         }
  5426.                                         case '8':
  5427.                                         {
  5428.                                             idx += 6;
  5429.                                             return X11_GRAY48;
  5430.                                         }
  5431.                                         case '9':
  5432.                                         {
  5433.                                             idx += 6;
  5434.                                             return X11_GRAY49;
  5435.                                         }
  5436.                                     }
  5437.                                     idx += 5;
  5438.                                     return X11_GRAY4;
  5439.                                 }
  5440.                                 case '5':
  5441.                                 {
  5442.                                     switch (str[5] | 0x20)
  5443.                                     {
  5444.                                         case '0':
  5445.                                         {
  5446.                                             idx += 6;
  5447.                                             return X11_GRAY50;
  5448.                                         }
  5449.                                         case '1':
  5450.                                         {
  5451.                                             idx += 6;
  5452.                                             return X11_GRAY51;
  5453.                                         }
  5454.                                         case '2':
  5455.                                         {
  5456.                                             idx += 6;
  5457.                                             return X11_GRAY52;
  5458.                                         }
  5459.                                         case '3':
  5460.                                         {
  5461.                                             idx += 6;
  5462.                                             return X11_GRAY53;
  5463.                                         }
  5464.                                         case '4':
  5465.                                         {
  5466.                                             idx += 6;
  5467.                                             return X11_GRAY54;
  5468.                                         }
  5469.                                         case '5':
  5470.                                         {
  5471.                                             idx += 6;
  5472.                                             return X11_GRAY55;
  5473.                                         }
  5474.                                         case '6':
  5475.                                         {
  5476.                                             idx += 6;
  5477.                                             return X11_GRAY56;
  5478.                                         }
  5479.                                         case '7':
  5480.                                         {
  5481.                                             idx += 6;
  5482.                                             return X11_GRAY57;
  5483.                                         }
  5484.                                         case '8':
  5485.                                         {
  5486.                                             idx += 6;
  5487.                                             return X11_GRAY58;
  5488.                                         }
  5489.                                         case '9':
  5490.                                         {
  5491.                                             idx += 6;
  5492.                                             return X11_GRAY59;
  5493.                                         }
  5494.                                     }
  5495.                                     idx += 5;
  5496.                                     return X11_GRAY5;
  5497.                                 }
  5498.                                 case '6':
  5499.                                 {
  5500.                                     switch (str[5] | 0x20)
  5501.                                     {
  5502.                                         case '0':
  5503.                                         {
  5504.                                             idx += 6;
  5505.                                             return X11_GRAY60;
  5506.                                         }
  5507.                                         case '1':
  5508.                                         {
  5509.                                             idx += 6;
  5510.                                             return X11_GRAY61;
  5511.                                         }
  5512.                                         case '2':
  5513.                                         {
  5514.                                             idx += 6;
  5515.                                             return X11_GRAY62;
  5516.                                         }
  5517.                                         case '3':
  5518.                                         {
  5519.                                             idx += 6;
  5520.                                             return X11_GRAY63;
  5521.                                         }
  5522.                                         case '4':
  5523.                                         {
  5524.                                             idx += 6;
  5525.                                             return X11_GRAY64;
  5526.                                         }
  5527.                                         case '5':
  5528.                                         {
  5529.                                             idx += 6;
  5530.                                             return X11_GRAY65;
  5531.                                         }
  5532.                                         case '6':
  5533.                                         {
  5534.                                             idx += 6;
  5535.                                             return X11_GRAY66;
  5536.                                         }
  5537.                                         case '7':
  5538.                                         {
  5539.                                             idx += 6;
  5540.                                             return X11_GRAY67;
  5541.                                         }
  5542.                                         case '8':
  5543.                                         {
  5544.                                             idx += 6;
  5545.                                             return X11_GRAY68;
  5546.                                         }
  5547.                                         case '9':
  5548.                                         {
  5549.                                             idx += 6;
  5550.                                             return X11_GRAY69;
  5551.                                         }
  5552.                                     }
  5553.                                     idx += 5;
  5554.                                     return X11_GRAY6;
  5555.                                 }
  5556.                                 case '7':
  5557.                                 {
  5558.                                     switch (str[5] | 0x20)
  5559.                                     {
  5560.                                         case '0':
  5561.                                         {
  5562.                                             idx += 6;
  5563.                                             return X11_GRAY70;
  5564.                                         }
  5565.                                         case '1':
  5566.                                         {
  5567.                                             idx += 6;
  5568.                                             return X11_GRAY71;
  5569.                                         }
  5570.                                         case '2':
  5571.                                         {
  5572.                                             idx += 6;
  5573.                                             return X11_GRAY72;
  5574.                                         }
  5575.                                         case '3':
  5576.                                         {
  5577.                                             idx += 6;
  5578.                                             return X11_GRAY73;
  5579.                                         }
  5580.                                         case '4':
  5581.                                         {
  5582.                                             idx += 6;
  5583.                                             return X11_GRAY74;
  5584.                                         }
  5585.                                         case '5':
  5586.                                         {
  5587.                                             idx += 6;
  5588.                                             return X11_GRAY75;
  5589.                                         }
  5590.                                         case '6':
  5591.                                         {
  5592.                                             idx += 6;
  5593.                                             return X11_GRAY76;
  5594.                                         }
  5595.                                         case '7':
  5596.                                         {
  5597.                                             idx += 6;
  5598.                                             return X11_GRAY77;
  5599.                                         }
  5600.                                         case '8':
  5601.                                         {
  5602.                                             idx += 6;
  5603.                                             return X11_GRAY78;
  5604.                                         }
  5605.                                         case '9':
  5606.                                         {
  5607.                                             idx += 6;
  5608.                                             return X11_GRAY79;
  5609.                                         }
  5610.                                     }
  5611.                                     idx += 5;
  5612.                                     return X11_GRAY7;
  5613.                                 }
  5614.                                 case '8':
  5615.                                 {
  5616.                                     switch (str[5] | 0x20)
  5617.                                     {
  5618.                                         case '0':
  5619.                                         {
  5620.                                             idx += 6;
  5621.                                             return X11_GRAY80;
  5622.                                         }
  5623.                                         case '1':
  5624.                                         {
  5625.                                             idx += 6;
  5626.                                             return X11_GRAY81;
  5627.                                         }
  5628.                                         case '2':
  5629.                                         {
  5630.                                             idx += 6;
  5631.                                             return X11_GRAY82;
  5632.                                         }
  5633.                                         case '3':
  5634.                                         {
  5635.                                             idx += 6;
  5636.                                             return X11_GRAY83;
  5637.                                         }
  5638.                                         case '4':
  5639.                                         {
  5640.                                             idx += 6;
  5641.                                             return X11_GRAY84;
  5642.                                         }
  5643.                                         case '5':
  5644.                                         {
  5645.                                             idx += 6;
  5646.                                             return X11_GRAY85;
  5647.                                         }
  5648.                                         case '6':
  5649.                                         {
  5650.                                             idx += 6;
  5651.                                             return X11_GRAY86;
  5652.                                         }
  5653.                                         case '7':
  5654.                                         {
  5655.                                             idx += 6;
  5656.                                             return X11_GRAY87;
  5657.                                         }
  5658.                                         case '8':
  5659.                                         {
  5660.                                             idx += 6;
  5661.                                             return X11_GRAY88;
  5662.                                         }
  5663.                                         case '9':
  5664.                                         {
  5665.                                             idx += 6;
  5666.                                             return X11_GRAY89;
  5667.                                         }
  5668.                                     }
  5669.                                     idx += 5;
  5670.                                     return X11_GRAY8;
  5671.                                 }
  5672.                                 case '9':
  5673.                                 {
  5674.                                     switch (str[5] | 0x20)
  5675.                                     {
  5676.                                         case '0':
  5677.                                         {
  5678.                                             idx += 6;
  5679.                                             return X11_GRAY90;
  5680.                                         }
  5681.                                         case '1':
  5682.                                         {
  5683.                                             idx += 6;
  5684.                                             return X11_GRAY91;
  5685.                                         }
  5686.                                         case '2':
  5687.                                         {
  5688.                                             idx += 6;
  5689.                                             return X11_GRAY92;
  5690.                                         }
  5691.                                         case '3':
  5692.                                         {
  5693.                                             idx += 6;
  5694.                                             return X11_GRAY93;
  5695.                                         }
  5696.                                         case '4':
  5697.                                         {
  5698.                                             idx += 6;
  5699.                                             return X11_GRAY94;
  5700.                                         }
  5701.                                         case '5':
  5702.                                         {
  5703.                                             idx += 6;
  5704.                                             return X11_GRAY95;
  5705.                                         }
  5706.                                         case '6':
  5707.                                         {
  5708.                                             idx += 6;
  5709.                                             return X11_GRAY96;
  5710.                                         }
  5711.                                         case '7':
  5712.                                         {
  5713.                                             idx += 6;
  5714.                                             return X11_GRAY97;
  5715.                                         }
  5716.                                         case '8':
  5717.                                         {
  5718.                                             idx += 6;
  5719.                                             return X11_GRAY98;
  5720.                                         }
  5721.                                         case '9':
  5722.                                         {
  5723.                                             idx += 6;
  5724.                                             return X11_GRAY99;
  5725.                                         }
  5726.                                     }
  5727.                                     idx += 5;
  5728.                                     return X11_GRAY9;
  5729.                                 }
  5730.                             }
  5731.                             idx += 4;
  5732.                             return X11_GRAY;
  5733.                         }
  5734.                         case 'e':
  5735.                         {
  5736.                             switch (str[3] | 0x20)
  5737.                             {
  5738.                                 case 'e':
  5739.                                 {
  5740.                                     if (str[4] != 'N')
  5741.                                     {
  5742.                                         return -1;
  5743.                                     }
  5744.                                     switch (str[5] | 0x20)
  5745.                                     {
  5746.                                         case ' ' | 0x20: // ' '
  5747.                                         {
  5748.                                             if (str[5])
  5749.                                             {
  5750.                                                 switch (str[6] | 0x20)
  5751.                                                 {
  5752.                                                     case '1':
  5753.                                                     {
  5754.                                                         idx += 7;
  5755.                                                         return X11_GREEN_1;
  5756.                                                     }
  5757.                                                     case '2':
  5758.                                                     {
  5759.                                                         idx += 7;
  5760.                                                         return X11_GREEN_2;
  5761.                                                     }
  5762.                                                     case '3':
  5763.                                                     {
  5764.                                                         idx += 7;
  5765.                                                         return X11_GREEN_3;
  5766.                                                     }
  5767.                                                     case '4':
  5768.                                                     {
  5769.                                                         idx += 7;
  5770.                                                         return X11_GREEN_4;
  5771.                                                     }
  5772.                                                     case 'y':
  5773.                                                     {
  5774.                                                         if (str[7] && !strcmp(str[7], !"ELLOW", true, 5))
  5775.                                                         {
  5776.                                                             idx += 12;
  5777.                                                             return X11_GREEN_YELLOW;
  5778.                                                         }
  5779.                                                     }
  5780.                                                 }
  5781.                                             }
  5782.                                         }
  5783.                                         case '_' | 0x20:
  5784.                                         {
  5785.                                             switch (str[6] | 0x20)
  5786.                                             {
  5787.                                                 case '1':
  5788.                                                 {
  5789.                                                     idx += 7;
  5790.                                                     return X11_GREEN_1;
  5791.                                                 }
  5792.                                                 case '2':
  5793.                                                 {
  5794.                                                     idx += 7;
  5795.                                                     return X11_GREEN_2;
  5796.                                                 }
  5797.                                                 case '3':
  5798.                                                 {
  5799.                                                     idx += 7;
  5800.                                                     return X11_GREEN_3;
  5801.                                                 }
  5802.                                                 case '4':
  5803.                                                 {
  5804.                                                     idx += 7;
  5805.                                                     return X11_GREEN_4;
  5806.                                                 }
  5807.                                                 case 'y':
  5808.                                                 {
  5809.                                                     if (str[7] && !strcmp(str[7], !"ELLOW", true, 5))
  5810.                                                     {
  5811.                                                         idx += 12;
  5812.                                                         return X11_GREEN_YELLOW;
  5813.                                                     }
  5814.                                                 }
  5815.                                             }
  5816.                                         }
  5817.                                         case '1':
  5818.                                         {
  5819.                                             idx += 6;
  5820.                                             return X11_GREEN1;
  5821.                                         }
  5822.                                         case '2':
  5823.                                         {
  5824.                                             idx += 6;
  5825.                                             return X11_GREEN2;
  5826.                                         }
  5827.                                         case '3':
  5828.                                         {
  5829.                                             idx += 6;
  5830.                                             return X11_GREEN3;
  5831.                                         }
  5832.                                         case '4':
  5833.                                         {
  5834.                                             idx += 6;
  5835.                                             return X11_GREEN4;
  5836.                                         }
  5837.                                         case 'y':
  5838.                                         {
  5839.                                             if (str[6] && !strcmp(str[6], !"ELLOW", true, 5))
  5840.                                             {
  5841.                                                 idx += 11;
  5842.                                                 return X11_GREENYELLOW;
  5843.                                             }
  5844.                                         }
  5845.                                     }
  5846.                                     idx += 5;
  5847.                                     return X11_GREEN;
  5848.                                 }
  5849.                                 case 'y':
  5850.                                 {
  5851.                                     switch (str[4] | 0x20)
  5852.                                     {
  5853.                                         case ' ' | 0x20: // ' '
  5854.                                         {
  5855.                                             if (str[4])
  5856.                                             {
  5857.                                                 switch (str[5] | 0x20)
  5858.                                                 {
  5859.                                                     case '0':
  5860.                                                     {
  5861.                                                         idx += 6;
  5862.                                                         return X11_GREY_0;
  5863.                                                     }
  5864.                                                     case '1':
  5865.                                                     {
  5866.                                                         switch (str[6] | 0x20)
  5867.                                                         {
  5868.                                                             case '0':
  5869.                                                             {
  5870.                                                                 switch (str[7] | 0x20)
  5871.                                                                 {
  5872.                                                                     case '0':
  5873.                                                                     {
  5874.                                                                         idx += 8;
  5875.                                                                         return X11_GREY_100;
  5876.                                                                     }
  5877.                                                                 }
  5878.                                                                 idx += 7;
  5879.                                                                 return X11_GREY_10;
  5880.                                                             }
  5881.                                                             case '1':
  5882.                                                             {
  5883.                                                                 idx += 7;
  5884.                                                                 return X11_GREY_11;
  5885.                                                             }
  5886.                                                             case '2':
  5887.                                                             {
  5888.                                                                 idx += 7;
  5889.                                                                 return X11_GREY_12;
  5890.                                                             }
  5891.                                                             case '3':
  5892.                                                             {
  5893.                                                                 idx += 7;
  5894.                                                                 return X11_GREY_13;
  5895.                                                             }
  5896.                                                             case '4':
  5897.                                                             {
  5898.                                                                 idx += 7;
  5899.                                                                 return X11_GREY_14;
  5900.                                                             }
  5901.                                                             case '5':
  5902.                                                             {
  5903.                                                                 idx += 7;
  5904.                                                                 return X11_GREY_15;
  5905.                                                             }
  5906.                                                             case '6':
  5907.                                                             {
  5908.                                                                 idx += 7;
  5909.                                                                 return X11_GREY_16;
  5910.                                                             }
  5911.                                                             case '7':
  5912.                                                             {
  5913.                                                                 idx += 7;
  5914.                                                                 return X11_GREY_17;
  5915.                                                             }
  5916.                                                             case '8':
  5917.                                                             {
  5918.                                                                 idx += 7;
  5919.                                                                 return X11_GREY_18;
  5920.                                                             }
  5921.                                                             case '9':
  5922.                                                             {
  5923.                                                                 idx += 7;
  5924.                                                                 return X11_GREY_19;
  5925.                                                             }
  5926.                                                         }
  5927.                                                         idx += 6;
  5928.                                                         return X11_GREY_1;
  5929.                                                     }
  5930.                                                     case '2':
  5931.                                                     {
  5932.                                                         switch (str[6] | 0x20)
  5933.                                                         {
  5934.                                                             case '0':
  5935.                                                             {
  5936.                                                                 idx += 7;
  5937.                                                                 return X11_GREY_20;
  5938.                                                             }
  5939.                                                             case '1':
  5940.                                                             {
  5941.                                                                 idx += 7;
  5942.                                                                 return X11_GREY_21;
  5943.                                                             }
  5944.                                                             case '2':
  5945.                                                             {
  5946.                                                                 idx += 7;
  5947.                                                                 return X11_GREY_22;
  5948.                                                             }
  5949.                                                             case '3':
  5950.                                                             {
  5951.                                                                 idx += 7;
  5952.                                                                 return X11_GREY_23;
  5953.                                                             }
  5954.                                                             case '4':
  5955.                                                             {
  5956.                                                                 idx += 7;
  5957.                                                                 return X11_GREY_24;
  5958.                                                             }
  5959.                                                             case '5':
  5960.                                                             {
  5961.                                                                 idx += 7;
  5962.                                                                 return X11_GREY_25;
  5963.                                                             }
  5964.                                                             case '6':
  5965.                                                             {
  5966.                                                                 idx += 7;
  5967.                                                                 return X11_GREY_26;
  5968.                                                             }
  5969.                                                             case '7':
  5970.                                                             {
  5971.                                                                 idx += 7;
  5972.                                                                 return X11_GREY_27;
  5973.                                                             }
  5974.                                                             case '8':
  5975.                                                             {
  5976.                                                                 idx += 7;
  5977.                                                                 return X11_GREY_28;
  5978.                                                             }
  5979.                                                             case '9':
  5980.                                                             {
  5981.                                                                 idx += 7;
  5982.                                                                 return X11_GREY_29;
  5983.                                                             }
  5984.                                                         }
  5985.                                                         idx += 6;
  5986.                                                         return X11_GREY_2;
  5987.                                                     }
  5988.                                                     case '3':
  5989.                                                     {
  5990.                                                         switch (str[6] | 0x20)
  5991.                                                         {
  5992.                                                             case '0':
  5993.                                                             {
  5994.                                                                 idx += 7;
  5995.                                                                 return X11_GREY_30;
  5996.                                                             }
  5997.                                                             case '1':
  5998.                                                             {
  5999.                                                                 idx += 7;
  6000.                                                                 return X11_GREY_31;
  6001.                                                             }
  6002.                                                             case '2':
  6003.                                                             {
  6004.                                                                 idx += 7;
  6005.                                                                 return X11_GREY_32;
  6006.                                                             }
  6007.                                                             case '3':
  6008.                                                             {
  6009.                                                                 idx += 7;
  6010.                                                                 return X11_GREY_33;
  6011.                                                             }
  6012.                                                             case '4':
  6013.                                                             {
  6014.                                                                 idx += 7;
  6015.                                                                 return X11_GREY_34;
  6016.                                                             }
  6017.                                                             case '5':
  6018.                                                             {
  6019.                                                                 idx += 7;
  6020.                                                                 return X11_GREY_35;
  6021.                                                             }
  6022.                                                             case '6':
  6023.                                                             {
  6024.                                                                 idx += 7;
  6025.                                                                 return X11_GREY_36;
  6026.                                                             }
  6027.                                                             case '7':
  6028.                                                             {
  6029.                                                                 idx += 7;
  6030.                                                                 return X11_GREY_37;
  6031.                                                             }
  6032.                                                             case '8':
  6033.                                                             {
  6034.                                                                 idx += 7;
  6035.                                                                 return X11_GREY_38;
  6036.                                                             }
  6037.                                                             case '9':
  6038.                                                             {
  6039.                                                                 idx += 7;
  6040.                                                                 return X11_GREY_39;
  6041.                                                             }
  6042.                                                         }
  6043.                                                         idx += 6;
  6044.                                                         return X11_GREY_3;
  6045.                                                     }
  6046.                                                     case '4':
  6047.                                                     {
  6048.                                                         switch (str[6] | 0x20)
  6049.                                                         {
  6050.                                                             case '0':
  6051.                                                             {
  6052.                                                                 idx += 7;
  6053.                                                                 return X11_GREY_40;
  6054.                                                             }
  6055.                                                             case '1':
  6056.                                                             {
  6057.                                                                 idx += 7;
  6058.                                                                 return X11_GREY_41;
  6059.                                                             }
  6060.                                                             case '2':
  6061.                                                             {
  6062.                                                                 idx += 7;
  6063.                                                                 return X11_GREY_42;
  6064.                                                             }
  6065.                                                             case '3':
  6066.                                                             {
  6067.                                                                 idx += 7;
  6068.                                                                 return X11_GREY_43;
  6069.                                                             }
  6070.                                                             case '4':
  6071.                                                             {
  6072.                                                                 idx += 7;
  6073.                                                                 return X11_GREY_44;
  6074.                                                             }
  6075.                                                             case '5':
  6076.                                                             {
  6077.                                                                 idx += 7;
  6078.                                                                 return X11_GREY_45;
  6079.                                                             }
  6080.                                                             case '6':
  6081.                                                             {
  6082.                                                                 idx += 7;
  6083.                                                                 return X11_GREY_46;
  6084.                                                             }
  6085.                                                             case '7':
  6086.                                                             {
  6087.                                                                 idx += 7;
  6088.                                                                 return X11_GREY_47;
  6089.                                                             }
  6090.                                                             case '8':
  6091.                                                             {
  6092.                                                                 idx += 7;
  6093.                                                                 return X11_GREY_48;
  6094.                                                             }
  6095.                                                             case '9':
  6096.                                                             {
  6097.                                                                 idx += 7;
  6098.                                                                 return X11_GREY_49;
  6099.                                                             }
  6100.                                                         }
  6101.                                                         idx += 6;
  6102.                                                         return X11_GREY_4;
  6103.                                                     }
  6104.                                                     case '5':
  6105.                                                     {
  6106.                                                         switch (str[6] | 0x20)
  6107.                                                         {
  6108.                                                             case '0':
  6109.                                                             {
  6110.                                                                 idx += 7;
  6111.                                                                 return X11_GREY_50;
  6112.                                                             }
  6113.                                                             case '1':
  6114.                                                             {
  6115.                                                                 idx += 7;
  6116.                                                                 return X11_GREY_51;
  6117.                                                             }
  6118.                                                             case '2':
  6119.                                                             {
  6120.                                                                 idx += 7;
  6121.                                                                 return X11_GREY_52;
  6122.                                                             }
  6123.                                                             case '3':
  6124.                                                             {
  6125.                                                                 idx += 7;
  6126.                                                                 return X11_GREY_53;
  6127.                                                             }
  6128.                                                             case '4':
  6129.                                                             {
  6130.                                                                 idx += 7;
  6131.                                                                 return X11_GREY_54;
  6132.                                                             }
  6133.                                                             case '5':
  6134.                                                             {
  6135.                                                                 idx += 7;
  6136.                                                                 return X11_GREY_55;
  6137.                                                             }
  6138.                                                             case '6':
  6139.                                                             {
  6140.                                                                 idx += 7;
  6141.                                                                 return X11_GREY_56;
  6142.                                                             }
  6143.                                                             case '7':
  6144.                                                             {
  6145.                                                                 idx += 7;
  6146.                                                                 return X11_GREY_57;
  6147.                                                             }
  6148.                                                             case '8':
  6149.                                                             {
  6150.                                                                 idx += 7;
  6151.                                                                 return X11_GREY_58;
  6152.                                                             }
  6153.                                                             case '9':
  6154.                                                             {
  6155.                                                                 idx += 7;
  6156.                                                                 return X11_GREY_59;
  6157.                                                             }
  6158.                                                         }
  6159.                                                         idx += 6;
  6160.                                                         return X11_GREY_5;
  6161.                                                     }
  6162.                                                     case '6':
  6163.                                                     {
  6164.                                                         switch (str[6] | 0x20)
  6165.                                                         {
  6166.                                                             case '0':
  6167.                                                             {
  6168.                                                                 idx += 7;
  6169.                                                                 return X11_GREY_60;
  6170.                                                             }
  6171.                                                             case '1':
  6172.                                                             {
  6173.                                                                 idx += 7;
  6174.                                                                 return X11_GREY_61;
  6175.                                                             }
  6176.                                                             case '2':
  6177.                                                             {
  6178.                                                                 idx += 7;
  6179.                                                                 return X11_GREY_62;
  6180.                                                             }
  6181.                                                             case '3':
  6182.                                                             {
  6183.                                                                 idx += 7;
  6184.                                                                 return X11_GREY_63;
  6185.                                                             }
  6186.                                                             case '4':
  6187.                                                             {
  6188.                                                                 idx += 7;
  6189.                                                                 return X11_GREY_64;
  6190.                                                             }
  6191.                                                             case '5':
  6192.                                                             {
  6193.                                                                 idx += 7;
  6194.                                                                 return X11_GREY_65;
  6195.                                                             }
  6196.                                                             case '6':
  6197.                                                             {
  6198.                                                                 idx += 7;
  6199.                                                                 return X11_GREY_66;
  6200.                                                             }
  6201.                                                             case '7':
  6202.                                                             {
  6203.                                                                 idx += 7;
  6204.                                                                 return X11_GREY_67;
  6205.                                                             }
  6206.                                                             case '8':
  6207.                                                             {
  6208.                                                                 idx += 7;
  6209.                                                                 return X11_GREY_68;
  6210.                                                             }
  6211.                                                             case '9':
  6212.                                                             {
  6213.                                                                 idx += 7;
  6214.                                                                 return X11_GREY_69;
  6215.                                                             }
  6216.                                                         }
  6217.                                                         idx += 6;
  6218.                                                         return X11_GREY_6;
  6219.                                                     }
  6220.                                                     case '7':
  6221.                                                     {
  6222.                                                         switch (str[6] | 0x20)
  6223.                                                         {
  6224.                                                             case '0':
  6225.                                                             {
  6226.                                                                 idx += 7;
  6227.                                                                 return X11_GREY_70;
  6228.                                                             }
  6229.                                                             case '1':
  6230.                                                             {
  6231.                                                                 idx += 7;
  6232.                                                                 return X11_GREY_71;
  6233.                                                             }
  6234.                                                             case '2':
  6235.                                                             {
  6236.                                                                 idx += 7;
  6237.                                                                 return X11_GREY_72;
  6238.                                                             }
  6239.                                                             case '3':
  6240.                                                             {
  6241.                                                                 idx += 7;
  6242.                                                                 return X11_GREY_73;
  6243.                                                             }
  6244.                                                             case '4':
  6245.                                                             {
  6246.                                                                 idx += 7;
  6247.                                                                 return X11_GREY_74;
  6248.                                                             }
  6249.                                                             case '5':
  6250.                                                             {
  6251.                                                                 idx += 7;
  6252.                                                                 return X11_GREY_75;
  6253.                                                             }
  6254.                                                             case '6':
  6255.                                                             {
  6256.                                                                 idx += 7;
  6257.                                                                 return X11_GREY_76;
  6258.                                                             }
  6259.                                                             case '7':
  6260.                                                             {
  6261.                                                                 idx += 7;
  6262.                                                                 return X11_GREY_77;
  6263.                                                             }
  6264.                                                             case '8':
  6265.                                                             {
  6266.                                                                 idx += 7;
  6267.                                                                 return X11_GREY_78;
  6268.                                                             }
  6269.                                                             case '9':
  6270.                                                             {
  6271.                                                                 idx += 7;
  6272.                                                                 return X11_GREY_79;
  6273.                                                             }
  6274.                                                         }
  6275.                                                         idx += 6;
  6276.                                                         return X11_GREY_7;
  6277.                                                     }
  6278.                                                     case '8':
  6279.                                                     {
  6280.                                                         switch (str[6] | 0x20)
  6281.                                                         {
  6282.                                                             case '0':
  6283.                                                             {
  6284.                                                                 idx += 7;
  6285.                                                                 return X11_GREY_80;
  6286.                                                             }
  6287.                                                             case '1':
  6288.                                                             {
  6289.                                                                 idx += 7;
  6290.                                                                 return X11_GREY_81;
  6291.                                                             }
  6292.                                                             case '2':
  6293.                                                             {
  6294.                                                                 idx += 7;
  6295.                                                                 return X11_GREY_82;
  6296.                                                             }
  6297.                                                             case '3':
  6298.                                                             {
  6299.                                                                 idx += 7;
  6300.                                                                 return X11_GREY_83;
  6301.                                                             }
  6302.                                                             case '4':
  6303.                                                             {
  6304.                                                                 idx += 7;
  6305.                                                                 return X11_GREY_84;
  6306.                                                             }
  6307.                                                             case '5':
  6308.                                                             {
  6309.                                                                 idx += 7;
  6310.                                                                 return X11_GREY_85;
  6311.                                                             }
  6312.                                                             case '6':
  6313.                                                             {
  6314.                                                                 idx += 7;
  6315.                                                                 return X11_GREY_86;
  6316.                                                             }
  6317.                                                             case '7':
  6318.                                                             {
  6319.                                                                 idx += 7;
  6320.                                                                 return X11_GREY_87;
  6321.                                                             }
  6322.                                                             case '8':
  6323.                                                             {
  6324.                                                                 idx += 7;
  6325.                                                                 return X11_GREY_88;
  6326.                                                             }
  6327.                                                             case '9':
  6328.                                                             {
  6329.                                                                 idx += 7;
  6330.                                                                 return X11_GREY_89;
  6331.                                                             }
  6332.                                                         }
  6333.                                                         idx += 6;
  6334.                                                         return X11_GREY_8;
  6335.                                                     }
  6336.                                                     case '9':
  6337.                                                     {
  6338.                                                         switch (str[6] | 0x20)
  6339.                                                         {
  6340.                                                             case '0':
  6341.                                                             {
  6342.                                                                 idx += 7;
  6343.                                                                 return X11_GREY_90;
  6344.                                                             }
  6345.                                                             case '1':
  6346.                                                             {
  6347.                                                                 idx += 7;
  6348.                                                                 return X11_GREY_91;
  6349.                                                             }
  6350.                                                             case '2':
  6351.                                                             {
  6352.                                                                 idx += 7;
  6353.                                                                 return X11_GREY_92;
  6354.                                                             }
  6355.                                                             case '3':
  6356.                                                             {
  6357.                                                                 idx += 7;
  6358.                                                                 return X11_GREY_93;
  6359.                                                             }
  6360.                                                             case '4':
  6361.                                                             {
  6362.                                                                 idx += 7;
  6363.                                                                 return X11_GREY_94;
  6364.                                                             }
  6365.                                                             case '5':
  6366.                                                             {
  6367.                                                                 idx += 7;
  6368.                                                                 return X11_GREY_95;
  6369.                                                             }
  6370.                                                             case '6':
  6371.                                                             {
  6372.                                                                 idx += 7;
  6373.                                                                 return X11_GREY_96;
  6374.                                                             }
  6375.                                                             case '7':
  6376.                                                             {
  6377.                                                                 idx += 7;
  6378.                                                                 return X11_GREY_97;
  6379.                                                             }
  6380.                                                             case '8':
  6381.                                                             {
  6382.                                                                 idx += 7;
  6383.                                                                 return X11_GREY_98;
  6384.                                                             }
  6385.                                                             case '9':
  6386.                                                             {
  6387.                                                                 idx += 7;
  6388.                                                                 return X11_GREY_99;
  6389.                                                             }
  6390.                                                         }
  6391.                                                         idx += 6;
  6392.                                                         return X11_GREY_9;
  6393.                                                     }
  6394.                                                 }
  6395.                                             }
  6396.                                         }
  6397.                                         case '_' | 0x20:
  6398.                                         {
  6399.                                             switch (str[5] | 0x20)
  6400.                                             {
  6401.                                                 case '0':
  6402.                                                 {
  6403.                                                     idx += 6;
  6404.                                                     return X11_GREY_0;
  6405.                                                 }
  6406.                                                 case '1':
  6407.                                                 {
  6408.                                                     switch (str[6] | 0x20)
  6409.                                                     {
  6410.                                                         case '0':
  6411.                                                         {
  6412.                                                             switch (str[7] | 0x20)
  6413.                                                             {
  6414.                                                                 case '0':
  6415.                                                                 {
  6416.                                                                     idx += 8;
  6417.                                                                     return X11_GREY_100;
  6418.                                                                 }
  6419.                                                             }
  6420.                                                             idx += 7;
  6421.                                                             return X11_GREY_10;
  6422.                                                         }
  6423.                                                         case '1':
  6424.                                                         {
  6425.                                                             idx += 7;
  6426.                                                             return X11_GREY_11;
  6427.                                                         }
  6428.                                                         case '2':
  6429.                                                         {
  6430.                                                             idx += 7;
  6431.                                                             return X11_GREY_12;
  6432.                                                         }
  6433.                                                         case '3':
  6434.                                                         {
  6435.                                                             idx += 7;
  6436.                                                             return X11_GREY_13;
  6437.                                                         }
  6438.                                                         case '4':
  6439.                                                         {
  6440.                                                             idx += 7;
  6441.                                                             return X11_GREY_14;
  6442.                                                         }
  6443.                                                         case '5':
  6444.                                                         {
  6445.                                                             idx += 7;
  6446.                                                             return X11_GREY_15;
  6447.                                                         }
  6448.                                                         case '6':
  6449.                                                         {
  6450.                                                             idx += 7;
  6451.                                                             return X11_GREY_16;
  6452.                                                         }
  6453.                                                         case '7':
  6454.                                                         {
  6455.                                                             idx += 7;
  6456.                                                             return X11_GREY_17;
  6457.                                                         }
  6458.                                                         case '8':
  6459.                                                         {
  6460.                                                             idx += 7;
  6461.                                                             return X11_GREY_18;
  6462.                                                         }
  6463.                                                         case '9':
  6464.                                                         {
  6465.                                                             idx += 7;
  6466.                                                             return X11_GREY_19;
  6467.                                                         }
  6468.                                                     }
  6469.                                                     idx += 6;
  6470.                                                     return X11_GREY_1;
  6471.                                                 }
  6472.                                                 case '2':
  6473.                                                 {
  6474.                                                     switch (str[6] | 0x20)
  6475.                                                     {
  6476.                                                         case '0':
  6477.                                                         {
  6478.                                                             idx += 7;
  6479.                                                             return X11_GREY_20;
  6480.                                                         }
  6481.                                                         case '1':
  6482.                                                         {
  6483.                                                             idx += 7;
  6484.                                                             return X11_GREY_21;
  6485.                                                         }
  6486.                                                         case '2':
  6487.                                                         {
  6488.                                                             idx += 7;
  6489.                                                             return X11_GREY_22;
  6490.                                                         }
  6491.                                                         case '3':
  6492.                                                         {
  6493.                                                             idx += 7;
  6494.                                                             return X11_GREY_23;
  6495.                                                         }
  6496.                                                         case '4':
  6497.                                                         {
  6498.                                                             idx += 7;
  6499.                                                             return X11_GREY_24;
  6500.                                                         }
  6501.                                                         case '5':
  6502.                                                         {
  6503.                                                             idx += 7;
  6504.                                                             return X11_GREY_25;
  6505.                                                         }
  6506.                                                         case '6':
  6507.                                                         {
  6508.                                                             idx += 7;
  6509.                                                             return X11_GREY_26;
  6510.                                                         }
  6511.                                                         case '7':
  6512.                                                         {
  6513.                                                             idx += 7;
  6514.                                                             return X11_GREY_27;
  6515.                                                         }
  6516.                                                         case '8':
  6517.                                                         {
  6518.                                                             idx += 7;
  6519.                                                             return X11_GREY_28;
  6520.                                                         }
  6521.                                                         case '9':
  6522.                                                         {
  6523.                                                             idx += 7;
  6524.                                                             return X11_GREY_29;
  6525.                                                         }
  6526.                                                     }
  6527.                                                     idx += 6;
  6528.                                                     return X11_GREY_2;
  6529.                                                 }
  6530.                                                 case '3':
  6531.                                                 {
  6532.                                                     switch (str[6] | 0x20)
  6533.                                                     {
  6534.                                                         case '0':
  6535.                                                         {
  6536.                                                             idx += 7;
  6537.                                                             return X11_GREY_30;
  6538.                                                         }
  6539.                                                         case '1':
  6540.                                                         {
  6541.                                                             idx += 7;
  6542.                                                             return X11_GREY_31;
  6543.                                                         }
  6544.                                                         case '2':
  6545.                                                         {
  6546.                                                             idx += 7;
  6547.                                                             return X11_GREY_32;
  6548.                                                         }
  6549.                                                         case '3':
  6550.                                                         {
  6551.                                                             idx += 7;
  6552.                                                             return X11_GREY_33;
  6553.                                                         }
  6554.                                                         case '4':
  6555.                                                         {
  6556.                                                             idx += 7;
  6557.                                                             return X11_GREY_34;
  6558.                                                         }
  6559.                                                         case '5':
  6560.                                                         {
  6561.                                                             idx += 7;
  6562.                                                             return X11_GREY_35;
  6563.                                                         }
  6564.                                                         case '6':
  6565.                                                         {
  6566.                                                             idx += 7;
  6567.                                                             return X11_GREY_36;
  6568.                                                         }
  6569.                                                         case '7':
  6570.                                                         {
  6571.                                                             idx += 7;
  6572.                                                             return X11_GREY_37;
  6573.                                                         }
  6574.                                                         case '8':
  6575.                                                         {
  6576.                                                             idx += 7;
  6577.                                                             return X11_GREY_38;
  6578.                                                         }
  6579.                                                         case '9':
  6580.                                                         {
  6581.                                                             idx += 7;
  6582.                                                             return X11_GREY_39;
  6583.                                                         }
  6584.                                                     }
  6585.                                                     idx += 6;
  6586.                                                     return X11_GREY_3;
  6587.                                                 }
  6588.                                                 case '4':
  6589.                                                 {
  6590.                                                     switch (str[6] | 0x20)
  6591.                                                     {
  6592.                                                         case '0':
  6593.                                                         {
  6594.                                                             idx += 7;
  6595.                                                             return X11_GREY_40;
  6596.                                                         }
  6597.                                                         case '1':
  6598.                                                         {
  6599.                                                             idx += 7;
  6600.                                                             return X11_GREY_41;
  6601.                                                         }
  6602.                                                         case '2':
  6603.                                                         {
  6604.                                                             idx += 7;
  6605.                                                             return X11_GREY_42;
  6606.                                                         }
  6607.                                                         case '3':
  6608.                                                         {
  6609.                                                             idx += 7;
  6610.                                                             return X11_GREY_43;
  6611.                                                         }
  6612.                                                         case '4':
  6613.                                                         {
  6614.                                                             idx += 7;
  6615.                                                             return X11_GREY_44;
  6616.                                                         }
  6617.                                                         case '5':
  6618.                                                         {
  6619.                                                             idx += 7;
  6620.                                                             return X11_GREY_45;
  6621.                                                         }
  6622.                                                         case '6':
  6623.                                                         {
  6624.                                                             idx += 7;
  6625.                                                             return X11_GREY_46;
  6626.                                                         }
  6627.                                                         case '7':
  6628.                                                         {
  6629.                                                             idx += 7;
  6630.                                                             return X11_GREY_47;
  6631.                                                         }
  6632.                                                         case '8':
  6633.                                                         {
  6634.                                                             idx += 7;
  6635.                                                             return X11_GREY_48;
  6636.                                                         }
  6637.                                                         case '9':
  6638.                                                         {
  6639.                                                             idx += 7;
  6640.                                                             return X11_GREY_49;
  6641.                                                         }
  6642.                                                     }
  6643.                                                     idx += 6;
  6644.                                                     return X11_GREY_4;
  6645.                                                 }
  6646.                                                 case '5':
  6647.                                                 {
  6648.                                                     switch (str[6] | 0x20)
  6649.                                                     {
  6650.                                                         case '0':
  6651.                                                         {
  6652.                                                             idx += 7;
  6653.                                                             return X11_GREY_50;
  6654.                                                         }
  6655.                                                         case '1':
  6656.                                                         {
  6657.                                                             idx += 7;
  6658.                                                             return X11_GREY_51;
  6659.                                                         }
  6660.                                                         case '2':
  6661.                                                         {
  6662.                                                             idx += 7;
  6663.                                                             return X11_GREY_52;
  6664.                                                         }
  6665.                                                         case '3':
  6666.                                                         {
  6667.                                                             idx += 7;
  6668.                                                             return X11_GREY_53;
  6669.                                                         }
  6670.                                                         case '4':
  6671.                                                         {
  6672.                                                             idx += 7;
  6673.                                                             return X11_GREY_54;
  6674.                                                         }
  6675.                                                         case '5':
  6676.                                                         {
  6677.                                                             idx += 7;
  6678.                                                             return X11_GREY_55;
  6679.                                                         }
  6680.                                                         case '6':
  6681.                                                         {
  6682.                                                             idx += 7;
  6683.                                                             return X11_GREY_56;
  6684.                                                         }
  6685.                                                         case '7':
  6686.                                                         {
  6687.                                                             idx += 7;
  6688.                                                             return X11_GREY_57;
  6689.                                                         }
  6690.                                                         case '8':
  6691.                                                         {
  6692.                                                             idx += 7;
  6693.                                                             return X11_GREY_58;
  6694.                                                         }
  6695.                                                         case '9':
  6696.                                                         {
  6697.                                                             idx += 7;
  6698.                                                             return X11_GREY_59;
  6699.                                                         }
  6700.                                                     }
  6701.                                                     idx += 6;
  6702.                                                     return X11_GREY_5;
  6703.                                                 }
  6704.                                                 case '6':
  6705.                                                 {
  6706.                                                     switch (str[6] | 0x20)
  6707.                                                     {
  6708.                                                         case '0':
  6709.                                                         {
  6710.                                                             idx += 7;
  6711.                                                             return X11_GREY_60;
  6712.                                                         }
  6713.                                                         case '1':
  6714.                                                         {
  6715.                                                             idx += 7;
  6716.                                                             return X11_GREY_61;
  6717.                                                         }
  6718.                                                         case '2':
  6719.                                                         {
  6720.                                                             idx += 7;
  6721.                                                             return X11_GREY_62;
  6722.                                                         }
  6723.                                                         case '3':
  6724.                                                         {
  6725.                                                             idx += 7;
  6726.                                                             return X11_GREY_63;
  6727.                                                         }
  6728.                                                         case '4':
  6729.                                                         {
  6730.                                                             idx += 7;
  6731.                                                             return X11_GREY_64;
  6732.                                                         }
  6733.                                                         case '5':
  6734.                                                         {
  6735.                                                             idx += 7;
  6736.                                                             return X11_GREY_65;
  6737.                                                         }
  6738.                                                         case '6':
  6739.                                                         {
  6740.                                                             idx += 7;
  6741.                                                             return X11_GREY_66;
  6742.                                                         }
  6743.                                                         case '7':
  6744.                                                         {
  6745.                                                             idx += 7;
  6746.                                                             return X11_GREY_67;
  6747.                                                         }
  6748.                                                         case '8':
  6749.                                                         {
  6750.                                                             idx += 7;
  6751.                                                             return X11_GREY_68;
  6752.                                                         }
  6753.                                                         case '9':
  6754.                                                         {
  6755.                                                             idx += 7;
  6756.                                                             return X11_GREY_69;
  6757.                                                         }
  6758.                                                     }
  6759.                                                     idx += 6;
  6760.                                                     return X11_GREY_6;
  6761.                                                 }
  6762.                                                 case '7':
  6763.                                                 {
  6764.                                                     switch (str[6] | 0x20)
  6765.                                                     {
  6766.                                                         case '0':
  6767.                                                         {
  6768.                                                             idx += 7;
  6769.                                                             return X11_GREY_70;
  6770.                                                         }
  6771.                                                         case '1':
  6772.                                                         {
  6773.                                                             idx += 7;
  6774.                                                             return X11_GREY_71;
  6775.                                                         }
  6776.                                                         case '2':
  6777.                                                         {
  6778.                                                             idx += 7;
  6779.                                                             return X11_GREY_72;
  6780.                                                         }
  6781.                                                         case '3':
  6782.                                                         {
  6783.                                                             idx += 7;
  6784.                                                             return X11_GREY_73;
  6785.                                                         }
  6786.                                                         case '4':
  6787.                                                         {
  6788.                                                             idx += 7;
  6789.                                                             return X11_GREY_74;
  6790.                                                         }
  6791.                                                         case '5':
  6792.                                                         {
  6793.                                                             idx += 7;
  6794.                                                             return X11_GREY_75;
  6795.                                                         }
  6796.                                                         case '6':
  6797.                                                         {
  6798.                                                             idx += 7;
  6799.                                                             return X11_GREY_76;
  6800.                                                         }
  6801.                                                         case '7':
  6802.                                                         {
  6803.                                                             idx += 7;
  6804.                                                             return X11_GREY_77;
  6805.                                                         }
  6806.                                                         case '8':
  6807.                                                         {
  6808.                                                             idx += 7;
  6809.                                                             return X11_GREY_78;
  6810.                                                         }
  6811.                                                         case '9':
  6812.                                                         {
  6813.                                                             idx += 7;
  6814.                                                             return X11_GREY_79;
  6815.                                                         }
  6816.                                                     }
  6817.                                                     idx += 6;
  6818.                                                     return X11_GREY_7;
  6819.                                                 }
  6820.                                                 case '8':
  6821.                                                 {
  6822.                                                     switch (str[6] | 0x20)
  6823.                                                     {
  6824.                                                         case '0':
  6825.                                                         {
  6826.                                                             idx += 7;
  6827.                                                             return X11_GREY_80;
  6828.                                                         }
  6829.                                                         case '1':
  6830.                                                         {
  6831.                                                             idx += 7;
  6832.                                                             return X11_GREY_81;
  6833.                                                         }
  6834.                                                         case '2':
  6835.                                                         {
  6836.                                                             idx += 7;
  6837.                                                             return X11_GREY_82;
  6838.                                                         }
  6839.                                                         case '3':
  6840.                                                         {
  6841.                                                             idx += 7;
  6842.                                                             return X11_GREY_83;
  6843.                                                         }
  6844.                                                         case '4':
  6845.                                                         {
  6846.                                                             idx += 7;
  6847.                                                             return X11_GREY_84;
  6848.                                                         }
  6849.                                                         case '5':
  6850.                                                         {
  6851.                                                             idx += 7;
  6852.                                                             return X11_GREY_85;
  6853.                                                         }
  6854.                                                         case '6':
  6855.                                                         {
  6856.                                                             idx += 7;
  6857.                                                             return X11_GREY_86;
  6858.                                                         }
  6859.                                                         case '7':
  6860.                                                         {
  6861.                                                             idx += 7;
  6862.                                                             return X11_GREY_87;
  6863.                                                         }
  6864.                                                         case '8':
  6865.                                                         {
  6866.                                                             idx += 7;
  6867.                                                             return X11_GREY_88;
  6868.                                                         }
  6869.                                                         case '9':
  6870.                                                         {
  6871.                                                             idx += 7;
  6872.                                                             return X11_GREY_89;
  6873.                                                         }
  6874.                                                     }
  6875.                                                     idx += 6;
  6876.                                                     return X11_GREY_8;
  6877.                                                 }
  6878.                                                 case '9':
  6879.                                                 {
  6880.                                                     switch (str[6] | 0x20)
  6881.                                                     {
  6882.                                                         case '0':
  6883.                                                         {
  6884.                                                             idx += 7;
  6885.                                                             return X11_GREY_90;
  6886.                                                         }
  6887.                                                         case '1':
  6888.                                                         {
  6889.                                                             idx += 7;
  6890.                                                             return X11_GREY_91;
  6891.                                                         }
  6892.                                                         case '2':
  6893.                                                         {
  6894.                                                             idx += 7;
  6895.                                                             return X11_GREY_92;
  6896.                                                         }
  6897.                                                         case '3':
  6898.                                                         {
  6899.                                                             idx += 7;
  6900.                                                             return X11_GREY_93;
  6901.                                                         }
  6902.                                                         case '4':
  6903.                                                         {
  6904.                                                             idx += 7;
  6905.                                                             return X11_GREY_94;
  6906.                                                         }
  6907.                                                         case '5':
  6908.                                                         {
  6909.                                                             idx += 7;
  6910.                                                             return X11_GREY_95;
  6911.                                                         }
  6912.                                                         case '6':
  6913.                                                         {
  6914.                                                             idx += 7;
  6915.                                                             return X11_GREY_96;
  6916.                                                         }
  6917.                                                         case '7':
  6918.                                                         {
  6919.                                                             idx += 7;
  6920.                                                             return X11_GREY_97;
  6921.                                                         }
  6922.                                                         case '8':
  6923.                                                         {
  6924.                                                             idx += 7;
  6925.                                                             return X11_GREY_98;
  6926.                                                         }
  6927.                                                         case '9':
  6928.                                                         {
  6929.                                                             idx += 7;
  6930.                                                             return X11_GREY_99;
  6931.                                                         }
  6932.                                                     }
  6933.                                                     idx += 6;
  6934.                                                     return X11_GREY_9;
  6935.                                                 }
  6936.                                             }
  6937.                                         }
  6938.                                         case '0':
  6939.                                         {
  6940.                                             idx += 5;
  6941.                                             return X11_GREY0;
  6942.                                         }
  6943.                                         case '1':
  6944.                                         {
  6945.                                             switch (str[5] | 0x20)
  6946.                                             {
  6947.                                                 case '0':
  6948.                                                 {
  6949.                                                     switch (str[6] | 0x20)
  6950.                                                     {
  6951.                                                         case '0':
  6952.                                                         {
  6953.                                                             idx += 7;
  6954.                                                             return X11_GREY100;
  6955.                                                         }
  6956.                                                     }
  6957.                                                     idx += 6;
  6958.                                                     return X11_GREY10;
  6959.                                                 }
  6960.                                                 case '1':
  6961.                                                 {
  6962.                                                     idx += 6;
  6963.                                                     return X11_GREY11;
  6964.                                                 }
  6965.                                                 case '2':
  6966.                                                 {
  6967.                                                     idx += 6;
  6968.                                                     return X11_GREY12;
  6969.                                                 }
  6970.                                                 case '3':
  6971.                                                 {
  6972.                                                     idx += 6;
  6973.                                                     return X11_GREY13;
  6974.                                                 }
  6975.                                                 case '4':
  6976.                                                 {
  6977.                                                     idx += 6;
  6978.                                                     return X11_GREY14;
  6979.                                                 }
  6980.                                                 case '5':
  6981.                                                 {
  6982.                                                     idx += 6;
  6983.                                                     return X11_GREY15;
  6984.                                                 }
  6985.                                                 case '6':
  6986.                                                 {
  6987.                                                     idx += 6;
  6988.                                                     return X11_GREY16;
  6989.                                                 }
  6990.                                                 case '7':
  6991.                                                 {
  6992.                                                     idx += 6;
  6993.                                                     return X11_GREY17;
  6994.                                                 }
  6995.                                                 case '8':
  6996.                                                 {
  6997.                                                     idx += 6;
  6998.                                                     return X11_GREY18;
  6999.                                                 }
  7000.                                                 case '9':
  7001.                                                 {
  7002.                                                     idx += 6;
  7003.                                                     return X11_GREY19;
  7004.                                                 }
  7005.                                             }
  7006.                                             idx += 5;
  7007.                                             return X11_GREY1;
  7008.                                         }
  7009.                                         case '2':
  7010.                                         {
  7011.                                             switch (str[5] | 0x20)
  7012.                                             {
  7013.                                                 case '0':
  7014.                                                 {
  7015.                                                     idx += 6;
  7016.                                                     return X11_GREY20;
  7017.                                                 }
  7018.                                                 case '1':
  7019.                                                 {
  7020.                                                     idx += 6;
  7021.                                                     return X11_GREY21;
  7022.                                                 }
  7023.                                                 case '2':
  7024.                                                 {
  7025.                                                     idx += 6;
  7026.                                                     return X11_GREY22;
  7027.                                                 }
  7028.                                                 case '3':
  7029.                                                 {
  7030.                                                     idx += 6;
  7031.                                                     return X11_GREY23;
  7032.                                                 }
  7033.                                                 case '4':
  7034.                                                 {
  7035.                                                     idx += 6;
  7036.                                                     return X11_GREY24;
  7037.                                                 }
  7038.                                                 case '5':
  7039.                                                 {
  7040.                                                     idx += 6;
  7041.                                                     return X11_GREY25;
  7042.                                                 }
  7043.                                                 case '6':
  7044.                                                 {
  7045.                                                     idx += 6;
  7046.                                                     return X11_GREY26;
  7047.                                                 }
  7048.                                                 case '7':
  7049.                                                 {
  7050.                                                     idx += 6;
  7051.                                                     return X11_GREY27;
  7052.                                                 }
  7053.                                                 case '8':
  7054.                                                 {
  7055.                                                     idx += 6;
  7056.                                                     return X11_GREY28;
  7057.                                                 }
  7058.                                                 case '9':
  7059.                                                 {
  7060.                                                     idx += 6;
  7061.                                                     return X11_GREY29;
  7062.                                                 }
  7063.                                             }
  7064.                                             idx += 5;
  7065.                                             return X11_GREY2;
  7066.                                         }
  7067.                                         case '3':
  7068.                                         {
  7069.                                             switch (str[5] | 0x20)
  7070.                                             {
  7071.                                                 case '0':
  7072.                                                 {
  7073.                                                     idx += 6;
  7074.                                                     return X11_GREY30;
  7075.                                                 }
  7076.                                                 case '1':
  7077.                                                 {
  7078.                                                     idx += 6;
  7079.                                                     return X11_GREY31;
  7080.                                                 }
  7081.                                                 case '2':
  7082.                                                 {
  7083.                                                     idx += 6;
  7084.                                                     return X11_GREY32;
  7085.                                                 }
  7086.                                                 case '3':
  7087.                                                 {
  7088.                                                     idx += 6;
  7089.                                                     return X11_GREY33;
  7090.                                                 }
  7091.                                                 case '4':
  7092.                                                 {
  7093.                                                     idx += 6;
  7094.                                                     return X11_GREY34;
  7095.                                                 }
  7096.                                                 case '5':
  7097.                                                 {
  7098.                                                     idx += 6;
  7099.                                                     return X11_GREY35;
  7100.                                                 }
  7101.                                                 case '6':
  7102.                                                 {
  7103.                                                     idx += 6;
  7104.                                                     return X11_GREY36;
  7105.                                                 }
  7106.                                                 case '7':
  7107.                                                 {
  7108.                                                     idx += 6;
  7109.                                                     return X11_GREY37;
  7110.                                                 }
  7111.                                                 case '8':
  7112.                                                 {
  7113.                                                     idx += 6;
  7114.                                                     return X11_GREY38;
  7115.                                                 }
  7116.                                                 case '9':
  7117.                                                 {
  7118.                                                     idx += 6;
  7119.                                                     return X11_GREY39;
  7120.                                                 }
  7121.                                             }
  7122.                                             idx += 5;
  7123.                                             return X11_GREY3;
  7124.                                         }
  7125.                                         case '4':
  7126.                                         {
  7127.                                             switch (str[5] | 0x20)
  7128.                                             {
  7129.                                                 case '0':
  7130.                                                 {
  7131.                                                     idx += 6;
  7132.                                                     return X11_GREY40;
  7133.                                                 }
  7134.                                                 case '1':
  7135.                                                 {
  7136.                                                     idx += 6;
  7137.                                                     return X11_GREY41;
  7138.                                                 }
  7139.                                                 case '2':
  7140.                                                 {
  7141.                                                     idx += 6;
  7142.                                                     return X11_GREY42;
  7143.                                                 }
  7144.                                                 case '3':
  7145.                                                 {
  7146.                                                     idx += 6;
  7147.                                                     return X11_GREY43;
  7148.                                                 }
  7149.                                                 case '4':
  7150.                                                 {
  7151.                                                     idx += 6;
  7152.                                                     return X11_GREY44;
  7153.                                                 }
  7154.                                                 case '5':
  7155.                                                 {
  7156.                                                     idx += 6;
  7157.                                                     return X11_GREY45;
  7158.                                                 }
  7159.                                                 case '6':
  7160.                                                 {
  7161.                                                     idx += 6;
  7162.                                                     return X11_GREY46;
  7163.                                                 }
  7164.                                                 case '7':
  7165.                                                 {
  7166.                                                     idx += 6;
  7167.                                                     return X11_GREY47;
  7168.                                                 }
  7169.                                                 case '8':
  7170.                                                 {
  7171.                                                     idx += 6;
  7172.                                                     return X11_GREY48;
  7173.                                                 }
  7174.                                                 case '9':
  7175.                                                 {
  7176.                                                     idx += 6;
  7177.                                                     return X11_GREY49;
  7178.                                                 }
  7179.                                             }
  7180.                                             idx += 5;
  7181.                                             return X11_GREY4;
  7182.                                         }
  7183.                                         case '5':
  7184.                                         {
  7185.                                             switch (str[5] | 0x20)
  7186.                                             {
  7187.                                                 case '0':
  7188.                                                 {
  7189.                                                     idx += 6;
  7190.                                                     return X11_GREY50;
  7191.                                                 }
  7192.                                                 case '1':
  7193.                                                 {
  7194.                                                     idx += 6;
  7195.                                                     return X11_GREY51;
  7196.                                                 }
  7197.                                                 case '2':
  7198.                                                 {
  7199.                                                     idx += 6;
  7200.                                                     return X11_GREY52;
  7201.                                                 }
  7202.                                                 case '3':
  7203.                                                 {
  7204.                                                     idx += 6;
  7205.                                                     return X11_GREY53;
  7206.                                                 }
  7207.                                                 case '4':
  7208.                                                 {
  7209.                                                     idx += 6;
  7210.                                                     return X11_GREY54;
  7211.                                                 }
  7212.                                                 case '5':
  7213.                                                 {
  7214.                                                     idx += 6;
  7215.                                                     return X11_GREY55;
  7216.                                                 }
  7217.                                                 case '6':
  7218.                                                 {
  7219.                                                     idx += 6;
  7220.                                                     return X11_GREY56;
  7221.                                                 }
  7222.                                                 case '7':
  7223.                                                 {
  7224.                                                     idx += 6;
  7225.                                                     return X11_GREY57;
  7226.                                                 }
  7227.                                                 case '8':
  7228.                                                 {
  7229.                                                     idx += 6;
  7230.                                                     return X11_GREY58;
  7231.                                                 }
  7232.                                                 case '9':
  7233.                                                 {
  7234.                                                     idx += 6;
  7235.                                                     return X11_GREY59;
  7236.                                                 }
  7237.                                             }
  7238.                                             idx += 5;
  7239.                                             return X11_GREY5;
  7240.                                         }
  7241.                                         case '6':
  7242.                                         {
  7243.                                             switch (str[5] | 0x20)
  7244.                                             {
  7245.                                                 case '0':
  7246.                                                 {
  7247.                                                     idx += 6;
  7248.                                                     return X11_GREY60;
  7249.                                                 }
  7250.                                                 case '1':
  7251.                                                 {
  7252.                                                     idx += 6;
  7253.                                                     return X11_GREY61;
  7254.                                                 }
  7255.                                                 case '2':
  7256.                                                 {
  7257.                                                     idx += 6;
  7258.                                                     return X11_GREY62;
  7259.                                                 }
  7260.                                                 case '3':
  7261.                                                 {
  7262.                                                     idx += 6;
  7263.                                                     return X11_GREY63;
  7264.                                                 }
  7265.                                                 case '4':
  7266.                                                 {
  7267.                                                     idx += 6;
  7268.                                                     return X11_GREY64;
  7269.                                                 }
  7270.                                                 case '5':
  7271.                                                 {
  7272.                                                     idx += 6;
  7273.                                                     return X11_GREY65;
  7274.                                                 }
  7275.                                                 case '6':
  7276.                                                 {
  7277.                                                     idx += 6;
  7278.                                                     return X11_GREY66;
  7279.                                                 }
  7280.                                                 case '7':
  7281.                                                 {
  7282.                                                     idx += 6;
  7283.                                                     return X11_GREY67;
  7284.                                                 }
  7285.                                                 case '8':
  7286.                                                 {
  7287.                                                     idx += 6;
  7288.                                                     return X11_GREY68;
  7289.                                                 }
  7290.                                                 case '9':
  7291.                                                 {
  7292.                                                     idx += 6;
  7293.                                                     return X11_GREY69;
  7294.                                                 }
  7295.                                             }
  7296.                                             idx += 5;
  7297.                                             return X11_GREY6;
  7298.                                         }
  7299.                                         case '7':
  7300.                                         {
  7301.                                             switch (str[5] | 0x20)
  7302.                                             {
  7303.                                                 case '0':
  7304.                                                 {
  7305.                                                     idx += 6;
  7306.                                                     return X11_GREY70;
  7307.                                                 }
  7308.                                                 case '1':
  7309.                                                 {
  7310.                                                     idx += 6;
  7311.                                                     return X11_GREY71;
  7312.                                                 }
  7313.                                                 case '2':
  7314.                                                 {
  7315.                                                     idx += 6;
  7316.                                                     return X11_GREY72;
  7317.                                                 }
  7318.                                                 case '3':
  7319.                                                 {
  7320.                                                     idx += 6;
  7321.                                                     return X11_GREY73;
  7322.                                                 }
  7323.                                                 case '4':
  7324.                                                 {
  7325.                                                     idx += 6;
  7326.                                                     return X11_GREY74;
  7327.                                                 }
  7328.                                                 case '5':
  7329.                                                 {
  7330.                                                     idx += 6;
  7331.                                                     return X11_GREY75;
  7332.                                                 }
  7333.                                                 case '6':
  7334.                                                 {
  7335.                                                     idx += 6;
  7336.                                                     return X11_GREY76;
  7337.                                                 }
  7338.                                                 case '7':
  7339.                                                 {
  7340.                                                     idx += 6;
  7341.                                                     return X11_GREY77;
  7342.                                                 }
  7343.                                                 case '8':
  7344.                                                 {
  7345.                                                     idx += 6;
  7346.                                                     return X11_GREY78;
  7347.                                                 }
  7348.                                                 case '9':
  7349.                                                 {
  7350.                                                     idx += 6;
  7351.                                                     return X11_GREY79;
  7352.                                                 }
  7353.                                             }
  7354.                                             idx += 5;
  7355.                                             return X11_GREY7;
  7356.                                         }
  7357.                                         case '8':
  7358.                                         {
  7359.                                             switch (str[5] | 0x20)
  7360.                                             {
  7361.                                                 case '0':
  7362.                                                 {
  7363.                                                     idx += 6;
  7364.                                                     return X11_GREY80;
  7365.                                                 }
  7366.                                                 case '1':
  7367.                                                 {
  7368.                                                     idx += 6;
  7369.                                                     return X11_GREY81;
  7370.                                                 }
  7371.                                                 case '2':
  7372.                                                 {
  7373.                                                     idx += 6;
  7374.                                                     return X11_GREY82;
  7375.                                                 }
  7376.                                                 case '3':
  7377.                                                 {
  7378.                                                     idx += 6;
  7379.                                                     return X11_GREY83;
  7380.                                                 }
  7381.                                                 case '4':
  7382.                                                 {
  7383.                                                     idx += 6;
  7384.                                                     return X11_GREY84;
  7385.                                                 }
  7386.                                                 case '5':
  7387.                                                 {
  7388.                                                     idx += 6;
  7389.                                                     return X11_GREY85;
  7390.                                                 }
  7391.                                                 case '6':
  7392.                                                 {
  7393.                                                     idx += 6;
  7394.                                                     return X11_GREY86;
  7395.                                                 }
  7396.                                                 case '7':
  7397.                                                 {
  7398.                                                     idx += 6;
  7399.                                                     return X11_GREY87;
  7400.                                                 }
  7401.                                                 case '8':
  7402.                                                 {
  7403.                                                     idx += 6;
  7404.                                                     return X11_GREY88;
  7405.                                                 }
  7406.                                                 case '9':
  7407.                                                 {
  7408.                                                     idx += 6;
  7409.                                                     return X11_GREY89;
  7410.                                                 }
  7411.                                             }
  7412.                                             idx += 5;
  7413.                                             return X11_GREY8;
  7414.                                         }
  7415.                                         case '9':
  7416.                                         {
  7417.                                             switch (str[5] | 0x20)
  7418.                                             {
  7419.                                                 case '0':
  7420.                                                 {
  7421.                                                     idx += 6;
  7422.                                                     return X11_GREY90;
  7423.                                                 }
  7424.                                                 case '1':
  7425.                                                 {
  7426.                                                     idx += 6;
  7427.                                                     return X11_GREY91;
  7428.                                                 }
  7429.                                                 case '2':
  7430.                                                 {
  7431.                                                     idx += 6;
  7432.                                                     return X11_GREY92;
  7433.                                                 }
  7434.                                                 case '3':
  7435.                                                 {
  7436.                                                     idx += 6;
  7437.                                                     return X11_GREY93;
  7438.                                                 }
  7439.                                                 case '4':
  7440.                                                 {
  7441.                                                     idx += 6;
  7442.                                                     return X11_GREY94;
  7443.                                                 }
  7444.                                                 case '5':
  7445.                                                 {
  7446.                                                     idx += 6;
  7447.                                                     return X11_GREY95;
  7448.                                                 }
  7449.                                                 case '6':
  7450.                                                 {
  7451.                                                     idx += 6;
  7452.                                                     return X11_GREY96;
  7453.                                                 }
  7454.                                                 case '7':
  7455.                                                 {
  7456.                                                     idx += 6;
  7457.                                                     return X11_GREY97;
  7458.                                                 }
  7459.                                                 case '8':
  7460.                                                 {
  7461.                                                     idx += 6;
  7462.                                                     return X11_GREY98;
  7463.                                                 }
  7464.                                                 case '9':
  7465.                                                 {
  7466.                                                     idx += 6;
  7467.                                                     return X11_GREY99;
  7468.                                                 }
  7469.                                             }
  7470.                                             idx += 5;
  7471.                                             return X11_GREY9;
  7472.                                         }
  7473.                                     }
  7474.                                     idx += 4;
  7475.                                     return X11_GREY;
  7476.                                 }
  7477.                             }
  7478.                         }
  7479.                     }
  7480.                 }
  7481.             }
  7482.         }
  7483.         case 'h':
  7484.         {
  7485.             if (str[1] != 'O')
  7486.             {
  7487.                 return -1;
  7488.             }
  7489.             switch (str[2] | 0x20)
  7490.             {
  7491.                 case 'n':
  7492.                 {
  7493.                     if (!str[3] || strcmp(str[3], !"EYDEW", true, 5))
  7494.                     {
  7495.                         return -1;
  7496.                     }
  7497.                     switch (str[8] | 0x20)
  7498.                     {
  7499.                         case ' ' | 0x20: // ' '
  7500.                         {
  7501.                             if (str[8])
  7502.                             {
  7503.                                 switch (str[9] | 0x20)
  7504.                                 {
  7505.                                     case '1':
  7506.                                     {
  7507.                                         idx += 10;
  7508.                                         return X11_HONEYDEW_1;
  7509.                                     }
  7510.                                     case '2':
  7511.                                     {
  7512.                                         idx += 10;
  7513.                                         return X11_HONEYDEW_2;
  7514.                                     }
  7515.                                     case '3':
  7516.                                     {
  7517.                                         idx += 10;
  7518.                                         return X11_HONEYDEW_3;
  7519.                                     }
  7520.                                     case '4':
  7521.                                     {
  7522.                                         idx += 10;
  7523.                                         return X11_HONEYDEW_4;
  7524.                                     }
  7525.                                 }
  7526.                             }
  7527.                         }
  7528.                         case '_' | 0x20:
  7529.                         {
  7530.                             switch (str[9] | 0x20)
  7531.                             {
  7532.                                 case '1':
  7533.                                 {
  7534.                                     idx += 10;
  7535.                                     return X11_HONEYDEW_1;
  7536.                                 }
  7537.                                 case '2':
  7538.                                 {
  7539.                                     idx += 10;
  7540.                                     return X11_HONEYDEW_2;
  7541.                                 }
  7542.                                 case '3':
  7543.                                 {
  7544.                                     idx += 10;
  7545.                                     return X11_HONEYDEW_3;
  7546.                                 }
  7547.                                 case '4':
  7548.                                 {
  7549.                                     idx += 10;
  7550.                                     return X11_HONEYDEW_4;
  7551.                                 }
  7552.                             }
  7553.                         }
  7554.                         case '1':
  7555.                         {
  7556.                             idx += 9;
  7557.                             return X11_HONEYDEW1;
  7558.                         }
  7559.                         case '2':
  7560.                         {
  7561.                             idx += 9;
  7562.                             return X11_HONEYDEW2;
  7563.                         }
  7564.                         case '3':
  7565.                         {
  7566.                             idx += 9;
  7567.                             return X11_HONEYDEW3;
  7568.                         }
  7569.                         case '4':
  7570.                         {
  7571.                             idx += 9;
  7572.                             return X11_HONEYDEW4;
  7573.                         }
  7574.                     }
  7575.                     idx += 8;
  7576.                     return X11_HONEYDEW;
  7577.                 }
  7578.                 case 't':
  7579.                 {
  7580.                     switch (str[3] | 0x20)
  7581.                     {
  7582.                         case ' ' | 0x20: // ' '
  7583.                         {
  7584.                             if (str[3])
  7585.                             {
  7586.                                 if (!str[4] || strcmp(str[4], !"PINK", true, 4))
  7587.                                 {
  7588.                                     return -1;
  7589.                                 }
  7590.                                 switch (str[8] | 0x20)
  7591.                                 {
  7592.                                     case ' ' | 0x20: // ' '
  7593.                                     {
  7594.                                         if (str[8])
  7595.                                         {
  7596.                                             switch (str[9] | 0x20)
  7597.                                             {
  7598.                                                 case '1':
  7599.                                                 {
  7600.                                                     idx += 10;
  7601.                                                     return X11_HOT_PINK_1;
  7602.                                                 }
  7603.                                                 case '2':
  7604.                                                 {
  7605.                                                     idx += 10;
  7606.                                                     return X11_HOT_PINK_2;
  7607.                                                 }
  7608.                                                 case '3':
  7609.                                                 {
  7610.                                                     idx += 10;
  7611.                                                     return X11_HOT_PINK_3;
  7612.                                                 }
  7613.                                                 case '4':
  7614.                                                 {
  7615.                                                     idx += 10;
  7616.                                                     return X11_HOT_PINK_4;
  7617.                                                 }
  7618.                                             }
  7619.                                         }
  7620.                                     }
  7621.                                     case '_' | 0x20:
  7622.                                     {
  7623.                                         switch (str[9] | 0x20)
  7624.                                         {
  7625.                                             case '1':
  7626.                                             {
  7627.                                                 idx += 10;
  7628.                                                 return X11_HOT_PINK_1;
  7629.                                             }
  7630.                                             case '2':
  7631.                                             {
  7632.                                                 idx += 10;
  7633.                                                 return X11_HOT_PINK_2;
  7634.                                             }
  7635.                                             case '3':
  7636.                                             {
  7637.                                                 idx += 10;
  7638.                                                 return X11_HOT_PINK_3;
  7639.                                             }
  7640.                                             case '4':
  7641.                                             {
  7642.                                                 idx += 10;
  7643.                                                 return X11_HOT_PINK_4;
  7644.                                             }
  7645.                                         }
  7646.                                     }
  7647.                                 }
  7648.                                 idx += 8;
  7649.                                 return X11_HOT_PINK;
  7650.                             }
  7651.                         }
  7652.                         case '_' | 0x20:
  7653.                         {
  7654.                             if (!str[4] || strcmp(str[4], !"PINK", true, 4))
  7655.                             {
  7656.                                 return -1;
  7657.                             }
  7658.                             switch (str[8] | 0x20)
  7659.                             {
  7660.                                 case ' ' | 0x20: // ' '
  7661.                                 {
  7662.                                     if (str[8])
  7663.                                     {
  7664.                                         switch (str[9] | 0x20)
  7665.                                         {
  7666.                                             case '1':
  7667.                                             {
  7668.                                                 idx += 10;
  7669.                                                 return X11_HOT_PINK_1;
  7670.                                             }
  7671.                                             case '2':
  7672.                                             {
  7673.                                                 idx += 10;
  7674.                                                 return X11_HOT_PINK_2;
  7675.                                             }
  7676.                                             case '3':
  7677.                                             {
  7678.                                                 idx += 10;
  7679.                                                 return X11_HOT_PINK_3;
  7680.                                             }
  7681.                                             case '4':
  7682.                                             {
  7683.                                                 idx += 10;
  7684.                                                 return X11_HOT_PINK_4;
  7685.                                             }
  7686.                                         }
  7687.                                     }
  7688.                                 }
  7689.                                 case '_' | 0x20:
  7690.                                 {
  7691.                                     switch (str[9] | 0x20)
  7692.                                     {
  7693.                                         case '1':
  7694.                                         {
  7695.                                             idx += 10;
  7696.                                             return X11_HOT_PINK_1;
  7697.                                         }
  7698.                                         case '2':
  7699.                                         {
  7700.                                             idx += 10;
  7701.                                             return X11_HOT_PINK_2;
  7702.                                         }
  7703.                                         case '3':
  7704.                                         {
  7705.                                             idx += 10;
  7706.                                             return X11_HOT_PINK_3;
  7707.                                         }
  7708.                                         case '4':
  7709.                                         {
  7710.                                             idx += 10;
  7711.                                             return X11_HOT_PINK_4;
  7712.                                         }
  7713.                                     }
  7714.                                 }
  7715.                             }
  7716.                             idx += 8;
  7717.                             return X11_HOT_PINK;
  7718.                         }
  7719.                         case 'p':
  7720.                         {
  7721.                             if (!str[4] || strcmp(str[4], !"INK", true, 3))
  7722.                             {
  7723.                                 return -1;
  7724.                             }
  7725.                             switch (str[7] | 0x20)
  7726.                             {
  7727.                                 case '1':
  7728.                                 {
  7729.                                     idx += 8;
  7730.                                     return X11_HOTPINK1;
  7731.                                 }
  7732.                                 case '2':
  7733.                                 {
  7734.                                     idx += 8;
  7735.                                     return X11_HOTPINK2;
  7736.                                 }
  7737.                                 case '3':
  7738.                                 {
  7739.                                     idx += 8;
  7740.                                     return X11_HOTPINK3;
  7741.                                 }
  7742.                                 case '4':
  7743.                                 {
  7744.                                     idx += 8;
  7745.                                     return X11_HOTPINK4;
  7746.                                 }
  7747.                             }
  7748.                             idx += 7;
  7749.                             return X11_HOTPINK;
  7750.                         }
  7751.                     }
  7752.                 }
  7753.             }
  7754.         }
  7755.         case 'i':
  7756.         {
  7757.             switch (str[1] | 0x20)
  7758.             {
  7759.                 case 'n':
  7760.                 {
  7761.                     if (!str[2] || strcmp(str[2], !"DIAN", true, 4))
  7762.                     {
  7763.                         return -1;
  7764.                     }
  7765.                     switch (str[6] | 0x20)
  7766.                     {
  7767.                         case ' ' | 0x20: // ' '
  7768.                         {
  7769.                             if (str[6])
  7770.                             {
  7771.                                 if (!str[7] || strcmp(str[7], !"RED", true, 3))
  7772.                                 {
  7773.                                     return -1;
  7774.                                 }
  7775.                                 switch (str[10] | 0x20)
  7776.                                 {
  7777.                                     case ' ' | 0x20: // ' '
  7778.                                     {
  7779.                                         if (str[10])
  7780.                                         {
  7781.                                             switch (str[11] | 0x20)
  7782.                                             {
  7783.                                                 case '1':
  7784.                                                 {
  7785.                                                     idx += 12;
  7786.                                                     return X11_INDIAN_RED_1;
  7787.                                                 }
  7788.                                                 case '2':
  7789.                                                 {
  7790.                                                     idx += 12;
  7791.                                                     return X11_INDIAN_RED_2;
  7792.                                                 }
  7793.                                                 case '3':
  7794.                                                 {
  7795.                                                     idx += 12;
  7796.                                                     return X11_INDIAN_RED_3;
  7797.                                                 }
  7798.                                                 case '4':
  7799.                                                 {
  7800.                                                     idx += 12;
  7801.                                                     return X11_INDIAN_RED_4;
  7802.                                                 }
  7803.                                             }
  7804.                                         }
  7805.                                     }
  7806.                                     case '_' | 0x20:
  7807.                                     {
  7808.                                         switch (str[11] | 0x20)
  7809.                                         {
  7810.                                             case '1':
  7811.                                             {
  7812.                                                 idx += 12;
  7813.                                                 return X11_INDIAN_RED_1;
  7814.                                             }
  7815.                                             case '2':
  7816.                                             {
  7817.                                                 idx += 12;
  7818.                                                 return X11_INDIAN_RED_2;
  7819.                                             }
  7820.                                             case '3':
  7821.                                             {
  7822.                                                 idx += 12;
  7823.                                                 return X11_INDIAN_RED_3;
  7824.                                             }
  7825.                                             case '4':
  7826.                                             {
  7827.                                                 idx += 12;
  7828.                                                 return X11_INDIAN_RED_4;
  7829.                                             }
  7830.                                         }
  7831.                                     }
  7832.                                 }
  7833.                                 idx += 10;
  7834.                                 return X11_INDIAN_RED;
  7835.                             }
  7836.                         }
  7837.                         case '_' | 0x20:
  7838.                         {
  7839.                             if (!str[7] || strcmp(str[7], !"RED", true, 3))
  7840.                             {
  7841.                                 return -1;
  7842.                             }
  7843.                             switch (str[10] | 0x20)
  7844.                             {
  7845.                                 case ' ' | 0x20: // ' '
  7846.                                 {
  7847.                                     if (str[10])
  7848.                                     {
  7849.                                         switch (str[11] | 0x20)
  7850.                                         {
  7851.                                             case '1':
  7852.                                             {
  7853.                                                 idx += 12;
  7854.                                                 return X11_INDIAN_RED_1;
  7855.                                             }
  7856.                                             case '2':
  7857.                                             {
  7858.                                                 idx += 12;
  7859.                                                 return X11_INDIAN_RED_2;
  7860.                                             }
  7861.                                             case '3':
  7862.                                             {
  7863.                                                 idx += 12;
  7864.                                                 return X11_INDIAN_RED_3;
  7865.                                             }
  7866.                                             case '4':
  7867.                                             {
  7868.                                                 idx += 12;
  7869.                                                 return X11_INDIAN_RED_4;
  7870.                                             }
  7871.                                         }
  7872.                                     }
  7873.                                 }
  7874.                                 case '_' | 0x20:
  7875.                                 {
  7876.                                     switch (str[11] | 0x20)
  7877.                                     {
  7878.                                         case '1':
  7879.                                         {
  7880.                                             idx += 12;
  7881.                                             return X11_INDIAN_RED_1;
  7882.                                         }
  7883.                                         case '2':
  7884.                                         {
  7885.                                             idx += 12;
  7886.                                             return X11_INDIAN_RED_2;
  7887.                                         }
  7888.                                         case '3':
  7889.                                         {
  7890.                                             idx += 12;
  7891.                                             return X11_INDIAN_RED_3;
  7892.                                         }
  7893.                                         case '4':
  7894.                                         {
  7895.                                             idx += 12;
  7896.                                             return X11_INDIAN_RED_4;
  7897.                                         }
  7898.                                     }
  7899.                                 }
  7900.                             }
  7901.                             idx += 10;
  7902.                             return X11_INDIAN_RED;
  7903.                         }
  7904.                         case 'r':
  7905.                         {
  7906.                             if (!str[7] || strcmp(str[7], !"ED", true, 2))
  7907.                             {
  7908.                                 return -1;
  7909.                             }
  7910.                             switch (str[9] | 0x20)
  7911.                             {
  7912.                                 case '1':
  7913.                                 {
  7914.                                     idx += 10;
  7915.                                     return X11_INDIANRED1;
  7916.                                 }
  7917.                                 case '2':
  7918.                                 {
  7919.                                     idx += 10;
  7920.                                     return X11_INDIANRED2;
  7921.                                 }
  7922.                                 case '3':
  7923.                                 {
  7924.                                     idx += 10;
  7925.                                     return X11_INDIANRED3;
  7926.                                 }
  7927.                                 case '4':
  7928.                                 {
  7929.                                     idx += 10;
  7930.                                     return X11_INDIANRED4;
  7931.                                 }
  7932.                             }
  7933.                             idx += 9;
  7934.                             return X11_INDIANRED;
  7935.                         }
  7936.                     }
  7937.                 }
  7938.                 case 'v':
  7939.                 {
  7940.                     if (!str[2] || strcmp(str[2], !"ORY", true, 3))
  7941.                     {
  7942.                         return -1;
  7943.                     }
  7944.                     switch (str[5] | 0x20)
  7945.                     {
  7946.                         case ' ' | 0x20: // ' '
  7947.                         {
  7948.                             if (str[5])
  7949.                             {
  7950.                                 switch (str[6] | 0x20)
  7951.                                 {
  7952.                                     case '1':
  7953.                                     {
  7954.                                         idx += 7;
  7955.                                         return X11_IVORY_1;
  7956.                                     }
  7957.                                     case '2':
  7958.                                     {
  7959.                                         idx += 7;
  7960.                                         return X11_IVORY_2;
  7961.                                     }
  7962.                                     case '3':
  7963.                                     {
  7964.                                         idx += 7;
  7965.                                         return X11_IVORY_3;
  7966.                                     }
  7967.                                     case '4':
  7968.                                     {
  7969.                                         idx += 7;
  7970.                                         return X11_IVORY_4;
  7971.                                     }
  7972.                                 }
  7973.                             }
  7974.                         }
  7975.                         case '_' | 0x20:
  7976.                         {
  7977.                             switch (str[6] | 0x20)
  7978.                             {
  7979.                                 case '1':
  7980.                                 {
  7981.                                     idx += 7;
  7982.                                     return X11_IVORY_1;
  7983.                                 }
  7984.                                 case '2':
  7985.                                 {
  7986.                                     idx += 7;
  7987.                                     return X11_IVORY_2;
  7988.                                 }
  7989.                                 case '3':
  7990.                                 {
  7991.                                     idx += 7;
  7992.                                     return X11_IVORY_3;
  7993.                                 }
  7994.                                 case '4':
  7995.                                 {
  7996.                                     idx += 7;
  7997.                                     return X11_IVORY_4;
  7998.                                 }
  7999.                             }
  8000.                         }
  8001.                         case '1':
  8002.                         {
  8003.                             idx += 6;
  8004.                             return X11_IVORY1;
  8005.                         }
  8006.                         case '2':
  8007.                         {
  8008.                             idx += 6;
  8009.                             return X11_IVORY2;
  8010.                         }
  8011.                         case '3':
  8012.                         {
  8013.                             idx += 6;
  8014.                             return X11_IVORY3;
  8015.                         }
  8016.                         case '4':
  8017.                         {
  8018.                             idx += 6;
  8019.                             return X11_IVORY4;
  8020.                         }
  8021.                     }
  8022.                     idx += 5;
  8023.                     return X11_IVORY;
  8024.                 }
  8025.             }
  8026.         }
  8027.         case 'k':
  8028.         {
  8029.             if (!str[1] || strcmp(str[1], !"HAKI", true, 4))
  8030.             {
  8031.                 return -1;
  8032.             }
  8033.             switch (str[5] | 0x20)
  8034.             {
  8035.                 case ' ' | 0x20: // ' '
  8036.                 {
  8037.                     if (str[5])
  8038.                     {
  8039.                         switch (str[6] | 0x20)
  8040.                         {
  8041.                             case '1':
  8042.                             {
  8043.                                 idx += 7;
  8044.                                 return X11_KHAKI_1;
  8045.                             }
  8046.                             case '2':
  8047.                             {
  8048.                                 idx += 7;
  8049.                                 return X11_KHAKI_2;
  8050.                             }
  8051.                             case '3':
  8052.                             {
  8053.                                 idx += 7;
  8054.                                 return X11_KHAKI_3;
  8055.                             }
  8056.                             case '4':
  8057.                             {
  8058.                                 idx += 7;
  8059.                                 return X11_KHAKI_4;
  8060.                             }
  8061.                         }
  8062.                     }
  8063.                 }
  8064.                 case '_' | 0x20:
  8065.                 {
  8066.                     switch (str[6] | 0x20)
  8067.                     {
  8068.                         case '1':
  8069.                         {
  8070.                             idx += 7;
  8071.                             return X11_KHAKI_1;
  8072.                         }
  8073.                         case '2':
  8074.                         {
  8075.                             idx += 7;
  8076.                             return X11_KHAKI_2;
  8077.                         }
  8078.                         case '3':
  8079.                         {
  8080.                             idx += 7;
  8081.                             return X11_KHAKI_3;
  8082.                         }
  8083.                         case '4':
  8084.                         {
  8085.                             idx += 7;
  8086.                             return X11_KHAKI_4;
  8087.                         }
  8088.                     }
  8089.                 }
  8090.                 case '1':
  8091.                 {
  8092.                     idx += 6;
  8093.                     return X11_KHAKI1;
  8094.                 }
  8095.                 case '2':
  8096.                 {
  8097.                     idx += 6;
  8098.                     return X11_KHAKI2;
  8099.                 }
  8100.                 case '3':
  8101.                 {
  8102.                     idx += 6;
  8103.                     return X11_KHAKI3;
  8104.                 }
  8105.                 case '4':
  8106.                 {
  8107.                     idx += 6;
  8108.                     return X11_KHAKI4;
  8109.                 }
  8110.             }
  8111.             idx += 5;
  8112.             return X11_KHAKI;
  8113.         }
  8114.         case 'l':
  8115.         {
  8116.             switch (str[1] | 0x20)
  8117.             {
  8118.                 case 'a':
  8119.                 {
  8120.                     switch (str[2] | 0x20)
  8121.                     {
  8122.                         case 'v':
  8123.                         {
  8124.                             if (!str[3] || strcmp(str[3], !"ENDER", true, 5))
  8125.                             {
  8126.                                 return -1;
  8127.                             }
  8128.                             switch (str[8] | 0x20)
  8129.                             {
  8130.                                 case ' ' | 0x20: // ' '
  8131.                                 {
  8132.                                     if (str[8])
  8133.                                     {
  8134.                                         if (!str[9] || strcmp(str[9], !"BLUSH", true, 5))
  8135.                                         {
  8136.                                             return -1;
  8137.                                         }
  8138.                                         switch (str[14] | 0x20)
  8139.                                         {
  8140.                                             case ' ' | 0x20: // ' '
  8141.                                             {
  8142.                                                 if (str[14])
  8143.                                                 {
  8144.                                                     switch (str[15] | 0x20)
  8145.                                                     {
  8146.                                                         case '1':
  8147.                                                         {
  8148.                                                             idx += 16;
  8149.                                                             return X11_LAVENDER_BLUSH_1;
  8150.                                                         }
  8151.                                                         case '2':
  8152.                                                         {
  8153.                                                             idx += 16;
  8154.                                                             return X11_LAVENDER_BLUSH_2;
  8155.                                                         }
  8156.                                                         case '3':
  8157.                                                         {
  8158.                                                             idx += 16;
  8159.                                                             return X11_LAVENDER_BLUSH_3;
  8160.                                                         }
  8161.                                                         case '4':
  8162.                                                         {
  8163.                                                             idx += 16;
  8164.                                                             return X11_LAVENDER_BLUSH_4;
  8165.                                                         }
  8166.                                                     }
  8167.                                                 }
  8168.                                             }
  8169.                                             case '_' | 0x20:
  8170.                                             {
  8171.                                                 switch (str[15] | 0x20)
  8172.                                                 {
  8173.                                                     case '1':
  8174.                                                     {
  8175.                                                         idx += 16;
  8176.                                                         return X11_LAVENDER_BLUSH_1;
  8177.                                                     }
  8178.                                                     case '2':
  8179.                                                     {
  8180.                                                         idx += 16;
  8181.                                                         return X11_LAVENDER_BLUSH_2;
  8182.                                                     }
  8183.                                                     case '3':
  8184.                                                     {
  8185.                                                         idx += 16;
  8186.                                                         return X11_LAVENDER_BLUSH_3;
  8187.                                                     }
  8188.                                                     case '4':
  8189.                                                     {
  8190.                                                         idx += 16;
  8191.                                                         return X11_LAVENDER_BLUSH_4;
  8192.                                                     }
  8193.                                                 }
  8194.                                             }
  8195.                                         }
  8196.                                         idx += 14;
  8197.                                         return X11_LAVENDER_BLUSH;
  8198.                                     }
  8199.                                 }
  8200.                                 case '_' | 0x20:
  8201.                                 {
  8202.                                     if (!str[9] || strcmp(str[9], !"BLUSH", true, 5))
  8203.                                     {
  8204.                                         return -1;
  8205.                                     }
  8206.                                     switch (str[14] | 0x20)
  8207.                                     {
  8208.                                         case ' ' | 0x20: // ' '
  8209.                                         {
  8210.                                             if (str[14])
  8211.                                             {
  8212.                                                 switch (str[15] | 0x20)
  8213.                                                 {
  8214.                                                     case '1':
  8215.                                                     {
  8216.                                                         idx += 16;
  8217.                                                         return X11_LAVENDER_BLUSH_1;
  8218.                                                     }
  8219.                                                     case '2':
  8220.                                                     {
  8221.                                                         idx += 16;
  8222.                                                         return X11_LAVENDER_BLUSH_2;
  8223.                                                     }
  8224.                                                     case '3':
  8225.                                                     {
  8226.                                                         idx += 16;
  8227.                                                         return X11_LAVENDER_BLUSH_3;
  8228.                                                     }
  8229.                                                     case '4':
  8230.                                                     {
  8231.                                                         idx += 16;
  8232.                                                         return X11_LAVENDER_BLUSH_4;
  8233.                                                     }
  8234.                                                 }
  8235.                                             }
  8236.                                         }
  8237.                                         case '_' | 0x20:
  8238.                                         {
  8239.                                             switch (str[15] | 0x20)
  8240.                                             {
  8241.                                                 case '1':
  8242.                                                 {
  8243.                                                     idx += 16;
  8244.                                                     return X11_LAVENDER_BLUSH_1;
  8245.                                                 }
  8246.                                                 case '2':
  8247.                                                 {
  8248.                                                     idx += 16;
  8249.                                                     return X11_LAVENDER_BLUSH_2;
  8250.                                                 }
  8251.                                                 case '3':
  8252.                                                 {
  8253.                                                     idx += 16;
  8254.                                                     return X11_LAVENDER_BLUSH_3;
  8255.                                                 }
  8256.                                                 case '4':
  8257.                                                 {
  8258.                                                     idx += 16;
  8259.                                                     return X11_LAVENDER_BLUSH_4;
  8260.                                                 }
  8261.                                             }
  8262.                                         }
  8263.                                     }
  8264.                                     idx += 14;
  8265.                                     return X11_LAVENDER_BLUSH;
  8266.                                 }
  8267.                                 case 'b':
  8268.                                 {
  8269.                                     if (!str[9] || strcmp(str[9], !"LUSH", true, 4))
  8270.                                     {
  8271.                                         return -1;
  8272.                                     }
  8273.                                     switch (str[13] | 0x20)
  8274.                                     {
  8275.                                         case '1':
  8276.                                         {
  8277.                                             idx += 14;
  8278.                                             return X11_LAVENDERBLUSH1;
  8279.                                         }
  8280.                                         case '2':
  8281.                                         {
  8282.                                             idx += 14;
  8283.                                             return X11_LAVENDERBLUSH2;
  8284.                                         }
  8285.                                         case '3':
  8286.                                         {
  8287.                                             idx += 14;
  8288.                                             return X11_LAVENDERBLUSH3;
  8289.                                         }
  8290.                                         case '4':
  8291.                                         {
  8292.                                             idx += 14;
  8293.                                             return X11_LAVENDERBLUSH4;
  8294.                                         }
  8295.                                     }
  8296.                                     idx += 13;
  8297.                                     return X11_LAVENDERBLUSH;
  8298.                                 }
  8299.                             }
  8300.                             idx += 8;
  8301.                             return X11_LAVENDER;
  8302.                         }
  8303.                         case 'w':
  8304.                         {
  8305.                             if (str[3] != 'N')
  8306.                             {
  8307.                                 return -1;
  8308.                             }
  8309.                             switch (str[4] | 0x20)
  8310.                             {
  8311.                                 case ' ' | 0x20: // ' '
  8312.                                 {
  8313.                                     if (str[4])
  8314.                                     {
  8315.                                         if (str[5] && !strcmp(str[5], !"GREEN", true, 5))
  8316.                                         {
  8317.                                             idx += 10;
  8318.                                             return X11_LAWN_GREEN;
  8319.                                         }
  8320.                                     }
  8321.                                 }
  8322.                                 case '_' | 0x20:
  8323.                                 {
  8324.                                     if (str[5] && !strcmp(str[5], !"GREEN", true, 5))
  8325.                                     {
  8326.                                         idx += 10;
  8327.                                         return X11_LAWN_GREEN;
  8328.                                     }
  8329.                                 }
  8330.                                 case 'g':
  8331.                                 {
  8332.                                     if (str[5] && !strcmp(str[5], !"REEN", true, 4))
  8333.                                     {
  8334.                                         idx += 9;
  8335.                                         return X11_LAWNGREEN;
  8336.                                     }
  8337.                                 }
  8338.                             }
  8339.                         }
  8340.                     }
  8341.                 }
  8342.                 case 'e':
  8343.                 {
  8344.                     if (!str[2] || strcmp(str[2], !"MON", true, 3))
  8345.                     {
  8346.                         return -1;
  8347.                     }
  8348.                     switch (str[5] | 0x20)
  8349.                     {
  8350.                         case ' ' | 0x20: // ' '
  8351.                         {
  8352.                             if (str[5])
  8353.                             {
  8354.                                 if (!str[6] || strcmp(str[6], !"CHIFFON", true, 7))
  8355.                                 {
  8356.                                     return -1;
  8357.                                 }
  8358.                                 switch (str[13] | 0x20)
  8359.                                 {
  8360.                                     case ' ' | 0x20: // ' '
  8361.                                     {
  8362.                                         if (str[13])
  8363.                                         {
  8364.                                             switch (str[14] | 0x20)
  8365.                                             {
  8366.                                                 case '1':
  8367.                                                 {
  8368.                                                     idx += 15;
  8369.                                                     return X11_LEMON_CHIFFON_1;
  8370.                                                 }
  8371.                                                 case '2':
  8372.                                                 {
  8373.                                                     idx += 15;
  8374.                                                     return X11_LEMON_CHIFFON_2;
  8375.                                                 }
  8376.                                                 case '3':
  8377.                                                 {
  8378.                                                     idx += 15;
  8379.                                                     return X11_LEMON_CHIFFON_3;
  8380.                                                 }
  8381.                                                 case '4':
  8382.                                                 {
  8383.                                                     idx += 15;
  8384.                                                     return X11_LEMON_CHIFFON_4;
  8385.                                                 }
  8386.                                             }
  8387.                                         }
  8388.                                     }
  8389.                                     case '_' | 0x20:
  8390.                                     {
  8391.                                         switch (str[14] | 0x20)
  8392.                                         {
  8393.                                             case '1':
  8394.                                             {
  8395.                                                 idx += 15;
  8396.                                                 return X11_LEMON_CHIFFON_1;
  8397.                                             }
  8398.                                             case '2':
  8399.                                             {
  8400.                                                 idx += 15;
  8401.                                                 return X11_LEMON_CHIFFON_2;
  8402.                                             }
  8403.                                             case '3':
  8404.                                             {
  8405.                                                 idx += 15;
  8406.                                                 return X11_LEMON_CHIFFON_3;
  8407.                                             }
  8408.                                             case '4':
  8409.                                             {
  8410.                                                 idx += 15;
  8411.                                                 return X11_LEMON_CHIFFON_4;
  8412.                                             }
  8413.                                         }
  8414.                                     }
  8415.                                 }
  8416.                                 idx += 13;
  8417.                                 return X11_LEMON_CHIFFON;
  8418.                             }
  8419.                         }
  8420.                         case '_' | 0x20:
  8421.                         {
  8422.                             if (!str[6] || strcmp(str[6], !"CHIFFON", true, 7))
  8423.                             {
  8424.                                 return -1;
  8425.                             }
  8426.                             switch (str[13] | 0x20)
  8427.                             {
  8428.                                 case ' ' | 0x20: // ' '
  8429.                                 {
  8430.                                     if (str[13])
  8431.                                     {
  8432.                                         switch (str[14] | 0x20)
  8433.                                         {
  8434.                                             case '1':
  8435.                                             {
  8436.                                                 idx += 15;
  8437.                                                 return X11_LEMON_CHIFFON_1;
  8438.                                             }
  8439.                                             case '2':
  8440.                                             {
  8441.                                                 idx += 15;
  8442.                                                 return X11_LEMON_CHIFFON_2;
  8443.                                             }
  8444.                                             case '3':
  8445.                                             {
  8446.                                                 idx += 15;
  8447.                                                 return X11_LEMON_CHIFFON_3;
  8448.                                             }
  8449.                                             case '4':
  8450.                                             {
  8451.                                                 idx += 15;
  8452.                                                 return X11_LEMON_CHIFFON_4;
  8453.                                             }
  8454.                                         }
  8455.                                     }
  8456.                                 }
  8457.                                 case '_' | 0x20:
  8458.                                 {
  8459.                                     switch (str[14] | 0x20)
  8460.                                     {
  8461.                                         case '1':
  8462.                                         {
  8463.                                             idx += 15;
  8464.                                             return X11_LEMON_CHIFFON_1;
  8465.                                         }
  8466.                                         case '2':
  8467.                                         {
  8468.                                             idx += 15;
  8469.                                             return X11_LEMON_CHIFFON_2;
  8470.                                         }
  8471.                                         case '3':
  8472.                                         {
  8473.                                             idx += 15;
  8474.                                             return X11_LEMON_CHIFFON_3;
  8475.                                         }
  8476.                                         case '4':
  8477.                                         {
  8478.                                             idx += 15;
  8479.                                             return X11_LEMON_CHIFFON_4;
  8480.                                         }
  8481.                                     }
  8482.                                 }
  8483.                             }
  8484.                             idx += 13;
  8485.                             return X11_LEMON_CHIFFON;
  8486.                         }
  8487.                         case 'c':
  8488.                         {
  8489.                             if (!str[6] || strcmp(str[6], !"HIFFON", true, 6))
  8490.                             {
  8491.                                 return -1;
  8492.                             }
  8493.                             switch (str[12] | 0x20)
  8494.                             {
  8495.                                 case '1':
  8496.                                 {
  8497.                                     idx += 13;
  8498.                                     return X11_LEMONCHIFFON1;
  8499.                                 }
  8500.                                 case '2':
  8501.                                 {
  8502.                                     idx += 13;
  8503.                                     return X11_LEMONCHIFFON2;
  8504.                                 }
  8505.                                 case '3':
  8506.                                 {
  8507.                                     idx += 13;
  8508.                                     return X11_LEMONCHIFFON3;
  8509.                                 }
  8510.                                 case '4':
  8511.                                 {
  8512.                                     idx += 13;
  8513.                                     return X11_LEMONCHIFFON4;
  8514.                                 }
  8515.                             }
  8516.                             idx += 12;
  8517.                             return X11_LEMONCHIFFON;
  8518.                         }
  8519.                     }
  8520.                 }
  8521.                 case 'i':
  8522.                 {
  8523.                     switch (str[2] | 0x20)
  8524.                     {
  8525.                         case 'g':
  8526.                         {
  8527.                             if (!str[3] || strcmp(str[3], !"HT", true, 2))
  8528.                             {
  8529.                                 return -1;
  8530.                             }
  8531.                             switch (str[5] | 0x20)
  8532.                             {
  8533.                                 case ' ' | 0x20: // ' '
  8534.                                 {
  8535.                                     if (str[5])
  8536.                                     {
  8537.                                         switch (str[6] | 0x20)
  8538.                                         {
  8539.                                             case 'b':
  8540.                                             {
  8541.                                                 if (!str[7] || strcmp(str[7], !"LUE", true, 3))
  8542.                                                 {
  8543.                                                     return -1;
  8544.                                                 }
  8545.                                                 switch (str[10] | 0x20)
  8546.                                                 {
  8547.                                                     case ' ' | 0x20: // ' '
  8548.                                                     {
  8549.                                                         if (str[10])
  8550.                                                         {
  8551.                                                             switch (str[11] | 0x20)
  8552.                                                             {
  8553.                                                                 case '1':
  8554.                                                                 {
  8555.                                                                     idx += 12;
  8556.                                                                     return X11_LIGHT_BLUE_1;
  8557.                                                                 }
  8558.                                                                 case '2':
  8559.                                                                 {
  8560.                                                                     idx += 12;
  8561.                                                                     return X11_LIGHT_BLUE_2;
  8562.                                                                 }
  8563.                                                                 case '3':
  8564.                                                                 {
  8565.                                                                     idx += 12;
  8566.                                                                     return X11_LIGHT_BLUE_3;
  8567.                                                                 }
  8568.                                                                 case '4':
  8569.                                                                 {
  8570.                                                                     idx += 12;
  8571.                                                                     return X11_LIGHT_BLUE_4;
  8572.                                                                 }
  8573.                                                             }
  8574.                                                         }
  8575.                                                     }
  8576.                                                     case '_' | 0x20:
  8577.                                                     {
  8578.                                                         switch (str[11] | 0x20)
  8579.                                                         {
  8580.                                                             case '1':
  8581.                                                             {
  8582.                                                                 idx += 12;
  8583.                                                                 return X11_LIGHT_BLUE_1;
  8584.                                                             }
  8585.                                                             case '2':
  8586.                                                             {
  8587.                                                                 idx += 12;
  8588.                                                                 return X11_LIGHT_BLUE_2;
  8589.                                                             }
  8590.                                                             case '3':
  8591.                                                             {
  8592.                                                                 idx += 12;
  8593.                                                                 return X11_LIGHT_BLUE_3;
  8594.                                                             }
  8595.                                                             case '4':
  8596.                                                             {
  8597.                                                                 idx += 12;
  8598.                                                                 return X11_LIGHT_BLUE_4;
  8599.                                                             }
  8600.                                                         }
  8601.                                                     }
  8602.                                                 }
  8603.                                                 idx += 10;
  8604.                                                 return X11_LIGHT_BLUE;
  8605.                                             }
  8606.                                             case 'c':
  8607.                                             {
  8608.                                                 switch (str[7] | 0x20)
  8609.                                                 {
  8610.                                                     case 'o':
  8611.                                                     {
  8612.                                                         if (str[8] && !strcmp(str[8], !"RAL", true, 3))
  8613.                                                         {
  8614.                                                             idx += 11;
  8615.                                                             return X11_LIGHT_CORAL;
  8616.                                                         }
  8617.                                                     }
  8618.                                                     case 'y':
  8619.                                                     {
  8620.                                                         if (!str[8] || strcmp(str[8], !"AN", true, 2))
  8621.                                                         {
  8622.                                                             return -1;
  8623.                                                         }
  8624.                                                         switch (str[10] | 0x20)
  8625.                                                         {
  8626.                                                             case ' ' | 0x20: // ' '
  8627.                                                             {
  8628.                                                                 if (str[10])
  8629.                                                                 {
  8630.                                                                     switch (str[11] | 0x20)
  8631.                                                                     {
  8632.                                                                         case '1':
  8633.                                                                         {
  8634.                                                                             idx += 12;
  8635.                                                                             return X11_LIGHT_CYAN_1;
  8636.                                                                         }
  8637.                                                                         case '2':
  8638.                                                                         {
  8639.                                                                             idx += 12;
  8640.                                                                             return X11_LIGHT_CYAN_2;
  8641.                                                                         }
  8642.                                                                         case '3':
  8643.                                                                         {
  8644.                                                                             idx += 12;
  8645.                                                                             return X11_LIGHT_CYAN_3;
  8646.                                                                         }
  8647.                                                                         case '4':
  8648.                                                                         {
  8649.                                                                             idx += 12;
  8650.                                                                             return X11_LIGHT_CYAN_4;
  8651.                                                                         }
  8652.                                                                     }
  8653.                                                                 }
  8654.                                                             }
  8655.                                                             case '_' | 0x20:
  8656.                                                             {
  8657.                                                                 switch (str[11] | 0x20)
  8658.                                                                 {
  8659.                                                                     case '1':
  8660.                                                                     {
  8661.                                                                         idx += 12;
  8662.                                                                         return X11_LIGHT_CYAN_1;
  8663.                                                                     }
  8664.                                                                     case '2':
  8665.                                                                     {
  8666.                                                                         idx += 12;
  8667.                                                                         return X11_LIGHT_CYAN_2;
  8668.                                                                     }
  8669.                                                                     case '3':
  8670.                                                                     {
  8671.                                                                         idx += 12;
  8672.                                                                         return X11_LIGHT_CYAN_3;
  8673.                                                                     }
  8674.                                                                     case '4':
  8675.                                                                     {
  8676.                                                                         idx += 12;
  8677.                                                                         return X11_LIGHT_CYAN_4;
  8678.                                                                     }
  8679.                                                                 }
  8680.                                                             }
  8681.                                                         }
  8682.                                                         idx += 10;
  8683.                                                         return X11_LIGHT_CYAN;
  8684.                                                     }
  8685.                                                 }
  8686.                                             }
  8687.                                             case 'g':
  8688.                                             {
  8689.                                                 switch (str[7] | 0x20)
  8690.                                                 {
  8691.                                                     case 'o':
  8692.                                                     {
  8693.                                                         if (!str[8] || strcmp(str[8], !"LDENROD", true, 7))
  8694.                                                         {
  8695.                                                             return -1;
  8696.                                                         }
  8697.                                                         switch (str[15] | 0x20)
  8698.                                                         {
  8699.                                                             case ' ' | 0x20: // ' '
  8700.                                                             {
  8701.                                                                 if (str[15])
  8702.                                                                 {
  8703.                                                                     switch (str[16] | 0x20)
  8704.                                                                     {
  8705.                                                                         case '1':
  8706.                                                                         {
  8707.                                                                             idx += 17;
  8708.                                                                             return X11_LIGHT_GOLDENROD_1;
  8709.                                                                         }
  8710.                                                                         case '2':
  8711.                                                                         {
  8712.                                                                             idx += 17;
  8713.                                                                             return X11_LIGHT_GOLDENROD_2;
  8714.                                                                         }
  8715.                                                                         case '3':
  8716.                                                                         {
  8717.                                                                             idx += 17;
  8718.                                                                             return X11_LIGHT_GOLDENROD_3;
  8719.                                                                         }
  8720.                                                                         case '4':
  8721.                                                                         {
  8722.                                                                             idx += 17;
  8723.                                                                             return X11_LIGHT_GOLDENROD_4;
  8724.                                                                         }
  8725.                                                                         case 'y':
  8726.                                                                         {
  8727.                                                                             if (str[17] && !strcmp(str[17], !"ELLOW", true, 5))
  8728.                                                                             {
  8729.                                                                                 idx += 22;
  8730.                                                                                 return X11_LIGHT_GOLDENROD_YELLOW;
  8731.                                                                             }
  8732.                                                                         }
  8733.                                                                     }
  8734.                                                                 }
  8735.                                                             }
  8736.                                                             case '_' | 0x20:
  8737.                                                             {
  8738.                                                                 switch (str[16] | 0x20)
  8739.                                                                 {
  8740.                                                                     case '1':
  8741.                                                                     {
  8742.                                                                         idx += 17;
  8743.                                                                         return X11_LIGHT_GOLDENROD_1;
  8744.                                                                     }
  8745.                                                                     case '2':
  8746.                                                                     {
  8747.                                                                         idx += 17;
  8748.                                                                         return X11_LIGHT_GOLDENROD_2;
  8749.                                                                     }
  8750.                                                                     case '3':
  8751.                                                                     {
  8752.                                                                         idx += 17;
  8753.                                                                         return X11_LIGHT_GOLDENROD_3;
  8754.                                                                     }
  8755.                                                                     case '4':
  8756.                                                                     {
  8757.                                                                         idx += 17;
  8758.                                                                         return X11_LIGHT_GOLDENROD_4;
  8759.                                                                     }
  8760.                                                                     case 'y':
  8761.                                                                     {
  8762.                                                                         if (str[17] && !strcmp(str[17], !"ELLOW", true, 5))
  8763.                                                                         {
  8764.                                                                             idx += 22;
  8765.                                                                             return X11_LIGHT_GOLDENROD_YELLOW;
  8766.                                                                         }
  8767.                                                                     }
  8768.                                                                 }
  8769.                                                             }
  8770.                                                         }
  8771.                                                         idx += 15;
  8772.                                                         return X11_LIGHT_GOLDENROD;
  8773.                                                     }
  8774.                                                     case 'r':
  8775.                                                     {
  8776.                                                         switch (str[8] | 0x20)
  8777.                                                         {
  8778.                                                             case 'a':
  8779.                                                             {
  8780.                                                                 if (str[9] == 'Y')
  8781.                                                                 {
  8782.                                                                     idx += 10;
  8783.                                                                     return X11_LIGHT_GRAY;
  8784.                                                                 }
  8785.                                                             }
  8786.                                                             case 'e':
  8787.                                                             {
  8788.                                                                 switch (str[9] | 0x20)
  8789.                                                                 {
  8790.                                                                     case 'e':
  8791.                                                                     {
  8792.                                                                         if (str[10] == 'N')
  8793.                                                                         {
  8794.                                                                             idx += 11;
  8795.                                                                             return X11_LIGHT_GREEN;
  8796.                                                                         }
  8797.                                                                     }
  8798.                                                                     case 'y':
  8799.                                                                     {
  8800.                                                                         idx += 10;
  8801.                                                                         return X11_LIGHT_GREY;
  8802.                                                                     }
  8803.                                                                 }
  8804.                                                             }
  8805.                                                         }
  8806.                                                     }
  8807.                                                 }
  8808.                                             }
  8809.                                             case 'p':
  8810.                                             {
  8811.                                                 if (!str[7] || strcmp(str[7], !"INK", true, 3))
  8812.                                                 {
  8813.                                                     return -1;
  8814.                                                 }
  8815.                                                 switch (str[10] | 0x20)
  8816.                                                 {
  8817.                                                     case ' ' | 0x20: // ' '
  8818.                                                     {
  8819.                                                         if (str[10])
  8820.                                                         {
  8821.                                                             switch (str[11] | 0x20)
  8822.                                                             {
  8823.                                                                 case '1':
  8824.                                                                 {
  8825.                                                                     idx += 12;
  8826.                                                                     return X11_LIGHT_PINK_1;
  8827.                                                                 }
  8828.                                                                 case '2':
  8829.                                                                 {
  8830.                                                                     idx += 12;
  8831.                                                                     return X11_LIGHT_PINK_2;
  8832.                                                                 }
  8833.                                                                 case '3':
  8834.                                                                 {
  8835.                                                                     idx += 12;
  8836.                                                                     return X11_LIGHT_PINK_3;
  8837.                                                                 }
  8838.                                                                 case '4':
  8839.                                                                 {
  8840.                                                                     idx += 12;
  8841.                                                                     return X11_LIGHT_PINK_4;
  8842.                                                                 }
  8843.                                                             }
  8844.                                                         }
  8845.                                                     }
  8846.                                                     case '_' | 0x20:
  8847.                                                     {
  8848.                                                         switch (str[11] | 0x20)
  8849.                                                         {
  8850.                                                             case '1':
  8851.                                                             {
  8852.                                                                 idx += 12;
  8853.                                                                 return X11_LIGHT_PINK_1;
  8854.                                                             }
  8855.                                                             case '2':
  8856.                                                             {
  8857.                                                                 idx += 12;
  8858.                                                                 return X11_LIGHT_PINK_2;
  8859.                                                             }
  8860.                                                             case '3':
  8861.                                                             {
  8862.                                                                 idx += 12;
  8863.                                                                 return X11_LIGHT_PINK_3;
  8864.                                                             }
  8865.                                                             case '4':
  8866.                                                             {
  8867.                                                                 idx += 12;
  8868.                                                                 return X11_LIGHT_PINK_4;
  8869.                                                             }
  8870.                                                         }
  8871.                                                     }
  8872.                                                 }
  8873.                                                 idx += 10;
  8874.                                                 return X11_LIGHT_PINK;
  8875.                                             }
  8876.                                             case 's':
  8877.                                             {
  8878.                                                 switch (str[7] | 0x20)
  8879.                                                 {
  8880.                                                     case 'a':
  8881.                                                     {
  8882.                                                         if (!str[8] || strcmp(str[8], !"LMON", true, 4))
  8883.                                                         {
  8884.                                                             return -1;
  8885.                                                         }
  8886.                                                         switch (str[12] | 0x20)
  8887.                                                         {
  8888.                                                             case ' ' | 0x20: // ' '
  8889.                                                             {
  8890.                                                                 if (str[12])
  8891.                                                                 {
  8892.                                                                     switch (str[13] | 0x20)
  8893.                                                                     {
  8894.                                                                         case '1':
  8895.                                                                         {
  8896.                                                                             idx += 14;
  8897.                                                                             return X11_LIGHT_SALMON_1;
  8898.                                                                         }
  8899.                                                                         case '2':
  8900.                                                                         {
  8901.                                                                             idx += 14;
  8902.                                                                             return X11_LIGHT_SALMON_2;
  8903.                                                                         }
  8904.                                                                         case '3':
  8905.                                                                         {
  8906.                                                                             idx += 14;
  8907.                                                                             return X11_LIGHT_SALMON_3;
  8908.                                                                         }
  8909.                                                                         case '4':
  8910.                                                                         {
  8911.                                                                             idx += 14;
  8912.                                                                             return X11_LIGHT_SALMON_4;
  8913.                                                                         }
  8914.                                                                     }
  8915.                                                                 }
  8916.                                                             }
  8917.                                                             case '_' | 0x20:
  8918.                                                             {
  8919.                                                                 switch (str[13] | 0x20)
  8920.                                                                 {
  8921.                                                                     case '1':
  8922.                                                                     {
  8923.                                                                         idx += 14;
  8924.                                                                         return X11_LIGHT_SALMON_1;
  8925.                                                                     }
  8926.                                                                     case '2':
  8927.                                                                     {
  8928.                                                                         idx += 14;
  8929.                                                                         return X11_LIGHT_SALMON_2;
  8930.                                                                     }
  8931.                                                                     case '3':
  8932.                                                                     {
  8933.                                                                         idx += 14;
  8934.                                                                         return X11_LIGHT_SALMON_3;
  8935.                                                                     }
  8936.                                                                     case '4':
  8937.                                                                     {
  8938.                                                                         idx += 14;
  8939.                                                                         return X11_LIGHT_SALMON_4;
  8940.                                                                     }
  8941.                                                                 }
  8942.                                                             }
  8943.                                                         }
  8944.                                                         idx += 12;
  8945.                                                         return X11_LIGHT_SALMON;
  8946.                                                     }
  8947.                                                     case 'e':
  8948.                                                     {
  8949.                                                         if (str[8] && !strcmp(str[8], !"A_GREEN", true, 7))
  8950.                                                         {
  8951.                                                             idx += 15;
  8952.                                                             return X11_LIGHT_SEA_GREEN;
  8953.                                                         }
  8954.                                                     }
  8955.                                                     case 'k':
  8956.                                                     {
  8957.                                                         if (!str[8] || strcmp(str[8], !"Y_BLUE", true, 6))
  8958.                                                         {
  8959.                                                             return -1;
  8960.                                                         }
  8961.                                                         switch (str[14] | 0x20)
  8962.                                                         {
  8963.                                                             case ' ' | 0x20: // ' '
  8964.                                                             {
  8965.                                                                 if (str[14])
  8966.                                                                 {
  8967.                                                                     switch (str[15] | 0x20)
  8968.                                                                     {
  8969.                                                                         case '1':
  8970.                                                                         {
  8971.                                                                             idx += 16;
  8972.                                                                             return X11_LIGHT_SKY_BLUE_1;
  8973.                                                                         }
  8974.                                                                         case '2':
  8975.                                                                         {
  8976.                                                                             idx += 16;
  8977.                                                                             return X11_LIGHT_SKY_BLUE_2;
  8978.                                                                         }
  8979.                                                                         case '3':
  8980.                                                                         {
  8981.                                                                             idx += 16;
  8982.                                                                             return X11_LIGHT_SKY_BLUE_3;
  8983.                                                                         }
  8984.                                                                         case '4':
  8985.                                                                         {
  8986.                                                                             idx += 16;
  8987.                                                                             return X11_LIGHT_SKY_BLUE_4;
  8988.                                                                         }
  8989.                                                                     }
  8990.                                                                 }
  8991.                                                             }
  8992.                                                             case '_' | 0x20:
  8993.                                                             {
  8994.                                                                 switch (str[15] | 0x20)
  8995.                                                                 {
  8996.                                                                     case '1':
  8997.                                                                     {
  8998.                                                                         idx += 16;
  8999.                                                                         return X11_LIGHT_SKY_BLUE_1;
  9000.                                                                     }
  9001.                                                                     case '2':
  9002.                                                                     {
  9003.                                                                         idx += 16;
  9004.                                                                         return X11_LIGHT_SKY_BLUE_2;
  9005.                                                                     }
  9006.                                                                     case '3':
  9007.                                                                     {
  9008.                                                                         idx += 16;
  9009.                                                                         return X11_LIGHT_SKY_BLUE_3;
  9010.                                                                     }
  9011.                                                                     case '4':
  9012.                                                                     {
  9013.                                                                         idx += 16;
  9014.                                                                         return X11_LIGHT_SKY_BLUE_4;
  9015.                                                                     }
  9016.                                                                 }
  9017.                                                             }
  9018.                                                         }
  9019.                                                         idx += 14;
  9020.                                                         return X11_LIGHT_SKY_BLUE;
  9021.                                                     }
  9022.                                                     case 'l':
  9023.                                                     {
  9024.                                                         if (!str[8] || strcmp(str[8], !"ATE_", true, 4))
  9025.                                                         {
  9026.                                                             return -1;
  9027.                                                         }
  9028.                                                         switch (str[12] | 0x20)
  9029.                                                         {
  9030.                                                             case 'b':
  9031.                                                             {
  9032.                                                                 if (str[13] && !strcmp(str[13], !"LUE", true, 3))
  9033.                                                                 {
  9034.                                                                     idx += 16;
  9035.                                                                     return X11_LIGHT_SLATE_BLUE;
  9036.                                                                 }
  9037.                                                             }
  9038.                                                             case 'g':
  9039.                                                             {
  9040.                                                                 if (str[13] != 'R')
  9041.                                                                 {
  9042.                                                                     return -1;
  9043.                                                                 }
  9044.                                                                 switch (str[14] | 0x20)
  9045.                                                                 {
  9046.                                                                     case 'a':
  9047.                                                                     {
  9048.                                                                         if (str[15] == 'Y')
  9049.                                                                         {
  9050.                                                                             idx += 16;
  9051.                                                                             return X11_LIGHT_SLATE_GRAY;
  9052.                                                                         }
  9053.                                                                     }
  9054.                                                                     case 'e':
  9055.                                                                     {
  9056.                                                                         if (str[15] == 'Y')
  9057.                                                                         {
  9058.                                                                             idx += 16;
  9059.                                                                             return X11_LIGHT_SLATE_GREY;
  9060.                                                                         }
  9061.                                                                     }
  9062.                                                                 }
  9063.                                                             }
  9064.                                                         }
  9065.                                                     }
  9066.                                                     case 't':
  9067.                                                     {
  9068.                                                         if (!str[8] || strcmp(str[8], !"EEL_BLUE", true, 8))
  9069.                                                         {
  9070.                                                             return -1;
  9071.                                                         }
  9072.                                                         switch (str[16] | 0x20)
  9073.                                                         {
  9074.                                                             case ' ' | 0x20: // ' '
  9075.                                                             {
  9076.                                                                 if (str[16])
  9077.                                                                 {
  9078.                                                                     switch (str[17] | 0x20)
  9079.                                                                     {
  9080.                                                                         case '1':
  9081.                                                                         {
  9082.                                                                             idx += 18;
  9083.                                                                             return X11_LIGHT_STEEL_BLUE_1;
  9084.                                                                         }
  9085.                                                                         case '2':
  9086.                                                                         {
  9087.                                                                             idx += 18;
  9088.                                                                             return X11_LIGHT_STEEL_BLUE_2;
  9089.                                                                         }
  9090.                                                                         case '3':
  9091.                                                                         {
  9092.                                                                             idx += 18;
  9093.                                                                             return X11_LIGHT_STEEL_BLUE_3;
  9094.                                                                         }
  9095.                                                                         case '4':
  9096.                                                                         {
  9097.                                                                             idx += 18;
  9098.                                                                             return X11_LIGHT_STEEL_BLUE_4;
  9099.                                                                         }
  9100.                                                                     }
  9101.                                                                 }
  9102.                                                             }
  9103.                                                             case '_' | 0x20:
  9104.                                                             {
  9105.                                                                 switch (str[17] | 0x20)
  9106.                                                                 {
  9107.                                                                     case '1':
  9108.                                                                     {
  9109.                                                                         idx += 18;
  9110.                                                                         return X11_LIGHT_STEEL_BLUE_1;
  9111.                                                                     }
  9112.                                                                     case '2':
  9113.                                                                     {
  9114.                                                                         idx += 18;
  9115.                                                                         return X11_LIGHT_STEEL_BLUE_2;
  9116.                                                                     }
  9117.                                                                     case '3':
  9118.                                                                     {
  9119.                                                                         idx += 18;
  9120.                                                                         return X11_LIGHT_STEEL_BLUE_3;
  9121.                                                                     }
  9122.                                                                     case '4':
  9123.                                                                     {
  9124.                                                                         idx += 18;
  9125.                                                                         return X11_LIGHT_STEEL_BLUE_4;
  9126.                                                                     }
  9127.                                                                 }
  9128.                                                             }
  9129.                                                         }
  9130.                                                         idx += 16;
  9131.                                                         return X11_LIGHT_STEEL_BLUE;
  9132.                                                     }
  9133.                                                 }
  9134.                                             }
  9135.                                             case 'y':
  9136.                                             {
  9137.                                                 if (!str[7] || strcmp(str[7], !"ELLOW", true, 5))
  9138.                                                 {
  9139.                                                     return -1;
  9140.                                                 }
  9141.                                                 switch (str[12] | 0x20)
  9142.                                                 {
  9143.                                                     case ' ' | 0x20: // ' '
  9144.                                                     {
  9145.                                                         if (str[12])
  9146.                                                         {
  9147.                                                             switch (str[13] | 0x20)
  9148.                                                             {
  9149.                                                                 case '1':
  9150.                                                                 {
  9151.                                                                     idx += 14;
  9152.                                                                     return X11_LIGHT_YELLOW_1;
  9153.                                                                 }
  9154.                                                                 case '2':
  9155.                                                                 {
  9156.                                                                     idx += 14;
  9157.                                                                     return X11_LIGHT_YELLOW_2;
  9158.                                                                 }
  9159.                                                                 case '3':
  9160.                                                                 {
  9161.                                                                     idx += 14;
  9162.                                                                     return X11_LIGHT_YELLOW_3;
  9163.                                                                 }
  9164.                                                                 case '4':
  9165.                                                                 {
  9166.                                                                     idx += 14;
  9167.                                                                     return X11_LIGHT_YELLOW_4;
  9168.                                                                 }
  9169.                                                             }
  9170.                                                         }
  9171.                                                     }
  9172.                                                     case '_' | 0x20:
  9173.                                                     {
  9174.                                                         switch (str[13] | 0x20)
  9175.                                                         {
  9176.                                                             case '1':
  9177.                                                             {
  9178.                                                                 idx += 14;
  9179.                                                                 return X11_LIGHT_YELLOW_1;
  9180.                                                             }
  9181.                                                             case '2':
  9182.                                                             {
  9183.                                                                 idx += 14;
  9184.                                                                 return X11_LIGHT_YELLOW_2;
  9185.                                                             }
  9186.                                                             case '3':
  9187.                                                             {
  9188.                                                                 idx += 14;
  9189.                                                                 return X11_LIGHT_YELLOW_3;
  9190.                                                             }
  9191.                                                             case '4':
  9192.                                                             {
  9193.                                                                 idx += 14;
  9194.                                                                 return X11_LIGHT_YELLOW_4;
  9195.                                                             }
  9196.                                                         }
  9197.                                                     }
  9198.                                                 }
  9199.                                                 idx += 12;
  9200.                                                 return X11_LIGHT_YELLOW;
  9201.                                             }
  9202.                                         }
  9203.                                     }
  9204.                                 }
  9205.                                 case '_' | 0x20:
  9206.                                 {
  9207.                                     switch (str[6] | 0x20)
  9208.                                     {
  9209.                                         case 'b':
  9210.                                         {
  9211.                                             if (!str[7] || strcmp(str[7], !"LUE", true, 3))
  9212.                                             {
  9213.                                                 return -1;
  9214.                                             }
  9215.                                             switch (str[10] | 0x20)
  9216.                                             {
  9217.                                                 case ' ' | 0x20: // ' '
  9218.                                                 {
  9219.                                                     if (str[10])
  9220.                                                     {
  9221.                                                         switch (str[11] | 0x20)
  9222.                                                         {
  9223.                                                             case '1':
  9224.                                                             {
  9225.                                                                 idx += 12;
  9226.                                                                 return X11_LIGHT_BLUE_1;
  9227.                                                             }
  9228.                                                             case '2':
  9229.                                                             {
  9230.                                                                 idx += 12;
  9231.                                                                 return X11_LIGHT_BLUE_2;
  9232.                                                             }
  9233.                                                             case '3':
  9234.                                                             {
  9235.                                                                 idx += 12;
  9236.                                                                 return X11_LIGHT_BLUE_3;
  9237.                                                             }
  9238.                                                             case '4':
  9239.                                                             {
  9240.                                                                 idx += 12;
  9241.                                                                 return X11_LIGHT_BLUE_4;
  9242.                                                             }
  9243.                                                         }
  9244.                                                     }
  9245.                                                 }
  9246.                                                 case '_' | 0x20:
  9247.                                                 {
  9248.                                                     switch (str[11] | 0x20)
  9249.                                                     {
  9250.                                                         case '1':
  9251.                                                         {
  9252.                                                             idx += 12;
  9253.                                                             return X11_LIGHT_BLUE_1;
  9254.                                                         }
  9255.                                                         case '2':
  9256.                                                         {
  9257.                                                             idx += 12;
  9258.                                                             return X11_LIGHT_BLUE_2;
  9259.                                                         }
  9260.                                                         case '3':
  9261.                                                         {
  9262.                                                             idx += 12;
  9263.                                                             return X11_LIGHT_BLUE_3;
  9264.                                                         }
  9265.                                                         case '4':
  9266.                                                         {
  9267.                                                             idx += 12;
  9268.                                                             return X11_LIGHT_BLUE_4;
  9269.                                                         }
  9270.                                                     }
  9271.                                                 }
  9272.                                             }
  9273.                                             idx += 10;
  9274.                                             return X11_LIGHT_BLUE;
  9275.                                         }
  9276.                                         case 'c':
  9277.                                         {
  9278.                                             switch (str[7] | 0x20)
  9279.                                             {
  9280.                                                 case 'o':
  9281.                                                 {
  9282.                                                     if (str[8] && !strcmp(str[8], !"RAL", true, 3))
  9283.                                                     {
  9284.                                                         idx += 11;
  9285.                                                         return X11_LIGHT_CORAL;
  9286.                                                     }
  9287.                                                 }
  9288.                                                 case 'y':
  9289.                                                 {
  9290.                                                     if (!str[8] || strcmp(str[8], !"AN", true, 2))
  9291.                                                     {
  9292.                                                         return -1;
  9293.                                                     }
  9294.                                                     switch (str[10] | 0x20)
  9295.                                                     {
  9296.                                                         case ' ' | 0x20: // ' '
  9297.                                                         {
  9298.                                                             if (str[10])
  9299.                                                             {
  9300.                                                                 switch (str[11] | 0x20)
  9301.                                                                 {
  9302.                                                                     case '1':
  9303.                                                                     {
  9304.                                                                         idx += 12;
  9305.                                                                         return X11_LIGHT_CYAN_1;
  9306.                                                                     }
  9307.                                                                     case '2':
  9308.                                                                     {
  9309.                                                                         idx += 12;
  9310.                                                                         return X11_LIGHT_CYAN_2;
  9311.                                                                     }
  9312.                                                                     case '3':
  9313.                                                                     {
  9314.                                                                         idx += 12;
  9315.                                                                         return X11_LIGHT_CYAN_3;
  9316.                                                                     }
  9317.                                                                     case '4':
  9318.                                                                     {
  9319.                                                                         idx += 12;
  9320.                                                                         return X11_LIGHT_CYAN_4;
  9321.                                                                     }
  9322.                                                                 }
  9323.                                                             }
  9324.                                                         }
  9325.                                                         case '_' | 0x20:
  9326.                                                         {
  9327.                                                             switch (str[11] | 0x20)
  9328.                                                             {
  9329.                                                                 case '1':
  9330.                                                                 {
  9331.                                                                     idx += 12;
  9332.                                                                     return X11_LIGHT_CYAN_1;
  9333.                                                                 }
  9334.                                                                 case '2':
  9335.                                                                 {
  9336.                                                                     idx += 12;
  9337.                                                                     return X11_LIGHT_CYAN_2;
  9338.                                                                 }
  9339.                                                                 case '3':
  9340.                                                                 {
  9341.                                                                     idx += 12;
  9342.                                                                     return X11_LIGHT_CYAN_3;
  9343.                                                                 }
  9344.                                                                 case '4':
  9345.                                                                 {
  9346.                                                                     idx += 12;
  9347.                                                                     return X11_LIGHT_CYAN_4;
  9348.                                                                 }
  9349.                                                             }
  9350.                                                         }
  9351.                                                     }
  9352.                                                     idx += 10;
  9353.                                                     return X11_LIGHT_CYAN;
  9354.                                                 }
  9355.                                             }
  9356.                                         }
  9357.                                         case 'g':
  9358.                                         {
  9359.                                             switch (str[7] | 0x20)
  9360.                                             {
  9361.                                                 case 'o':
  9362.                                                 {
  9363.                                                     if (!str[8] || strcmp(str[8], !"LDENROD", true, 7))
  9364.                                                     {
  9365.                                                         return -1;
  9366.                                                     }
  9367.                                                     switch (str[15] | 0x20)
  9368.                                                     {
  9369.                                                         case ' ' | 0x20: // ' '
  9370.                                                         {
  9371.                                                             if (str[15])
  9372.                                                             {
  9373.                                                                 switch (str[16] | 0x20)
  9374.                                                                 {
  9375.                                                                     case '1':
  9376.                                                                     {
  9377.                                                                         idx += 17;
  9378.                                                                         return X11_LIGHT_GOLDENROD_1;
  9379.                                                                     }
  9380.                                                                     case '2':
  9381.                                                                     {
  9382.                                                                         idx += 17;
  9383.                                                                         return X11_LIGHT_GOLDENROD_2;
  9384.                                                                     }
  9385.                                                                     case '3':
  9386.                                                                     {
  9387.                                                                         idx += 17;
  9388.                                                                         return X11_LIGHT_GOLDENROD_3;
  9389.                                                                     }
  9390.                                                                     case '4':
  9391.                                                                     {
  9392.                                                                         idx += 17;
  9393.                                                                         return X11_LIGHT_GOLDENROD_4;
  9394.                                                                     }
  9395.                                                                     case 'y':
  9396.                                                                     {
  9397.                                                                         if (str[17] && !strcmp(str[17], !"ELLOW", true, 5))
  9398.                                                                         {
  9399.                                                                             idx += 22;
  9400.                                                                             return X11_LIGHT_GOLDENROD_YELLOW;
  9401.                                                                         }
  9402.                                                                     }
  9403.                                                                 }
  9404.                                                             }
  9405.                                                         }
  9406.                                                         case '_' | 0x20:
  9407.                                                         {
  9408.                                                             switch (str[16] | 0x20)
  9409.                                                             {
  9410.                                                                 case '1':
  9411.                                                                 {
  9412.                                                                     idx += 17;
  9413.                                                                     return X11_LIGHT_GOLDENROD_1;
  9414.                                                                 }
  9415.                                                                 case '2':
  9416.                                                                 {
  9417.                                                                     idx += 17;
  9418.                                                                     return X11_LIGHT_GOLDENROD_2;
  9419.                                                                 }
  9420.                                                                 case '3':
  9421.                                                                 {
  9422.                                                                     idx += 17;
  9423.                                                                     return X11_LIGHT_GOLDENROD_3;
  9424.                                                                 }
  9425.                                                                 case '4':
  9426.                                                                 {
  9427.                                                                     idx += 17;
  9428.                                                                     return X11_LIGHT_GOLDENROD_4;
  9429.                                                                 }
  9430.                                                                 case 'y':
  9431.                                                                 {
  9432.                                                                     if (str[17] && !strcmp(str[17], !"ELLOW", true, 5))
  9433.                                                                     {
  9434.                                                                         idx += 22;
  9435.                                                                         return X11_LIGHT_GOLDENROD_YELLOW;
  9436.                                                                     }
  9437.                                                                 }
  9438.                                                             }
  9439.                                                         }
  9440.                                                     }
  9441.                                                     idx += 15;
  9442.                                                     return X11_LIGHT_GOLDENROD;
  9443.                                                 }
  9444.                                                 case 'r':
  9445.                                                 {
  9446.                                                     switch (str[8] | 0x20)
  9447.                                                     {
  9448.                                                         case 'a':
  9449.                                                         {
  9450.                                                             if (str[9] == 'Y')
  9451.                                                             {
  9452.                                                                 idx += 10;
  9453.                                                                 return X11_LIGHT_GRAY;
  9454.                                                             }
  9455.                                                         }
  9456.                                                         case 'e':
  9457.                                                         {
  9458.                                                             switch (str[9] | 0x20)
  9459.                                                             {
  9460.                                                                 case 'e':
  9461.                                                                 {
  9462.                                                                     if (str[10] == 'N')
  9463.                                                                     {
  9464.                                                                         idx += 11;
  9465.                                                                         return X11_LIGHT_GREEN;
  9466.                                                                     }
  9467.                                                                 }
  9468.                                                                 case 'y':
  9469.                                                                 {
  9470.                                                                     idx += 10;
  9471.                                                                     return X11_LIGHT_GREY;
  9472.                                                                 }
  9473.                                                             }
  9474.                                                         }
  9475.                                                     }
  9476.                                                 }
  9477.                                             }
  9478.                                         }
  9479.                                         case 'p':
  9480.                                         {
  9481.                                             if (!str[7] || strcmp(str[7], !"INK", true, 3))
  9482.                                             {
  9483.                                                 return -1;
  9484.                                             }
  9485.                                             switch (str[10] | 0x20)
  9486.                                             {
  9487.                                                 case ' ' | 0x20: // ' '
  9488.                                                 {
  9489.                                                     if (str[10])
  9490.                                                     {
  9491.                                                         switch (str[11] | 0x20)
  9492.                                                         {
  9493.                                                             case '1':
  9494.                                                             {
  9495.                                                                 idx += 12;
  9496.                                                                 return X11_LIGHT_PINK_1;
  9497.                                                             }
  9498.                                                             case '2':
  9499.                                                             {
  9500.                                                                 idx += 12;
  9501.                                                                 return X11_LIGHT_PINK_2;
  9502.                                                             }
  9503.                                                             case '3':
  9504.                                                             {
  9505.                                                                 idx += 12;
  9506.                                                                 return X11_LIGHT_PINK_3;
  9507.                                                             }
  9508.                                                             case '4':
  9509.                                                             {
  9510.                                                                 idx += 12;
  9511.                                                                 return X11_LIGHT_PINK_4;
  9512.                                                             }
  9513.                                                         }
  9514.                                                     }
  9515.                                                 }
  9516.                                                 case '_' | 0x20:
  9517.                                                 {
  9518.                                                     switch (str[11] | 0x20)
  9519.                                                     {
  9520.                                                         case '1':
  9521.                                                         {
  9522.                                                             idx += 12;
  9523.                                                             return X11_LIGHT_PINK_1;
  9524.                                                         }
  9525.                                                         case '2':
  9526.                                                         {
  9527.                                                             idx += 12;
  9528.                                                             return X11_LIGHT_PINK_2;
  9529.                                                         }
  9530.                                                         case '3':
  9531.                                                         {
  9532.                                                             idx += 12;
  9533.                                                             return X11_LIGHT_PINK_3;
  9534.                                                         }
  9535.                                                         case '4':
  9536.                                                         {
  9537.                                                             idx += 12;
  9538.                                                             return X11_LIGHT_PINK_4;
  9539.                                                         }
  9540.                                                     }
  9541.                                                 }
  9542.                                             }
  9543.                                             idx += 10;
  9544.                                             return X11_LIGHT_PINK;
  9545.                                         }
  9546.                                         case 's':
  9547.                                         {
  9548.                                             switch (str[7] | 0x20)
  9549.                                             {
  9550.                                                 case 'a':
  9551.                                                 {
  9552.                                                     if (!str[8] || strcmp(str[8], !"LMON", true, 4))
  9553.                                                     {
  9554.                                                         return -1;
  9555.                                                     }
  9556.                                                     switch (str[12] | 0x20)
  9557.                                                     {
  9558.                                                         case ' ' | 0x20: // ' '
  9559.                                                         {
  9560.                                                             if (str[12])
  9561.                                                             {
  9562.                                                                 switch (str[13] | 0x20)
  9563.                                                                 {
  9564.                                                                     case '1':
  9565.                                                                     {
  9566.                                                                         idx += 14;
  9567.                                                                         return X11_LIGHT_SALMON_1;
  9568.                                                                     }
  9569.                                                                     case '2':
  9570.                                                                     {
  9571.                                                                         idx += 14;
  9572.                                                                         return X11_LIGHT_SALMON_2;
  9573.                                                                     }
  9574.                                                                     case '3':
  9575.                                                                     {
  9576.                                                                         idx += 14;
  9577.                                                                         return X11_LIGHT_SALMON_3;
  9578.                                                                     }
  9579.                                                                     case '4':
  9580.                                                                     {
  9581.                                                                         idx += 14;
  9582.                                                                         return X11_LIGHT_SALMON_4;
  9583.                                                                     }
  9584.                                                                 }
  9585.                                                             }
  9586.                                                         }
  9587.                                                         case '_' | 0x20:
  9588.                                                         {
  9589.                                                             switch (str[13] | 0x20)
  9590.                                                             {
  9591.                                                                 case '1':
  9592.                                                                 {
  9593.                                                                     idx += 14;
  9594.                                                                     return X11_LIGHT_SALMON_1;
  9595.                                                                 }
  9596.                                                                 case '2':
  9597.                                                                 {
  9598.                                                                     idx += 14;
  9599.                                                                     return X11_LIGHT_SALMON_2;
  9600.                                                                 }
  9601.                                                                 case '3':
  9602.                                                                 {
  9603.                                                                     idx += 14;
  9604.                                                                     return X11_LIGHT_SALMON_3;
  9605.                                                                 }
  9606.                                                                 case '4':
  9607.                                                                 {
  9608.                                                                     idx += 14;
  9609.                                                                     return X11_LIGHT_SALMON_4;
  9610.                                                                 }
  9611.                                                             }
  9612.                                                         }
  9613.                                                     }
  9614.                                                     idx += 12;
  9615.                                                     return X11_LIGHT_SALMON;
  9616.                                                 }
  9617.                                                 case 'e':
  9618.                                                 {
  9619.                                                     if (str[8] && !strcmp(str[8], !"A_GREEN", true, 7))
  9620.                                                     {
  9621.                                                         idx += 15;
  9622.                                                         return X11_LIGHT_SEA_GREEN;
  9623.                                                     }
  9624.                                                 }
  9625.                                                 case 'k':
  9626.                                                 {
  9627.                                                     if (!str[8] || strcmp(str[8], !"Y_BLUE", true, 6))
  9628.                                                     {
  9629.                                                         return -1;
  9630.                                                     }
  9631.                                                     switch (str[14] | 0x20)
  9632.                                                     {
  9633.                                                         case ' ' | 0x20: // ' '
  9634.                                                         {
  9635.                                                             if (str[14])
  9636.                                                             {
  9637.                                                                 switch (str[15] | 0x20)
  9638.                                                                 {
  9639.                                                                     case '1':
  9640.                                                                     {
  9641.                                                                         idx += 16;
  9642.                                                                         return X11_LIGHT_SKY_BLUE_1;
  9643.                                                                     }
  9644.                                                                     case '2':
  9645.                                                                     {
  9646.                                                                         idx += 16;
  9647.                                                                         return X11_LIGHT_SKY_BLUE_2;
  9648.                                                                     }
  9649.                                                                     case '3':
  9650.                                                                     {
  9651.                                                                         idx += 16;
  9652.                                                                         return X11_LIGHT_SKY_BLUE_3;
  9653.                                                                     }
  9654.                                                                     case '4':
  9655.                                                                     {
  9656.                                                                         idx += 16;
  9657.                                                                         return X11_LIGHT_SKY_BLUE_4;
  9658.                                                                     }
  9659.                                                                 }
  9660.                                                             }
  9661.                                                         }
  9662.                                                         case '_' | 0x20:
  9663.                                                         {
  9664.                                                             switch (str[15] | 0x20)
  9665.                                                             {
  9666.                                                                 case '1':
  9667.                                                                 {
  9668.                                                                     idx += 16;
  9669.                                                                     return X11_LIGHT_SKY_BLUE_1;
  9670.                                                                 }
  9671.                                                                 case '2':
  9672.                                                                 {
  9673.                                                                     idx += 16;
  9674.                                                                     return X11_LIGHT_SKY_BLUE_2;
  9675.                                                                 }
  9676.                                                                 case '3':
  9677.                                                                 {
  9678.                                                                     idx += 16;
  9679.                                                                     return X11_LIGHT_SKY_BLUE_3;
  9680.                                                                 }
  9681.                                                                 case '4':
  9682.                                                                 {
  9683.                                                                     idx += 16;
  9684.                                                                     return X11_LIGHT_SKY_BLUE_4;
  9685.                                                                 }
  9686.                                                             }
  9687.                                                         }
  9688.                                                     }
  9689.                                                     idx += 14;
  9690.                                                     return X11_LIGHT_SKY_BLUE;
  9691.                                                 }
  9692.                                                 case 'l':
  9693.                                                 {
  9694.                                                     if (!str[8] || strcmp(str[8], !"ATE_", true, 4))
  9695.                                                     {
  9696.                                                         return -1;
  9697.                                                     }
  9698.                                                     switch (str[12] | 0x20)
  9699.                                                     {
  9700.                                                         case 'b':
  9701.                                                         {
  9702.                                                             if (str[13] && !strcmp(str[13], !"LUE", true, 3))
  9703.                                                             {
  9704.                                                                 idx += 16;
  9705.                                                                 return X11_LIGHT_SLATE_BLUE;
  9706.                                                             }
  9707.                                                         }
  9708.                                                         case 'g':
  9709.                                                         {
  9710.                                                             if (str[13] != 'R')
  9711.                                                             {
  9712.                                                                 return -1;
  9713.                                                             }
  9714.                                                             switch (str[14] | 0x20)
  9715.                                                             {
  9716.                                                                 case 'a':
  9717.                                                                 {
  9718.                                                                     if (str[15] == 'Y')
  9719.                                                                     {
  9720.                                                                         idx += 16;
  9721.                                                                         return X11_LIGHT_SLATE_GRAY;
  9722.                                                                     }
  9723.                                                                 }
  9724.                                                                 case 'e':
  9725.                                                                 {
  9726.                                                                     if (str[15] == 'Y')
  9727.                                                                     {
  9728.                                                                         idx += 16;
  9729.                                                                         return X11_LIGHT_SLATE_GREY;
  9730.                                                                     }
  9731.                                                                 }
  9732.                                                             }
  9733.                                                         }
  9734.                                                     }
  9735.                                                 }
  9736.                                                 case 't':
  9737.                                                 {
  9738.                                                     if (!str[8] || strcmp(str[8], !"EEL_BLUE", true, 8))
  9739.                                                     {
  9740.                                                         return -1;
  9741.                                                     }
  9742.                                                     switch (str[16] | 0x20)
  9743.                                                     {
  9744.                                                         case ' ' | 0x20: // ' '
  9745.                                                         {
  9746.                                                             if (str[16])
  9747.                                                             {
  9748.                                                                 switch (str[17] | 0x20)
  9749.                                                                 {
  9750.                                                                     case '1':
  9751.                                                                     {
  9752.                                                                         idx += 18;
  9753.                                                                         return X11_LIGHT_STEEL_BLUE_1;
  9754.                                                                     }
  9755.                                                                     case '2':
  9756.                                                                     {
  9757.                                                                         idx += 18;
  9758.                                                                         return X11_LIGHT_STEEL_BLUE_2;
  9759.                                                                     }
  9760.                                                                     case '3':
  9761.                                                                     {
  9762.                                                                         idx += 18;
  9763.                                                                         return X11_LIGHT_STEEL_BLUE_3;
  9764.                                                                     }
  9765.                                                                     case '4':
  9766.                                                                     {
  9767.                                                                         idx += 18;
  9768.                                                                         return X11_LIGHT_STEEL_BLUE_4;
  9769.                                                                     }
  9770.                                                                 }
  9771.                                                             }
  9772.                                                         }
  9773.                                                         case '_' | 0x20:
  9774.                                                         {
  9775.                                                             switch (str[17] | 0x20)
  9776.                                                             {
  9777.                                                                 case '1':
  9778.                                                                 {
  9779.                                                                     idx += 18;
  9780.                                                                     return X11_LIGHT_STEEL_BLUE_1;
  9781.                                                                 }
  9782.                                                                 case '2':
  9783.                                                                 {
  9784.                                                                     idx += 18;
  9785.                                                                     return X11_LIGHT_STEEL_BLUE_2;
  9786.                                                                 }
  9787.                                                                 case '3':
  9788.                                                                 {
  9789.                                                                     idx += 18;
  9790.                                                                     return X11_LIGHT_STEEL_BLUE_3;
  9791.                                                                 }
  9792.                                                                 case '4':
  9793.                                                                 {
  9794.                                                                     idx += 18;
  9795.                                                                     return X11_LIGHT_STEEL_BLUE_4;
  9796.                                                                 }
  9797.                                                             }
  9798.                                                         }
  9799.                                                     }
  9800.                                                     idx += 16;
  9801.                                                     return X11_LIGHT_STEEL_BLUE;
  9802.                                                 }
  9803.                                             }
  9804.                                         }
  9805.                                         case 'y':
  9806.                                         {
  9807.                                             if (!str[7] || strcmp(str[7], !"ELLOW", true, 5))
  9808.                                             {
  9809.                                                 return -1;
  9810.                                             }
  9811.                                             switch (str[12] | 0x20)
  9812.                                             {
  9813.                                                 case ' ' | 0x20: // ' '
  9814.                                                 {
  9815.                                                     if (str[12])
  9816.                                                     {
  9817.                                                         switch (str[13] | 0x20)
  9818.                                                         {
  9819.                                                             case '1':
  9820.                                                             {
  9821.                                                                 idx += 14;
  9822.                                                                 return X11_LIGHT_YELLOW_1;
  9823.                                                             }
  9824.                                                             case '2':
  9825.                                                             {
  9826.                                                                 idx += 14;
  9827.                                                                 return X11_LIGHT_YELLOW_2;
  9828.                                                             }
  9829.                                                             case '3':
  9830.                                                             {
  9831.                                                                 idx += 14;
  9832.                                                                 return X11_LIGHT_YELLOW_3;
  9833.                                                             }
  9834.                                                             case '4':
  9835.                                                             {
  9836.                                                                 idx += 14;
  9837.                                                                 return X11_LIGHT_YELLOW_4;
  9838.                                                             }
  9839.                                                         }
  9840.                                                     }
  9841.                                                 }
  9842.                                                 case '_' | 0x20:
  9843.                                                 {
  9844.                                                     switch (str[13] | 0x20)
  9845.                                                     {
  9846.                                                         case '1':
  9847.                                                         {
  9848.                                                             idx += 14;
  9849.                                                             return X11_LIGHT_YELLOW_1;
  9850.                                                         }
  9851.                                                         case '2':
  9852.                                                         {
  9853.                                                             idx += 14;
  9854.                                                             return X11_LIGHT_YELLOW_2;
  9855.                                                         }
  9856.                                                         case '3':
  9857.                                                         {
  9858.                                                             idx += 14;
  9859.                                                             return X11_LIGHT_YELLOW_3;
  9860.                                                         }
  9861.                                                         case '4':
  9862.                                                         {
  9863.                                                             idx += 14;
  9864.                                                             return X11_LIGHT_YELLOW_4;
  9865.                                                         }
  9866.                                                     }
  9867.                                                 }
  9868.                                             }
  9869.                                             idx += 12;
  9870.                                             return X11_LIGHT_YELLOW;
  9871.                                         }
  9872.                                     }
  9873.                                 }
  9874.                                 case 'b':
  9875.                                 {
  9876.                                     if (!str[6] || strcmp(str[6], !"LUE", true, 3))
  9877.                                     {
  9878.                                         return -1;
  9879.                                     }
  9880.                                     switch (str[9] | 0x20)
  9881.                                     {
  9882.                                         case '1':
  9883.                                         {
  9884.                                             idx += 10;
  9885.                                             return X11_LIGHTBLUE1;
  9886.                                         }
  9887.                                         case '2':
  9888.                                         {
  9889.                                             idx += 10;
  9890.                                             return X11_LIGHTBLUE2;
  9891.                                         }
  9892.                                         case '3':
  9893.                                         {
  9894.                                             idx += 10;
  9895.                                             return X11_LIGHTBLUE3;
  9896.                                         }
  9897.                                         case '4':
  9898.                                         {
  9899.                                             idx += 10;
  9900.                                             return X11_LIGHTBLUE4;
  9901.                                         }
  9902.                                     }
  9903.                                     idx += 9;
  9904.                                     return X11_LIGHTBLUE;
  9905.                                 }
  9906.                                 case 'c':
  9907.                                 {
  9908.                                     switch (str[6] | 0x20)
  9909.                                     {
  9910.                                         case 'o':
  9911.                                         {
  9912.                                             if (str[7] && !strcmp(str[7], !"RAL", true, 3))
  9913.                                             {
  9914.                                                 idx += 10;
  9915.                                                 return X11_LIGHTCORAL;
  9916.                                             }
  9917.                                         }
  9918.                                         case 'y':
  9919.                                         {
  9920.                                             if (!str[7] || strcmp(str[7], !"AN", true, 2))
  9921.                                             {
  9922.                                                 return -1;
  9923.                                             }
  9924.                                             switch (str[9] | 0x20)
  9925.                                             {
  9926.                                                 case '1':
  9927.                                                 {
  9928.                                                     idx += 10;
  9929.                                                     return X11_LIGHTCYAN1;
  9930.                                                 }
  9931.                                                 case '2':
  9932.                                                 {
  9933.                                                     idx += 10;
  9934.                                                     return X11_LIGHTCYAN2;
  9935.                                                 }
  9936.                                                 case '3':
  9937.                                                 {
  9938.                                                     idx += 10;
  9939.                                                     return X11_LIGHTCYAN3;
  9940.                                                 }
  9941.                                                 case '4':
  9942.                                                 {
  9943.                                                     idx += 10;
  9944.                                                     return X11_LIGHTCYAN4;
  9945.                                                 }
  9946.                                             }
  9947.                                             idx += 9;
  9948.                                             return X11_LIGHTCYAN;
  9949.                                         }
  9950.                                     }
  9951.                                 }
  9952.                                 case 'g':
  9953.                                 {
  9954.                                     switch (str[6] | 0x20)
  9955.                                     {
  9956.                                         case 'o':
  9957.                                         {
  9958.                                             if (!str[7] || strcmp(str[7], !"LDENROD", true, 7))
  9959.                                             {
  9960.                                                 return -1;
  9961.                                             }
  9962.                                             switch (str[14] | 0x20)
  9963.                                             {
  9964.                                                 case '1':
  9965.                                                 {
  9966.                                                     idx += 15;
  9967.                                                     return X11_LIGHTGOLDENROD1;
  9968.                                                 }
  9969.                                                 case '2':
  9970.                                                 {
  9971.                                                     idx += 15;
  9972.                                                     return X11_LIGHTGOLDENROD2;
  9973.                                                 }
  9974.                                                 case '3':
  9975.                                                 {
  9976.                                                     idx += 15;
  9977.                                                     return X11_LIGHTGOLDENROD3;
  9978.                                                 }
  9979.                                                 case '4':
  9980.                                                 {
  9981.                                                     idx += 15;
  9982.                                                     return X11_LIGHTGOLDENROD4;
  9983.                                                 }
  9984.                                                 case 'y':
  9985.                                                 {
  9986.                                                     if (str[15] && !strcmp(str[15], !"ELLOW", true, 5))
  9987.                                                     {
  9988.                                                         idx += 20;
  9989.                                                         return X11_LIGHTGOLDENRODYELLOW;
  9990.                                                     }
  9991.                                                 }
  9992.                                             }
  9993.                                             idx += 14;
  9994.                                             return X11_LIGHTGOLDENROD;
  9995.                                         }
  9996.                                         case 'r':
  9997.                                         {
  9998.                                             switch (str[7] | 0x20)
  9999.                                             {
  10000.                                                 case 'a':
  10001.                                                 {
  10002.                                                     if (str[8] == 'Y')
  10003.                                                     {
  10004.                                                         idx += 9;
  10005.                                                         return X11_LIGHTGRAY;
  10006.                                                     }
  10007.                                                 }
  10008.                                                 case 'e':
  10009.                                                 {
  10010.                                                     switch (str[8] | 0x20)
  10011.                                                     {
  10012.                                                         case 'e':
  10013.                                                         {
  10014.                                                             if (str[9] == 'N')
  10015.                                                             {
  10016.                                                                 idx += 10;
  10017.                                                                 return X11_LIGHTGREEN;
  10018.                                                             }
  10019.                                                         }
  10020.                                                         case 'y':
  10021.                                                         {
  10022.                                                             idx += 9;
  10023.                                                             return X11_LIGHTGREY;
  10024.                                                         }
  10025.                                                     }
  10026.                                                 }
  10027.                                             }
  10028.                                         }
  10029.                                     }
  10030.                                 }
  10031.                                 case 'p':
  10032.                                 {
  10033.                                     if (!str[6] || strcmp(str[6], !"INK", true, 3))
  10034.                                     {
  10035.                                         return -1;
  10036.                                     }
  10037.                                     switch (str[9] | 0x20)
  10038.                                     {
  10039.                                         case '1':
  10040.                                         {
  10041.                                             idx += 10;
  10042.                                             return X11_LIGHTPINK1;
  10043.                                         }
  10044.                                         case '2':
  10045.                                         {
  10046.                                             idx += 10;
  10047.                                             return X11_LIGHTPINK2;
  10048.                                         }
  10049.                                         case '3':
  10050.                                         {
  10051.                                             idx += 10;
  10052.                                             return X11_LIGHTPINK3;
  10053.                                         }
  10054.                                         case '4':
  10055.                                         {
  10056.                                             idx += 10;
  10057.                                             return X11_LIGHTPINK4;
  10058.                                         }
  10059.                                     }
  10060.                                     idx += 9;
  10061.                                     return X11_LIGHTPINK;
  10062.                                 }
  10063.                                 case 's':
  10064.                                 {
  10065.                                     switch (str[6] | 0x20)
  10066.                                     {
  10067.                                         case 'a':
  10068.                                         {
  10069.                                             if (!str[7] || strcmp(str[7], !"LMON", true, 4))
  10070.                                             {
  10071.                                                 return -1;
  10072.                                             }
  10073.                                             switch (str[11] | 0x20)
  10074.                                             {
  10075.                                                 case '1':
  10076.                                                 {
  10077.                                                     idx += 12;
  10078.                                                     return X11_LIGHTSALMON1;
  10079.                                                 }
  10080.                                                 case '2':
  10081.                                                 {
  10082.                                                     idx += 12;
  10083.                                                     return X11_LIGHTSALMON2;
  10084.                                                 }
  10085.                                                 case '3':
  10086.                                                 {
  10087.                                                     idx += 12;
  10088.                                                     return X11_LIGHTSALMON3;
  10089.                                                 }
  10090.                                                 case '4':
  10091.                                                 {
  10092.                                                     idx += 12;
  10093.                                                     return X11_LIGHTSALMON4;
  10094.                                                 }
  10095.                                             }
  10096.                                             idx += 11;
  10097.                                             return X11_LIGHTSALMON;
  10098.                                         }
  10099.                                         case 'e':
  10100.                                         {
  10101.                                             if (str[7] && !strcmp(str[7], !"AGREEN", true, 6))
  10102.                                             {
  10103.                                                 idx += 13;
  10104.                                                 return X11_LIGHTSEAGREEN;
  10105.                                             }
  10106.                                         }
  10107.                                         case 'k':
  10108.                                         {
  10109.                                             if (!str[7] || strcmp(str[7], !"YBLUE", true, 5))
  10110.                                             {
  10111.                                                 return -1;
  10112.                                             }
  10113.                                             switch (str[12] | 0x20)
  10114.                                             {
  10115.                                                 case '1':
  10116.                                                 {
  10117.                                                     idx += 13;
  10118.                                                     return X11_LIGHTSKYBLUE1;
  10119.                                                 }
  10120.                                                 case '2':
  10121.                                                 {
  10122.                                                     idx += 13;
  10123.                                                     return X11_LIGHTSKYBLUE2;
  10124.                                                 }
  10125.                                                 case '3':
  10126.                                                 {
  10127.                                                     idx += 13;
  10128.                                                     return X11_LIGHTSKYBLUE3;
  10129.                                                 }
  10130.                                                 case '4':
  10131.                                                 {
  10132.                                                     idx += 13;
  10133.                                                     return X11_LIGHTSKYBLUE4;
  10134.                                                 }
  10135.                                             }
  10136.                                             idx += 12;
  10137.                                             return X11_LIGHTSKYBLUE;
  10138.                                         }
  10139.                                         case 'l':
  10140.                                         {
  10141.                                             if (!str[7] || strcmp(str[7], !"ATE", true, 3))
  10142.                                             {
  10143.                                                 return -1;
  10144.                                             }
  10145.                                             switch (str[10] | 0x20)
  10146.                                             {
  10147.                                                 case 'b':
  10148.                                                 {
  10149.                                                     if (str[11] && !strcmp(str[11], !"LUE", true, 3))
  10150.                                                     {
  10151.                                                         idx += 14;
  10152.                                                         return X11_LIGHTSLATEBLUE;
  10153.                                                     }
  10154.                                                 }
  10155.                                                 case 'g':
  10156.                                                 {
  10157.                                                     if (str[11] != 'R')
  10158.                                                     {
  10159.                                                         return -1;
  10160.                                                     }
  10161.                                                     switch (str[12] | 0x20)
  10162.                                                     {
  10163.                                                         case 'a':
  10164.                                                         {
  10165.                                                             if (str[13] == 'Y')
  10166.                                                             {
  10167.                                                                 idx += 14;
  10168.                                                                 return X11_LIGHTSLATEGRAY;
  10169.                                                             }
  10170.                                                         }
  10171.                                                         case 'e':
  10172.                                                         {
  10173.                                                             if (str[13] == 'Y')
  10174.                                                             {
  10175.                                                                 idx += 14;
  10176.                                                                 return X11_LIGHTSLATEGREY;
  10177.                                                             }
  10178.                                                         }
  10179.                                                     }
  10180.                                                 }
  10181.                                             }
  10182.                                         }
  10183.                                         case 't':
  10184.                                         {
  10185.                                             if (!str[7] || strcmp(str[7], !"EELBLUE", true, 7))
  10186.                                             {
  10187.                                                 return -1;
  10188.                                             }
  10189.                                             switch (str[14] | 0x20)
  10190.                                             {
  10191.                                                 case '1':
  10192.                                                 {
  10193.                                                     idx += 15;
  10194.                                                     return X11_LIGHTSTEELBLUE1;
  10195.                                                 }
  10196.                                                 case '2':
  10197.                                                 {
  10198.                                                     idx += 15;
  10199.                                                     return X11_LIGHTSTEELBLUE2;
  10200.                                                 }
  10201.                                                 case '3':
  10202.                                                 {
  10203.                                                     idx += 15;
  10204.                                                     return X11_LIGHTSTEELBLUE3;
  10205.                                                 }
  10206.                                                 case '4':
  10207.                                                 {
  10208.                                                     idx += 15;
  10209.                                                     return X11_LIGHTSTEELBLUE4;
  10210.                                                 }
  10211.                                             }
  10212.                                             idx += 14;
  10213.                                             return X11_LIGHTSTEELBLUE;
  10214.                                         }
  10215.                                     }
  10216.                                 }
  10217.                                 case 'y':
  10218.                                 {
  10219.                                     if (!str[6] || strcmp(str[6], !"ELLOW", true, 5))
  10220.                                     {
  10221.                                         return -1;
  10222.                                     }
  10223.                                     switch (str[11] | 0x20)
  10224.                                     {
  10225.                                         case '1':
  10226.                                         {
  10227.                                             idx += 12;
  10228.                                             return X11_LIGHTYELLOW1;
  10229.                                         }
  10230.                                         case '2':
  10231.                                         {
  10232.                                             idx += 12;
  10233.                                             return X11_LIGHTYELLOW2;
  10234.                                         }
  10235.                                         case '3':
  10236.                                         {
  10237.                                             idx += 12;
  10238.                                             return X11_LIGHTYELLOW3;
  10239.                                         }
  10240.                                         case '4':
  10241.                                         {
  10242.                                             idx += 12;
  10243.                                             return X11_LIGHTYELLOW4;
  10244.                                         }
  10245.                                     }
  10246.                                     idx += 11;
  10247.                                     return X11_LIGHTYELLOW;
  10248.                                 }
  10249.                             }
  10250.                         }
  10251.                         case 'm':
  10252.                         {
  10253.                             if (str[3] != 'E')
  10254.                             {
  10255.                                 return -1;
  10256.                             }
  10257.                             switch (str[4] | 0x20)
  10258.                             {
  10259.                                 case ' ' | 0x20: // ' '
  10260.                                 {
  10261.                                     if (str[4])
  10262.                                     {
  10263.                                         if (str[5] && !strcmp(str[5], !"GREEN", true, 5))
  10264.                                         {
  10265.                                             idx += 10;
  10266.                                             return X11_LIME_GREEN;
  10267.                                         }
  10268.                                     }
  10269.                                 }
  10270.                                 case '_' | 0x20:
  10271.                                 {
  10272.                                     if (str[5] && !strcmp(str[5], !"GREEN", true, 5))
  10273.                                     {
  10274.                                         idx += 10;
  10275.                                         return X11_LIME_GREEN;
  10276.                                     }
  10277.                                 }
  10278.                                 case 'g':
  10279.                                 {
  10280.                                     if (str[5] && !strcmp(str[5], !"REEN", true, 4))
  10281.                                     {
  10282.                                         idx += 9;
  10283.                                         return X11_LIMEGREEN;
  10284.                                     }
  10285.                                 }
  10286.                             }
  10287.                         }
  10288.                         case 'n':
  10289.                         {
  10290.                             if (str[3] && !strcmp(str[3], !"EN", true, 2))
  10291.                             {
  10292.                                 idx += 5;
  10293.                                 return X11_LINEN;
  10294.                             }
  10295.                         }
  10296.                     }
  10297.                 }
  10298.             }
  10299.         }
  10300.         case 'm':
  10301.         {
  10302.             switch (str[1] | 0x20)
  10303.             {
  10304.                 case 'a':
  10305.                 {
  10306.                     switch (str[2] | 0x20)
  10307.                     {
  10308.                         case 'g':
  10309.                         {
  10310.                             if (!str[3] || strcmp(str[3], !"ENTA", true, 4))
  10311.                             {
  10312.                                 return -1;
  10313.                             }
  10314.                             switch (str[7] | 0x20)
  10315.                             {
  10316.                                 case ' ' | 0x20: // ' '
  10317.                                 {
  10318.                                     if (str[7])
  10319.                                     {
  10320.                                         switch (str[8] | 0x20)
  10321.                                         {
  10322.                                             case '1':
  10323.                                             {
  10324.                                                 idx += 9;
  10325.                                                 return X11_MAGENTA_1;
  10326.                                             }
  10327.                                             case '2':
  10328.                                             {
  10329.                                                 idx += 9;
  10330.                                                 return X11_MAGENTA_2;
  10331.                                             }
  10332.                                             case '3':
  10333.                                             {
  10334.                                                 idx += 9;
  10335.                                                 return X11_MAGENTA_3;
  10336.                                             }
  10337.                                             case '4':
  10338.                                             {
  10339.                                                 idx += 9;
  10340.                                                 return X11_MAGENTA_4;
  10341.                                             }
  10342.                                         }
  10343.                                     }
  10344.                                 }
  10345.                                 case '_' | 0x20:
  10346.                                 {
  10347.                                     switch (str[8] | 0x20)
  10348.                                     {
  10349.                                         case '1':
  10350.                                         {
  10351.                                             idx += 9;
  10352.                                             return X11_MAGENTA_1;
  10353.                                         }
  10354.                                         case '2':
  10355.                                         {
  10356.                                             idx += 9;
  10357.                                             return X11_MAGENTA_2;
  10358.                                         }
  10359.                                         case '3':
  10360.                                         {
  10361.                                             idx += 9;
  10362.                                             return X11_MAGENTA_3;
  10363.                                         }
  10364.                                         case '4':
  10365.                                         {
  10366.                                             idx += 9;
  10367.                                             return X11_MAGENTA_4;
  10368.                                         }
  10369.                                     }
  10370.                                 }
  10371.                                 case '1':
  10372.                                 {
  10373.                                     idx += 8;
  10374.                                     return X11_MAGENTA1;
  10375.                                 }
  10376.                                 case '2':
  10377.                                 {
  10378.                                     idx += 8;
  10379.                                     return X11_MAGENTA2;
  10380.                                 }
  10381.                                 case '3':
  10382.                                 {
  10383.                                     idx += 8;
  10384.                                     return X11_MAGENTA3;
  10385.                                 }
  10386.                                 case '4':
  10387.                                 {
  10388.                                     idx += 8;
  10389.                                     return X11_MAGENTA4;
  10390.                                 }
  10391.                             }
  10392.                             idx += 7;
  10393.                             return X11_MAGENTA;
  10394.                         }
  10395.                         case 'r':
  10396.                         {
  10397.                             if (!str[3] || strcmp(str[3], !"OON", true, 3))
  10398.                             {
  10399.                                 return -1;
  10400.                             }
  10401.                             switch (str[6] | 0x20)
  10402.                             {
  10403.                                 case ' ' | 0x20: // ' '
  10404.                                 {
  10405.                                     if (str[6])
  10406.                                     {
  10407.                                         switch (str[7] | 0x20)
  10408.                                         {
  10409.                                             case '1':
  10410.                                             {
  10411.                                                 idx += 8;
  10412.                                                 return X11_MAROON_1;
  10413.                                             }
  10414.                                             case '2':
  10415.                                             {
  10416.                                                 idx += 8;
  10417.                                                 return X11_MAROON_2;
  10418.                                             }
  10419.                                             case '3':
  10420.                                             {
  10421.                                                 idx += 8;
  10422.                                                 return X11_MAROON_3;
  10423.                                             }
  10424.                                             case '4':
  10425.                                             {
  10426.                                                 idx += 8;
  10427.                                                 return X11_MAROON_4;
  10428.                                             }
  10429.                                         }
  10430.                                     }
  10431.                                 }
  10432.                                 case '_' | 0x20:
  10433.                                 {
  10434.                                     switch (str[7] | 0x20)
  10435.                                     {
  10436.                                         case '1':
  10437.                                         {
  10438.                                             idx += 8;
  10439.                                             return X11_MAROON_1;
  10440.                                         }
  10441.                                         case '2':
  10442.                                         {
  10443.                                             idx += 8;
  10444.                                             return X11_MAROON_2;
  10445.                                         }
  10446.                                         case '3':
  10447.                                         {
  10448.                                             idx += 8;
  10449.                                             return X11_MAROON_3;
  10450.                                         }
  10451.                                         case '4':
  10452.                                         {
  10453.                                             idx += 8;
  10454.                                             return X11_MAROON_4;
  10455.                                         }
  10456.                                     }
  10457.                                 }
  10458.                                 case '1':
  10459.                                 {
  10460.                                     idx += 7;
  10461.                                     return X11_MAROON1;
  10462.                                 }
  10463.                                 case '2':
  10464.                                 {
  10465.                                     idx += 7;
  10466.                                     return X11_MAROON2;
  10467.                                 }
  10468.                                 case '3':
  10469.                                 {
  10470.                                     idx += 7;
  10471.                                     return X11_MAROON3;
  10472.                                 }
  10473.                                 case '4':
  10474.                                 {
  10475.                                     idx += 7;
  10476.                                     return X11_MAROON4;
  10477.                                 }
  10478.                             }
  10479.                             idx += 6;
  10480.                             return X11_MAROON;
  10481.                         }
  10482.                     }
  10483.                 }
  10484.                 case 'e':
  10485.                 {
  10486.                     if (!str[2] || strcmp(str[2], !"DIUM", true, 4))
  10487.                     {
  10488.                         return -1;
  10489.                     }
  10490.                     switch (str[6] | 0x20)
  10491.                     {
  10492.                         case ' ' | 0x20: // ' '
  10493.                         {
  10494.                             if (str[6])
  10495.                             {
  10496.                                 switch (str[7] | 0x20)
  10497.                                 {
  10498.                                     case 'a':
  10499.                                     {
  10500.                                         if (str[8] && !strcmp(str[8], !"QUAMARINE", true, 9))
  10501.                                         {
  10502.                                             idx += 17;
  10503.                                             return X11_MEDIUM_AQUAMARINE;
  10504.                                         }
  10505.                                     }
  10506.                                     case 'b':
  10507.                                     {
  10508.                                         if (str[8] && !strcmp(str[8], !"LUE", true, 3))
  10509.                                         {
  10510.                                             idx += 11;
  10511.                                             return X11_MEDIUM_BLUE;
  10512.                                         }
  10513.                                     }
  10514.                                     case 'o':
  10515.                                     {
  10516.                                         if (!str[8] || strcmp(str[8], !"RCHID", true, 5))
  10517.                                         {
  10518.                                             return -1;
  10519.                                         }
  10520.                                         switch (str[13] | 0x20)
  10521.                                         {
  10522.                                             case ' ' | 0x20: // ' '
  10523.                                             {
  10524.                                                 if (str[13])
  10525.                                                 {
  10526.                                                     switch (str[14] | 0x20)
  10527.                                                     {
  10528.                                                         case '1':
  10529.                                                         {
  10530.                                                             idx += 15;
  10531.                                                             return X11_MEDIUM_ORCHID_1;
  10532.                                                         }
  10533.                                                         case '2':
  10534.                                                         {
  10535.                                                             idx += 15;
  10536.                                                             return X11_MEDIUM_ORCHID_2;
  10537.                                                         }
  10538.                                                         case '3':
  10539.                                                         {
  10540.                                                             idx += 15;
  10541.                                                             return X11_MEDIUM_ORCHID_3;
  10542.                                                         }
  10543.                                                         case '4':
  10544.                                                         {
  10545.                                                             idx += 15;
  10546.                                                             return X11_MEDIUM_ORCHID_4;
  10547.                                                         }
  10548.                                                     }
  10549.                                                 }
  10550.                                             }
  10551.                                             case '_' | 0x20:
  10552.                                             {
  10553.                                                 switch (str[14] | 0x20)
  10554.                                                 {
  10555.                                                     case '1':
  10556.                                                     {
  10557.                                                         idx += 15;
  10558.                                                         return X11_MEDIUM_ORCHID_1;
  10559.                                                     }
  10560.                                                     case '2':
  10561.                                                     {
  10562.                                                         idx += 15;
  10563.                                                         return X11_MEDIUM_ORCHID_2;
  10564.                                                     }
  10565.                                                     case '3':
  10566.                                                     {
  10567.                                                         idx += 15;
  10568.                                                         return X11_MEDIUM_ORCHID_3;
  10569.                                                     }
  10570.                                                     case '4':
  10571.                                                     {
  10572.                                                         idx += 15;
  10573.                                                         return X11_MEDIUM_ORCHID_4;
  10574.                                                     }
  10575.                                                 }
  10576.                                             }
  10577.                                         }
  10578.                                         idx += 13;
  10579.                                         return X11_MEDIUM_ORCHID;
  10580.                                     }
  10581.                                     case 'p':
  10582.                                     {
  10583.                                         if (!str[8] || strcmp(str[8], !"URPLE", true, 5))
  10584.                                         {
  10585.                                             return -1;
  10586.                                         }
  10587.                                         switch (str[13] | 0x20)
  10588.                                         {
  10589.                                             case ' ' | 0x20: // ' '
  10590.                                             {
  10591.                                                 if (str[13])
  10592.                                                 {
  10593.                                                     switch (str[14] | 0x20)
  10594.                                                     {
  10595.                                                         case '1':
  10596.                                                         {
  10597.                                                             idx += 15;
  10598.                                                             return X11_MEDIUM_PURPLE_1;
  10599.                                                         }
  10600.                                                         case '2':
  10601.                                                         {
  10602.                                                             idx += 15;
  10603.                                                             return X11_MEDIUM_PURPLE_2;
  10604.                                                         }
  10605.                                                         case '3':
  10606.                                                         {
  10607.                                                             idx += 15;
  10608.                                                             return X11_MEDIUM_PURPLE_3;
  10609.                                                         }
  10610.                                                         case '4':
  10611.                                                         {
  10612.                                                             idx += 15;
  10613.                                                             return X11_MEDIUM_PURPLE_4;
  10614.                                                         }
  10615.                                                     }
  10616.                                                 }
  10617.                                             }
  10618.                                             case '_' | 0x20:
  10619.                                             {
  10620.                                                 switch (str[14] | 0x20)
  10621.                                                 {
  10622.                                                     case '1':
  10623.                                                     {
  10624.                                                         idx += 15;
  10625.                                                         return X11_MEDIUM_PURPLE_1;
  10626.                                                     }
  10627.                                                     case '2':
  10628.                                                     {
  10629.                                                         idx += 15;
  10630.                                                         return X11_MEDIUM_PURPLE_2;
  10631.                                                     }
  10632.                                                     case '3':
  10633.                                                     {
  10634.                                                         idx += 15;
  10635.                                                         return X11_MEDIUM_PURPLE_3;
  10636.                                                     }
  10637.                                                     case '4':
  10638.                                                     {
  10639.                                                         idx += 15;
  10640.                                                         return X11_MEDIUM_PURPLE_4;
  10641.                                                     }
  10642.                                                 }
  10643.                                             }
  10644.                                         }
  10645.                                         idx += 13;
  10646.                                         return X11_MEDIUM_PURPLE;
  10647.                                     }
  10648.                                     case 's':
  10649.                                     {
  10650.                                         switch (str[8] | 0x20)
  10651.                                         {
  10652.                                             case 'e':
  10653.                                             {
  10654.                                                 if (str[9] && !strcmp(str[9], !"A_GREEN", true, 7))
  10655.                                                 {
  10656.                                                     idx += 16;
  10657.                                                     return X11_MEDIUM_SEA_GREEN;
  10658.                                                 }
  10659.                                             }
  10660.                                             case 'l':
  10661.                                             {
  10662.                                                 if (str[9] && !strcmp(str[9], !"ATE_BLUE", true, 8))
  10663.                                                 {
  10664.                                                     idx += 17;
  10665.                                                     return X11_MEDIUM_SLATE_BLUE;
  10666.                                                 }
  10667.                                             }
  10668.                                             case 'p':
  10669.                                             {
  10670.                                                 if (str[9] && !strcmp(str[9], !"RING_GREEN", true, 10))
  10671.                                                 {
  10672.                                                     idx += 19;
  10673.                                                     return X11_MEDIUM_SPRING_GREEN;
  10674.                                                 }
  10675.                                             }
  10676.                                         }
  10677.                                     }
  10678.                                     case 't':
  10679.                                     {
  10680.                                         if (str[8] && !strcmp(str[8], !"URQUOISE", true, 8))
  10681.                                         {
  10682.                                             idx += 16;
  10683.                                             return X11_MEDIUM_TURQUOISE;
  10684.                                         }
  10685.                                     }
  10686.                                     case 'v':
  10687.                                     {
  10688.                                         if (str[8] && !strcmp(str[8], !"IOLET_RED", true, 9))
  10689.                                         {
  10690.                                             idx += 17;
  10691.                                             return X11_MEDIUM_VIOLET_RED;
  10692.                                         }
  10693.                                     }
  10694.                                 }
  10695.                             }
  10696.                         }
  10697.                         case '_' | 0x20:
  10698.                         {
  10699.                             switch (str[7] | 0x20)
  10700.                             {
  10701.                                 case 'a':
  10702.                                 {
  10703.                                     if (str[8] && !strcmp(str[8], !"QUAMARINE", true, 9))
  10704.                                     {
  10705.                                         idx += 17;
  10706.                                         return X11_MEDIUM_AQUAMARINE;
  10707.                                     }
  10708.                                 }
  10709.                                 case 'b':
  10710.                                 {
  10711.                                     if (str[8] && !strcmp(str[8], !"LUE", true, 3))
  10712.                                     {
  10713.                                         idx += 11;
  10714.                                         return X11_MEDIUM_BLUE;
  10715.                                     }
  10716.                                 }
  10717.                                 case 'o':
  10718.                                 {
  10719.                                     if (!str[8] || strcmp(str[8], !"RCHID", true, 5))
  10720.                                     {
  10721.                                         return -1;
  10722.                                     }
  10723.                                     switch (str[13] | 0x20)
  10724.                                     {
  10725.                                         case ' ' | 0x20: // ' '
  10726.                                         {
  10727.                                             if (str[13])
  10728.                                             {
  10729.                                                 switch (str[14] | 0x20)
  10730.                                                 {
  10731.                                                     case '1':
  10732.                                                     {
  10733.                                                         idx += 15;
  10734.                                                         return X11_MEDIUM_ORCHID_1;
  10735.                                                     }
  10736.                                                     case '2':
  10737.                                                     {
  10738.                                                         idx += 15;
  10739.                                                         return X11_MEDIUM_ORCHID_2;
  10740.                                                     }
  10741.                                                     case '3':
  10742.                                                     {
  10743.                                                         idx += 15;
  10744.                                                         return X11_MEDIUM_ORCHID_3;
  10745.                                                     }
  10746.                                                     case '4':
  10747.                                                     {
  10748.                                                         idx += 15;
  10749.                                                         return X11_MEDIUM_ORCHID_4;
  10750.                                                     }
  10751.                                                 }
  10752.                                             }
  10753.                                         }
  10754.                                         case '_' | 0x20:
  10755.                                         {
  10756.                                             switch (str[14] | 0x20)
  10757.                                             {
  10758.                                                 case '1':
  10759.                                                 {
  10760.                                                     idx += 15;
  10761.                                                     return X11_MEDIUM_ORCHID_1;
  10762.                                                 }
  10763.                                                 case '2':
  10764.                                                 {
  10765.                                                     idx += 15;
  10766.                                                     return X11_MEDIUM_ORCHID_2;
  10767.                                                 }
  10768.                                                 case '3':
  10769.                                                 {
  10770.                                                     idx += 15;
  10771.                                                     return X11_MEDIUM_ORCHID_3;
  10772.                                                 }
  10773.                                                 case '4':
  10774.                                                 {
  10775.                                                     idx += 15;
  10776.                                                     return X11_MEDIUM_ORCHID_4;
  10777.                                                 }
  10778.                                             }
  10779.                                         }
  10780.                                     }
  10781.                                     idx += 13;
  10782.                                     return X11_MEDIUM_ORCHID;
  10783.                                 }
  10784.                                 case 'p':
  10785.                                 {
  10786.                                     if (!str[8] || strcmp(str[8], !"URPLE", true, 5))
  10787.                                     {
  10788.                                         return -1;
  10789.                                     }
  10790.                                     switch (str[13] | 0x20)
  10791.                                     {
  10792.                                         case ' ' | 0x20: // ' '
  10793.                                         {
  10794.                                             if (str[13])
  10795.                                             {
  10796.                                                 switch (str[14] | 0x20)
  10797.                                                 {
  10798.                                                     case '1':
  10799.                                                     {
  10800.                                                         idx += 15;
  10801.                                                         return X11_MEDIUM_PURPLE_1;
  10802.                                                     }
  10803.                                                     case '2':
  10804.                                                     {
  10805.                                                         idx += 15;
  10806.                                                         return X11_MEDIUM_PURPLE_2;
  10807.                                                     }
  10808.                                                     case '3':
  10809.                                                     {
  10810.                                                         idx += 15;
  10811.                                                         return X11_MEDIUM_PURPLE_3;
  10812.                                                     }
  10813.                                                     case '4':
  10814.                                                     {
  10815.                                                         idx += 15;
  10816.                                                         return X11_MEDIUM_PURPLE_4;
  10817.                                                     }
  10818.                                                 }
  10819.                                             }
  10820.                                         }
  10821.                                         case '_' | 0x20:
  10822.                                         {
  10823.                                             switch (str[14] | 0x20)
  10824.                                             {
  10825.                                                 case '1':
  10826.                                                 {
  10827.                                                     idx += 15;
  10828.                                                     return X11_MEDIUM_PURPLE_1;
  10829.                                                 }
  10830.                                                 case '2':
  10831.                                                 {
  10832.                                                     idx += 15;
  10833.                                                     return X11_MEDIUM_PURPLE_2;
  10834.                                                 }
  10835.                                                 case '3':
  10836.                                                 {
  10837.                                                     idx += 15;
  10838.                                                     return X11_MEDIUM_PURPLE_3;
  10839.                                                 }
  10840.                                                 case '4':
  10841.                                                 {
  10842.                                                     idx += 15;
  10843.                                                     return X11_MEDIUM_PURPLE_4;
  10844.                                                 }
  10845.                                             }
  10846.                                         }
  10847.                                     }
  10848.                                     idx += 13;
  10849.                                     return X11_MEDIUM_PURPLE;
  10850.                                 }
  10851.                                 case 's':
  10852.                                 {
  10853.                                     switch (str[8] | 0x20)
  10854.                                     {
  10855.                                         case 'e':
  10856.                                         {
  10857.                                             if (str[9] && !strcmp(str[9], !"A_GREEN", true, 7))
  10858.                                             {
  10859.                                                 idx += 16;
  10860.                                                 return X11_MEDIUM_SEA_GREEN;
  10861.                                             }
  10862.                                         }
  10863.                                         case 'l':
  10864.                                         {
  10865.                                             if (str[9] && !strcmp(str[9], !"ATE_BLUE", true, 8))
  10866.                                             {
  10867.                                                 idx += 17;
  10868.                                                 return X11_MEDIUM_SLATE_BLUE;
  10869.                                             }
  10870.                                         }
  10871.                                         case 'p':
  10872.                                         {
  10873.                                             if (str[9] && !strcmp(str[9], !"RING_GREEN", true, 10))
  10874.                                             {
  10875.                                                 idx += 19;
  10876.                                                 return X11_MEDIUM_SPRING_GREEN;
  10877.                                             }
  10878.                                         }
  10879.                                     }
  10880.                                 }
  10881.                                 case 't':
  10882.                                 {
  10883.                                     if (str[8] && !strcmp(str[8], !"URQUOISE", true, 8))
  10884.                                     {
  10885.                                         idx += 16;
  10886.                                         return X11_MEDIUM_TURQUOISE;
  10887.                                     }
  10888.                                 }
  10889.                                 case 'v':
  10890.                                 {
  10891.                                     if (str[8] && !strcmp(str[8], !"IOLET_RED", true, 9))
  10892.                                     {
  10893.                                         idx += 17;
  10894.                                         return X11_MEDIUM_VIOLET_RED;
  10895.                                     }
  10896.                                 }
  10897.                             }
  10898.                         }
  10899.                         case 'a':
  10900.                         {
  10901.                             if (str[7] && !strcmp(str[7], !"QUAMARINE", true, 9))
  10902.                             {
  10903.                                 idx += 16;
  10904.                                 return X11_MEDIUMAQUAMARINE;
  10905.                             }
  10906.                         }
  10907.                         case 'b':
  10908.                         {
  10909.                             if (str[7] && !strcmp(str[7], !"LUE", true, 3))
  10910.                             {
  10911.                                 idx += 10;
  10912.                                 return X11_MEDIUMBLUE;
  10913.                             }
  10914.                         }
  10915.                         case 'o':
  10916.                         {
  10917.                             if (!str[7] || strcmp(str[7], !"RCHID", true, 5))
  10918.                             {
  10919.                                 return -1;
  10920.                             }
  10921.                             switch (str[12] | 0x20)
  10922.                             {
  10923.                                 case '1':
  10924.                                 {
  10925.                                     idx += 13;
  10926.                                     return X11_MEDIUMORCHID1;
  10927.                                 }
  10928.                                 case '2':
  10929.                                 {
  10930.                                     idx += 13;
  10931.                                     return X11_MEDIUMORCHID2;
  10932.                                 }
  10933.                                 case '3':
  10934.                                 {
  10935.                                     idx += 13;
  10936.                                     return X11_MEDIUMORCHID3;
  10937.                                 }
  10938.                                 case '4':
  10939.                                 {
  10940.                                     idx += 13;
  10941.                                     return X11_MEDIUMORCHID4;
  10942.                                 }
  10943.                             }
  10944.                             idx += 12;
  10945.                             return X11_MEDIUMORCHID;
  10946.                         }
  10947.                         case 'p':
  10948.                         {
  10949.                             if (!str[7] || strcmp(str[7], !"URPLE", true, 5))
  10950.                             {
  10951.                                 return -1;
  10952.                             }
  10953.                             switch (str[12] | 0x20)
  10954.                             {
  10955.                                 case '1':
  10956.                                 {
  10957.                                     idx += 13;
  10958.                                     return X11_MEDIUMPURPLE1;
  10959.                                 }
  10960.                                 case '2':
  10961.                                 {
  10962.                                     idx += 13;
  10963.                                     return X11_MEDIUMPURPLE2;
  10964.                                 }
  10965.                                 case '3':
  10966.                                 {
  10967.                                     idx += 13;
  10968.                                     return X11_MEDIUMPURPLE3;
  10969.                                 }
  10970.                                 case '4':
  10971.                                 {
  10972.                                     idx += 13;
  10973.                                     return X11_MEDIUMPURPLE4;
  10974.                                 }
  10975.                             }
  10976.                             idx += 12;
  10977.                             return X11_MEDIUMPURPLE;
  10978.                         }
  10979.                         case 's':
  10980.                         {
  10981.                             switch (str[7] | 0x20)
  10982.                             {
  10983.                                 case 'e':
  10984.                                 {
  10985.                                     if (str[8] && !strcmp(str[8], !"AGREEN", true, 6))
  10986.                                     {
  10987.                                         idx += 14;
  10988.                                         return X11_MEDIUMSEAGREEN;
  10989.                                     }
  10990.                                 }
  10991.                                 case 'l':
  10992.                                 {
  10993.                                     if (str[8] && !strcmp(str[8], !"ATEBLUE", true, 7))
  10994.                                     {
  10995.                                         idx += 15;
  10996.                                         return X11_MEDIUMSLATEBLUE;
  10997.                                     }
  10998.                                 }
  10999.                                 case 'p':
  11000.                                 {
  11001.                                     if (str[8] && !strcmp(str[8], !"RINGGREEN", true, 9))
  11002.                                     {
  11003.                                         idx += 17;
  11004.                                         return X11_MEDIUMSPRINGGREEN;
  11005.                                     }
  11006.                                 }
  11007.                             }
  11008.                         }
  11009.                         case 't':
  11010.                         {
  11011.                             if (str[7] && !strcmp(str[7], !"URQUOISE", true, 8))
  11012.                             {
  11013.                                 idx += 15;
  11014.                                 return X11_MEDIUMTURQUOISE;
  11015.                             }
  11016.                         }
  11017.                         case 'v':
  11018.                         {
  11019.                             if (str[7] && !strcmp(str[7], !"IOLETRED", true, 8))
  11020.                             {
  11021.                                 idx += 15;
  11022.                                 return X11_MEDIUMVIOLETRED;
  11023.                             }
  11024.                         }
  11025.                     }
  11026.                 }
  11027.                 case 'i':
  11028.                 {
  11029.                     switch (str[2] | 0x20)
  11030.                     {
  11031.                         case 'd':
  11032.                         {
  11033.                             if (!str[3] || strcmp(str[3], !"NIGHT", true, 5))
  11034.                             {
  11035.                                 return -1;
  11036.                             }
  11037.                             switch (str[8] | 0x20)
  11038.                             {
  11039.                                 case ' ' | 0x20: // ' '
  11040.                                 {
  11041.                                     if (str[8])
  11042.                                     {
  11043.                                         if (str[9] && !strcmp(str[9], !"BLUE", true, 4))
  11044.                                         {
  11045.                                             idx += 13;
  11046.                                             return X11_MIDNIGHT_BLUE;
  11047.                                         }
  11048.                                     }
  11049.                                 }
  11050.                                 case '_' | 0x20:
  11051.                                 {
  11052.                                     if (str[9] && !strcmp(str[9], !"BLUE", true, 4))
  11053.                                     {
  11054.                                         idx += 13;
  11055.                                         return X11_MIDNIGHT_BLUE;
  11056.                                     }
  11057.                                 }
  11058.                                 case 'b':
  11059.                                 {
  11060.                                     if (str[9] && !strcmp(str[9], !"LUE", true, 3))
  11061.                                     {
  11062.                                         idx += 12;
  11063.                                         return X11_MIDNIGHTBLUE;
  11064.                                     }
  11065.                                 }
  11066.                             }
  11067.                         }
  11068.                         case 'n':
  11069.                         {
  11070.                             if (str[3] != 'T')
  11071.                             {
  11072.                                 return -1;
  11073.                             }
  11074.                             switch (str[4] | 0x20)
  11075.                             {
  11076.                                 case ' ' | 0x20: // ' '
  11077.                                 {
  11078.                                     if (str[4])
  11079.                                     {
  11080.                                         if (str[5] && !strcmp(str[5], !"CREAM", true, 5))
  11081.                                         {
  11082.                                             idx += 10;
  11083.                                             return X11_MINT_CREAM;
  11084.                                         }
  11085.                                     }
  11086.                                 }
  11087.                                 case '_' | 0x20:
  11088.                                 {
  11089.                                     if (str[5] && !strcmp(str[5], !"CREAM", true, 5))
  11090.                                     {
  11091.                                         idx += 10;
  11092.                                         return X11_MINT_CREAM;
  11093.                                     }
  11094.                                 }
  11095.                                 case 'c':
  11096.                                 {
  11097.                                     if (str[5] && !strcmp(str[5], !"REAM", true, 4))
  11098.                                     {
  11099.                                         idx += 9;
  11100.                                         return X11_MINTCREAM;
  11101.                                     }
  11102.                                 }
  11103.                             }
  11104.                         }
  11105.                         case 's':
  11106.                         {
  11107.                             if (!str[3] || strcmp(str[3], !"TY", true, 2))
  11108.                             {
  11109.                                 return -1;
  11110.                             }
  11111.                             switch (str[5] | 0x20)
  11112.                             {
  11113.                                 case ' ' | 0x20: // ' '
  11114.                                 {
  11115.                                     if (str[5])
  11116.                                     {
  11117.                                         if (!str[6] || strcmp(str[6], !"ROSE", true, 4))
  11118.                                         {
  11119.                                             return -1;
  11120.                                         }
  11121.                                         switch (str[10] | 0x20)
  11122.                                         {
  11123.                                             case ' ' | 0x20: // ' '
  11124.                                             {
  11125.                                                 if (str[10])
  11126.                                                 {
  11127.                                                     switch (str[11] | 0x20)
  11128.                                                     {
  11129.                                                         case '1':
  11130.                                                         {
  11131.                                                             idx += 12;
  11132.                                                             return X11_MISTY_ROSE_1;
  11133.                                                         }
  11134.                                                         case '2':
  11135.                                                         {
  11136.                                                             idx += 12;
  11137.                                                             return X11_MISTY_ROSE_2;
  11138.                                                         }
  11139.                                                         case '3':
  11140.                                                         {
  11141.                                                             idx += 12;
  11142.                                                             return X11_MISTY_ROSE_3;
  11143.                                                         }
  11144.                                                         case '4':
  11145.                                                         {
  11146.                                                             idx += 12;
  11147.                                                             return X11_MISTY_ROSE_4;
  11148.                                                         }
  11149.                                                     }
  11150.                                                 }
  11151.                                             }
  11152.                                             case '_' | 0x20:
  11153.                                             {
  11154.                                                 switch (str[11] | 0x20)
  11155.                                                 {
  11156.                                                     case '1':
  11157.                                                     {
  11158.                                                         idx += 12;
  11159.                                                         return X11_MISTY_ROSE_1;
  11160.                                                     }
  11161.                                                     case '2':
  11162.                                                     {
  11163.                                                         idx += 12;
  11164.                                                         return X11_MISTY_ROSE_2;
  11165.                                                     }
  11166.                                                     case '3':
  11167.                                                     {
  11168.                                                         idx += 12;
  11169.                                                         return X11_MISTY_ROSE_3;
  11170.                                                     }
  11171.                                                     case '4':
  11172.                                                     {
  11173.                                                         idx += 12;
  11174.                                                         return X11_MISTY_ROSE_4;
  11175.                                                     }
  11176.                                                 }
  11177.                                             }
  11178.                                         }
  11179.                                         idx += 10;
  11180.                                         return X11_MISTY_ROSE;
  11181.                                     }
  11182.                                 }
  11183.                                 case '_' | 0x20:
  11184.                                 {
  11185.                                     if (!str[6] || strcmp(str[6], !"ROSE", true, 4))
  11186.                                     {
  11187.                                         return -1;
  11188.                                     }
  11189.                                     switch (str[10] | 0x20)
  11190.                                     {
  11191.                                         case ' ' | 0x20: // ' '
  11192.                                         {
  11193.                                             if (str[10])
  11194.                                             {
  11195.                                                 switch (str[11] | 0x20)
  11196.                                                 {
  11197.                                                     case '1':
  11198.                                                     {
  11199.                                                         idx += 12;
  11200.                                                         return X11_MISTY_ROSE_1;
  11201.                                                     }
  11202.                                                     case '2':
  11203.                                                     {
  11204.                                                         idx += 12;
  11205.                                                         return X11_MISTY_ROSE_2;
  11206.                                                     }
  11207.                                                     case '3':
  11208.                                                     {
  11209.                                                         idx += 12;
  11210.                                                         return X11_MISTY_ROSE_3;
  11211.                                                     }
  11212.                                                     case '4':
  11213.                                                     {
  11214.                                                         idx += 12;
  11215.                                                         return X11_MISTY_ROSE_4;
  11216.                                                     }
  11217.                                                 }
  11218.                                             }
  11219.                                         }
  11220.                                         case '_' | 0x20:
  11221.                                         {
  11222.                                             switch (str[11] | 0x20)
  11223.                                             {
  11224.                                                 case '1':
  11225.                                                 {
  11226.                                                     idx += 12;
  11227.                                                     return X11_MISTY_ROSE_1;
  11228.                                                 }
  11229.                                                 case '2':
  11230.                                                 {
  11231.                                                     idx += 12;
  11232.                                                     return X11_MISTY_ROSE_2;
  11233.                                                 }
  11234.                                                 case '3':
  11235.                                                 {
  11236.                                                     idx += 12;
  11237.                                                     return X11_MISTY_ROSE_3;
  11238.                                                 }
  11239.                                                 case '4':
  11240.                                                 {
  11241.                                                     idx += 12;
  11242.                                                     return X11_MISTY_ROSE_4;
  11243.                                                 }
  11244.                                             }
  11245.                                         }
  11246.                                     }
  11247.                                     idx += 10;
  11248.                                     return X11_MISTY_ROSE;
  11249.                                 }
  11250.                                 case 'r':
  11251.                                 {
  11252.                                     if (!str[6] || strcmp(str[6], !"OSE", true, 3))
  11253.                                     {
  11254.                                         return -1;
  11255.                                     }
  11256.                                     switch (str[9] | 0x20)
  11257.                                     {
  11258.                                         case '1':
  11259.                                         {
  11260.                                             idx += 10;
  11261.                                             return X11_MISTYROSE1;
  11262.                                         }
  11263.                                         case '2':
  11264.                                         {
  11265.                                             idx += 10;
  11266.                                             return X11_MISTYROSE2;
  11267.                                         }
  11268.                                         case '3':
  11269.                                         {
  11270.                                             idx += 10;
  11271.                                             return X11_MISTYROSE3;
  11272.                                         }
  11273.                                         case '4':
  11274.                                         {
  11275.                                             idx += 10;
  11276.                                             return X11_MISTYROSE4;
  11277.                                         }
  11278.                                     }
  11279.                                     idx += 9;
  11280.                                     return X11_MISTYROSE;
  11281.                                 }
  11282.                             }
  11283.                         }
  11284.                     }
  11285.                 }
  11286.                 case 'o':
  11287.                 {
  11288.                     if (str[2] && !strcmp(str[2], !"CCASIN", true, 6))
  11289.                     {
  11290.                         idx += 8;
  11291.                         return X11_MOCCASIN;
  11292.                     }
  11293.                 }
  11294.             }
  11295.         }
  11296.         case 'n':
  11297.         {
  11298.             if (!str[1] || strcmp(str[1], !"AV", true, 2))
  11299.             {
  11300.                 return -1;
  11301.             }
  11302.             switch (str[3] | 0x20)
  11303.             {
  11304.                 case 'a':
  11305.                 {
  11306.                     if (!str[4] || strcmp(str[4], !"JO", true, 2))
  11307.                     {
  11308.                         return -1;
  11309.                     }
  11310.                     switch (str[6] | 0x20)
  11311.                     {
  11312.                         case ' ' | 0x20: // ' '
  11313.                         {
  11314.                             if (str[6])
  11315.                             {
  11316.                                 if (!str[7] || strcmp(str[7], !"WHITE", true, 5))
  11317.                                 {
  11318.                                     return -1;
  11319.                                 }
  11320.                                 switch (str[12] | 0x20)
  11321.                                 {
  11322.                                     case ' ' | 0x20: // ' '
  11323.                                     {
  11324.                                         if (str[12])
  11325.                                         {
  11326.                                             switch (str[13] | 0x20)
  11327.                                             {
  11328.                                                 case '1':
  11329.                                                 {
  11330.                                                     idx += 14;
  11331.                                                     return X11_NAVAJO_WHITE_1;
  11332.                                                 }
  11333.                                                 case '2':
  11334.                                                 {
  11335.                                                     idx += 14;
  11336.                                                     return X11_NAVAJO_WHITE_2;
  11337.                                                 }
  11338.                                                 case '3':
  11339.                                                 {
  11340.                                                     idx += 14;
  11341.                                                     return X11_NAVAJO_WHITE_3;
  11342.                                                 }
  11343.                                                 case '4':
  11344.                                                 {
  11345.                                                     idx += 14;
  11346.                                                     return X11_NAVAJO_WHITE_4;
  11347.                                                 }
  11348.                                             }
  11349.                                         }
  11350.                                     }
  11351.                                     case '_' | 0x20:
  11352.                                     {
  11353.                                         switch (str[13] | 0x20)
  11354.                                         {
  11355.                                             case '1':
  11356.                                             {
  11357.                                                 idx += 14;
  11358.                                                 return X11_NAVAJO_WHITE_1;
  11359.                                             }
  11360.                                             case '2':
  11361.                                             {
  11362.                                                 idx += 14;
  11363.                                                 return X11_NAVAJO_WHITE_2;
  11364.                                             }
  11365.                                             case '3':
  11366.                                             {
  11367.                                                 idx += 14;
  11368.                                                 return X11_NAVAJO_WHITE_3;
  11369.                                             }
  11370.                                             case '4':
  11371.                                             {
  11372.                                                 idx += 14;
  11373.                                                 return X11_NAVAJO_WHITE_4;
  11374.                                             }
  11375.                                         }
  11376.                                     }
  11377.                                 }
  11378.                                 idx += 12;
  11379.                                 return X11_NAVAJO_WHITE;
  11380.                             }
  11381.                         }
  11382.                         case '_' | 0x20:
  11383.                         {
  11384.                             if (!str[7] || strcmp(str[7], !"WHITE", true, 5))
  11385.                             {
  11386.                                 return -1;
  11387.                             }
  11388.                             switch (str[12] | 0x20)
  11389.                             {
  11390.                                 case ' ' | 0x20: // ' '
  11391.                                 {
  11392.                                     if (str[12])
  11393.                                     {
  11394.                                         switch (str[13] | 0x20)
  11395.                                         {
  11396.                                             case '1':
  11397.                                             {
  11398.                                                 idx += 14;
  11399.                                                 return X11_NAVAJO_WHITE_1;
  11400.                                             }
  11401.                                             case '2':
  11402.                                             {
  11403.                                                 idx += 14;
  11404.                                                 return X11_NAVAJO_WHITE_2;
  11405.                                             }
  11406.                                             case '3':
  11407.                                             {
  11408.                                                 idx += 14;
  11409.                                                 return X11_NAVAJO_WHITE_3;
  11410.                                             }
  11411.                                             case '4':
  11412.                                             {
  11413.                                                 idx += 14;
  11414.                                                 return X11_NAVAJO_WHITE_4;
  11415.                                             }
  11416.                                         }
  11417.                                     }
  11418.                                 }
  11419.                                 case '_' | 0x20:
  11420.                                 {
  11421.                                     switch (str[13] | 0x20)
  11422.                                     {
  11423.                                         case '1':
  11424.                                         {
  11425.                                             idx += 14;
  11426.                                             return X11_NAVAJO_WHITE_1;
  11427.                                         }
  11428.                                         case '2':
  11429.                                         {
  11430.                                             idx += 14;
  11431.                                             return X11_NAVAJO_WHITE_2;
  11432.                                         }
  11433.                                         case '3':
  11434.                                         {
  11435.                                             idx += 14;
  11436.                                             return X11_NAVAJO_WHITE_3;
  11437.                                         }
  11438.                                         case '4':
  11439.                                         {
  11440.                                             idx += 14;
  11441.                                             return X11_NAVAJO_WHITE_4;
  11442.                                         }
  11443.                                     }
  11444.                                 }
  11445.                             }
  11446.                             idx += 12;
  11447.                             return X11_NAVAJO_WHITE;
  11448.                         }
  11449.                         case 'w':
  11450.                         {
  11451.                             if (!str[7] || strcmp(str[7], !"HITE", true, 4))
  11452.                             {
  11453.                                 return -1;
  11454.                             }
  11455.                             switch (str[11] | 0x20)
  11456.                             {
  11457.                                 case '1':
  11458.                                 {
  11459.                                     idx += 12;
  11460.                                     return X11_NAVAJOWHITE1;
  11461.                                 }
  11462.                                 case '2':
  11463.                                 {
  11464.                                     idx += 12;
  11465.                                     return X11_NAVAJOWHITE2;
  11466.                                 }
  11467.                                 case '3':
  11468.                                 {
  11469.                                     idx += 12;
  11470.                                     return X11_NAVAJOWHITE3;
  11471.                                 }
  11472.                                 case '4':
  11473.                                 {
  11474.                                     idx += 12;
  11475.                                     return X11_NAVAJOWHITE4;
  11476.                                 }
  11477.                             }
  11478.                             idx += 11;
  11479.                             return X11_NAVAJOWHITE;
  11480.                         }
  11481.                     }
  11482.                 }
  11483.                 case 'y':
  11484.                 {
  11485.                     switch (str[4] | 0x20)
  11486.                     {
  11487.                         case ' ' | 0x20: // ' '
  11488.                         {
  11489.                             if (str[4])
  11490.                             {
  11491.                                 if (str[5] && !strcmp(str[5], !"BLUE", true, 4))
  11492.                                 {
  11493.                                     idx += 9;
  11494.                                     return X11_NAVY_BLUE;
  11495.                                 }
  11496.                             }
  11497.                         }
  11498.                         case '_' | 0x20:
  11499.                         {
  11500.                             if (str[5] && !strcmp(str[5], !"BLUE", true, 4))
  11501.                             {
  11502.                                 idx += 9;
  11503.                                 return X11_NAVY_BLUE;
  11504.                             }
  11505.                         }
  11506.                         case 'b':
  11507.                         {
  11508.                             if (str[5] && !strcmp(str[5], !"LUE", true, 3))
  11509.                             {
  11510.                                 idx += 8;
  11511.                                 return X11_NAVYBLUE;
  11512.                             }
  11513.                         }
  11514.                     }
  11515.                     idx += 4;
  11516.                     return X11_NAVY;
  11517.                 }
  11518.             }
  11519.         }
  11520.         case 'o':
  11521.         {
  11522.             switch (str[1] | 0x20)
  11523.             {
  11524.                 case 'l':
  11525.                 {
  11526.                     switch (str[2] | 0x20)
  11527.                     {
  11528.                         case 'd':
  11529.                         {
  11530.                             switch (str[3] | 0x20)
  11531.                             {
  11532.                                 case ' ' | 0x20: // ' '
  11533.                                 {
  11534.                                     if (str[3])
  11535.                                     {
  11536.                                         if (str[4] && !strcmp(str[4], !"LACE", true, 4))
  11537.                                         {
  11538.                                             idx += 8;
  11539.                                             return X11_OLD_LACE;
  11540.                                         }
  11541.                                     }
  11542.                                 }
  11543.                                 case '_' | 0x20:
  11544.                                 {
  11545.                                     if (str[4] && !strcmp(str[4], !"LACE", true, 4))
  11546.                                     {
  11547.                                         idx += 8;
  11548.                                         return X11_OLD_LACE;
  11549.                                     }
  11550.                                 }
  11551.                                 case 'l':
  11552.                                 {
  11553.                                     if (str[4] && !strcmp(str[4], !"ACE", true, 3))
  11554.                                     {
  11555.                                         idx += 7;
  11556.                                         return X11_OLDLACE;
  11557.                                     }
  11558.                                 }
  11559.                             }
  11560.                         }
  11561.                         case 'i':
  11562.                         {
  11563.                             if (!str[3] || strcmp(str[3], !"VE", true, 2))
  11564.                             {
  11565.                                 return -1;
  11566.                             }
  11567.                             switch (str[5] | 0x20)
  11568.                             {
  11569.                                 case ' ' | 0x20: // ' '
  11570.                                 {
  11571.                                     if (str[5])
  11572.                                     {
  11573.                                         if (!str[6] || strcmp(str[6], !"DRAB", true, 4))
  11574.                                         {
  11575.                                             return -1;
  11576.                                         }
  11577.                                         switch (str[10] | 0x20)
  11578.                                         {
  11579.                                             case ' ' | 0x20: // ' '
  11580.                                             {
  11581.                                                 if (str[10])
  11582.                                                 {
  11583.                                                     switch (str[11] | 0x20)
  11584.                                                     {
  11585.                                                         case '1':
  11586.                                                         {
  11587.                                                             idx += 12;
  11588.                                                             return X11_OLIVE_DRAB_1;
  11589.                                                         }
  11590.                                                         case '2':
  11591.                                                         {
  11592.                                                             idx += 12;
  11593.                                                             return X11_OLIVE_DRAB_2;
  11594.                                                         }
  11595.                                                         case '3':
  11596.                                                         {
  11597.                                                             idx += 12;
  11598.                                                             return X11_OLIVE_DRAB_3;
  11599.                                                         }
  11600.                                                         case '4':
  11601.                                                         {
  11602.                                                             idx += 12;
  11603.                                                             return X11_OLIVE_DRAB_4;
  11604.                                                         }
  11605.                                                     }
  11606.                                                 }
  11607.                                             }
  11608.                                             case '_' | 0x20:
  11609.                                             {
  11610.                                                 switch (str[11] | 0x20)
  11611.                                                 {
  11612.                                                     case '1':
  11613.                                                     {
  11614.                                                         idx += 12;
  11615.                                                         return X11_OLIVE_DRAB_1;
  11616.                                                     }
  11617.                                                     case '2':
  11618.                                                     {
  11619.                                                         idx += 12;
  11620.                                                         return X11_OLIVE_DRAB_2;
  11621.                                                     }
  11622.                                                     case '3':
  11623.                                                     {
  11624.                                                         idx += 12;
  11625.                                                         return X11_OLIVE_DRAB_3;
  11626.                                                     }
  11627.                                                     case '4':
  11628.                                                     {
  11629.                                                         idx += 12;
  11630.                                                         return X11_OLIVE_DRAB_4;
  11631.                                                     }
  11632.                                                 }
  11633.                                             }
  11634.                                         }
  11635.                                         idx += 10;
  11636.                                         return X11_OLIVE_DRAB;
  11637.                                     }
  11638.                                 }
  11639.                                 case '_' | 0x20:
  11640.                                 {
  11641.                                     if (!str[6] || strcmp(str[6], !"DRAB", true, 4))
  11642.                                     {
  11643.                                         return -1;
  11644.                                     }
  11645.                                     switch (str[10] | 0x20)
  11646.                                     {
  11647.                                         case ' ' | 0x20: // ' '
  11648.                                         {
  11649.                                             if (str[10])
  11650.                                             {
  11651.                                                 switch (str[11] | 0x20)
  11652.                                                 {
  11653.                                                     case '1':
  11654.                                                     {
  11655.                                                         idx += 12;
  11656.                                                         return X11_OLIVE_DRAB_1;
  11657.                                                     }
  11658.                                                     case '2':
  11659.                                                     {
  11660.                                                         idx += 12;
  11661.                                                         return X11_OLIVE_DRAB_2;
  11662.                                                     }
  11663.                                                     case '3':
  11664.                                                     {
  11665.                                                         idx += 12;
  11666.                                                         return X11_OLIVE_DRAB_3;
  11667.                                                     }
  11668.                                                     case '4':
  11669.                                                     {
  11670.                                                         idx += 12;
  11671.                                                         return X11_OLIVE_DRAB_4;
  11672.                                                     }
  11673.                                                 }
  11674.                                             }
  11675.                                         }
  11676.                                         case '_' | 0x20:
  11677.                                         {
  11678.                                             switch (str[11] | 0x20)
  11679.                                             {
  11680.                                                 case '1':
  11681.                                                 {
  11682.                                                     idx += 12;
  11683.                                                     return X11_OLIVE_DRAB_1;
  11684.                                                 }
  11685.                                                 case '2':
  11686.                                                 {
  11687.                                                     idx += 12;
  11688.                                                     return X11_OLIVE_DRAB_2;
  11689.                                                 }
  11690.                                                 case '3':
  11691.                                                 {
  11692.                                                     idx += 12;
  11693.                                                     return X11_OLIVE_DRAB_3;
  11694.                                                 }
  11695.                                                 case '4':
  11696.                                                 {
  11697.                                                     idx += 12;
  11698.                                                     return X11_OLIVE_DRAB_4;
  11699.                                                 }
  11700.                                             }
  11701.                                         }
  11702.                                     }
  11703.                                     idx += 10;
  11704.                                     return X11_OLIVE_DRAB;
  11705.                                 }
  11706.                                 case 'd':
  11707.                                 {
  11708.                                     if (!str[6] || strcmp(str[6], !"RAB", true, 3))
  11709.                                     {
  11710.                                         return -1;
  11711.                                     }
  11712.                                     switch (str[9] | 0x20)
  11713.                                     {
  11714.                                         case '1':
  11715.                                         {
  11716.                                             idx += 10;
  11717.                                             return X11_OLIVEDRAB1;
  11718.                                         }
  11719.                                         case '2':
  11720.                                         {
  11721.                                             idx += 10;
  11722.                                             return X11_OLIVEDRAB2;
  11723.                                         }
  11724.                                         case '3':
  11725.                                         {
  11726.                                             idx += 10;
  11727.                                             return X11_OLIVEDRAB3;
  11728.                                         }
  11729.                                         case '4':
  11730.                                         {
  11731.                                             idx += 10;
  11732.                                             return X11_OLIVEDRAB4;
  11733.                                         }
  11734.                                     }
  11735.                                     idx += 9;
  11736.                                     return X11_OLIVEDRAB;
  11737.                                 }
  11738.                             }
  11739.                         }
  11740.                     }
  11741.                 }
  11742.                 case 'r':
  11743.                 {
  11744.                     switch (str[2] | 0x20)
  11745.                     {
  11746.                         case 'a':
  11747.                         {
  11748.                             if (!str[3] || strcmp(str[3], !"NGE", true, 3))
  11749.                             {
  11750.                                 return -1;
  11751.                             }
  11752.                             switch (str[6] | 0x20)
  11753.                             {
  11754.                                 case ' ' | 0x20: // ' '
  11755.                                 {
  11756.                                     if (str[6])
  11757.                                     {
  11758.                                         switch (str[7] | 0x20)
  11759.                                         {
  11760.                                             case '1':
  11761.                                             {
  11762.                                                 idx += 8;
  11763.                                                 return X11_ORANGE_1;
  11764.                                             }
  11765.                                             case '2':
  11766.                                             {
  11767.                                                 idx += 8;
  11768.                                                 return X11_ORANGE_2;
  11769.                                             }
  11770.                                             case '3':
  11771.                                             {
  11772.                                                 idx += 8;
  11773.                                                 return X11_ORANGE_3;
  11774.                                             }
  11775.                                             case '4':
  11776.                                             {
  11777.                                                 idx += 8;
  11778.                                                 return X11_ORANGE_4;
  11779.                                             }
  11780.                                             case 'r':
  11781.                                             {
  11782.                                                 if (!str[8] || strcmp(str[8], !"ED", true, 2))
  11783.                                                 {
  11784.                                                     return -1;
  11785.                                                 }
  11786.                                                 switch (str[10] | 0x20)
  11787.                                                 {
  11788.                                                     case ' ' | 0x20: // ' '
  11789.                                                     {
  11790.                                                         if (str[10])
  11791.                                                         {
  11792.                                                             switch (str[11] | 0x20)
  11793.                                                             {
  11794.                                                                 case '1':
  11795.                                                                 {
  11796.                                                                     idx += 12;
  11797.                                                                     return X11_ORANGE_RED_1;
  11798.                                                                 }
  11799.                                                                 case '2':
  11800.                                                                 {
  11801.                                                                     idx += 12;
  11802.                                                                     return X11_ORANGE_RED_2;
  11803.                                                                 }
  11804.                                                                 case '3':
  11805.                                                                 {
  11806.                                                                     idx += 12;
  11807.                                                                     return X11_ORANGE_RED_3;
  11808.                                                                 }
  11809.                                                                 case '4':
  11810.                                                                 {
  11811.                                                                     idx += 12;
  11812.                                                                     return X11_ORANGE_RED_4;
  11813.                                                                 }
  11814.                                                             }
  11815.                                                         }
  11816.                                                     }
  11817.                                                     case '_' | 0x20:
  11818.                                                     {
  11819.                                                         switch (str[11] | 0x20)
  11820.                                                         {
  11821.                                                             case '1':
  11822.                                                             {
  11823.                                                                 idx += 12;
  11824.                                                                 return X11_ORANGE_RED_1;
  11825.                                                             }
  11826.                                                             case '2':
  11827.                                                             {
  11828.                                                                 idx += 12;
  11829.                                                                 return X11_ORANGE_RED_2;
  11830.                                                             }
  11831.                                                             case '3':
  11832.                                                             {
  11833.                                                                 idx += 12;
  11834.                                                                 return X11_ORANGE_RED_3;
  11835.                                                             }
  11836.                                                             case '4':
  11837.                                                             {
  11838.                                                                 idx += 12;
  11839.                                                                 return X11_ORANGE_RED_4;
  11840.                                                             }
  11841.                                                         }
  11842.                                                     }
  11843.                                                 }
  11844.                                                 idx += 10;
  11845.                                                 return X11_ORANGE_RED;
  11846.                                             }
  11847.                                         }
  11848.                                     }
  11849.                                 }
  11850.                                 case '_' | 0x20:
  11851.                                 {
  11852.                                     switch (str[7] | 0x20)
  11853.                                     {
  11854.                                         case '1':
  11855.                                         {
  11856.                                             idx += 8;
  11857.                                             return X11_ORANGE_1;
  11858.                                         }
  11859.                                         case '2':
  11860.                                         {
  11861.                                             idx += 8;
  11862.                                             return X11_ORANGE_2;
  11863.                                         }
  11864.                                         case '3':
  11865.                                         {
  11866.                                             idx += 8;
  11867.                                             return X11_ORANGE_3;
  11868.                                         }
  11869.                                         case '4':
  11870.                                         {
  11871.                                             idx += 8;
  11872.                                             return X11_ORANGE_4;
  11873.                                         }
  11874.                                         case 'r':
  11875.                                         {
  11876.                                             if (!str[8] || strcmp(str[8], !"ED", true, 2))
  11877.                                             {
  11878.                                                 return -1;
  11879.                                             }
  11880.                                             switch (str[10] | 0x20)
  11881.                                             {
  11882.                                                 case ' ' | 0x20: // ' '
  11883.                                                 {
  11884.                                                     if (str[10])
  11885.                                                     {
  11886.                                                         switch (str[11] | 0x20)
  11887.                                                         {
  11888.                                                             case '1':
  11889.                                                             {
  11890.                                                                 idx += 12;
  11891.                                                                 return X11_ORANGE_RED_1;
  11892.                                                             }
  11893.                                                             case '2':
  11894.                                                             {
  11895.                                                                 idx += 12;
  11896.                                                                 return X11_ORANGE_RED_2;
  11897.                                                             }
  11898.                                                             case '3':
  11899.                                                             {
  11900.                                                                 idx += 12;
  11901.                                                                 return X11_ORANGE_RED_3;
  11902.                                                             }
  11903.                                                             case '4':
  11904.                                                             {
  11905.                                                                 idx += 12;
  11906.                                                                 return X11_ORANGE_RED_4;
  11907.                                                             }
  11908.                                                         }
  11909.                                                     }
  11910.                                                 }
  11911.                                                 case '_' | 0x20:
  11912.                                                 {
  11913.                                                     switch (str[11] | 0x20)
  11914.                                                     {
  11915.                                                         case '1':
  11916.                                                         {
  11917.                                                             idx += 12;
  11918.                                                             return X11_ORANGE_RED_1;
  11919.                                                         }
  11920.                                                         case '2':
  11921.                                                         {
  11922.                                                             idx += 12;
  11923.                                                             return X11_ORANGE_RED_2;
  11924.                                                         }
  11925.                                                         case '3':
  11926.                                                         {
  11927.                                                             idx += 12;
  11928.                                                             return X11_ORANGE_RED_3;
  11929.                                                         }
  11930.                                                         case '4':
  11931.                                                         {
  11932.                                                             idx += 12;
  11933.                                                             return X11_ORANGE_RED_4;
  11934.                                                         }
  11935.                                                     }
  11936.                                                 }
  11937.                                             }
  11938.                                             idx += 10;
  11939.                                             return X11_ORANGE_RED;
  11940.                                         }
  11941.                                     }
  11942.                                 }
  11943.                                 case '1':
  11944.                                 {
  11945.                                     idx += 7;
  11946.                                     return X11_ORANGE1;
  11947.                                 }
  11948.                                 case '2':
  11949.                                 {
  11950.                                     idx += 7;
  11951.                                     return X11_ORANGE2;
  11952.                                 }
  11953.                                 case '3':
  11954.                                 {
  11955.                                     idx += 7;
  11956.                                     return X11_ORANGE3;
  11957.                                 }
  11958.                                 case '4':
  11959.                                 {
  11960.                                     idx += 7;
  11961.                                     return X11_ORANGE4;
  11962.                                 }
  11963.                                 case 'r':
  11964.                                 {
  11965.                                     if (!str[7] || strcmp(str[7], !"ED", true, 2))
  11966.                                     {
  11967.                                         return -1;
  11968.                                     }
  11969.                                     switch (str[9] | 0x20)
  11970.                                     {
  11971.                                         case '1':
  11972.                                         {
  11973.                                             idx += 10;
  11974.                                             return X11_ORANGERED1;
  11975.                                         }
  11976.                                         case '2':
  11977.                                         {
  11978.                                             idx += 10;
  11979.                                             return X11_ORANGERED2;
  11980.                                         }
  11981.                                         case '3':
  11982.                                         {
  11983.                                             idx += 10;
  11984.                                             return X11_ORANGERED3;
  11985.                                         }
  11986.                                         case '4':
  11987.                                         {
  11988.                                             idx += 10;
  11989.                                             return X11_ORANGERED4;
  11990.                                         }
  11991.                                     }
  11992.                                     idx += 9;
  11993.                                     return X11_ORANGERED;
  11994.                                 }
  11995.                             }
  11996.                             idx += 6;
  11997.                             return X11_ORANGE;
  11998.                         }
  11999.                         case 'c':
  12000.                         {
  12001.                             if (!str[3] || strcmp(str[3], !"HID", true, 3))
  12002.                             {
  12003.                                 return -1;
  12004.                             }
  12005.                             switch (str[6] | 0x20)
  12006.                             {
  12007.                                 case ' ' | 0x20: // ' '
  12008.                                 {
  12009.                                     if (str[6])
  12010.                                     {
  12011.                                         switch (str[7] | 0x20)
  12012.                                         {
  12013.                                             case '1':
  12014.                                             {
  12015.                                                 idx += 8;
  12016.                                                 return X11_ORCHID_1;
  12017.                                             }
  12018.                                             case '2':
  12019.                                             {
  12020.                                                 idx += 8;
  12021.                                                 return X11_ORCHID_2;
  12022.                                             }
  12023.                                             case '3':
  12024.                                             {
  12025.                                                 idx += 8;
  12026.                                                 return X11_ORCHID_3;
  12027.                                             }
  12028.                                             case '4':
  12029.                                             {
  12030.                                                 idx += 8;
  12031.                                                 return X11_ORCHID_4;
  12032.                                             }
  12033.                                         }
  12034.                                     }
  12035.                                 }
  12036.                                 case '_' | 0x20:
  12037.                                 {
  12038.                                     switch (str[7] | 0x20)
  12039.                                     {
  12040.                                         case '1':
  12041.                                         {
  12042.                                             idx += 8;
  12043.                                             return X11_ORCHID_1;
  12044.                                         }
  12045.                                         case '2':
  12046.                                         {
  12047.                                             idx += 8;
  12048.                                             return X11_ORCHID_2;
  12049.                                         }
  12050.                                         case '3':
  12051.                                         {
  12052.                                             idx += 8;
  12053.                                             return X11_ORCHID_3;
  12054.                                         }
  12055.                                         case '4':
  12056.                                         {
  12057.                                             idx += 8;
  12058.                                             return X11_ORCHID_4;
  12059.                                         }
  12060.                                     }
  12061.                                 }
  12062.                                 case '1':
  12063.                                 {
  12064.                                     idx += 7;
  12065.                                     return X11_ORCHID1;
  12066.                                 }
  12067.                                 case '2':
  12068.                                 {
  12069.                                     idx += 7;
  12070.                                     return X11_ORCHID2;
  12071.                                 }
  12072.                                 case '3':
  12073.                                 {
  12074.                                     idx += 7;
  12075.                                     return X11_ORCHID3;
  12076.                                 }
  12077.                                 case '4':
  12078.                                 {
  12079.                                     idx += 7;
  12080.                                     return X11_ORCHID4;
  12081.                                 }
  12082.                             }
  12083.                             idx += 6;
  12084.                             return X11_ORCHID;
  12085.                         }
  12086.                     }
  12087.                 }
  12088.             }
  12089.         }
  12090.         case 'p':
  12091.         {
  12092.             switch (str[1] | 0x20)
  12093.             {
  12094.                 case 'a':
  12095.                 {
  12096.                     switch (str[2] | 0x20)
  12097.                     {
  12098.                         case 'l':
  12099.                         {
  12100.                             if (str[3] != 'E')
  12101.                             {
  12102.                                 return -1;
  12103.                             }
  12104.                             switch (str[4] | 0x20)
  12105.                             {
  12106.                                 case ' ' | 0x20: // ' '
  12107.                                 {
  12108.                                     if (str[4])
  12109.                                     {
  12110.                                         switch (str[5] | 0x20)
  12111.                                         {
  12112.                                             case 'g':
  12113.                                             {
  12114.                                                 switch (str[6] | 0x20)
  12115.                                                 {
  12116.                                                     case 'o':
  12117.                                                     {
  12118.                                                         if (str[7] && !strcmp(str[7], !"LDENROD", true, 7))
  12119.                                                         {
  12120.                                                             idx += 14;
  12121.                                                             return X11_PALE_GOLDENROD;
  12122.                                                         }
  12123.                                                     }
  12124.                                                     case 'r':
  12125.                                                     {
  12126.                                                         if (!str[7] || strcmp(str[7], !"EEN", true, 3))
  12127.                                                         {
  12128.                                                             return -1;
  12129.                                                         }
  12130.                                                         switch (str[10] | 0x20)
  12131.                                                         {
  12132.                                                             case ' ' | 0x20: // ' '
  12133.                                                             {
  12134.                                                                 if (str[10])
  12135.                                                                 {
  12136.                                                                     switch (str[11] | 0x20)
  12137.                                                                     {
  12138.                                                                         case '1':
  12139.                                                                         {
  12140.                                                                             idx += 12;
  12141.                                                                             return X11_PALE_GREEN_1;
  12142.                                                                         }
  12143.                                                                         case '2':
  12144.                                                                         {
  12145.                                                                             idx += 12;
  12146.                                                                             return X11_PALE_GREEN_2;
  12147.                                                                         }
  12148.                                                                         case '3':
  12149.                                                                         {
  12150.                                                                             idx += 12;
  12151.                                                                             return X11_PALE_GREEN_3;
  12152.                                                                         }
  12153.                                                                         case '4':
  12154.                                                                         {
  12155.                                                                             idx += 12;
  12156.                                                                             return X11_PALE_GREEN_4;
  12157.                                                                         }
  12158.                                                                     }
  12159.                                                                 }
  12160.                                                             }
  12161.                                                             case '_' | 0x20:
  12162.                                                             {
  12163.                                                                 switch (str[11] | 0x20)
  12164.                                                                 {
  12165.                                                                     case '1':
  12166.                                                                     {
  12167.                                                                         idx += 12;
  12168.                                                                         return X11_PALE_GREEN_1;
  12169.                                                                     }
  12170.                                                                     case '2':
  12171.                                                                     {
  12172.                                                                         idx += 12;
  12173.                                                                         return X11_PALE_GREEN_2;
  12174.                                                                     }
  12175.                                                                     case '3':
  12176.                                                                     {
  12177.                                                                         idx += 12;
  12178.                                                                         return X11_PALE_GREEN_3;
  12179.                                                                     }
  12180.                                                                     case '4':
  12181.                                                                     {
  12182.                                                                         idx += 12;
  12183.                                                                         return X11_PALE_GREEN_4;
  12184.                                                                     }
  12185.                                                                 }
  12186.                                                             }
  12187.                                                         }
  12188.                                                         idx += 10;
  12189.                                                         return X11_PALE_GREEN;
  12190.                                                     }
  12191.                                                 }
  12192.                                             }
  12193.                                             case 't':
  12194.                                             {
  12195.                                                 if (!str[6] || strcmp(str[6], !"URQUOISE", true, 8))
  12196.                                                 {
  12197.                                                     return -1;
  12198.                                                 }
  12199.                                                 switch (str[14] | 0x20)
  12200.                                                 {
  12201.                                                     case ' ' | 0x20: // ' '
  12202.                                                     {
  12203.                                                         if (str[14])
  12204.                                                         {
  12205.                                                             switch (str[15] | 0x20)
  12206.                                                             {
  12207.                                                                 case '1':
  12208.                                                                 {
  12209.                                                                     idx += 16;
  12210.                                                                     return X11_PALE_TURQUOISE_1;
  12211.                                                                 }
  12212.                                                                 case '2':
  12213.                                                                 {
  12214.                                                                     idx += 16;
  12215.                                                                     return X11_PALE_TURQUOISE_2;
  12216.                                                                 }
  12217.                                                                 case '3':
  12218.                                                                 {
  12219.                                                                     idx += 16;
  12220.                                                                     return X11_PALE_TURQUOISE_3;
  12221.                                                                 }
  12222.                                                                 case '4':
  12223.                                                                 {
  12224.                                                                     idx += 16;
  12225.                                                                     return X11_PALE_TURQUOISE_4;
  12226.                                                                 }
  12227.                                                             }
  12228.                                                         }
  12229.                                                     }
  12230.                                                     case '_' | 0x20:
  12231.                                                     {
  12232.                                                         switch (str[15] | 0x20)
  12233.                                                         {
  12234.                                                             case '1':
  12235.                                                             {
  12236.                                                                 idx += 16;
  12237.                                                                 return X11_PALE_TURQUOISE_1;
  12238.                                                             }
  12239.                                                             case '2':
  12240.                                                             {
  12241.                                                                 idx += 16;
  12242.                                                                 return X11_PALE_TURQUOISE_2;
  12243.                                                             }
  12244.                                                             case '3':
  12245.                                                             {
  12246.                                                                 idx += 16;
  12247.                                                                 return X11_PALE_TURQUOISE_3;
  12248.                                                             }
  12249.                                                             case '4':
  12250.                                                             {
  12251.                                                                 idx += 16;
  12252.                                                                 return X11_PALE_TURQUOISE_4;
  12253.                                                             }
  12254.                                                         }
  12255.                                                     }
  12256.                                                 }
  12257.                                                 idx += 14;
  12258.                                                 return X11_PALE_TURQUOISE;
  12259.                                             }
  12260.                                             case 'v':
  12261.                                             {
  12262.                                                 if (!str[6] || strcmp(str[6], !"IOLET_RED", true, 9))
  12263.                                                 {
  12264.                                                     return -1;
  12265.                                                 }
  12266.                                                 switch (str[15] | 0x20)
  12267.                                                 {
  12268.                                                     case ' ' | 0x20: // ' '
  12269.                                                     {
  12270.                                                         if (str[15])
  12271.                                                         {
  12272.                                                             switch (str[16] | 0x20)
  12273.                                                             {
  12274.                                                                 case '1':
  12275.                                                                 {
  12276.                                                                     idx += 17;
  12277.                                                                     return X11_PALE_VIOLET_RED_1;
  12278.                                                                 }
  12279.                                                                 case '2':
  12280.                                                                 {
  12281.                                                                     idx += 17;
  12282.                                                                     return X11_PALE_VIOLET_RED_2;
  12283.                                                                 }
  12284.                                                                 case '3':
  12285.                                                                 {
  12286.                                                                     idx += 17;
  12287.                                                                     return X11_PALE_VIOLET_RED_3;
  12288.                                                                 }
  12289.                                                                 case '4':
  12290.                                                                 {
  12291.                                                                     idx += 17;
  12292.                                                                     return X11_PALE_VIOLET_RED_4;
  12293.                                                                 }
  12294.                                                             }
  12295.                                                         }
  12296.                                                     }
  12297.                                                     case '_' | 0x20:
  12298.                                                     {
  12299.                                                         switch (str[16] | 0x20)
  12300.                                                         {
  12301.                                                             case '1':
  12302.                                                             {
  12303.                                                                 idx += 17;
  12304.                                                                 return X11_PALE_VIOLET_RED_1;
  12305.                                                             }
  12306.                                                             case '2':
  12307.                                                             {
  12308.                                                                 idx += 17;
  12309.                                                                 return X11_PALE_VIOLET_RED_2;
  12310.                                                             }
  12311.                                                             case '3':
  12312.                                                             {
  12313.                                                                 idx += 17;
  12314.                                                                 return X11_PALE_VIOLET_RED_3;
  12315.                                                             }
  12316.                                                             case '4':
  12317.                                                             {
  12318.                                                                 idx += 17;
  12319.                                                                 return X11_PALE_VIOLET_RED_4;
  12320.                                                             }
  12321.                                                         }
  12322.                                                     }
  12323.                                                 }
  12324.                                                 idx += 15;
  12325.                                                 return X11_PALE_VIOLET_RED;
  12326.                                             }
  12327.                                         }
  12328.                                     }
  12329.                                 }
  12330.                                 case '_' | 0x20:
  12331.                                 {
  12332.                                     switch (str[5] | 0x20)
  12333.                                     {
  12334.                                         case 'g':
  12335.                                         {
  12336.                                             switch (str[6] | 0x20)
  12337.                                             {
  12338.                                                 case 'o':
  12339.                                                 {
  12340.                                                     if (str[7] && !strcmp(str[7], !"LDENROD", true, 7))
  12341.                                                     {
  12342.                                                         idx += 14;
  12343.                                                         return X11_PALE_GOLDENROD;
  12344.                                                     }
  12345.                                                 }
  12346.                                                 case 'r':
  12347.                                                 {
  12348.                                                     if (!str[7] || strcmp(str[7], !"EEN", true, 3))
  12349.                                                     {
  12350.                                                         return -1;
  12351.                                                     }
  12352.                                                     switch (str[10] | 0x20)
  12353.                                                     {
  12354.                                                         case ' ' | 0x20: // ' '
  12355.                                                         {
  12356.                                                             if (str[10])
  12357.                                                             {
  12358.                                                                 switch (str[11] | 0x20)
  12359.                                                                 {
  12360.                                                                     case '1':
  12361.                                                                     {
  12362.                                                                         idx += 12;
  12363.                                                                         return X11_PALE_GREEN_1;
  12364.                                                                     }
  12365.                                                                     case '2':
  12366.                                                                     {
  12367.                                                                         idx += 12;
  12368.                                                                         return X11_PALE_GREEN_2;
  12369.                                                                     }
  12370.                                                                     case '3':
  12371.                                                                     {
  12372.                                                                         idx += 12;
  12373.                                                                         return X11_PALE_GREEN_3;
  12374.                                                                     }
  12375.                                                                     case '4':
  12376.                                                                     {
  12377.                                                                         idx += 12;
  12378.                                                                         return X11_PALE_GREEN_4;
  12379.                                                                     }
  12380.                                                                 }
  12381.                                                             }
  12382.                                                         }
  12383.                                                         case '_' | 0x20:
  12384.                                                         {
  12385.                                                             switch (str[11] | 0x20)
  12386.                                                             {
  12387.                                                                 case '1':
  12388.                                                                 {
  12389.                                                                     idx += 12;
  12390.                                                                     return X11_PALE_GREEN_1;
  12391.                                                                 }
  12392.                                                                 case '2':
  12393.                                                                 {
  12394.                                                                     idx += 12;
  12395.                                                                     return X11_PALE_GREEN_2;
  12396.                                                                 }
  12397.                                                                 case '3':
  12398.                                                                 {
  12399.                                                                     idx += 12;
  12400.                                                                     return X11_PALE_GREEN_3;
  12401.                                                                 }
  12402.                                                                 case '4':
  12403.                                                                 {
  12404.                                                                     idx += 12;
  12405.                                                                     return X11_PALE_GREEN_4;
  12406.                                                                 }
  12407.                                                             }
  12408.                                                         }
  12409.                                                     }
  12410.                                                     idx += 10;
  12411.                                                     return X11_PALE_GREEN;
  12412.                                                 }
  12413.                                             }
  12414.                                         }
  12415.                                         case 't':
  12416.                                         {
  12417.                                             if (!str[6] || strcmp(str[6], !"URQUOISE", true, 8))
  12418.                                             {
  12419.                                                 return -1;
  12420.                                             }
  12421.                                             switch (str[14] | 0x20)
  12422.                                             {
  12423.                                                 case ' ' | 0x20: // ' '
  12424.                                                 {
  12425.                                                     if (str[14])
  12426.                                                     {
  12427.                                                         switch (str[15] | 0x20)
  12428.                                                         {
  12429.                                                             case '1':
  12430.                                                             {
  12431.                                                                 idx += 16;
  12432.                                                                 return X11_PALE_TURQUOISE_1;
  12433.                                                             }
  12434.                                                             case '2':
  12435.                                                             {
  12436.                                                                 idx += 16;
  12437.                                                                 return X11_PALE_TURQUOISE_2;
  12438.                                                             }
  12439.                                                             case '3':
  12440.                                                             {
  12441.                                                                 idx += 16;
  12442.                                                                 return X11_PALE_TURQUOISE_3;
  12443.                                                             }
  12444.                                                             case '4':
  12445.                                                             {
  12446.                                                                 idx += 16;
  12447.                                                                 return X11_PALE_TURQUOISE_4;
  12448.                                                             }
  12449.                                                         }
  12450.                                                     }
  12451.                                                 }
  12452.                                                 case '_' | 0x20:
  12453.                                                 {
  12454.                                                     switch (str[15] | 0x20)
  12455.                                                     {
  12456.                                                         case '1':
  12457.                                                         {
  12458.                                                             idx += 16;
  12459.                                                             return X11_PALE_TURQUOISE_1;
  12460.                                                         }
  12461.                                                         case '2':
  12462.                                                         {
  12463.                                                             idx += 16;
  12464.                                                             return X11_PALE_TURQUOISE_2;
  12465.                                                         }
  12466.                                                         case '3':
  12467.                                                         {
  12468.                                                             idx += 16;
  12469.                                                             return X11_PALE_TURQUOISE_3;
  12470.                                                         }
  12471.                                                         case '4':
  12472.                                                         {
  12473.                                                             idx += 16;
  12474.                                                             return X11_PALE_TURQUOISE_4;
  12475.                                                         }
  12476.                                                     }
  12477.                                                 }
  12478.                                             }
  12479.                                             idx += 14;
  12480.                                             return X11_PALE_TURQUOISE;
  12481.                                         }
  12482.                                         case 'v':
  12483.                                         {
  12484.                                             if (!str[6] || strcmp(str[6], !"IOLET_RED", true, 9))
  12485.                                             {
  12486.                                                 return -1;
  12487.                                             }
  12488.                                             switch (str[15] | 0x20)
  12489.                                             {
  12490.                                                 case ' ' | 0x20: // ' '
  12491.                                                 {
  12492.                                                     if (str[15])
  12493.                                                     {
  12494.                                                         switch (str[16] | 0x20)
  12495.                                                         {
  12496.                                                             case '1':
  12497.                                                             {
  12498.                                                                 idx += 17;
  12499.                                                                 return X11_PALE_VIOLET_RED_1;
  12500.                                                             }
  12501.                                                             case '2':
  12502.                                                             {
  12503.                                                                 idx += 17;
  12504.                                                                 return X11_PALE_VIOLET_RED_2;
  12505.                                                             }
  12506.                                                             case '3':
  12507.                                                             {
  12508.                                                                 idx += 17;
  12509.                                                                 return X11_PALE_VIOLET_RED_3;
  12510.                                                             }
  12511.                                                             case '4':
  12512.                                                             {
  12513.                                                                 idx += 17;
  12514.                                                                 return X11_PALE_VIOLET_RED_4;
  12515.                                                             }
  12516.                                                         }
  12517.                                                     }
  12518.                                                 }
  12519.                                                 case '_' | 0x20:
  12520.                                                 {
  12521.                                                     switch (str[16] | 0x20)
  12522.                                                     {
  12523.                                                         case '1':
  12524.                                                         {
  12525.                                                             idx += 17;
  12526.                                                             return X11_PALE_VIOLET_RED_1;
  12527.                                                         }
  12528.                                                         case '2':
  12529.                                                         {
  12530.                                                             idx += 17;
  12531.                                                             return X11_PALE_VIOLET_RED_2;
  12532.                                                         }
  12533.                                                         case '3':
  12534.                                                         {
  12535.                                                             idx += 17;
  12536.                                                             return X11_PALE_VIOLET_RED_3;
  12537.                                                         }
  12538.                                                         case '4':
  12539.                                                         {
  12540.                                                             idx += 17;
  12541.                                                             return X11_PALE_VIOLET_RED_4;
  12542.                                                         }
  12543.                                                     }
  12544.                                                 }
  12545.                                             }
  12546.                                             idx += 15;
  12547.                                             return X11_PALE_VIOLET_RED;
  12548.                                         }
  12549.                                     }
  12550.                                 }
  12551.                                 case 'g':
  12552.                                 {
  12553.                                     switch (str[5] | 0x20)
  12554.                                     {
  12555.                                         case 'o':
  12556.                                         {
  12557.                                             if (str[6] && !strcmp(str[6], !"LDENROD", true, 7))
  12558.                                             {
  12559.                                                 idx += 13;
  12560.                                                 return X11_PALEGOLDENROD;
  12561.                                             }
  12562.                                         }
  12563.                                         case 'r':
  12564.                                         {
  12565.                                             if (!str[6] || strcmp(str[6], !"EEN", true, 3))
  12566.                                             {
  12567.                                                 return -1;
  12568.                                             }
  12569.                                             switch (str[9] | 0x20)
  12570.                                             {
  12571.                                                 case '1':
  12572.                                                 {
  12573.                                                     idx += 10;
  12574.                                                     return X11_PALEGREEN1;
  12575.                                                 }
  12576.                                                 case '2':
  12577.                                                 {
  12578.                                                     idx += 10;
  12579.                                                     return X11_PALEGREEN2;
  12580.                                                 }
  12581.                                                 case '3':
  12582.                                                 {
  12583.                                                     idx += 10;
  12584.                                                     return X11_PALEGREEN3;
  12585.                                                 }
  12586.                                                 case '4':
  12587.                                                 {
  12588.                                                     idx += 10;
  12589.                                                     return X11_PALEGREEN4;
  12590.                                                 }
  12591.                                             }
  12592.                                             idx += 9;
  12593.                                             return X11_PALEGREEN;
  12594.                                         }
  12595.                                     }
  12596.                                 }
  12597.                                 case 't':
  12598.                                 {
  12599.                                     if (!str[5] || strcmp(str[5], !"URQUOISE", true, 8))
  12600.                                     {
  12601.                                         return -1;
  12602.                                     }
  12603.                                     switch (str[13] | 0x20)
  12604.                                     {
  12605.                                         case '1':
  12606.                                         {
  12607.                                             idx += 14;
  12608.                                             return X11_PALETURQUOISE1;
  12609.                                         }
  12610.                                         case '2':
  12611.                                         {
  12612.                                             idx += 14;
  12613.                                             return X11_PALETURQUOISE2;
  12614.                                         }
  12615.                                         case '3':
  12616.                                         {
  12617.                                             idx += 14;
  12618.                                             return X11_PALETURQUOISE3;
  12619.                                         }
  12620.                                         case '4':
  12621.                                         {
  12622.                                             idx += 14;
  12623.                                             return X11_PALETURQUOISE4;
  12624.                                         }
  12625.                                     }
  12626.                                     idx += 13;
  12627.                                     return X11_PALETURQUOISE;
  12628.                                 }
  12629.                                 case 'v':
  12630.                                 {
  12631.                                     if (!str[5] || strcmp(str[5], !"IOLETRED", true, 8))
  12632.                                     {
  12633.                                         return -1;
  12634.                                     }
  12635.                                     switch (str[13] | 0x20)
  12636.                                     {
  12637.                                         case '1':
  12638.                                         {
  12639.                                             idx += 14;
  12640.                                             return X11_PALEVIOLETRED1;
  12641.                                         }
  12642.                                         case '2':
  12643.                                         {
  12644.                                             idx += 14;
  12645.                                             return X11_PALEVIOLETRED2;
  12646.                                         }
  12647.                                         case '3':
  12648.                                         {
  12649.                                             idx += 14;
  12650.                                             return X11_PALEVIOLETRED3;
  12651.                                         }
  12652.                                         case '4':
  12653.                                         {
  12654.                                             idx += 14;
  12655.                                             return X11_PALEVIOLETRED4;
  12656.                                         }
  12657.                                     }
  12658.                                     idx += 13;
  12659.                                     return X11_PALEVIOLETRED;
  12660.                                 }
  12661.                             }
  12662.                         }
  12663.                         case 'p':
  12664.                         {
  12665.                             if (!str[3] || strcmp(str[3], !"AYA", true, 3))
  12666.                             {
  12667.                                 return -1;
  12668.                             }
  12669.                             switch (str[6] | 0x20)
  12670.                             {
  12671.                                 case ' ' | 0x20: // ' '
  12672.                                 {
  12673.                                     if (str[6])
  12674.                                     {
  12675.                                         if (str[7] && !strcmp(str[7], !"WHIP", true, 4))
  12676.                                         {
  12677.                                             idx += 11;
  12678.                                             return X11_PAPAYA_WHIP;
  12679.                                         }
  12680.                                     }
  12681.                                 }
  12682.                                 case '_' | 0x20:
  12683.                                 {
  12684.                                     if (str[7] && !strcmp(str[7], !"WHIP", true, 4))
  12685.                                     {
  12686.                                         idx += 11;
  12687.                                         return X11_PAPAYA_WHIP;
  12688.                                     }
  12689.                                 }
  12690.                                 case 'w':
  12691.                                 {
  12692.                                     if (str[7] && !strcmp(str[7], !"HIP", true, 3))
  12693.                                     {
  12694.                                         idx += 10;
  12695.                                         return X11_PAPAYAWHIP;
  12696.                                     }
  12697.                                 }
  12698.                             }
  12699.                         }
  12700.                     }
  12701.                 }
  12702.                 case 'e':
  12703.                 {
  12704.                     switch (str[2] | 0x20)
  12705.                     {
  12706.                         case 'a':
  12707.                         {
  12708.                             if (!str[3] || strcmp(str[3], !"CH", true, 2))
  12709.                             {
  12710.                                 return -1;
  12711.                             }
  12712.                             switch (str[5] | 0x20)
  12713.                             {
  12714.                                 case ' ' | 0x20: // ' '
  12715.                                 {
  12716.                                     if (str[5])
  12717.                                     {
  12718.                                         if (!str[6] || strcmp(str[6], !"PUFF", true, 4))
  12719.                                         {
  12720.                                             return -1;
  12721.                                         }
  12722.                                         switch (str[10] | 0x20)
  12723.                                         {
  12724.                                             case ' ' | 0x20: // ' '
  12725.                                             {
  12726.                                                 if (str[10])
  12727.                                                 {
  12728.                                                     switch (str[11] | 0x20)
  12729.                                                     {
  12730.                                                         case '1':
  12731.                                                         {
  12732.                                                             idx += 12;
  12733.                                                             return X11_PEACH_PUFF_1;
  12734.                                                         }
  12735.                                                         case '2':
  12736.                                                         {
  12737.                                                             idx += 12;
  12738.                                                             return X11_PEACH_PUFF_2;
  12739.                                                         }
  12740.                                                         case '3':
  12741.                                                         {
  12742.                                                             idx += 12;
  12743.                                                             return X11_PEACH_PUFF_3;
  12744.                                                         }
  12745.                                                         case '4':
  12746.                                                         {
  12747.                                                             idx += 12;
  12748.                                                             return X11_PEACH_PUFF_4;
  12749.                                                         }
  12750.                                                     }
  12751.                                                 }
  12752.                                             }
  12753.                                             case '_' | 0x20:
  12754.                                             {
  12755.                                                 switch (str[11] | 0x20)
  12756.                                                 {
  12757.                                                     case '1':
  12758.                                                     {
  12759.                                                         idx += 12;
  12760.                                                         return X11_PEACH_PUFF_1;
  12761.                                                     }
  12762.                                                     case '2':
  12763.                                                     {
  12764.                                                         idx += 12;
  12765.                                                         return X11_PEACH_PUFF_2;
  12766.                                                     }
  12767.                                                     case '3':
  12768.                                                     {
  12769.                                                         idx += 12;
  12770.                                                         return X11_PEACH_PUFF_3;
  12771.                                                     }
  12772.                                                     case '4':
  12773.                                                     {
  12774.                                                         idx += 12;
  12775.                                                         return X11_PEACH_PUFF_4;
  12776.                                                     }
  12777.                                                 }
  12778.                                             }
  12779.                                         }
  12780.                                         idx += 10;
  12781.                                         return X11_PEACH_PUFF;
  12782.                                     }
  12783.                                 }
  12784.                                 case '_' | 0x20:
  12785.                                 {
  12786.                                     if (!str[6] || strcmp(str[6], !"PUFF", true, 4))
  12787.                                     {
  12788.                                         return -1;
  12789.                                     }
  12790.                                     switch (str[10] | 0x20)
  12791.                                     {
  12792.                                         case ' ' | 0x20: // ' '
  12793.                                         {
  12794.                                             if (str[10])
  12795.                                             {
  12796.                                                 switch (str[11] | 0x20)
  12797.                                                 {
  12798.                                                     case '1':
  12799.                                                     {
  12800.                                                         idx += 12;
  12801.                                                         return X11_PEACH_PUFF_1;
  12802.                                                     }
  12803.                                                     case '2':
  12804.                                                     {
  12805.                                                         idx += 12;
  12806.                                                         return X11_PEACH_PUFF_2;
  12807.                                                     }
  12808.                                                     case '3':
  12809.                                                     {
  12810.                                                         idx += 12;
  12811.                                                         return X11_PEACH_PUFF_3;
  12812.                                                     }
  12813.                                                     case '4':
  12814.                                                     {
  12815.                                                         idx += 12;
  12816.                                                         return X11_PEACH_PUFF_4;
  12817.                                                     }
  12818.                                                 }
  12819.                                             }
  12820.                                         }
  12821.                                         case '_' | 0x20:
  12822.                                         {
  12823.                                             switch (str[11] | 0x20)
  12824.                                             {
  12825.                                                 case '1':
  12826.                                                 {
  12827.                                                     idx += 12;
  12828.                                                     return X11_PEACH_PUFF_1;
  12829.                                                 }
  12830.                                                 case '2':
  12831.                                                 {
  12832.                                                     idx += 12;
  12833.                                                     return X11_PEACH_PUFF_2;
  12834.                                                 }
  12835.                                                 case '3':
  12836.                                                 {
  12837.                                                     idx += 12;
  12838.                                                     return X11_PEACH_PUFF_3;
  12839.                                                 }
  12840.                                                 case '4':
  12841.                                                 {
  12842.                                                     idx += 12;
  12843.                                                     return X11_PEACH_PUFF_4;
  12844.                                                 }
  12845.                                             }
  12846.                                         }
  12847.                                     }
  12848.                                     idx += 10;
  12849.                                     return X11_PEACH_PUFF;
  12850.                                 }
  12851.                                 case 'p':
  12852.                                 {
  12853.                                     if (!str[6] || strcmp(str[6], !"UFF", true, 3))
  12854.                                     {
  12855.                                         return -1;
  12856.                                     }
  12857.                                     switch (str[9] | 0x20)
  12858.                                     {
  12859.                                         case '1':
  12860.                                         {
  12861.                                             idx += 10;
  12862.                                             return X11_PEACHPUFF1;
  12863.                                         }
  12864.                                         case '2':
  12865.                                         {
  12866.                                             idx += 10;
  12867.                                             return X11_PEACHPUFF2;
  12868.                                         }
  12869.                                         case '3':
  12870.                                         {
  12871.                                             idx += 10;
  12872.                                             return X11_PEACHPUFF3;
  12873.                                         }
  12874.                                         case '4':
  12875.                                         {
  12876.                                             idx += 10;
  12877.                                             return X11_PEACHPUFF4;
  12878.                                         }
  12879.                                     }
  12880.                                     idx += 9;
  12881.                                     return X11_PEACHPUFF;
  12882.                                 }
  12883.                             }
  12884.                         }
  12885.                         case 'r':
  12886.                         {
  12887.                             if (str[3] == 'U')
  12888.                             {
  12889.                                 idx += 4;
  12890.                                 return X11_PERU;
  12891.                             }
  12892.                         }
  12893.                     }
  12894.                 }
  12895.                 case 'i':
  12896.                 {
  12897.                     if (!str[2] || strcmp(str[2], !"NK", true, 2))
  12898.                     {
  12899.                         return -1;
  12900.                     }
  12901.                     switch (str[4] | 0x20)
  12902.                     {
  12903.                         case ' ' | 0x20: // ' '
  12904.                         {
  12905.                             if (str[4])
  12906.                             {
  12907.                                 switch (str[5] | 0x20)
  12908.                                 {
  12909.                                     case '1':
  12910.                                     {
  12911.                                         idx += 6;
  12912.                                         return X11_PINK_1;
  12913.                                     }
  12914.                                     case '2':
  12915.                                     {
  12916.                                         idx += 6;
  12917.                                         return X11_PINK_2;
  12918.                                     }
  12919.                                     case '3':
  12920.                                     {
  12921.                                         idx += 6;
  12922.                                         return X11_PINK_3;
  12923.                                     }
  12924.                                     case '4':
  12925.                                     {
  12926.                                         idx += 6;
  12927.                                         return X11_PINK_4;
  12928.                                     }
  12929.                                 }
  12930.                             }
  12931.                         }
  12932.                         case '_' | 0x20:
  12933.                         {
  12934.                             switch (str[5] | 0x20)
  12935.                             {
  12936.                                 case '1':
  12937.                                 {
  12938.                                     idx += 6;
  12939.                                     return X11_PINK_1;
  12940.                                 }
  12941.                                 case '2':
  12942.                                 {
  12943.                                     idx += 6;
  12944.                                     return X11_PINK_2;
  12945.                                 }
  12946.                                 case '3':
  12947.                                 {
  12948.                                     idx += 6;
  12949.                                     return X11_PINK_3;
  12950.                                 }
  12951.                                 case '4':
  12952.                                 {
  12953.                                     idx += 6;
  12954.                                     return X11_PINK_4;
  12955.                                 }
  12956.                             }
  12957.                         }
  12958.                         case '1':
  12959.                         {
  12960.                             idx += 5;
  12961.                             return X11_PINK1;
  12962.                         }
  12963.                         case '2':
  12964.                         {
  12965.                             idx += 5;
  12966.                             return X11_PINK2;
  12967.                         }
  12968.                         case '3':
  12969.                         {
  12970.                             idx += 5;
  12971.                             return X11_PINK3;
  12972.                         }
  12973.                         case '4':
  12974.                         {
  12975.                             idx += 5;
  12976.                             return X11_PINK4;
  12977.                         }
  12978.                     }
  12979.                     idx += 4;
  12980.                     return X11_PINK;
  12981.                 }
  12982.                 case 'l':
  12983.                 {
  12984.                     if (!str[2] || strcmp(str[2], !"UM", true, 2))
  12985.                     {
  12986.                         return -1;
  12987.                     }
  12988.                     switch (str[4] | 0x20)
  12989.                     {
  12990.                         case ' ' | 0x20: // ' '
  12991.                         {
  12992.                             if (str[4])
  12993.                             {
  12994.                                 switch (str[5] | 0x20)
  12995.                                 {
  12996.                                     case '1':
  12997.                                     {
  12998.                                         idx += 6;
  12999.                                         return X11_PLUM_1;
  13000.                                     }
  13001.                                     case '2':
  13002.                                     {
  13003.                                         idx += 6;
  13004.                                         return X11_PLUM_2;
  13005.                                     }
  13006.                                     case '3':
  13007.                                     {
  13008.                                         idx += 6;
  13009.                                         return X11_PLUM_3;
  13010.                                     }
  13011.                                     case '4':
  13012.                                     {
  13013.                                         idx += 6;
  13014.                                         return X11_PLUM_4;
  13015.                                     }
  13016.                                 }
  13017.                             }
  13018.                         }
  13019.                         case '_' | 0x20:
  13020.                         {
  13021.                             switch (str[5] | 0x20)
  13022.                             {
  13023.                                 case '1':
  13024.                                 {
  13025.                                     idx += 6;
  13026.                                     return X11_PLUM_1;
  13027.                                 }
  13028.                                 case '2':
  13029.                                 {
  13030.                                     idx += 6;
  13031.                                     return X11_PLUM_2;
  13032.                                 }
  13033.                                 case '3':
  13034.                                 {
  13035.                                     idx += 6;
  13036.                                     return X11_PLUM_3;
  13037.                                 }
  13038.                                 case '4':
  13039.                                 {
  13040.                                     idx += 6;
  13041.                                     return X11_PLUM_4;
  13042.                                 }
  13043.                             }
  13044.                         }
  13045.                         case '1':
  13046.                         {
  13047.                             idx += 5;
  13048.                             return X11_PLUM1;
  13049.                         }
  13050.                         case '2':
  13051.                         {
  13052.                             idx += 5;
  13053.                             return X11_PLUM2;
  13054.                         }
  13055.                         case '3':
  13056.                         {
  13057.                             idx += 5;
  13058.                             return X11_PLUM3;
  13059.                         }
  13060.                         case '4':
  13061.                         {
  13062.                             idx += 5;
  13063.                             return X11_PLUM4;
  13064.                         }
  13065.                     }
  13066.                     idx += 4;
  13067.                     return X11_PLUM;
  13068.                 }
  13069.                 case 'o':
  13070.                 {
  13071.                     if (!str[2] || strcmp(str[2], !"WDER", true, 4))
  13072.                     {
  13073.                         return -1;
  13074.                     }
  13075.                     switch (str[6] | 0x20)
  13076.                     {
  13077.                         case ' ' | 0x20: // ' '
  13078.                         {
  13079.                             if (str[6])
  13080.                             {
  13081.                                 if (str[7] && !strcmp(str[7], !"BLUE", true, 4))
  13082.                                 {
  13083.                                     idx += 11;
  13084.                                     return X11_POWDER_BLUE;
  13085.                                 }
  13086.                             }
  13087.                         }
  13088.                         case '_' | 0x20:
  13089.                         {
  13090.                             if (str[7] && !strcmp(str[7], !"BLUE", true, 4))
  13091.                             {
  13092.                                 idx += 11;
  13093.                                 return X11_POWDER_BLUE;
  13094.                             }
  13095.                         }
  13096.                         case 'b':
  13097.                         {
  13098.                             if (str[7] && !strcmp(str[7], !"LUE", true, 3))
  13099.                             {
  13100.                                 idx += 10;
  13101.                                 return X11_POWDERBLUE;
  13102.                             }
  13103.                         }
  13104.                     }
  13105.                 }
  13106.                 case 'u':
  13107.                 {
  13108.                     if (!str[2] || strcmp(str[2], !"RPLE", true, 4))
  13109.                     {
  13110.                         return -1;
  13111.                     }
  13112.                     switch (str[6] | 0x20)
  13113.                     {
  13114.                         case ' ' | 0x20: // ' '
  13115.                         {
  13116.                             if (str[6])
  13117.                             {
  13118.                                 switch (str[7] | 0x20)
  13119.                                 {
  13120.                                     case '1':
  13121.                                     {
  13122.                                         idx += 8;
  13123.                                         return X11_PURPLE_1;
  13124.                                     }
  13125.                                     case '2':
  13126.                                     {
  13127.                                         idx += 8;
  13128.                                         return X11_PURPLE_2;
  13129.                                     }
  13130.                                     case '3':
  13131.                                     {
  13132.                                         idx += 8;
  13133.                                         return X11_PURPLE_3;
  13134.                                     }
  13135.                                     case '4':
  13136.                                     {
  13137.                                         idx += 8;
  13138.                                         return X11_PURPLE_4;
  13139.                                     }
  13140.                                 }
  13141.                             }
  13142.                         }
  13143.                         case '_' | 0x20:
  13144.                         {
  13145.                             switch (str[7] | 0x20)
  13146.                             {
  13147.                                 case '1':
  13148.                                 {
  13149.                                     idx += 8;
  13150.                                     return X11_PURPLE_1;
  13151.                                 }
  13152.                                 case '2':
  13153.                                 {
  13154.                                     idx += 8;
  13155.                                     return X11_PURPLE_2;
  13156.                                 }
  13157.                                 case '3':
  13158.                                 {
  13159.                                     idx += 8;
  13160.                                     return X11_PURPLE_3;
  13161.                                 }
  13162.                                 case '4':
  13163.                                 {
  13164.                                     idx += 8;
  13165.                                     return X11_PURPLE_4;
  13166.                                 }
  13167.                             }
  13168.                         }
  13169.                         case '1':
  13170.                         {
  13171.                             idx += 7;
  13172.                             return X11_PURPLE1;
  13173.                         }
  13174.                         case '2':
  13175.                         {
  13176.                             idx += 7;
  13177.                             return X11_PURPLE2;
  13178.                         }
  13179.                         case '3':
  13180.                         {
  13181.                             idx += 7;
  13182.                             return X11_PURPLE3;
  13183.                         }
  13184.                         case '4':
  13185.                         {
  13186.                             idx += 7;
  13187.                             return X11_PURPLE4;
  13188.                         }
  13189.                     }
  13190.                     idx += 6;
  13191.                     return X11_PURPLE;
  13192.                 }
  13193.             }
  13194.         }
  13195.         case 'r':
  13196.         {
  13197.             switch (str[1] | 0x20)
  13198.             {
  13199.                 case 'e':
  13200.                 {
  13201.                     if (str[2] != 'D')
  13202.                     {
  13203.                         return -1;
  13204.                     }
  13205.                     switch (str[3] | 0x20)
  13206.                     {
  13207.                         case ' ' | 0x20: // ' '
  13208.                         {
  13209.                             if (str[3])
  13210.                             {
  13211.                                 switch (str[4] | 0x20)
  13212.                                 {
  13213.                                     case '1':
  13214.                                     {
  13215.                                         idx += 5;
  13216.                                         return X11_RED_1;
  13217.                                     }
  13218.                                     case '2':
  13219.                                     {
  13220.                                         idx += 5;
  13221.                                         return X11_RED_2;
  13222.                                     }
  13223.                                     case '3':
  13224.                                     {
  13225.                                         idx += 5;
  13226.                                         return X11_RED_3;
  13227.                                     }
  13228.                                     case '4':
  13229.                                     {
  13230.                                         idx += 5;
  13231.                                         return X11_RED_4;
  13232.                                     }
  13233.                                 }
  13234.                             }
  13235.                         }
  13236.                         case '_' | 0x20:
  13237.                         {
  13238.                             switch (str[4] | 0x20)
  13239.                             {
  13240.                                 case '1':
  13241.                                 {
  13242.                                     idx += 5;
  13243.                                     return X11_RED_1;
  13244.                                 }
  13245.                                 case '2':
  13246.                                 {
  13247.                                     idx += 5;
  13248.                                     return X11_RED_2;
  13249.                                 }
  13250.                                 case '3':
  13251.                                 {
  13252.                                     idx += 5;
  13253.                                     return X11_RED_3;
  13254.                                 }
  13255.                                 case '4':
  13256.                                 {
  13257.                                     idx += 5;
  13258.                                     return X11_RED_4;
  13259.                                 }
  13260.                             }
  13261.                         }
  13262.                         case '1':
  13263.                         {
  13264.                             idx += 4;
  13265.                             return X11_RED1;
  13266.                         }
  13267.                         case '2':
  13268.                         {
  13269.                             idx += 4;
  13270.                             return X11_RED2;
  13271.                         }
  13272.                         case '3':
  13273.                         {
  13274.                             idx += 4;
  13275.                             return X11_RED3;
  13276.                         }
  13277.                         case '4':
  13278.                         {
  13279.                             idx += 4;
  13280.                             return X11_RED4;
  13281.                         }
  13282.                     }
  13283.                     idx += 3;
  13284.                     return X11_RED;
  13285.                 }
  13286.                 case 'o':
  13287.                 {
  13288.                     switch (str[2] | 0x20)
  13289.                     {
  13290.                         case 's':
  13291.                         {
  13292.                             if (str[3] != 'Y')
  13293.                             {
  13294.                                 return -1;
  13295.                             }
  13296.                             switch (str[4] | 0x20)
  13297.                             {
  13298.                                 case ' ' | 0x20: // ' '
  13299.                                 {
  13300.                                     if (str[4])
  13301.                                     {
  13302.                                         if (!str[5] || strcmp(str[5], !"BROWN", true, 5))
  13303.                                         {
  13304.                                             return -1;
  13305.                                         }
  13306.                                         switch (str[10] | 0x20)
  13307.                                         {
  13308.                                             case ' ' | 0x20: // ' '
  13309.                                             {
  13310.                                                 if (str[10])
  13311.                                                 {
  13312.                                                     switch (str[11] | 0x20)
  13313.                                                     {
  13314.                                                         case '1':
  13315.                                                         {
  13316.                                                             idx += 12;
  13317.                                                             return X11_ROSY_BROWN_1;
  13318.                                                         }
  13319.                                                         case '2':
  13320.                                                         {
  13321.                                                             idx += 12;
  13322.                                                             return X11_ROSY_BROWN_2;
  13323.                                                         }
  13324.                                                         case '3':
  13325.                                                         {
  13326.                                                             idx += 12;
  13327.                                                             return X11_ROSY_BROWN_3;
  13328.                                                         }
  13329.                                                         case '4':
  13330.                                                         {
  13331.                                                             idx += 12;
  13332.                                                             return X11_ROSY_BROWN_4;
  13333.                                                         }
  13334.                                                     }
  13335.                                                 }
  13336.                                             }
  13337.                                             case '_' | 0x20:
  13338.                                             {
  13339.                                                 switch (str[11] | 0x20)
  13340.                                                 {
  13341.                                                     case '1':
  13342.                                                     {
  13343.                                                         idx += 12;
  13344.                                                         return X11_ROSY_BROWN_1;
  13345.                                                     }
  13346.                                                     case '2':
  13347.                                                     {
  13348.                                                         idx += 12;
  13349.                                                         return X11_ROSY_BROWN_2;
  13350.                                                     }
  13351.                                                     case '3':
  13352.                                                     {
  13353.                                                         idx += 12;
  13354.                                                         return X11_ROSY_BROWN_3;
  13355.                                                     }
  13356.                                                     case '4':
  13357.                                                     {
  13358.                                                         idx += 12;
  13359.                                                         return X11_ROSY_BROWN_4;
  13360.                                                     }
  13361.                                                 }
  13362.                                             }
  13363.                                         }
  13364.                                         idx += 10;
  13365.                                         return X11_ROSY_BROWN;
  13366.                                     }
  13367.                                 }
  13368.                                 case '_' | 0x20:
  13369.                                 {
  13370.                                     if (!str[5] || strcmp(str[5], !"BROWN", true, 5))
  13371.                                     {
  13372.                                         return -1;
  13373.                                     }
  13374.                                     switch (str[10] | 0x20)
  13375.                                     {
  13376.                                         case ' ' | 0x20: // ' '
  13377.                                         {
  13378.                                             if (str[10])
  13379.                                             {
  13380.                                                 switch (str[11] | 0x20)
  13381.                                                 {
  13382.                                                     case '1':
  13383.                                                     {
  13384.                                                         idx += 12;
  13385.                                                         return X11_ROSY_BROWN_1;
  13386.                                                     }
  13387.                                                     case '2':
  13388.                                                     {
  13389.                                                         idx += 12;
  13390.                                                         return X11_ROSY_BROWN_2;
  13391.                                                     }
  13392.                                                     case '3':
  13393.                                                     {
  13394.                                                         idx += 12;
  13395.                                                         return X11_ROSY_BROWN_3;
  13396.                                                     }
  13397.                                                     case '4':
  13398.                                                     {
  13399.                                                         idx += 12;
  13400.                                                         return X11_ROSY_BROWN_4;
  13401.                                                     }
  13402.                                                 }
  13403.                                             }
  13404.                                         }
  13405.                                         case '_' | 0x20:
  13406.                                         {
  13407.                                             switch (str[11] | 0x20)
  13408.                                             {
  13409.                                                 case '1':
  13410.                                                 {
  13411.                                                     idx += 12;
  13412.                                                     return X11_ROSY_BROWN_1;
  13413.                                                 }
  13414.                                                 case '2':
  13415.                                                 {
  13416.                                                     idx += 12;
  13417.                                                     return X11_ROSY_BROWN_2;
  13418.                                                 }
  13419.                                                 case '3':
  13420.                                                 {
  13421.                                                     idx += 12;
  13422.                                                     return X11_ROSY_BROWN_3;
  13423.                                                 }
  13424.                                                 case '4':
  13425.                                                 {
  13426.                                                     idx += 12;
  13427.                                                     return X11_ROSY_BROWN_4;
  13428.                                                 }
  13429.                                             }
  13430.                                         }
  13431.                                     }
  13432.                                     idx += 10;
  13433.                                     return X11_ROSY_BROWN;
  13434.                                 }
  13435.                                 case 'b':
  13436.                                 {
  13437.                                     if (!str[5] || strcmp(str[5], !"ROWN", true, 4))
  13438.                                     {
  13439.                                         return -1;
  13440.                                     }
  13441.                                     switch (str[9] | 0x20)
  13442.                                     {
  13443.                                         case '1':
  13444.                                         {
  13445.                                             idx += 10;
  13446.                                             return X11_ROSYBROWN1;
  13447.                                         }
  13448.                                         case '2':
  13449.                                         {
  13450.                                             idx += 10;
  13451.                                             return X11_ROSYBROWN2;
  13452.                                         }
  13453.                                         case '3':
  13454.                                         {
  13455.                                             idx += 10;
  13456.                                             return X11_ROSYBROWN3;
  13457.                                         }
  13458.                                         case '4':
  13459.                                         {
  13460.                                             idx += 10;
  13461.                                             return X11_ROSYBROWN4;
  13462.                                         }
  13463.                                     }
  13464.                                     idx += 9;
  13465.                                     return X11_ROSYBROWN;
  13466.                                 }
  13467.                             }
  13468.                         }
  13469.                         case 'y':
  13470.                         {
  13471.                             if (!str[3] || strcmp(str[3], !"AL", true, 2))
  13472.                             {
  13473.                                 return -1;
  13474.                             }
  13475.                             switch (str[5] | 0x20)
  13476.                             {
  13477.                                 case ' ' | 0x20: // ' '
  13478.                                 {
  13479.                                     if (str[5])
  13480.                                     {
  13481.                                         if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  13482.                                         {
  13483.                                             return -1;
  13484.                                         }
  13485.                                         switch (str[10] | 0x20)
  13486.                                         {
  13487.                                             case ' ' | 0x20: // ' '
  13488.                                             {
  13489.                                                 if (str[10])
  13490.                                                 {
  13491.                                                     switch (str[11] | 0x20)
  13492.                                                     {
  13493.                                                         case '1':
  13494.                                                         {
  13495.                                                             idx += 12;
  13496.                                                             return X11_ROYAL_BLUE_1;
  13497.                                                         }
  13498.                                                         case '2':
  13499.                                                         {
  13500.                                                             idx += 12;
  13501.                                                             return X11_ROYAL_BLUE_2;
  13502.                                                         }
  13503.                                                         case '3':
  13504.                                                         {
  13505.                                                             idx += 12;
  13506.                                                             return X11_ROYAL_BLUE_3;
  13507.                                                         }
  13508.                                                         case '4':
  13509.                                                         {
  13510.                                                             idx += 12;
  13511.                                                             return X11_ROYAL_BLUE_4;
  13512.                                                         }
  13513.                                                     }
  13514.                                                 }
  13515.                                             }
  13516.                                             case '_' | 0x20:
  13517.                                             {
  13518.                                                 switch (str[11] | 0x20)
  13519.                                                 {
  13520.                                                     case '1':
  13521.                                                     {
  13522.                                                         idx += 12;
  13523.                                                         return X11_ROYAL_BLUE_1;
  13524.                                                     }
  13525.                                                     case '2':
  13526.                                                     {
  13527.                                                         idx += 12;
  13528.                                                         return X11_ROYAL_BLUE_2;
  13529.                                                     }
  13530.                                                     case '3':
  13531.                                                     {
  13532.                                                         idx += 12;
  13533.                                                         return X11_ROYAL_BLUE_3;
  13534.                                                     }
  13535.                                                     case '4':
  13536.                                                     {
  13537.                                                         idx += 12;
  13538.                                                         return X11_ROYAL_BLUE_4;
  13539.                                                     }
  13540.                                                 }
  13541.                                             }
  13542.                                         }
  13543.                                         idx += 10;
  13544.                                         return X11_ROYAL_BLUE;
  13545.                                     }
  13546.                                 }
  13547.                                 case '_' | 0x20:
  13548.                                 {
  13549.                                     if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  13550.                                     {
  13551.                                         return -1;
  13552.                                     }
  13553.                                     switch (str[10] | 0x20)
  13554.                                     {
  13555.                                         case ' ' | 0x20: // ' '
  13556.                                         {
  13557.                                             if (str[10])
  13558.                                             {
  13559.                                                 switch (str[11] | 0x20)
  13560.                                                 {
  13561.                                                     case '1':
  13562.                                                     {
  13563.                                                         idx += 12;
  13564.                                                         return X11_ROYAL_BLUE_1;
  13565.                                                     }
  13566.                                                     case '2':
  13567.                                                     {
  13568.                                                         idx += 12;
  13569.                                                         return X11_ROYAL_BLUE_2;
  13570.                                                     }
  13571.                                                     case '3':
  13572.                                                     {
  13573.                                                         idx += 12;
  13574.                                                         return X11_ROYAL_BLUE_3;
  13575.                                                     }
  13576.                                                     case '4':
  13577.                                                     {
  13578.                                                         idx += 12;
  13579.                                                         return X11_ROYAL_BLUE_4;
  13580.                                                     }
  13581.                                                 }
  13582.                                             }
  13583.                                         }
  13584.                                         case '_' | 0x20:
  13585.                                         {
  13586.                                             switch (str[11] | 0x20)
  13587.                                             {
  13588.                                                 case '1':
  13589.                                                 {
  13590.                                                     idx += 12;
  13591.                                                     return X11_ROYAL_BLUE_1;
  13592.                                                 }
  13593.                                                 case '2':
  13594.                                                 {
  13595.                                                     idx += 12;
  13596.                                                     return X11_ROYAL_BLUE_2;
  13597.                                                 }
  13598.                                                 case '3':
  13599.                                                 {
  13600.                                                     idx += 12;
  13601.                                                     return X11_ROYAL_BLUE_3;
  13602.                                                 }
  13603.                                                 case '4':
  13604.                                                 {
  13605.                                                     idx += 12;
  13606.                                                     return X11_ROYAL_BLUE_4;
  13607.                                                 }
  13608.                                             }
  13609.                                         }
  13610.                                     }
  13611.                                     idx += 10;
  13612.                                     return X11_ROYAL_BLUE;
  13613.                                 }
  13614.                                 case 'b':
  13615.                                 {
  13616.                                     if (!str[6] || strcmp(str[6], !"LUE", true, 3))
  13617.                                     {
  13618.                                         return -1;
  13619.                                     }
  13620.                                     switch (str[9] | 0x20)
  13621.                                     {
  13622.                                         case '1':
  13623.                                         {
  13624.                                             idx += 10;
  13625.                                             return X11_ROYALBLUE1;
  13626.                                         }
  13627.                                         case '2':
  13628.                                         {
  13629.                                             idx += 10;
  13630.                                             return X11_ROYALBLUE2;
  13631.                                         }
  13632.                                         case '3':
  13633.                                         {
  13634.                                             idx += 10;
  13635.                                             return X11_ROYALBLUE3;
  13636.                                         }
  13637.                                         case '4':
  13638.                                         {
  13639.                                             idx += 10;
  13640.                                             return X11_ROYALBLUE4;
  13641.                                         }
  13642.                                     }
  13643.                                     idx += 9;
  13644.                                     return X11_ROYALBLUE;
  13645.                                 }
  13646.                             }
  13647.                         }
  13648.                     }
  13649.                 }
  13650.             }
  13651.         }
  13652.         case 's':
  13653.         {
  13654.             switch (str[1] | 0x20)
  13655.             {
  13656.                 case 'a':
  13657.                 {
  13658.                     switch (str[2] | 0x20)
  13659.                     {
  13660.                         case 'd':
  13661.                         {
  13662.                             if (!str[3] || strcmp(str[3], !"DLE", true, 3))
  13663.                             {
  13664.                                 return -1;
  13665.                             }
  13666.                             switch (str[6] | 0x20)
  13667.                             {
  13668.                                 case ' ' | 0x20: // ' '
  13669.                                 {
  13670.                                     if (str[6])
  13671.                                     {
  13672.                                         if (str[7] && !strcmp(str[7], !"BROWN", true, 5))
  13673.                                         {
  13674.                                             idx += 12;
  13675.                                             return X11_SADDLE_BROWN;
  13676.                                         }
  13677.                                     }
  13678.                                 }
  13679.                                 case '_' | 0x20:
  13680.                                 {
  13681.                                     if (str[7] && !strcmp(str[7], !"BROWN", true, 5))
  13682.                                     {
  13683.                                         idx += 12;
  13684.                                         return X11_SADDLE_BROWN;
  13685.                                     }
  13686.                                 }
  13687.                                 case 'b':
  13688.                                 {
  13689.                                     if (str[7] && !strcmp(str[7], !"ROWN", true, 4))
  13690.                                     {
  13691.                                         idx += 11;
  13692.                                         return X11_SADDLEBROWN;
  13693.                                     }
  13694.                                 }
  13695.                             }
  13696.                         }
  13697.                         case 'l':
  13698.                         {
  13699.                             if (!str[3] || strcmp(str[3], !"MON", true, 3))
  13700.                             {
  13701.                                 return -1;
  13702.                             }
  13703.                             switch (str[6] | 0x20)
  13704.                             {
  13705.                                 case ' ' | 0x20: // ' '
  13706.                                 {
  13707.                                     if (str[6])
  13708.                                     {
  13709.                                         switch (str[7] | 0x20)
  13710.                                         {
  13711.                                             case '1':
  13712.                                             {
  13713.                                                 idx += 8;
  13714.                                                 return X11_SALMON_1;
  13715.                                             }
  13716.                                             case '2':
  13717.                                             {
  13718.                                                 idx += 8;
  13719.                                                 return X11_SALMON_2;
  13720.                                             }
  13721.                                             case '3':
  13722.                                             {
  13723.                                                 idx += 8;
  13724.                                                 return X11_SALMON_3;
  13725.                                             }
  13726.                                             case '4':
  13727.                                             {
  13728.                                                 idx += 8;
  13729.                                                 return X11_SALMON_4;
  13730.                                             }
  13731.                                         }
  13732.                                     }
  13733.                                 }
  13734.                                 case '_' | 0x20:
  13735.                                 {
  13736.                                     switch (str[7] | 0x20)
  13737.                                     {
  13738.                                         case '1':
  13739.                                         {
  13740.                                             idx += 8;
  13741.                                             return X11_SALMON_1;
  13742.                                         }
  13743.                                         case '2':
  13744.                                         {
  13745.                                             idx += 8;
  13746.                                             return X11_SALMON_2;
  13747.                                         }
  13748.                                         case '3':
  13749.                                         {
  13750.                                             idx += 8;
  13751.                                             return X11_SALMON_3;
  13752.                                         }
  13753.                                         case '4':
  13754.                                         {
  13755.                                             idx += 8;
  13756.                                             return X11_SALMON_4;
  13757.                                         }
  13758.                                     }
  13759.                                 }
  13760.                                 case '1':
  13761.                                 {
  13762.                                     idx += 7;
  13763.                                     return X11_SALMON1;
  13764.                                 }
  13765.                                 case '2':
  13766.                                 {
  13767.                                     idx += 7;
  13768.                                     return X11_SALMON2;
  13769.                                 }
  13770.                                 case '3':
  13771.                                 {
  13772.                                     idx += 7;
  13773.                                     return X11_SALMON3;
  13774.                                 }
  13775.                                 case '4':
  13776.                                 {
  13777.                                     idx += 7;
  13778.                                     return X11_SALMON4;
  13779.                                 }
  13780.                             }
  13781.                             idx += 6;
  13782.                             return X11_SALMON;
  13783.                         }
  13784.                         case 'n':
  13785.                         {
  13786.                             if (!str[3] || strcmp(str[3], !"DY", true, 2))
  13787.                             {
  13788.                                 return -1;
  13789.                             }
  13790.                             switch (str[5] | 0x20)
  13791.                             {
  13792.                                 case ' ' | 0x20: // ' '
  13793.                                 {
  13794.                                     if (str[5])
  13795.                                     {
  13796.                                         if (str[6] && !strcmp(str[6], !"BROWN", true, 5))
  13797.                                         {
  13798.                                             idx += 11;
  13799.                                             return X11_SANDY_BROWN;
  13800.                                         }
  13801.                                     }
  13802.                                 }
  13803.                                 case '_' | 0x20:
  13804.                                 {
  13805.                                     if (str[6] && !strcmp(str[6], !"BROWN", true, 5))
  13806.                                     {
  13807.                                         idx += 11;
  13808.                                         return X11_SANDY_BROWN;
  13809.                                     }
  13810.                                 }
  13811.                                 case 'b':
  13812.                                 {
  13813.                                     if (str[6] && !strcmp(str[6], !"ROWN", true, 4))
  13814.                                     {
  13815.                                         idx += 10;
  13816.                                         return X11_SANDYBROWN;
  13817.                                     }
  13818.                                 }
  13819.                             }
  13820.                         }
  13821.                     }
  13822.                 }
  13823.                 case 'e':
  13824.                 {
  13825.                     if (str[2] != 'A')
  13826.                     {
  13827.                         return -1;
  13828.                     }
  13829.                     switch (str[3] | 0x20)
  13830.                     {
  13831.                         case ' ' | 0x20: // ' '
  13832.                         {
  13833.                             if (str[3])
  13834.                             {
  13835.                                 if (!str[4] || strcmp(str[4], !"GREEN", true, 5))
  13836.                                 {
  13837.                                     return -1;
  13838.                                 }
  13839.                                 switch (str[9] | 0x20)
  13840.                                 {
  13841.                                     case ' ' | 0x20: // ' '
  13842.                                     {
  13843.                                         if (str[9])
  13844.                                         {
  13845.                                             switch (str[10] | 0x20)
  13846.                                             {
  13847.                                                 case '1':
  13848.                                                 {
  13849.                                                     idx += 11;
  13850.                                                     return X11_SEA_GREEN_1;
  13851.                                                 }
  13852.                                                 case '2':
  13853.                                                 {
  13854.                                                     idx += 11;
  13855.                                                     return X11_SEA_GREEN_2;
  13856.                                                 }
  13857.                                                 case '3':
  13858.                                                 {
  13859.                                                     idx += 11;
  13860.                                                     return X11_SEA_GREEN_3;
  13861.                                                 }
  13862.                                                 case '4':
  13863.                                                 {
  13864.                                                     idx += 11;
  13865.                                                     return X11_SEA_GREEN_4;
  13866.                                                 }
  13867.                                             }
  13868.                                         }
  13869.                                     }
  13870.                                     case '_' | 0x20:
  13871.                                     {
  13872.                                         switch (str[10] | 0x20)
  13873.                                         {
  13874.                                             case '1':
  13875.                                             {
  13876.                                                 idx += 11;
  13877.                                                 return X11_SEA_GREEN_1;
  13878.                                             }
  13879.                                             case '2':
  13880.                                             {
  13881.                                                 idx += 11;
  13882.                                                 return X11_SEA_GREEN_2;
  13883.                                             }
  13884.                                             case '3':
  13885.                                             {
  13886.                                                 idx += 11;
  13887.                                                 return X11_SEA_GREEN_3;
  13888.                                             }
  13889.                                             case '4':
  13890.                                             {
  13891.                                                 idx += 11;
  13892.                                                 return X11_SEA_GREEN_4;
  13893.                                             }
  13894.                                         }
  13895.                                     }
  13896.                                 }
  13897.                                 idx += 9;
  13898.                                 return X11_SEA_GREEN;
  13899.                             }
  13900.                         }
  13901.                         case '_' | 0x20:
  13902.                         {
  13903.                             if (!str[4] || strcmp(str[4], !"GREEN", true, 5))
  13904.                             {
  13905.                                 return -1;
  13906.                             }
  13907.                             switch (str[9] | 0x20)
  13908.                             {
  13909.                                 case ' ' | 0x20: // ' '
  13910.                                 {
  13911.                                     if (str[9])
  13912.                                     {
  13913.                                         switch (str[10] | 0x20)
  13914.                                         {
  13915.                                             case '1':
  13916.                                             {
  13917.                                                 idx += 11;
  13918.                                                 return X11_SEA_GREEN_1;
  13919.                                             }
  13920.                                             case '2':
  13921.                                             {
  13922.                                                 idx += 11;
  13923.                                                 return X11_SEA_GREEN_2;
  13924.                                             }
  13925.                                             case '3':
  13926.                                             {
  13927.                                                 idx += 11;
  13928.                                                 return X11_SEA_GREEN_3;
  13929.                                             }
  13930.                                             case '4':
  13931.                                             {
  13932.                                                 idx += 11;
  13933.                                                 return X11_SEA_GREEN_4;
  13934.                                             }
  13935.                                         }
  13936.                                     }
  13937.                                 }
  13938.                                 case '_' | 0x20:
  13939.                                 {
  13940.                                     switch (str[10] | 0x20)
  13941.                                     {
  13942.                                         case '1':
  13943.                                         {
  13944.                                             idx += 11;
  13945.                                             return X11_SEA_GREEN_1;
  13946.                                         }
  13947.                                         case '2':
  13948.                                         {
  13949.                                             idx += 11;
  13950.                                             return X11_SEA_GREEN_2;
  13951.                                         }
  13952.                                         case '3':
  13953.                                         {
  13954.                                             idx += 11;
  13955.                                             return X11_SEA_GREEN_3;
  13956.                                         }
  13957.                                         case '4':
  13958.                                         {
  13959.                                             idx += 11;
  13960.                                             return X11_SEA_GREEN_4;
  13961.                                         }
  13962.                                     }
  13963.                                 }
  13964.                             }
  13965.                             idx += 9;
  13966.                             return X11_SEA_GREEN;
  13967.                         }
  13968.                         case 'g':
  13969.                         {
  13970.                             if (!str[4] || strcmp(str[4], !"REEN", true, 4))
  13971.                             {
  13972.                                 return -1;
  13973.                             }
  13974.                             switch (str[8] | 0x20)
  13975.                             {
  13976.                                 case '1':
  13977.                                 {
  13978.                                     idx += 9;
  13979.                                     return X11_SEAGREEN1;
  13980.                                 }
  13981.                                 case '2':
  13982.                                 {
  13983.                                     idx += 9;
  13984.                                     return X11_SEAGREEN2;
  13985.                                 }
  13986.                                 case '3':
  13987.                                 {
  13988.                                     idx += 9;
  13989.                                     return X11_SEAGREEN3;
  13990.                                 }
  13991.                                 case '4':
  13992.                                 {
  13993.                                     idx += 9;
  13994.                                     return X11_SEAGREEN4;
  13995.                                 }
  13996.                             }
  13997.                             idx += 8;
  13998.                             return X11_SEAGREEN;
  13999.                         }
  14000.                         case 's':
  14001.                         {
  14002.                             if (!str[4] || strcmp(str[4], !"HELL", true, 4))
  14003.                             {
  14004.                                 return -1;
  14005.                             }
  14006.                             switch (str[8] | 0x20)
  14007.                             {
  14008.                                 case ' ' | 0x20: // ' '
  14009.                                 {
  14010.                                     if (str[8])
  14011.                                     {
  14012.                                         switch (str[9] | 0x20)
  14013.                                         {
  14014.                                             case '1':
  14015.                                             {
  14016.                                                 idx += 10;
  14017.                                                 return X11_SEASHELL_1;
  14018.                                             }
  14019.                                             case '2':
  14020.                                             {
  14021.                                                 idx += 10;
  14022.                                                 return X11_SEASHELL_2;
  14023.                                             }
  14024.                                             case '3':
  14025.                                             {
  14026.                                                 idx += 10;
  14027.                                                 return X11_SEASHELL_3;
  14028.                                             }
  14029.                                             case '4':
  14030.                                             {
  14031.                                                 idx += 10;
  14032.                                                 return X11_SEASHELL_4;
  14033.                                             }
  14034.                                         }
  14035.                                     }
  14036.                                 }
  14037.                                 case '_' | 0x20:
  14038.                                 {
  14039.                                     switch (str[9] | 0x20)
  14040.                                     {
  14041.                                         case '1':
  14042.                                         {
  14043.                                             idx += 10;
  14044.                                             return X11_SEASHELL_1;
  14045.                                         }
  14046.                                         case '2':
  14047.                                         {
  14048.                                             idx += 10;
  14049.                                             return X11_SEASHELL_2;
  14050.                                         }
  14051.                                         case '3':
  14052.                                         {
  14053.                                             idx += 10;
  14054.                                             return X11_SEASHELL_3;
  14055.                                         }
  14056.                                         case '4':
  14057.                                         {
  14058.                                             idx += 10;
  14059.                                             return X11_SEASHELL_4;
  14060.                                         }
  14061.                                     }
  14062.                                 }
  14063.                                 case '1':
  14064.                                 {
  14065.                                     idx += 9;
  14066.                                     return X11_SEASHELL1;
  14067.                                 }
  14068.                                 case '2':
  14069.                                 {
  14070.                                     idx += 9;
  14071.                                     return X11_SEASHELL2;
  14072.                                 }
  14073.                                 case '3':
  14074.                                 {
  14075.                                     idx += 9;
  14076.                                     return X11_SEASHELL3;
  14077.                                 }
  14078.                                 case '4':
  14079.                                 {
  14080.                                     idx += 9;
  14081.                                     return X11_SEASHELL4;
  14082.                                 }
  14083.                             }
  14084.                             idx += 8;
  14085.                             return X11_SEASHELL;
  14086.                         }
  14087.                     }
  14088.                 }
  14089.                 case 'i':
  14090.                 {
  14091.                     if (!str[2] || strcmp(str[2], !"ENNA", true, 4))
  14092.                     {
  14093.                         return -1;
  14094.                     }
  14095.                     switch (str[6] | 0x20)
  14096.                     {
  14097.                         case ' ' | 0x20: // ' '
  14098.                         {
  14099.                             if (str[6])
  14100.                             {
  14101.                                 switch (str[7] | 0x20)
  14102.                                 {
  14103.                                     case '1':
  14104.                                     {
  14105.                                         idx += 8;
  14106.                                         return X11_SIENNA_1;
  14107.                                     }
  14108.                                     case '2':
  14109.                                     {
  14110.                                         idx += 8;
  14111.                                         return X11_SIENNA_2;
  14112.                                     }
  14113.                                     case '3':
  14114.                                     {
  14115.                                         idx += 8;
  14116.                                         return X11_SIENNA_3;
  14117.                                     }
  14118.                                     case '4':
  14119.                                     {
  14120.                                         idx += 8;
  14121.                                         return X11_SIENNA_4;
  14122.                                     }
  14123.                                 }
  14124.                             }
  14125.                         }
  14126.                         case '_' | 0x20:
  14127.                         {
  14128.                             switch (str[7] | 0x20)
  14129.                             {
  14130.                                 case '1':
  14131.                                 {
  14132.                                     idx += 8;
  14133.                                     return X11_SIENNA_1;
  14134.                                 }
  14135.                                 case '2':
  14136.                                 {
  14137.                                     idx += 8;
  14138.                                     return X11_SIENNA_2;
  14139.                                 }
  14140.                                 case '3':
  14141.                                 {
  14142.                                     idx += 8;
  14143.                                     return X11_SIENNA_3;
  14144.                                 }
  14145.                                 case '4':
  14146.                                 {
  14147.                                     idx += 8;
  14148.                                     return X11_SIENNA_4;
  14149.                                 }
  14150.                             }
  14151.                         }
  14152.                         case '1':
  14153.                         {
  14154.                             idx += 7;
  14155.                             return X11_SIENNA1;
  14156.                         }
  14157.                         case '2':
  14158.                         {
  14159.                             idx += 7;
  14160.                             return X11_SIENNA2;
  14161.                         }
  14162.                         case '3':
  14163.                         {
  14164.                             idx += 7;
  14165.                             return X11_SIENNA3;
  14166.                         }
  14167.                         case '4':
  14168.                         {
  14169.                             idx += 7;
  14170.                             return X11_SIENNA4;
  14171.                         }
  14172.                     }
  14173.                     idx += 6;
  14174.                     return X11_SIENNA;
  14175.                 }
  14176.                 case 'k':
  14177.                 {
  14178.                     if (str[2] != 'Y')
  14179.                     {
  14180.                         return -1;
  14181.                     }
  14182.                     switch (str[3] | 0x20)
  14183.                     {
  14184.                         case ' ' | 0x20: // ' '
  14185.                         {
  14186.                             if (str[3])
  14187.                             {
  14188.                                 if (!str[4] || strcmp(str[4], !"BLUE", true, 4))
  14189.                                 {
  14190.                                     return -1;
  14191.                                 }
  14192.                                 switch (str[8] | 0x20)
  14193.                                 {
  14194.                                     case ' ' | 0x20: // ' '
  14195.                                     {
  14196.                                         if (str[8])
  14197.                                         {
  14198.                                             switch (str[9] | 0x20)
  14199.                                             {
  14200.                                                 case '1':
  14201.                                                 {
  14202.                                                     idx += 10;
  14203.                                                     return X11_SKY_BLUE_1;
  14204.                                                 }
  14205.                                                 case '2':
  14206.                                                 {
  14207.                                                     idx += 10;
  14208.                                                     return X11_SKY_BLUE_2;
  14209.                                                 }
  14210.                                                 case '3':
  14211.                                                 {
  14212.                                                     idx += 10;
  14213.                                                     return X11_SKY_BLUE_3;
  14214.                                                 }
  14215.                                                 case '4':
  14216.                                                 {
  14217.                                                     idx += 10;
  14218.                                                     return X11_SKY_BLUE_4;
  14219.                                                 }
  14220.                                             }
  14221.                                         }
  14222.                                     }
  14223.                                     case '_' | 0x20:
  14224.                                     {
  14225.                                         switch (str[9] | 0x20)
  14226.                                         {
  14227.                                             case '1':
  14228.                                             {
  14229.                                                 idx += 10;
  14230.                                                 return X11_SKY_BLUE_1;
  14231.                                             }
  14232.                                             case '2':
  14233.                                             {
  14234.                                                 idx += 10;
  14235.                                                 return X11_SKY_BLUE_2;
  14236.                                             }
  14237.                                             case '3':
  14238.                                             {
  14239.                                                 idx += 10;
  14240.                                                 return X11_SKY_BLUE_3;
  14241.                                             }
  14242.                                             case '4':
  14243.                                             {
  14244.                                                 idx += 10;
  14245.                                                 return X11_SKY_BLUE_4;
  14246.                                             }
  14247.                                         }
  14248.                                     }
  14249.                                 }
  14250.                                 idx += 8;
  14251.                                 return X11_SKY_BLUE;
  14252.                             }
  14253.                         }
  14254.                         case '_' | 0x20:
  14255.                         {
  14256.                             if (!str[4] || strcmp(str[4], !"BLUE", true, 4))
  14257.                             {
  14258.                                 return -1;
  14259.                             }
  14260.                             switch (str[8] | 0x20)
  14261.                             {
  14262.                                 case ' ' | 0x20: // ' '
  14263.                                 {
  14264.                                     if (str[8])
  14265.                                     {
  14266.                                         switch (str[9] | 0x20)
  14267.                                         {
  14268.                                             case '1':
  14269.                                             {
  14270.                                                 idx += 10;
  14271.                                                 return X11_SKY_BLUE_1;
  14272.                                             }
  14273.                                             case '2':
  14274.                                             {
  14275.                                                 idx += 10;
  14276.                                                 return X11_SKY_BLUE_2;
  14277.                                             }
  14278.                                             case '3':
  14279.                                             {
  14280.                                                 idx += 10;
  14281.                                                 return X11_SKY_BLUE_3;
  14282.                                             }
  14283.                                             case '4':
  14284.                                             {
  14285.                                                 idx += 10;
  14286.                                                 return X11_SKY_BLUE_4;
  14287.                                             }
  14288.                                         }
  14289.                                     }
  14290.                                 }
  14291.                                 case '_' | 0x20:
  14292.                                 {
  14293.                                     switch (str[9] | 0x20)
  14294.                                     {
  14295.                                         case '1':
  14296.                                         {
  14297.                                             idx += 10;
  14298.                                             return X11_SKY_BLUE_1;
  14299.                                         }
  14300.                                         case '2':
  14301.                                         {
  14302.                                             idx += 10;
  14303.                                             return X11_SKY_BLUE_2;
  14304.                                         }
  14305.                                         case '3':
  14306.                                         {
  14307.                                             idx += 10;
  14308.                                             return X11_SKY_BLUE_3;
  14309.                                         }
  14310.                                         case '4':
  14311.                                         {
  14312.                                             idx += 10;
  14313.                                             return X11_SKY_BLUE_4;
  14314.                                         }
  14315.                                     }
  14316.                                 }
  14317.                             }
  14318.                             idx += 8;
  14319.                             return X11_SKY_BLUE;
  14320.                         }
  14321.                         case 'b':
  14322.                         {
  14323.                             if (!str[4] || strcmp(str[4], !"LUE", true, 3))
  14324.                             {
  14325.                                 return -1;
  14326.                             }
  14327.                             switch (str[7] | 0x20)
  14328.                             {
  14329.                                 case '1':
  14330.                                 {
  14331.                                     idx += 8;
  14332.                                     return X11_SKYBLUE1;
  14333.                                 }
  14334.                                 case '2':
  14335.                                 {
  14336.                                     idx += 8;
  14337.                                     return X11_SKYBLUE2;
  14338.                                 }
  14339.                                 case '3':
  14340.                                 {
  14341.                                     idx += 8;
  14342.                                     return X11_SKYBLUE3;
  14343.                                 }
  14344.                                 case '4':
  14345.                                 {
  14346.                                     idx += 8;
  14347.                                     return X11_SKYBLUE4;
  14348.                                 }
  14349.                             }
  14350.                             idx += 7;
  14351.                             return X11_SKYBLUE;
  14352.                         }
  14353.                     }
  14354.                 }
  14355.                 case 'l':
  14356.                 {
  14357.                     if (!str[2] || strcmp(str[2], !"ATE", true, 3))
  14358.                     {
  14359.                         return -1;
  14360.                     }
  14361.                     switch (str[5] | 0x20)
  14362.                     {
  14363.                         case ' ' | 0x20: // ' '
  14364.                         {
  14365.                             if (str[5])
  14366.                             {
  14367.                                 switch (str[6] | 0x20)
  14368.                                 {
  14369.                                     case 'b':
  14370.                                     {
  14371.                                         if (!str[7] || strcmp(str[7], !"LUE", true, 3))
  14372.                                         {
  14373.                                             return -1;
  14374.                                         }
  14375.                                         switch (str[10] | 0x20)
  14376.                                         {
  14377.                                             case ' ' | 0x20: // ' '
  14378.                                             {
  14379.                                                 if (str[10])
  14380.                                                 {
  14381.                                                     switch (str[11] | 0x20)
  14382.                                                     {
  14383.                                                         case '1':
  14384.                                                         {
  14385.                                                             idx += 12;
  14386.                                                             return X11_SLATE_BLUE_1;
  14387.                                                         }
  14388.                                                         case '2':
  14389.                                                         {
  14390.                                                             idx += 12;
  14391.                                                             return X11_SLATE_BLUE_2;
  14392.                                                         }
  14393.                                                         case '3':
  14394.                                                         {
  14395.                                                             idx += 12;
  14396.                                                             return X11_SLATE_BLUE_3;
  14397.                                                         }
  14398.                                                         case '4':
  14399.                                                         {
  14400.                                                             idx += 12;
  14401.                                                             return X11_SLATE_BLUE_4;
  14402.                                                         }
  14403.                                                     }
  14404.                                                 }
  14405.                                             }
  14406.                                             case '_' | 0x20:
  14407.                                             {
  14408.                                                 switch (str[11] | 0x20)
  14409.                                                 {
  14410.                                                     case '1':
  14411.                                                     {
  14412.                                                         idx += 12;
  14413.                                                         return X11_SLATE_BLUE_1;
  14414.                                                     }
  14415.                                                     case '2':
  14416.                                                     {
  14417.                                                         idx += 12;
  14418.                                                         return X11_SLATE_BLUE_2;
  14419.                                                     }
  14420.                                                     case '3':
  14421.                                                     {
  14422.                                                         idx += 12;
  14423.                                                         return X11_SLATE_BLUE_3;
  14424.                                                     }
  14425.                                                     case '4':
  14426.                                                     {
  14427.                                                         idx += 12;
  14428.                                                         return X11_SLATE_BLUE_4;
  14429.                                                     }
  14430.                                                 }
  14431.                                             }
  14432.                                         }
  14433.                                         idx += 10;
  14434.                                         return X11_SLATE_BLUE;
  14435.                                     }
  14436.                                     case 'g':
  14437.                                     {
  14438.                                         if (str[7] != 'R')
  14439.                                         {
  14440.                                             return -1;
  14441.                                         }
  14442.                                         switch (str[8] | 0x20)
  14443.                                         {
  14444.                                             case 'a':
  14445.                                             {
  14446.                                                 if (str[9] != 'Y')
  14447.                                                 {
  14448.                                                     return -1;
  14449.                                                 }
  14450.                                                 switch (str[10] | 0x20)
  14451.                                                 {
  14452.                                                     case ' ' | 0x20: // ' '
  14453.                                                     {
  14454.                                                         if (str[10])
  14455.                                                         {
  14456.                                                             switch (str[11] | 0x20)
  14457.                                                             {
  14458.                                                                 case '1':
  14459.                                                                 {
  14460.                                                                     idx += 12;
  14461.                                                                     return X11_SLATE_GRAY_1;
  14462.                                                                 }
  14463.                                                                 case '2':
  14464.                                                                 {
  14465.                                                                     idx += 12;
  14466.                                                                     return X11_SLATE_GRAY_2;
  14467.                                                                 }
  14468.                                                                 case '3':
  14469.                                                                 {
  14470.                                                                     idx += 12;
  14471.                                                                     return X11_SLATE_GRAY_3;
  14472.                                                                 }
  14473.                                                                 case '4':
  14474.                                                                 {
  14475.                                                                     idx += 12;
  14476.                                                                     return X11_SLATE_GRAY_4;
  14477.                                                                 }
  14478.                                                             }
  14479.                                                         }
  14480.                                                     }
  14481.                                                     case '_' | 0x20:
  14482.                                                     {
  14483.                                                         switch (str[11] | 0x20)
  14484.                                                         {
  14485.                                                             case '1':
  14486.                                                             {
  14487.                                                                 idx += 12;
  14488.                                                                 return X11_SLATE_GRAY_1;
  14489.                                                             }
  14490.                                                             case '2':
  14491.                                                             {
  14492.                                                                 idx += 12;
  14493.                                                                 return X11_SLATE_GRAY_2;
  14494.                                                             }
  14495.                                                             case '3':
  14496.                                                             {
  14497.                                                                 idx += 12;
  14498.                                                                 return X11_SLATE_GRAY_3;
  14499.                                                             }
  14500.                                                             case '4':
  14501.                                                             {
  14502.                                                                 idx += 12;
  14503.                                                                 return X11_SLATE_GRAY_4;
  14504.                                                             }
  14505.                                                         }
  14506.                                                     }
  14507.                                                 }
  14508.                                                 idx += 10;
  14509.                                                 return X11_SLATE_GRAY;
  14510.                                             }
  14511.                                             case 'e':
  14512.                                             {
  14513.                                                 if (str[9] == 'Y')
  14514.                                                 {
  14515.                                                     idx += 10;
  14516.                                                     return X11_SLATE_GREY;
  14517.                                                 }
  14518.                                             }
  14519.                                         }
  14520.                                     }
  14521.                                 }
  14522.                             }
  14523.                         }
  14524.                         case '_' | 0x20:
  14525.                         {
  14526.                             switch (str[6] | 0x20)
  14527.                             {
  14528.                                 case 'b':
  14529.                                 {
  14530.                                     if (!str[7] || strcmp(str[7], !"LUE", true, 3))
  14531.                                     {
  14532.                                         return -1;
  14533.                                     }
  14534.                                     switch (str[10] | 0x20)
  14535.                                     {
  14536.                                         case ' ' | 0x20: // ' '
  14537.                                         {
  14538.                                             if (str[10])
  14539.                                             {
  14540.                                                 switch (str[11] | 0x20)
  14541.                                                 {
  14542.                                                     case '1':
  14543.                                                     {
  14544.                                                         idx += 12;
  14545.                                                         return X11_SLATE_BLUE_1;
  14546.                                                     }
  14547.                                                     case '2':
  14548.                                                     {
  14549.                                                         idx += 12;
  14550.                                                         return X11_SLATE_BLUE_2;
  14551.                                                     }
  14552.                                                     case '3':
  14553.                                                     {
  14554.                                                         idx += 12;
  14555.                                                         return X11_SLATE_BLUE_3;
  14556.                                                     }
  14557.                                                     case '4':
  14558.                                                     {
  14559.                                                         idx += 12;
  14560.                                                         return X11_SLATE_BLUE_4;
  14561.                                                     }
  14562.                                                 }
  14563.                                             }
  14564.                                         }
  14565.                                         case '_' | 0x20:
  14566.                                         {
  14567.                                             switch (str[11] | 0x20)
  14568.                                             {
  14569.                                                 case '1':
  14570.                                                 {
  14571.                                                     idx += 12;
  14572.                                                     return X11_SLATE_BLUE_1;
  14573.                                                 }
  14574.                                                 case '2':
  14575.                                                 {
  14576.                                                     idx += 12;
  14577.                                                     return X11_SLATE_BLUE_2;
  14578.                                                 }
  14579.                                                 case '3':
  14580.                                                 {
  14581.                                                     idx += 12;
  14582.                                                     return X11_SLATE_BLUE_3;
  14583.                                                 }
  14584.                                                 case '4':
  14585.                                                 {
  14586.                                                     idx += 12;
  14587.                                                     return X11_SLATE_BLUE_4;
  14588.                                                 }
  14589.                                             }
  14590.                                         }
  14591.                                     }
  14592.                                     idx += 10;
  14593.                                     return X11_SLATE_BLUE;
  14594.                                 }
  14595.                                 case 'g':
  14596.                                 {
  14597.                                     if (str[7] != 'R')
  14598.                                     {
  14599.                                         return -1;
  14600.                                     }
  14601.                                     switch (str[8] | 0x20)
  14602.                                     {
  14603.                                         case 'a':
  14604.                                         {
  14605.                                             if (str[9] != 'Y')
  14606.                                             {
  14607.                                                 return -1;
  14608.                                             }
  14609.                                             switch (str[10] | 0x20)
  14610.                                             {
  14611.                                                 case ' ' | 0x20: // ' '
  14612.                                                 {
  14613.                                                     if (str[10])
  14614.                                                     {
  14615.                                                         switch (str[11] | 0x20)
  14616.                                                         {
  14617.                                                             case '1':
  14618.                                                             {
  14619.                                                                 idx += 12;
  14620.                                                                 return X11_SLATE_GRAY_1;
  14621.                                                             }
  14622.                                                             case '2':
  14623.                                                             {
  14624.                                                                 idx += 12;
  14625.                                                                 return X11_SLATE_GRAY_2;
  14626.                                                             }
  14627.                                                             case '3':
  14628.                                                             {
  14629.                                                                 idx += 12;
  14630.                                                                 return X11_SLATE_GRAY_3;
  14631.                                                             }
  14632.                                                             case '4':
  14633.                                                             {
  14634.                                                                 idx += 12;
  14635.                                                                 return X11_SLATE_GRAY_4;
  14636.                                                             }
  14637.                                                         }
  14638.                                                     }
  14639.                                                 }
  14640.                                                 case '_' | 0x20:
  14641.                                                 {
  14642.                                                     switch (str[11] | 0x20)
  14643.                                                     {
  14644.                                                         case '1':
  14645.                                                         {
  14646.                                                             idx += 12;
  14647.                                                             return X11_SLATE_GRAY_1;
  14648.                                                         }
  14649.                                                         case '2':
  14650.                                                         {
  14651.                                                             idx += 12;
  14652.                                                             return X11_SLATE_GRAY_2;
  14653.                                                         }
  14654.                                                         case '3':
  14655.                                                         {
  14656.                                                             idx += 12;
  14657.                                                             return X11_SLATE_GRAY_3;
  14658.                                                         }
  14659.                                                         case '4':
  14660.                                                         {
  14661.                                                             idx += 12;
  14662.                                                             return X11_SLATE_GRAY_4;
  14663.                                                         }
  14664.                                                     }
  14665.                                                 }
  14666.                                             }
  14667.                                             idx += 10;
  14668.                                             return X11_SLATE_GRAY;
  14669.                                         }
  14670.                                         case 'e':
  14671.                                         {
  14672.                                             if (str[9] == 'Y')
  14673.                                             {
  14674.                                                 idx += 10;
  14675.                                                 return X11_SLATE_GREY;
  14676.                                             }
  14677.                                         }
  14678.                                     }
  14679.                                 }
  14680.                             }
  14681.                         }
  14682.                         case 'b':
  14683.                         {
  14684.                             if (!str[6] || strcmp(str[6], !"LUE", true, 3))
  14685.                             {
  14686.                                 return -1;
  14687.                             }
  14688.                             switch (str[9] | 0x20)
  14689.                             {
  14690.                                 case '1':
  14691.                                 {
  14692.                                     idx += 10;
  14693.                                     return X11_SLATEBLUE1;
  14694.                                 }
  14695.                                 case '2':
  14696.                                 {
  14697.                                     idx += 10;
  14698.                                     return X11_SLATEBLUE2;
  14699.                                 }
  14700.                                 case '3':
  14701.                                 {
  14702.                                     idx += 10;
  14703.                                     return X11_SLATEBLUE3;
  14704.                                 }
  14705.                                 case '4':
  14706.                                 {
  14707.                                     idx += 10;
  14708.                                     return X11_SLATEBLUE4;
  14709.                                 }
  14710.                             }
  14711.                             idx += 9;
  14712.                             return X11_SLATEBLUE;
  14713.                         }
  14714.                         case 'g':
  14715.                         {
  14716.                             if (str[6] != 'R')
  14717.                             {
  14718.                                 return -1;
  14719.                             }
  14720.                             switch (str[7] | 0x20)
  14721.                             {
  14722.                                 case 'a':
  14723.                                 {
  14724.                                     if (str[8] != 'Y')
  14725.                                     {
  14726.                                         return -1;
  14727.                                     }
  14728.                                     switch (str[9] | 0x20)
  14729.                                     {
  14730.                                         case '1':
  14731.                                         {
  14732.                                             idx += 10;
  14733.                                             return X11_SLATEGRAY1;
  14734.                                         }
  14735.                                         case '2':
  14736.                                         {
  14737.                                             idx += 10;
  14738.                                             return X11_SLATEGRAY2;
  14739.                                         }
  14740.                                         case '3':
  14741.                                         {
  14742.                                             idx += 10;
  14743.                                             return X11_SLATEGRAY3;
  14744.                                         }
  14745.                                         case '4':
  14746.                                         {
  14747.                                             idx += 10;
  14748.                                             return X11_SLATEGRAY4;
  14749.                                         }
  14750.                                     }
  14751.                                     idx += 9;
  14752.                                     return X11_SLATEGRAY;
  14753.                                 }
  14754.                                 case 'e':
  14755.                                 {
  14756.                                     if (str[8] == 'Y')
  14757.                                     {
  14758.                                         idx += 9;
  14759.                                         return X11_SLATEGREY;
  14760.                                     }
  14761.                                 }
  14762.                             }
  14763.                         }
  14764.                     }
  14765.                 }
  14766.                 case 'n':
  14767.                 {
  14768.                     if (!str[2] || strcmp(str[2], !"OW", true, 2))
  14769.                     {
  14770.                         return -1;
  14771.                     }
  14772.                     switch (str[4] | 0x20)
  14773.                     {
  14774.                         case ' ' | 0x20: // ' '
  14775.                         {
  14776.                             if (str[4])
  14777.                             {
  14778.                                 switch (str[5] | 0x20)
  14779.                                 {
  14780.                                     case '1':
  14781.                                     {
  14782.                                         idx += 6;
  14783.                                         return X11_SNOW_1;
  14784.                                     }
  14785.                                     case '2':
  14786.                                     {
  14787.                                         idx += 6;
  14788.                                         return X11_SNOW_2;
  14789.                                     }
  14790.                                     case '3':
  14791.                                     {
  14792.                                         idx += 6;
  14793.                                         return X11_SNOW_3;
  14794.                                     }
  14795.                                     case '4':
  14796.                                     {
  14797.                                         idx += 6;
  14798.                                         return X11_SNOW_4;
  14799.                                     }
  14800.                                 }
  14801.                             }
  14802.                         }
  14803.                         case '_' | 0x20:
  14804.                         {
  14805.                             switch (str[5] | 0x20)
  14806.                             {
  14807.                                 case '1':
  14808.                                 {
  14809.                                     idx += 6;
  14810.                                     return X11_SNOW_1;
  14811.                                 }
  14812.                                 case '2':
  14813.                                 {
  14814.                                     idx += 6;
  14815.                                     return X11_SNOW_2;
  14816.                                 }
  14817.                                 case '3':
  14818.                                 {
  14819.                                     idx += 6;
  14820.                                     return X11_SNOW_3;
  14821.                                 }
  14822.                                 case '4':
  14823.                                 {
  14824.                                     idx += 6;
  14825.                                     return X11_SNOW_4;
  14826.                                 }
  14827.                             }
  14828.                         }
  14829.                         case '1':
  14830.                         {
  14831.                             idx += 5;
  14832.                             return X11_SNOW1;
  14833.                         }
  14834.                         case '2':
  14835.                         {
  14836.                             idx += 5;
  14837.                             return X11_SNOW2;
  14838.                         }
  14839.                         case '3':
  14840.                         {
  14841.                             idx += 5;
  14842.                             return X11_SNOW3;
  14843.                         }
  14844.                         case '4':
  14845.                         {
  14846.                             idx += 5;
  14847.                             return X11_SNOW4;
  14848.                         }
  14849.                     }
  14850.                     idx += 4;
  14851.                     return X11_SNOW;
  14852.                 }
  14853.                 case 'p':
  14854.                 {
  14855.                     if (!str[2] || strcmp(str[2], !"RING", true, 4))
  14856.                     {
  14857.                         return -1;
  14858.                     }
  14859.                     switch (str[6] | 0x20)
  14860.                     {
  14861.                         case ' ' | 0x20: // ' '
  14862.                         {
  14863.                             if (str[6])
  14864.                             {
  14865.                                 if (!str[7] || strcmp(str[7], !"GREEN", true, 5))
  14866.                                 {
  14867.                                     return -1;
  14868.                                 }
  14869.                                 switch (str[12] | 0x20)
  14870.                                 {
  14871.                                     case ' ' | 0x20: // ' '
  14872.                                     {
  14873.                                         if (str[12])
  14874.                                         {
  14875.                                             switch (str[13] | 0x20)
  14876.                                             {
  14877.                                                 case '1':
  14878.                                                 {
  14879.                                                     idx += 14;
  14880.                                                     return X11_SPRING_GREEN_1;
  14881.                                                 }
  14882.                                                 case '2':
  14883.                                                 {
  14884.                                                     idx += 14;
  14885.                                                     return X11_SPRING_GREEN_2;
  14886.                                                 }
  14887.                                                 case '3':
  14888.                                                 {
  14889.                                                     idx += 14;
  14890.                                                     return X11_SPRING_GREEN_3;
  14891.                                                 }
  14892.                                                 case '4':
  14893.                                                 {
  14894.                                                     idx += 14;
  14895.                                                     return X11_SPRING_GREEN_4;
  14896.                                                 }
  14897.                                             }
  14898.                                         }
  14899.                                     }
  14900.                                     case '_' | 0x20:
  14901.                                     {
  14902.                                         switch (str[13] | 0x20)
  14903.                                         {
  14904.                                             case '1':
  14905.                                             {
  14906.                                                 idx += 14;
  14907.                                                 return X11_SPRING_GREEN_1;
  14908.                                             }
  14909.                                             case '2':
  14910.                                             {
  14911.                                                 idx += 14;
  14912.                                                 return X11_SPRING_GREEN_2;
  14913.                                             }
  14914.                                             case '3':
  14915.                                             {
  14916.                                                 idx += 14;
  14917.                                                 return X11_SPRING_GREEN_3;
  14918.                                             }
  14919.                                             case '4':
  14920.                                             {
  14921.                                                 idx += 14;
  14922.                                                 return X11_SPRING_GREEN_4;
  14923.                                             }
  14924.                                         }
  14925.                                     }
  14926.                                 }
  14927.                                 idx += 12;
  14928.                                 return X11_SPRING_GREEN;
  14929.                             }
  14930.                         }
  14931.                         case '_' | 0x20:
  14932.                         {
  14933.                             if (!str[7] || strcmp(str[7], !"GREEN", true, 5))
  14934.                             {
  14935.                                 return -1;
  14936.                             }
  14937.                             switch (str[12] | 0x20)
  14938.                             {
  14939.                                 case ' ' | 0x20: // ' '
  14940.                                 {
  14941.                                     if (str[12])
  14942.                                     {
  14943.                                         switch (str[13] | 0x20)
  14944.                                         {
  14945.                                             case '1':
  14946.                                             {
  14947.                                                 idx += 14;
  14948.                                                 return X11_SPRING_GREEN_1;
  14949.                                             }
  14950.                                             case '2':
  14951.                                             {
  14952.                                                 idx += 14;
  14953.                                                 return X11_SPRING_GREEN_2;
  14954.                                             }
  14955.                                             case '3':
  14956.                                             {
  14957.                                                 idx += 14;
  14958.                                                 return X11_SPRING_GREEN_3;
  14959.                                             }
  14960.                                             case '4':
  14961.                                             {
  14962.                                                 idx += 14;
  14963.                                                 return X11_SPRING_GREEN_4;
  14964.                                             }
  14965.                                         }
  14966.                                     }
  14967.                                 }
  14968.                                 case '_' | 0x20:
  14969.                                 {
  14970.                                     switch (str[13] | 0x20)
  14971.                                     {
  14972.                                         case '1':
  14973.                                         {
  14974.                                             idx += 14;
  14975.                                             return X11_SPRING_GREEN_1;
  14976.                                         }
  14977.                                         case '2':
  14978.                                         {
  14979.                                             idx += 14;
  14980.                                             return X11_SPRING_GREEN_2;
  14981.                                         }
  14982.                                         case '3':
  14983.                                         {
  14984.                                             idx += 14;
  14985.                                             return X11_SPRING_GREEN_3;
  14986.                                         }
  14987.                                         case '4':
  14988.                                         {
  14989.                                             idx += 14;
  14990.                                             return X11_SPRING_GREEN_4;
  14991.                                         }
  14992.                                     }
  14993.                                 }
  14994.                             }
  14995.                             idx += 12;
  14996.                             return X11_SPRING_GREEN;
  14997.                         }
  14998.                         case 'g':
  14999.                         {
  15000.                             if (!str[7] || strcmp(str[7], !"REEN", true, 4))
  15001.                             {
  15002.                                 return -1;
  15003.                             }
  15004.                             switch (str[11] | 0x20)
  15005.                             {
  15006.                                 case '1':
  15007.                                 {
  15008.                                     idx += 12;
  15009.                                     return X11_SPRINGGREEN1;
  15010.                                 }
  15011.                                 case '2':
  15012.                                 {
  15013.                                     idx += 12;
  15014.                                     return X11_SPRINGGREEN2;
  15015.                                 }
  15016.                                 case '3':
  15017.                                 {
  15018.                                     idx += 12;
  15019.                                     return X11_SPRINGGREEN3;
  15020.                                 }
  15021.                                 case '4':
  15022.                                 {
  15023.                                     idx += 12;
  15024.                                     return X11_SPRINGGREEN4;
  15025.                                 }
  15026.                             }
  15027.                             idx += 11;
  15028.                             return X11_SPRINGGREEN;
  15029.                         }
  15030.                     }
  15031.                 }
  15032.                 case 't':
  15033.                 {
  15034.                     if (!str[2] || strcmp(str[2], !"EEL", true, 3))
  15035.                     {
  15036.                         return -1;
  15037.                     }
  15038.                     switch (str[5] | 0x20)
  15039.                     {
  15040.                         case ' ' | 0x20: // ' '
  15041.                         {
  15042.                             if (str[5])
  15043.                             {
  15044.                                 if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  15045.                                 {
  15046.                                     return -1;
  15047.                                 }
  15048.                                 switch (str[10] | 0x20)
  15049.                                 {
  15050.                                     case ' ' | 0x20: // ' '
  15051.                                     {
  15052.                                         if (str[10])
  15053.                                         {
  15054.                                             switch (str[11] | 0x20)
  15055.                                             {
  15056.                                                 case '1':
  15057.                                                 {
  15058.                                                     idx += 12;
  15059.                                                     return X11_STEEL_BLUE_1;
  15060.                                                 }
  15061.                                                 case '2':
  15062.                                                 {
  15063.                                                     idx += 12;
  15064.                                                     return X11_STEEL_BLUE_2;
  15065.                                                 }
  15066.                                                 case '3':
  15067.                                                 {
  15068.                                                     idx += 12;
  15069.                                                     return X11_STEEL_BLUE_3;
  15070.                                                 }
  15071.                                                 case '4':
  15072.                                                 {
  15073.                                                     idx += 12;
  15074.                                                     return X11_STEEL_BLUE_4;
  15075.                                                 }
  15076.                                             }
  15077.                                         }
  15078.                                     }
  15079.                                     case '_' | 0x20:
  15080.                                     {
  15081.                                         switch (str[11] | 0x20)
  15082.                                         {
  15083.                                             case '1':
  15084.                                             {
  15085.                                                 idx += 12;
  15086.                                                 return X11_STEEL_BLUE_1;
  15087.                                             }
  15088.                                             case '2':
  15089.                                             {
  15090.                                                 idx += 12;
  15091.                                                 return X11_STEEL_BLUE_2;
  15092.                                             }
  15093.                                             case '3':
  15094.                                             {
  15095.                                                 idx += 12;
  15096.                                                 return X11_STEEL_BLUE_3;
  15097.                                             }
  15098.                                             case '4':
  15099.                                             {
  15100.                                                 idx += 12;
  15101.                                                 return X11_STEEL_BLUE_4;
  15102.                                             }
  15103.                                         }
  15104.                                     }
  15105.                                 }
  15106.                                 idx += 10;
  15107.                                 return X11_STEEL_BLUE;
  15108.                             }
  15109.                         }
  15110.                         case '_' | 0x20:
  15111.                         {
  15112.                             if (!str[6] || strcmp(str[6], !"BLUE", true, 4))
  15113.                             {
  15114.                                 return -1;
  15115.                             }
  15116.                             switch (str[10] | 0x20)
  15117.                             {
  15118.                                 case ' ' | 0x20: // ' '
  15119.                                 {
  15120.                                     if (str[10])
  15121.                                     {
  15122.                                         switch (str[11] | 0x20)
  15123.                                         {
  15124.                                             case '1':
  15125.                                             {
  15126.                                                 idx += 12;
  15127.                                                 return X11_STEEL_BLUE_1;
  15128.                                             }
  15129.                                             case '2':
  15130.                                             {
  15131.                                                 idx += 12;
  15132.                                                 return X11_STEEL_BLUE_2;
  15133.                                             }
  15134.                                             case '3':
  15135.                                             {
  15136.                                                 idx += 12;
  15137.                                                 return X11_STEEL_BLUE_3;
  15138.                                             }
  15139.                                             case '4':
  15140.                                             {
  15141.                                                 idx += 12;
  15142.                                                 return X11_STEEL_BLUE_4;
  15143.                                             }
  15144.                                         }
  15145.                                     }
  15146.                                 }
  15147.                                 case '_' | 0x20:
  15148.                                 {
  15149.                                     switch (str[11] | 0x20)
  15150.                                     {
  15151.                                         case '1':
  15152.                                         {
  15153.                                             idx += 12;
  15154.                                             return X11_STEEL_BLUE_1;
  15155.                                         }
  15156.                                         case '2':
  15157.                                         {
  15158.                                             idx += 12;
  15159.                                             return X11_STEEL_BLUE_2;
  15160.                                         }
  15161.                                         case '3':
  15162.                                         {
  15163.                                             idx += 12;
  15164.                                             return X11_STEEL_BLUE_3;
  15165.                                         }
  15166.                                         case '4':
  15167.                                         {
  15168.                                             idx += 12;
  15169.                                             return X11_STEEL_BLUE_4;
  15170.                                         }
  15171.                                     }
  15172.                                 }
  15173.                             }
  15174.                             idx += 10;
  15175.                             return X11_STEEL_BLUE;
  15176.                         }
  15177.                         case 'b':
  15178.                         {
  15179.                             if (!str[6] || strcmp(str[6], !"LUE", true, 3))
  15180.                             {
  15181.                                 return -1;
  15182.                             }
  15183.                             switch (str[9] | 0x20)
  15184.                             {
  15185.                                 case '1':
  15186.                                 {
  15187.                                     idx += 10;
  15188.                                     return X11_STEELBLUE1;
  15189.                                 }
  15190.                                 case '2':
  15191.                                 {
  15192.                                     idx += 10;
  15193.                                     return X11_STEELBLUE2;
  15194.                                 }
  15195.                                 case '3':
  15196.                                 {
  15197.                                     idx += 10;
  15198.                                     return X11_STEELBLUE3;
  15199.                                 }
  15200.                                 case '4':
  15201.                                 {
  15202.                                     idx += 10;
  15203.                                     return X11_STEELBLUE4;
  15204.                                 }
  15205.                             }
  15206.                             idx += 9;
  15207.                             return X11_STEELBLUE;
  15208.                         }
  15209.                     }
  15210.                 }
  15211.             }
  15212.         }
  15213.         case 't':
  15214.         {
  15215.             switch (str[1] | 0x20)
  15216.             {
  15217.                 case 'a':
  15218.                 {
  15219.                     if (str[2] != 'N')
  15220.                     {
  15221.                         return -1;
  15222.                     }
  15223.                     switch (str[3] | 0x20)
  15224.                     {
  15225.                         case ' ' | 0x20: // ' '
  15226.                         {
  15227.                             if (str[3])
  15228.                             {
  15229.                                 switch (str[4] | 0x20)
  15230.                                 {
  15231.                                     case '1':
  15232.                                     {
  15233.                                         idx += 5;
  15234.                                         return X11_TAN_1;
  15235.                                     }
  15236.                                     case '2':
  15237.                                     {
  15238.                                         idx += 5;
  15239.                                         return X11_TAN_2;
  15240.                                     }
  15241.                                     case '3':
  15242.                                     {
  15243.                                         idx += 5;
  15244.                                         return X11_TAN_3;
  15245.                                     }
  15246.                                     case '4':
  15247.                                     {
  15248.                                         idx += 5;
  15249.                                         return X11_TAN_4;
  15250.                                     }
  15251.                                 }
  15252.                             }
  15253.                         }
  15254.                         case '_' | 0x20:
  15255.                         {
  15256.                             switch (str[4] | 0x20)
  15257.                             {
  15258.                                 case '1':
  15259.                                 {
  15260.                                     idx += 5;
  15261.                                     return X11_TAN_1;
  15262.                                 }
  15263.                                 case '2':
  15264.                                 {
  15265.                                     idx += 5;
  15266.                                     return X11_TAN_2;
  15267.                                 }
  15268.                                 case '3':
  15269.                                 {
  15270.                                     idx += 5;
  15271.                                     return X11_TAN_3;
  15272.                                 }
  15273.                                 case '4':
  15274.                                 {
  15275.                                     idx += 5;
  15276.                                     return X11_TAN_4;
  15277.                                 }
  15278.                             }
  15279.                         }
  15280.                         case '1':
  15281.                         {
  15282.                             idx += 4;
  15283.                             return X11_TAN1;
  15284.                         }
  15285.                         case '2':
  15286.                         {
  15287.                             idx += 4;
  15288.                             return X11_TAN2;
  15289.                         }
  15290.                         case '3':
  15291.                         {
  15292.                             idx += 4;
  15293.                             return X11_TAN3;
  15294.                         }
  15295.                         case '4':
  15296.                         {
  15297.                             idx += 4;
  15298.                             return X11_TAN4;
  15299.                         }
  15300.                     }
  15301.                     idx += 3;
  15302.                     return X11_TAN;
  15303.                 }
  15304.                 case 'h':
  15305.                 {
  15306.                     if (!str[2] || strcmp(str[2], !"ISTLE", true, 5))
  15307.                     {
  15308.                         return -1;
  15309.                     }
  15310.                     switch (str[7] | 0x20)
  15311.                     {
  15312.                         case ' ' | 0x20: // ' '
  15313.                         {
  15314.                             if (str[7])
  15315.                             {
  15316.                                 switch (str[8] | 0x20)
  15317.                                 {
  15318.                                     case '1':
  15319.                                     {
  15320.                                         idx += 9;
  15321.                                         return X11_THISTLE_1;
  15322.                                     }
  15323.                                     case '2':
  15324.                                     {
  15325.                                         idx += 9;
  15326.                                         return X11_THISTLE_2;
  15327.                                     }
  15328.                                     case '3':
  15329.                                     {
  15330.                                         idx += 9;
  15331.                                         return X11_THISTLE_3;
  15332.                                     }
  15333.                                     case '4':
  15334.                                     {
  15335.                                         idx += 9;
  15336.                                         return X11_THISTLE_4;
  15337.                                     }
  15338.                                 }
  15339.                             }
  15340.                         }
  15341.                         case '_' | 0x20:
  15342.                         {
  15343.                             switch (str[8] | 0x20)
  15344.                             {
  15345.                                 case '1':
  15346.                                 {
  15347.                                     idx += 9;
  15348.                                     return X11_THISTLE_1;
  15349.                                 }
  15350.                                 case '2':
  15351.                                 {
  15352.                                     idx += 9;
  15353.                                     return X11_THISTLE_2;
  15354.                                 }
  15355.                                 case '3':
  15356.                                 {
  15357.                                     idx += 9;
  15358.                                     return X11_THISTLE_3;
  15359.                                 }
  15360.                                 case '4':
  15361.                                 {
  15362.                                     idx += 9;
  15363.                                     return X11_THISTLE_4;
  15364.                                 }
  15365.                             }
  15366.                         }
  15367.                         case '1':
  15368.                         {
  15369.                             idx += 8;
  15370.                             return X11_THISTLE1;
  15371.                         }
  15372.                         case '2':
  15373.                         {
  15374.                             idx += 8;
  15375.                             return X11_THISTLE2;
  15376.                         }
  15377.                         case '3':
  15378.                         {
  15379.                             idx += 8;
  15380.                             return X11_THISTLE3;
  15381.                         }
  15382.                         case '4':
  15383.                         {
  15384.                             idx += 8;
  15385.                             return X11_THISTLE4;
  15386.                         }
  15387.                     }
  15388.                     idx += 7;
  15389.                     return X11_THISTLE;
  15390.                 }
  15391.                 case 'o':
  15392.                 {
  15393.                     if (!str[2] || strcmp(str[2], !"MATO", true, 4))
  15394.                     {
  15395.                         return -1;
  15396.                     }
  15397.                     switch (str[6] | 0x20)
  15398.                     {
  15399.                         case ' ' | 0x20: // ' '
  15400.                         {
  15401.                             if (str[6])
  15402.                             {
  15403.                                 switch (str[7] | 0x20)
  15404.                                 {
  15405.                                     case '1':
  15406.                                     {
  15407.                                         idx += 8;
  15408.                                         return X11_TOMATO_1;
  15409.                                     }
  15410.                                     case '2':
  15411.                                     {
  15412.                                         idx += 8;
  15413.                                         return X11_TOMATO_2;
  15414.                                     }
  15415.                                     case '3':
  15416.                                     {
  15417.                                         idx += 8;
  15418.                                         return X11_TOMATO_3;
  15419.                                     }
  15420.                                     case '4':
  15421.                                     {
  15422.                                         idx += 8;
  15423.                                         return X11_TOMATO_4;
  15424.                                     }
  15425.                                 }
  15426.                             }
  15427.                         }
  15428.                         case '_' | 0x20:
  15429.                         {
  15430.                             switch (str[7] | 0x20)
  15431.                             {
  15432.                                 case '1':
  15433.                                 {
  15434.                                     idx += 8;
  15435.                                     return X11_TOMATO_1;
  15436.                                 }
  15437.                                 case '2':
  15438.                                 {
  15439.                                     idx += 8;
  15440.                                     return X11_TOMATO_2;
  15441.                                 }
  15442.                                 case '3':
  15443.                                 {
  15444.                                     idx += 8;
  15445.                                     return X11_TOMATO_3;
  15446.                                 }
  15447.                                 case '4':
  15448.                                 {
  15449.                                     idx += 8;
  15450.                                     return X11_TOMATO_4;
  15451.                                 }
  15452.                             }
  15453.                         }
  15454.                         case '1':
  15455.                         {
  15456.                             idx += 7;
  15457.                             return X11_TOMATO1;
  15458.                         }
  15459.                         case '2':
  15460.                         {
  15461.                             idx += 7;
  15462.                             return X11_TOMATO2;
  15463.                         }
  15464.                         case '3':
  15465.                         {
  15466.                             idx += 7;
  15467.                             return X11_TOMATO3;
  15468.                         }
  15469.                         case '4':
  15470.                         {
  15471.                             idx += 7;
  15472.                             return X11_TOMATO4;
  15473.                         }
  15474.                     }
  15475.                     idx += 6;
  15476.                     return X11_TOMATO;
  15477.                 }
  15478.                 case 'u':
  15479.                 {
  15480.                     if (!str[2] || strcmp(str[2], !"RQUOISE", true, 7))
  15481.                     {
  15482.                         return -1;
  15483.                     }
  15484.                     switch (str[9] | 0x20)
  15485.                     {
  15486.                         case ' ' | 0x20: // ' '
  15487.                         {
  15488.                             if (str[9])
  15489.                             {
  15490.                                 switch (str[10] | 0x20)
  15491.                                 {
  15492.                                     case '1':
  15493.                                     {
  15494.                                         idx += 11;
  15495.                                         return X11_TURQUOISE_1;
  15496.                                     }
  15497.                                     case '2':
  15498.                                     {
  15499.                                         idx += 11;
  15500.                                         return X11_TURQUOISE_2;
  15501.                                     }
  15502.                                     case '3':
  15503.                                     {
  15504.                                         idx += 11;
  15505.                                         return X11_TURQUOISE_3;
  15506.                                     }
  15507.                                     case '4':
  15508.                                     {
  15509.                                         idx += 11;
  15510.                                         return X11_TURQUOISE_4;
  15511.                                     }
  15512.                                 }
  15513.                             }
  15514.                         }
  15515.                         case '_' | 0x20:
  15516.                         {
  15517.                             switch (str[10] | 0x20)
  15518.                             {
  15519.                                 case '1':
  15520.                                 {
  15521.                                     idx += 11;
  15522.                                     return X11_TURQUOISE_1;
  15523.                                 }
  15524.                                 case '2':
  15525.                                 {
  15526.                                     idx += 11;
  15527.                                     return X11_TURQUOISE_2;
  15528.                                 }
  15529.                                 case '3':
  15530.                                 {
  15531.                                     idx += 11;
  15532.                                     return X11_TURQUOISE_3;
  15533.                                 }
  15534.                                 case '4':
  15535.                                 {
  15536.                                     idx += 11;
  15537.                                     return X11_TURQUOISE_4;
  15538.                                 }
  15539.                             }
  15540.                         }
  15541.                         case '1':
  15542.                         {
  15543.                             idx += 10;
  15544.                             return X11_TURQUOISE1;
  15545.                         }
  15546.                         case '2':
  15547.                         {
  15548.                             idx += 10;
  15549.                             return X11_TURQUOISE2;
  15550.                         }
  15551.                         case '3':
  15552.                         {
  15553.                             idx += 10;
  15554.                             return X11_TURQUOISE3;
  15555.                         }
  15556.                         case '4':
  15557.                         {
  15558.                             idx += 10;
  15559.                             return X11_TURQUOISE4;
  15560.                         }
  15561.                     }
  15562.                     idx += 9;
  15563.                     return X11_TURQUOISE;
  15564.                 }
  15565.             }
  15566.         }
  15567.         case 'v':
  15568.         {
  15569.             if (!str[1] || strcmp(str[1], !"IOLET", true, 5))
  15570.             {
  15571.                 return -1;
  15572.             }
  15573.             switch (str[6] | 0x20)
  15574.             {
  15575.                 case ' ' | 0x20: // ' '
  15576.                 {
  15577.                     if (str[6])
  15578.                     {
  15579.                         if (!str[7] || strcmp(str[7], !"RED", true, 3))
  15580.                         {
  15581.                             return -1;
  15582.                         }
  15583.                         switch (str[10] | 0x20)
  15584.                         {
  15585.                             case ' ' | 0x20: // ' '
  15586.                             {
  15587.                                 if (str[10])
  15588.                                 {
  15589.                                     switch (str[11] | 0x20)
  15590.                                     {
  15591.                                         case '1':
  15592.                                         {
  15593.                                             idx += 12;
  15594.                                             return X11_VIOLET_RED_1;
  15595.                                         }
  15596.                                         case '2':
  15597.                                         {
  15598.                                             idx += 12;
  15599.                                             return X11_VIOLET_RED_2;
  15600.                                         }
  15601.                                         case '3':
  15602.                                         {
  15603.                                             idx += 12;
  15604.                                             return X11_VIOLET_RED_3;
  15605.                                         }
  15606.                                         case '4':
  15607.                                         {
  15608.                                             idx += 12;
  15609.                                             return X11_VIOLET_RED_4;
  15610.                                         }
  15611.                                     }
  15612.                                 }
  15613.                             }
  15614.                             case '_' | 0x20:
  15615.                             {
  15616.                                 switch (str[11] | 0x20)
  15617.                                 {
  15618.                                     case '1':
  15619.                                     {
  15620.                                         idx += 12;
  15621.                                         return X11_VIOLET_RED_1;
  15622.                                     }
  15623.                                     case '2':
  15624.                                     {
  15625.                                         idx += 12;
  15626.                                         return X11_VIOLET_RED_2;
  15627.                                     }
  15628.                                     case '3':
  15629.                                     {
  15630.                                         idx += 12;
  15631.                                         return X11_VIOLET_RED_3;
  15632.                                     }
  15633.                                     case '4':
  15634.                                     {
  15635.                                         idx += 12;
  15636.                                         return X11_VIOLET_RED_4;
  15637.                                     }
  15638.                                 }
  15639.                             }
  15640.                         }
  15641.                         idx += 10;
  15642.                         return X11_VIOLET_RED;
  15643.                     }
  15644.                 }
  15645.                 case '_' | 0x20:
  15646.                 {
  15647.                     if (!str[7] || strcmp(str[7], !"RED", true, 3))
  15648.                     {
  15649.                         return -1;
  15650.                     }
  15651.                     switch (str[10] | 0x20)
  15652.                     {
  15653.                         case ' ' | 0x20: // ' '
  15654.                         {
  15655.                             if (str[10])
  15656.                             {
  15657.                                 switch (str[11] | 0x20)
  15658.                                 {
  15659.                                     case '1':
  15660.                                     {
  15661.                                         idx += 12;
  15662.                                         return X11_VIOLET_RED_1;
  15663.                                     }
  15664.                                     case '2':
  15665.                                     {
  15666.                                         idx += 12;
  15667.                                         return X11_VIOLET_RED_2;
  15668.                                     }
  15669.                                     case '3':
  15670.                                     {
  15671.                                         idx += 12;
  15672.                                         return X11_VIOLET_RED_3;
  15673.                                     }
  15674.                                     case '4':
  15675.                                     {
  15676.                                         idx += 12;
  15677.                                         return X11_VIOLET_RED_4;
  15678.                                     }
  15679.                                 }
  15680.                             }
  15681.                         }
  15682.                         case '_' | 0x20:
  15683.                         {
  15684.                             switch (str[11] | 0x20)
  15685.                             {
  15686.                                 case '1':
  15687.                                 {
  15688.                                     idx += 12;
  15689.                                     return X11_VIOLET_RED_1;
  15690.                                 }
  15691.                                 case '2':
  15692.                                 {
  15693.                                     idx += 12;
  15694.                                     return X11_VIOLET_RED_2;
  15695.                                 }
  15696.                                 case '3':
  15697.                                 {
  15698.                                     idx += 12;
  15699.                                     return X11_VIOLET_RED_3;
  15700.                                 }
  15701.                                 case '4':
  15702.                                 {
  15703.                                     idx += 12;
  15704.                                     return X11_VIOLET_RED_4;
  15705.                                 }
  15706.                             }
  15707.                         }
  15708.                     }
  15709.                     idx += 10;
  15710.                     return X11_VIOLET_RED;
  15711.                 }
  15712.                 case 'r':
  15713.                 {
  15714.                     if (!str[7] || strcmp(str[7], !"ED", true, 2))
  15715.                     {
  15716.                         return -1;
  15717.                     }
  15718.                     switch (str[9] | 0x20)
  15719.                     {
  15720.                         case '1':
  15721.                         {
  15722.                             idx += 10;
  15723.                             return X11_VIOLETRED1;
  15724.                         }
  15725.                         case '2':
  15726.                         {
  15727.                             idx += 10;
  15728.                             return X11_VIOLETRED2;
  15729.                         }
  15730.                         case '3':
  15731.                         {
  15732.                             idx += 10;
  15733.                             return X11_VIOLETRED3;
  15734.                         }
  15735.                         case '4':
  15736.                         {
  15737.                             idx += 10;
  15738.                             return X11_VIOLETRED4;
  15739.                         }
  15740.                     }
  15741.                     idx += 9;
  15742.                     return X11_VIOLETRED;
  15743.                 }
  15744.             }
  15745.             idx += 6;
  15746.             return X11_VIOLET;
  15747.         }
  15748.         case 'w':
  15749.         {
  15750.             if (str[1] != 'H')
  15751.             {
  15752.                 return -1;
  15753.             }
  15754.             switch (str[2] | 0x20)
  15755.             {
  15756.                 case 'e':
  15757.                 {
  15758.                     if (!str[3] || strcmp(str[3], !"AT", true, 2))
  15759.                     {
  15760.                         return -1;
  15761.                     }
  15762.                     switch (str[5] | 0x20)
  15763.                     {
  15764.                         case ' ' | 0x20: // ' '
  15765.                         {
  15766.                             if (str[5])
  15767.                             {
  15768.                                 switch (str[6] | 0x20)
  15769.                                 {
  15770.                                     case '1':
  15771.                                     {
  15772.                                         idx += 7;
  15773.                                         return X11_WHEAT_1;
  15774.                                     }
  15775.                                     case '2':
  15776.                                     {
  15777.                                         idx += 7;
  15778.                                         return X11_WHEAT_2;
  15779.                                     }
  15780.                                     case '3':
  15781.                                     {
  15782.                                         idx += 7;
  15783.                                         return X11_WHEAT_3;
  15784.                                     }
  15785.                                     case '4':
  15786.                                     {
  15787.                                         idx += 7;
  15788.                                         return X11_WHEAT_4;
  15789.                                     }
  15790.                                 }
  15791.                             }
  15792.                         }
  15793.                         case '_' | 0x20:
  15794.                         {
  15795.                             switch (str[6] | 0x20)
  15796.                             {
  15797.                                 case '1':
  15798.                                 {
  15799.                                     idx += 7;
  15800.                                     return X11_WHEAT_1;
  15801.                                 }
  15802.                                 case '2':
  15803.                                 {
  15804.                                     idx += 7;
  15805.                                     return X11_WHEAT_2;
  15806.                                 }
  15807.                                 case '3':
  15808.                                 {
  15809.                                     idx += 7;
  15810.                                     return X11_WHEAT_3;
  15811.                                 }
  15812.                                 case '4':
  15813.                                 {
  15814.                                     idx += 7;
  15815.                                     return X11_WHEAT_4;
  15816.                                 }
  15817.                             }
  15818.                         }
  15819.                         case '1':
  15820.                         {
  15821.                             idx += 6;
  15822.                             return X11_WHEAT1;
  15823.                         }
  15824.                         case '2':
  15825.                         {
  15826.                             idx += 6;
  15827.                             return X11_WHEAT2;
  15828.                         }
  15829.                         case '3':
  15830.                         {
  15831.                             idx += 6;
  15832.                             return X11_WHEAT3;
  15833.                         }
  15834.                         case '4':
  15835.                         {
  15836.                             idx += 6;
  15837.                             return X11_WHEAT4;
  15838.                         }
  15839.                     }
  15840.                     idx += 5;
  15841.                     return X11_WHEAT;
  15842.                 }
  15843.                 case 'i':
  15844.                 {
  15845.                     if (!str[3] || strcmp(str[3], !"TE", true, 2))
  15846.                     {
  15847.                         return -1;
  15848.                     }
  15849.                     switch (str[5] | 0x20)
  15850.                     {
  15851.                         case ' ' | 0x20: // ' '
  15852.                         {
  15853.                             if (str[5])
  15854.                             {
  15855.                                 if (str[6] && !strcmp(str[6], !"SMOKE", true, 5))
  15856.                                 {
  15857.                                     idx += 11;
  15858.                                     return X11_WHITE_SMOKE;
  15859.                                 }
  15860.                             }
  15861.                         }
  15862.                         case '_' | 0x20:
  15863.                         {
  15864.                             if (str[6] && !strcmp(str[6], !"SMOKE", true, 5))
  15865.                             {
  15866.                                 idx += 11;
  15867.                                 return X11_WHITE_SMOKE;
  15868.                             }
  15869.                         }
  15870.                         case 's':
  15871.                         {
  15872.                             if (str[6] && !strcmp(str[6], !"MOKE", true, 4))
  15873.                             {
  15874.                                 idx += 10;
  15875.                                 return X11_WHITESMOKE;
  15876.                             }
  15877.                         }
  15878.                     }
  15879.                     idx += 5;
  15880.                     return X11_WHITE;
  15881.                 }
  15882.             }
  15883.         }
  15884.         case 'y':
  15885.         {
  15886.             if (!str[1] || strcmp(str[1], !"ELLOW", true, 5))
  15887.             {
  15888.                 return -1;
  15889.             }
  15890.             switch (str[6] | 0x20)
  15891.             {
  15892.                 case ' ' | 0x20: // ' '
  15893.                 {
  15894.                     if (str[6])
  15895.                     {
  15896.                         switch (str[7] | 0x20)
  15897.                         {
  15898.                             case '1':
  15899.                             {
  15900.                                 idx += 8;
  15901.                                 return X11_YELLOW_1;
  15902.                             }
  15903.                             case '2':
  15904.                             {
  15905.                                 idx += 8;
  15906.                                 return X11_YELLOW_2;
  15907.                             }
  15908.                             case '3':
  15909.                             {
  15910.                                 idx += 8;
  15911.                                 return X11_YELLOW_3;
  15912.                             }
  15913.                             case '4':
  15914.                             {
  15915.                                 idx += 8;
  15916.                                 return X11_YELLOW_4;
  15917.                             }
  15918.                             case 'g':
  15919.                             {
  15920.                                 if (str[8] && !strcmp(str[8], !"REEN", true, 4))
  15921.                                 {
  15922.                                     idx += 12;
  15923.                                     return X11_YELLOW_GREEN;
  15924.                                 }
  15925.                             }
  15926.                         }
  15927.                     }
  15928.                 }
  15929.                 case '_' | 0x20:
  15930.                 {
  15931.                     switch (str[7] | 0x20)
  15932.                     {
  15933.                         case '1':
  15934.                         {
  15935.                             idx += 8;
  15936.                             return X11_YELLOW_1;
  15937.                         }
  15938.                         case '2':
  15939.                         {
  15940.                             idx += 8;
  15941.                             return X11_YELLOW_2;
  15942.                         }
  15943.                         case '3':
  15944.                         {
  15945.                             idx += 8;
  15946.                             return X11_YELLOW_3;
  15947.                         }
  15948.                         case '4':
  15949.                         {
  15950.                             idx += 8;
  15951.                             return X11_YELLOW_4;
  15952.                         }
  15953.                         case 'g':
  15954.                         {
  15955.                             if (str[8] && !strcmp(str[8], !"REEN", true, 4))
  15956.                             {
  15957.                                 idx += 12;
  15958.                                 return X11_YELLOW_GREEN;
  15959.                             }
  15960.                         }
  15961.                     }
  15962.                 }
  15963.                 case '1':
  15964.                 {
  15965.                     idx += 7;
  15966.                     return X11_YELLOW1;
  15967.                 }
  15968.                 case '2':
  15969.                 {
  15970.                     idx += 7;
  15971.                     return X11_YELLOW2;
  15972.                 }
  15973.                 case '3':
  15974.                 {
  15975.                     idx += 7;
  15976.                     return X11_YELLOW3;
  15977.                 }
  15978.                 case '4':
  15979.                 {
  15980.                     idx += 7;
  15981.                     return X11_YELLOW4;
  15982.                 }
  15983.                 case 'g':
  15984.                 {
  15985.                     if (str[7] && !strcmp(str[7], !"REEN", true, 4))
  15986.                     {
  15987.                         idx += 11;
  15988.                         return X11_YELLOWGREEN;
  15989.                     }
  15990.                 }
  15991.             }
  15992.             idx += 6;
  15993.             return X11_YELLOW;
  15994.         }
  15995.     }
Advertisement
Add Comment
Please, Sign In to add comment