The 148 CSS color names plus transparent, ordered by the hue rgb2hsl reports.
Each row is one sixth of the hue circle; names that land on the same hue are ordered
light to dark. The last row holds the ones with no hue at all: when saturation is
zero the hue is undefined and rgb2hsl returns 0, so sorting those among the reds
would put every grey next to firebrick for no reason.
Ly8gPGJsb2NrOmNvbmZpZzowPgpjb25zdCBOQU1FUyA9IFsKICAnYWxpY2VibHVlJywgJ2FudGlxdWV3aGl0ZScsICdhcXVhJywgJ2FxdWFtYXJpbmUnLCAnYXp1cmUnLCAnYmVpZ2UnLCAnYmlzcXVlJywgJ2JsYWNrJywKICAnYmxhbmNoZWRhbG1vbmQnLCAnYmx1ZScsICdibHVldmlvbGV0JywgJ2Jyb3duJywgJ2J1cmx5d29vZCcsICdjYWRldGJsdWUnLCAnY2hhcnRyZXVzZScsCiAgJ2Nob2NvbGF0ZScsICdjb3JhbCcsICdjb3JuZmxvd2VyYmx1ZScsICdjb3Juc2lsaycsICdjcmltc29uJywgJ2N5YW4nLCAnZGFya2JsdWUnLCAnZGFya2N5YW4nLAogICdkYXJrZ29sZGVucm9kJywgJ2RhcmtncmF5JywgJ2RhcmtncmVlbicsICdkYXJrZ3JleScsICdkYXJra2hha2knLCAnZGFya21hZ2VudGEnLAogICdkYXJrb2xpdmVncmVlbicsICdkYXJrb3JhbmdlJywgJ2RhcmtvcmNoaWQnLCAnZGFya3JlZCcsICdkYXJrc2FsbW9uJywgJ2RhcmtzZWFncmVlbicsCiAgJ2RhcmtzbGF0ZWJsdWUnLCAnZGFya3NsYXRlZ3JheScsICdkYXJrc2xhdGVncmV5JywgJ2Rhcmt0dXJxdW9pc2UnLCAnZGFya3Zpb2xldCcsICdkZWVwcGluaycsCiAgJ2RlZXBza3libHVlJywgJ2RpbWdyYXknLCAnZGltZ3JleScsICdkb2RnZXJibHVlJywgJ2ZpcmVicmljaycsICdmbG9yYWx3aGl0ZScsICdmb3Jlc3RncmVlbicsCiAgJ2Z1Y2hzaWEnLCAnZ2FpbnNib3JvJywgJ2dob3N0d2hpdGUnLCAnZ29sZCcsICdnb2xkZW5yb2QnLCAnZ3JheScsICdncmVlbicsICdncmVlbnllbGxvdycsCiAgJ2dyZXknLCAnaG9uZXlkZXcnLCAnaG90cGluaycsICdpbmRpYW5yZWQnLCAnaW5kaWdvJywgJ2l2b3J5JywgJ2toYWtpJywgJ2xhdmVuZGVyJywKICAnbGF2ZW5kZXJibHVzaCcsICdsYXduZ3JlZW4nLCAnbGVtb25jaGlmZm9uJywgJ2xpZ2h0Ymx1ZScsICdsaWdodGNvcmFsJywgJ2xpZ2h0Y3lhbicsCiAgJ2xpZ2h0Z29sZGVucm9keWVsbG93JywgJ2xpZ2h0Z3JheScsICdsaWdodGdyZWVuJywgJ2xpZ2h0Z3JleScsICdsaWdodHBpbmsnLCAnbGlnaHRzYWxtb24nLAogICdsaWdodHNlYWdyZWVuJywgJ2xpZ2h0c2t5Ymx1ZScsICdsaWdodHNsYXRlZ3JheScsICdsaWdodHNsYXRlZ3JleScsICdsaWdodHN0ZWVsYmx1ZScsCiAgJ2xpZ2h0eWVsbG93JywgJ2xpbWUnLCAnbGltZWdyZWVuJywgJ2xpbmVuJywgJ21hZ2VudGEnLCAnbWFyb29uJywgJ21lZGl1bWFxdWFtYXJpbmUnLAogICdtZWRpdW1ibHVlJywgJ21lZGl1bW9yY2hpZCcsICdtZWRpdW1wdXJwbGUnLCAnbWVkaXVtc2VhZ3JlZW4nLCAnbWVkaXVtc2xhdGVibHVlJywKICAnbWVkaXVtc3ByaW5nZ3JlZW4nLCAnbWVkaXVtdHVycXVvaXNlJywgJ21lZGl1bXZpb2xldHJlZCcsICdtaWRuaWdodGJsdWUnLCAnbWludGNyZWFtJywKICAnbWlzdHlyb3NlJywgJ21vY2Nhc2luJywgJ25hdmFqb3doaXRlJywgJ25hdnknLCAnb2xkbGFjZScsICdvbGl2ZScsICdvbGl2ZWRyYWInLCAnb3JhbmdlJywKICAnb3JhbmdlcmVkJywgJ29yY2hpZCcsICdwYWxlZ29sZGVucm9kJywgJ3BhbGVncmVlbicsICdwYWxldHVycXVvaXNlJywgJ3BhbGV2aW9sZXRyZWQnLAogICdwYXBheWF3aGlwJywgJ3BlYWNocHVmZicsICdwZXJ1JywgJ3BpbmsnLCAncGx1bScsICdwb3dkZXJibHVlJywgJ3B1cnBsZScsICdyZWJlY2NhcHVycGxlJywKICAncmVkJywgJ3Jvc3licm93bicsICdyb3lhbGJsdWUnLCAnc2FkZGxlYnJvd24nLCAnc2FsbW9uJywgJ3NhbmR5YnJvd24nLCAnc2VhZ3JlZW4nLCAnc2Vhc2hlbGwnLAogICdzaWVubmEnLCAnc2lsdmVyJywgJ3NreWJsdWUnLCAnc2xhdGVibHVlJywgJ3NsYXRlZ3JheScsICdzbGF0ZWdyZXknLCAnc25vdycsICdzcHJpbmdncmVlbicsCiAgJ3N0ZWVsYmx1ZScsICd0YW4nLCAndGVhbCcsICd0aGlzdGxlJywgJ3RvbWF0bycsICd0dXJxdW9pc2UnLCAndmlvbGV0JywgJ3doZWF0JywgJ3doaXRlJywKICAnd2hpdGVzbW9rZScsICd5ZWxsb3cnLCAneWVsbG93Z3JlZW4nLCAndHJhbnNwYXJlbnQnLApdCgpjb25zdCBTRVhUQU5UUyA9IFsKICBbJzAtNjBcdTAwYjAnLCAwLCA2MF0sCiAgWyc2MC0xMjBcdTAwYjAnLCA2MCwgMTIwXSwKICBbJzEyMC0xODBcdTAwYjAnLCAxMjAsIDE4MF0sCiAgWycxODAtMjQwXHUwMGIwJywgMTgwLCAyNDBdLAogIFsnMjQwLTMwMFx1MDBiMCcsIDI0MCwgMzAwXSwKICBbJzMwMC0zNjBcdTAwYjAnLCAzMDAsIDM2MF0sCl0KCmNvbnN0IGNvbmZpZyA9IHsKICByZW5kZXI6ICgpID0+IHsKICAgIGNvbnN0IGhzbCA9IChuYW1lKSA9PiBjb2xvci5yZ2IyaHNsKGNvbG9yLm5hbWVQYXJzZShuYW1lKSkKICAgIC8vIEh1ZSBmaXJzdCwgdGhlbiBsaWdodCB0byBkYXJrLCBzbyBlYWNoIHJvdyByZWFkcyBhcyBvbmUgZ3JhZGllbnQuCiAgICBjb25zdCBieUh1ZSA9IChhLCBiKSA9PiBoc2woYSlbMF0gLSBoc2woYilbMF0gfHwgaHNsKGIpWzJdIC0gaHNsKGEpWzJdCiAgICBjb25zdCByb3dzID0gU0VYVEFOVFMubWFwKChbbGFiZWwsIGxvLCBoaV0pID0+ICh7CiAgICAgIGxhYmVsLAogICAgICBzd2F0Y2hlczogTkFNRVMuZmlsdGVyKChuKSA9PiBoc2wobilbMV0gPiAwICYmIGhzbChuKVswXSA+PSBsbyAmJiBoc2wobilbMF0gPCBoaSkKICAgICAgICAuc29ydChieUh1ZSkKICAgICAgICAubWFwKChjc3MpID0+ICh7IGNzcyB9KSksCiAgICB9KSkKICAgIHJvd3MucHVzaCh7CiAgICAgIGxhYmVsOiAnbm8gaHVlJywKICAgICAgc3dhdGNoZXM6IE5BTUVTLmZpbHRlcigobikgPT4gaHNsKG4pWzFdID09PSAwKQogICAgICAgIC5zb3J0KChhLCBiKSA9PiBoc2woYilbMl0gLSBoc2woYSlbMl0pCiAgICAgICAgLm1hcCgoY3NzKSA9PiAoeyBjc3MgfSkpLAogICAgfSkKICAgIHJldHVybiByb3dzCiAgfSwKfQovLyA8L2Jsb2NrOmNvbmZpZz4KCm1vZHVsZS5leHBvcnRzID0geyBjb25maWcgfQ==