3 """A bunch of color names mapped into RGB tuples and some methods for
4 setting the text color, background, etc... using ANSI escape
12 from abc import abstractmethod
13 from typing import Any, Callable, Dict, Iterable, Optional, Tuple
15 from overrides import overrides
21 logger = logging.getLogger(__name__)
23 # https://en.wikipedia.org/wiki/ANSI_escape_code
26 COLOR_NAMES_TO_RGB: Dict[str, Tuple[int, int, int]] = {
27 "wannabe.house": (0x00, 0x00, 95),
28 "cheetah.house": (95, 0x00, 0x00),
29 "meerkat.cabin": (95, 0x00, 95),
30 "backup.house": (175, 95, 0),
31 "kiosk.house": (90, 95, 0),
33 "black": (0x00, 0x00, 0x00),
34 "navy blue": (0x00, 0x00, 0x80),
35 "dark blue": (0x00, 0x00, 0xC8),
36 "blue": (0x00, 0x00, 0xFF),
37 "stratos": (0x00, 0x07, 0x41),
38 "swamp": (0x00, 0x1B, 0x1C),
39 "resolution blue": (0x00, 0x23, 0x87),
40 "deep fir": (0x00, 0x29, 0x00),
41 "burnham": (0x00, 0x2E, 0x20),
42 "klein blue": (0x00, 0x2F, 0xA7),
43 "prussian blue": (0x00, 0x31, 0x53),
44 "midnight blue": (0x00, 0x33, 0x66),
45 "smalt": (0x00, 0x33, 0x99),
46 "deep teal": (0x00, 0x35, 0x32),
47 "cyprus": (0x00, 0x3E, 0x40),
48 "kaitoke green": (0x00, 0x46, 0x20),
49 "cobalt": (0x00, 0x47, 0xAB),
50 "crusoe": (0x00, 0x48, 0x16),
51 "sherpa blue": (0x00, 0x49, 0x50),
52 "endeavour": (0x00, 0x56, 0xA7),
53 "camarone": (0x00, 0x58, 0x1A),
54 "science blue": (0x00, 0x66, 0xCC),
55 "blue ribbon": (0x00, 0x66, 0xFF),
56 "tropical rain forest": (0x00, 0x75, 0x5E),
57 "allports": (0x00, 0x76, 0xA3),
58 "deep cerulean": (0x00, 0x7B, 0xA7),
59 "lochmara": (0x00, 0x7E, 0xC7),
60 "azure radiance": (0x00, 0x7F, 0xFF),
61 "teal": (0x00, 0x80, 0x80),
62 "bondi blue": (0x00, 0x95, 0xB6),
63 "pacific blue": (0x00, 0x9D, 0xC4),
64 "persian green": (0x00, 0xA6, 0x93),
65 "jade": (0x00, 0xA8, 0x6B),
66 "caribbean green": (0x00, 0xCC, 0x99),
67 "robin's egg blue": (0x00, 0xCC, 0xCC),
68 "green": (0x00, 0xFF, 0x00),
69 "spring green": (0x00, 0xFF, 0x7F),
70 "cyan": (0x00, 0xFF, 0xFF),
71 "aqua": (0x00, 0xFF, 0xFF),
72 "blue charcoal": (0x01, 0x0D, 0x1A),
73 "midnight": (0x01, 0x16, 0x35),
74 "holly": (0x01, 0x1D, 0x13),
75 "daintree": (0x01, 0x27, 0x31),
76 "cardin green": (0x01, 0x36, 0x1C),
77 "county green": (0x01, 0x37, 0x1A),
78 "astronaut blue": (0x01, 0x3E, 0x62),
79 "regal blue": (0x01, 0x3F, 0x6A),
80 "aqua deep": (0x01, 0x4B, 0x43),
81 "orient": (0x01, 0x5E, 0x85),
82 "blue stone": (0x01, 0x61, 0x62),
83 "fun green": (0x01, 0x6D, 0x39),
84 "pine green": (0x01, 0x79, 0x6F),
85 "blue lagoon": (0x01, 0x79, 0x87),
86 "deep sea": (0x01, 0x82, 0x6B),
87 "green haze": (0x01, 0xA3, 0x68),
88 "english holly": (0x02, 0x2D, 0x15),
89 "sherwood green": (0x02, 0x40, 0x2C),
90 "congress blue": (0x02, 0x47, 0x8E),
91 "evening sea": (0x02, 0x4E, 0x46),
92 "bahama blue": (0x02, 0x63, 0x95),
93 "observatory": (0x02, 0x86, 0x6F),
94 "cerulean": (0x02, 0xA4, 0xD3),
95 "tangaroa": (0x03, 0x16, 0x3C),
96 "green vogue": (0x03, 0x2B, 0x52),
97 "mosque": (0x03, 0x6A, 0x6E),
98 "midnight moss": (0x04, 0x10, 0x04),
99 "black pearl": (0x04, 0x13, 0x22),
100 "blue whale": (0x04, 0x2E, 0x4C),
101 "zuccini": (0x04, 0x40, 0x22),
102 "teal blue": (0x04, 0x42, 0x59),
103 "deep cove": (0x05, 0x10, 0x40),
104 "gulf blue": (0x05, 0x16, 0x57),
105 "venice blue": (0x05, 0x59, 0x89),
106 "watercourse": (0x05, 0x6F, 0x57),
107 "catalina blue": (0x06, 0x2A, 0x78),
108 "tiber": (0x06, 0x35, 0x37),
109 "gossamer": (0x06, 0x9B, 0x81),
110 "niagara": (0x06, 0xA1, 0x89),
111 "tarawera": (0x07, 0x3A, 0x50),
112 "jaguar": (0x08, 0x01, 0x10),
113 "black bean": (0x08, 0x19, 0x10),
114 "deep sapphire": (0x08, 0x25, 0x67),
115 "elf green": (0x08, 0x83, 0x70),
116 "bright turquoise": (0x08, 0xE8, 0xDE),
117 "downriver": (0x09, 0x22, 0x56),
118 "palm green": (0x09, 0x23, 0x0F),
119 "madison": (0x09, 0x25, 0x5D),
120 "bottle green": (0x09, 0x36, 0x24),
121 "deep sea green": (0x09, 0x58, 0x59),
122 "salem": (0x09, 0x7F, 0x4B),
123 "black russian": (0x0A, 0x00, 0x1C),
124 "dark fern": (0x0A, 0x48, 0x0D),
125 "japanese laurel": (0x0A, 0x69, 0x06),
126 "atoll": (0x0A, 0x6F, 0x75),
127 "cod gray": (0x0B, 0x0B, 0x0B),
128 "marshland": (0x0B, 0x0F, 0x08),
129 "gordons green": (0x0B, 0x11, 0x07),
130 "black forest": (0x0B, 0x13, 0x04),
131 "san felix": (0x0B, 0x62, 0x07),
132 "malachite": (0x0B, 0xDA, 0x51),
133 "ebony": (0x0C, 0x0B, 0x1D),
134 "woodsmoke": (0x0C, 0x0D, 0x0F),
135 "racing green": (0x0C, 0x19, 0x11),
136 "surfie green": (0x0C, 0x7A, 0x79),
137 "blue chill": (0x0C, 0x89, 0x90),
138 "black rock": (0x0D, 0x03, 0x32),
139 "bunker": (0x0D, 0x11, 0x17),
140 "aztec": (0x0D, 0x1C, 0x19),
141 "bush": (0x0D, 0x2E, 0x1C),
142 "cinder": (0x0E, 0x0E, 0x18),
143 "firefly": (0x0E, 0x2A, 0x30),
144 "torea bay": (0x0F, 0x2D, 0x9E),
145 "vulcan": (0x10, 0x12, 0x1D),
146 "green waterloo": (0x10, 0x14, 0x05),
147 "eden": (0x10, 0x58, 0x52),
148 "arapawa": (0x11, 0x0C, 0x6C),
149 "ultramarine": (0x12, 0x0A, 0x8F),
150 "elephant": (0x12, 0x34, 0x47),
151 "jewel": (0x12, 0x6B, 0x40),
152 "diesel": (0x13, 0x00, 0x00),
153 "asphalt": (0x13, 0x0A, 0x06),
154 "blue zodiac": (0x13, 0x26, 0x4D),
155 "parsley": (0x13, 0x4F, 0x19),
156 "nero": (0x14, 0x06, 0x00),
157 "tory blue": (0x14, 0x50, 0xAA),
158 "bunting": (0x15, 0x1F, 0x4C),
159 "denim": (0x15, 0x60, 0xBD),
160 "genoa": (0x15, 0x73, 0x6B),
161 "mirage": (0x16, 0x19, 0x28),
162 "hunter green": (0x16, 0x1D, 0x10),
163 "big stone": (0x16, 0x2A, 0x40),
164 "celtic": (0x16, 0x32, 0x22),
165 "timber green": (0x16, 0x32, 0x2C),
166 "gable green": (0x16, 0x35, 0x31),
167 "pine tree": (0x17, 0x1F, 0x04),
168 "chathams blue": (0x17, 0x55, 0x79),
169 "deep forest green": (0x18, 0x2D, 0x09),
170 "dark green": (0x18, 0x2D, 0x09),
171 "blumine": (0x18, 0x58, 0x7A),
172 "palm leaf": (0x19, 0x33, 0x0E),
173 "nile blue": (0x19, 0x37, 0x51),
174 "fun blue": (0x19, 0x59, 0xA8),
175 "lucky point": (0x1A, 0x1A, 0x68),
176 "mountain meadow": (0x1A, 0xB3, 0x85),
177 "tolopea": (0x1B, 0x02, 0x45),
178 "haiti": (0x1B, 0x10, 0x35),
179 "deep koamaru": (0x1B, 0x12, 0x7B),
180 "acadia": (0x1B, 0x14, 0x04),
181 "seaweed": (0x1B, 0x2F, 0x11),
182 "biscay": (0x1B, 0x31, 0x62),
183 "matisse": (0x1B, 0x65, 0x9D),
184 "crowshead": (0x1C, 0x12, 0x08),
185 "rangoon green": (0x1C, 0x1E, 0x13),
186 "persian blue": (0x1C, 0x39, 0xBB),
187 "everglade": (0x1C, 0x40, 0x2E),
188 "elm": (0x1C, 0x7C, 0x7D),
189 "green pea": (0x1D, 0x61, 0x42),
190 "creole": (0x1E, 0x0F, 0x04),
191 "karaka": (0x1E, 0x16, 0x09),
192 "el paso": (0x1E, 0x17, 0x08),
193 "cello": (0x1E, 0x38, 0x5B),
194 "te papa green": (0x1E, 0x43, 0x3C),
195 "dodger blue": (0x1E, 0x90, 0xFF),
196 "eastern blue": (0x1E, 0x9A, 0xB0),
197 "night rider": (0x1F, 0x12, 0x0F),
198 "java": (0x1F, 0xC2, 0xC2),
199 "jacksons purple": (0x20, 0x20, 0x8D),
200 "cloud burst": (0x20, 0x2E, 0x54),
201 "blue dianne": (0x20, 0x48, 0x52),
202 "eternity": (0x21, 0x1A, 0x0E),
203 "deep blue": (0x22, 0x08, 0x78),
204 "forest green": (0x22, 0x8B, 0x22),
205 "mallard": (0x23, 0x34, 0x18),
206 "violet": (0x24, 0x0A, 0x40),
207 "kilamanjaro": (0x24, 0x0C, 0x02),
208 "log cabin": (0x24, 0x2A, 0x1D),
209 "black olive": (0x24, 0x2E, 0x16),
210 "green house": (0x24, 0x50, 0x0F),
211 "graphite": (0x25, 0x16, 0x07),
212 "cannon black": (0x25, 0x17, 0x06),
213 "port gore": (0x25, 0x1F, 0x4F),
214 "shark": (0x25, 0x27, 0x2C),
215 "green kelp": (0x25, 0x31, 0x1C),
216 "curious blue": (0x25, 0x96, 0xD1),
217 "paua": (0x26, 0x03, 0x68),
218 "paris m": (0x26, 0x05, 0x6A),
219 "wood bark": (0x26, 0x11, 0x05),
220 "gondola": (0x26, 0x14, 0x14),
221 "steel gray": (0x26, 0x23, 0x35),
222 "light gray": (0x26, 0x23, 0x35),
223 "ebony clay": (0x26, 0x28, 0x3B),
224 "bay of many": (0x27, 0x3A, 0x81),
225 "plantation": (0x27, 0x50, 0x4B),
226 "eucalyptus": (0x27, 0x8A, 0x5B),
227 "oil": (0x28, 0x1E, 0x15),
228 "astronaut": (0x28, 0x3A, 0x77),
229 "mariner": (0x28, 0x6A, 0xCD),
230 "violent violet": (0x29, 0x0C, 0x5E),
231 "bastille": (0x29, 0x21, 0x30),
232 "zeus": (0x29, 0x23, 0x19),
233 "charade": (0x29, 0x29, 0x37),
234 "jelly bean": (0x29, 0x7B, 0x9A),
235 "jungle green": (0x29, 0xAB, 0x87),
236 "cherry pie": (0x2A, 0x03, 0x59),
237 "coffee bean": (0x2A, 0x14, 0x0E),
238 "baltic sea": (0x2A, 0x26, 0x30),
239 "turtle green": (0x2A, 0x38, 0x0B),
240 "cerulean blue": (0x2A, 0x52, 0xBE),
241 "sepia black": (0x2B, 0x02, 0x02),
242 "valhalla": (0x2B, 0x19, 0x4F),
243 "heavy metal": (0x2B, 0x32, 0x28),
244 "blue gem": (0x2C, 0x0E, 0x8C),
245 "revolver": (0x2C, 0x16, 0x32),
246 "bleached cedar": (0x2C, 0x21, 0x33),
247 "lochinvar": (0x2C, 0x8C, 0x84),
248 "mikado": (0x2D, 0x25, 0x10),
249 "outer space": (0x2D, 0x38, 0x3A),
250 "st tropaz": (0x2D, 0x56, 0x9B),
251 "jacaranda": (0x2E, 0x03, 0x29),
252 "jacko bean": (0x2E, 0x19, 0x05),
253 "rangitoto": (0x2E, 0x32, 0x22),
254 "rhino": (0x2E, 0x3F, 0x62),
255 "sea green": (0x2E, 0x8B, 0x57),
256 "scooter": (0x2E, 0xBF, 0xD4),
257 "onion": (0x2F, 0x27, 0x0E),
258 "governor bay": (0x2F, 0x3C, 0xB3),
259 "sapphire": (0x2F, 0x51, 0x9E),
260 "spectra": (0x2F, 0x5A, 0x57),
261 "casal": (0x2F, 0x61, 0x68),
262 "melanzane": (0x30, 0x05, 0x29),
263 "cocoa brown": (0x30, 0x1F, 0x1E),
264 "woodrush": (0x30, 0x2A, 0x0F),
265 "san juan": (0x30, 0x4B, 0x6A),
266 "turquoise": (0x30, 0xD5, 0xC8),
267 "eclipse": (0x31, 0x1C, 0x17),
268 "pickled bluewood": (0x31, 0x44, 0x59),
269 "azure": (0x31, 0x5B, 0xA1),
270 "calypso": (0x31, 0x72, 0x8D),
271 "paradiso": (0x31, 0x7D, 0x82),
272 "persian indigo": (0x32, 0x12, 0x7A),
273 "blackcurrant": (0x32, 0x29, 0x3A),
274 "mine shaft": (0x32, 0x32, 0x32),
275 "stromboli": (0x32, 0x5D, 0x52),
276 "bilbao": (0x32, 0x7C, 0x14),
277 "astral": (0x32, 0x7D, 0xA0),
278 "christalle": (0x33, 0x03, 0x6B),
279 "thunder": (0x33, 0x29, 0x2F),
280 "shamrock": (0x33, 0xCC, 0x99),
281 "tamarind": (0x34, 0x15, 0x15),
282 "mardi gras": (0x35, 0x00, 0x36),
283 "valentino": (0x35, 0x0E, 0x42),
284 "jagger": (0x35, 0x0E, 0x57),
285 "tuna": (0x35, 0x35, 0x42),
286 "chambray": (0x35, 0x4E, 0x8C),
287 "martinique": (0x36, 0x30, 0x50),
288 "tuatara": (0x36, 0x35, 0x34),
289 "waiouru": (0x36, 0x3C, 0x0D),
290 "ming": (0x36, 0x74, 0x7D),
291 "la palma": (0x36, 0x87, 0x16),
292 "chocolate": (0x37, 0x02, 0x02),
293 "clinker": (0x37, 0x1D, 0x09),
294 "brown tumbleweed": (0x37, 0x29, 0x0E),
295 "birch": (0x37, 0x30, 0x21),
296 "oracle": (0x37, 0x74, 0x75),
297 "blue diamond": (0x38, 0x04, 0x74),
298 "grape": (0x38, 0x1A, 0x51),
299 "dune": (0x38, 0x35, 0x33),
300 "oxford blue": (0x38, 0x45, 0x55),
301 "clover": (0x38, 0x49, 0x10),
302 "limed spruce": (0x39, 0x48, 0x51),
303 "dell": (0x39, 0x64, 0x13),
304 "toledo": (0x3A, 0x00, 0x20),
305 "sambuca": (0x3A, 0x20, 0x10),
306 "jacarta": (0x3A, 0x2A, 0x6A),
307 "william": (0x3A, 0x68, 0x6C),
308 "killarney": (0x3A, 0x6A, 0x47),
309 "keppel": (0x3A, 0xB0, 0x9E),
310 "temptress": (0x3B, 0x00, 0x0B),
311 "aubergine": (0x3B, 0x09, 0x10),
312 "jon": (0x3B, 0x1F, 0x1F),
313 "treehouse": (0x3B, 0x28, 0x20),
314 "amazon": (0x3B, 0x7A, 0x57),
315 "boston blue": (0x3B, 0x91, 0xB4),
316 "windsor": (0x3C, 0x08, 0x78),
317 "rebel": (0x3C, 0x12, 0x06),
318 "meteorite": (0x3C, 0x1F, 0x76),
319 "dark ebony": (0x3C, 0x20, 0x05),
320 "camouflage": (0x3C, 0x39, 0x10),
321 "bright gray": (0x3C, 0x41, 0x51),
322 "cape cod": (0x3C, 0x44, 0x43),
323 "lunar green": (0x3C, 0x49, 0x3A),
324 "bean ": (0x3D, 0x0C, 0x02),
325 "bistre": (0x3D, 0x2B, 0x1F),
326 "goblin": (0x3D, 0x7D, 0x52),
327 "kingfisher daisy": (0x3E, 0x04, 0x80),
328 "cedar": (0x3E, 0x1C, 0x14),
329 "english walnut": (0x3E, 0x2B, 0x23),
330 "black marlin": (0x3E, 0x2C, 0x1C),
331 "ship gray": (0x3E, 0x3A, 0x44),
332 "pelorous": (0x3E, 0xAB, 0xBF),
333 "bronze": (0x3F, 0x21, 0x09),
334 "cola": (0x3F, 0x25, 0x00),
335 "madras": (0x3F, 0x30, 0x02),
336 "minsk": (0x3F, 0x30, 0x7F),
337 "cabbage pont": (0x3F, 0x4C, 0x3A),
338 "tom thumb": (0x3F, 0x58, 0x3B),
339 "mineral green": (0x3F, 0x5D, 0x53),
340 "puerto rico": (0x3F, 0xC1, 0xAA),
341 "harlequin": (0x3F, 0xFF, 0x00),
342 "brown pod": (0x40, 0x18, 0x01),
343 "cork": (0x40, 0x29, 0x1D),
344 "masala": (0x40, 0x3B, 0x38),
345 "thatch green": (0x40, 0x3D, 0x19),
346 "fiord": (0x40, 0x51, 0x69),
347 "viridian": (0x40, 0x82, 0x6D),
348 "chateau green": (0x40, 0xA8, 0x60),
349 "ripe plum": (0x41, 0x00, 0x56),
350 "paco": (0x41, 0x1F, 0x10),
351 "deep oak": (0x41, 0x20, 0x10),
352 "merlin": (0x41, 0x3C, 0x37),
353 "gun powder": (0x41, 0x42, 0x57),
354 "east bay": (0x41, 0x4C, 0x7D),
355 "royal blue": (0x41, 0x69, 0xE1),
356 "ocean green": (0x41, 0xAA, 0x78),
357 "burnt maroon": (0x42, 0x03, 0x03),
358 "lisbon brown": (0x42, 0x39, 0x21),
359 "faded jade": (0x42, 0x79, 0x77),
360 "scarlet gum": (0x43, 0x15, 0x60),
361 "iroko": (0x43, 0x31, 0x20),
362 "armadillo": (0x43, 0x3E, 0x37),
363 "river bed": (0x43, 0x4C, 0x59),
364 "green leaf": (0x43, 0x6A, 0x0D),
365 "barossa": (0x44, 0x01, 0x2D),
366 "morocco brown": (0x44, 0x1D, 0x00),
367 "mako": (0x44, 0x49, 0x54),
368 "kelp": (0x45, 0x49, 0x36),
369 "san marino": (0x45, 0x6C, 0xAC),
370 "picton blue": (0x45, 0xB1, 0xE8),
371 "loulou": (0x46, 0x0B, 0x41),
372 "crater brown": (0x46, 0x24, 0x25),
373 "gray asparagus": (0x46, 0x59, 0x45),
374 "steel blue": (0x46, 0x82, 0xB4),
375 "rustic red": (0x48, 0x04, 0x04),
376 "bulgarian rose": (0x48, 0x06, 0x07),
377 "clairvoyant": (0x48, 0x06, 0x56),
378 "cocoa bean": (0x48, 0x1C, 0x1C),
379 "woody brown": (0x48, 0x31, 0x31),
380 "taupe": (0x48, 0x3C, 0x32),
381 "van cleef": (0x49, 0x17, 0x0C),
382 "brown derby": (0x49, 0x26, 0x15),
383 "metallic bronze": (0x49, 0x37, 0x1B),
384 "verdun green": (0x49, 0x54, 0x00),
385 "blue bayoux": (0x49, 0x66, 0x79),
386 "bismark": (0x49, 0x71, 0x83),
387 "bracken": (0x4A, 0x2A, 0x04),
388 "deep bronze": (0x4A, 0x30, 0x04),
389 "mondo": (0x4A, 0x3C, 0x30),
390 "tundora": (0x4A, 0x42, 0x44),
391 "gravel": (0x4A, 0x44, 0x4B),
392 "trout": (0x4A, 0x4E, 0x5A),
393 "pigment indigo": (0x4B, 0x00, 0x82),
394 "nandor": (0x4B, 0x5D, 0x52),
395 "saddle": (0x4C, 0x30, 0x24),
396 "abbey": (0x4C, 0x4F, 0x56),
397 "blackberry": (0x4D, 0x01, 0x35),
398 "cab sav": (0x4D, 0x0A, 0x18),
399 "indian tan": (0x4D, 0x1E, 0x01),
400 "cowboy": (0x4D, 0x28, 0x2D),
401 "livid brown": (0x4D, 0x28, 0x2E),
402 "rock": (0x4D, 0x38, 0x33),
403 "punga": (0x4D, 0x3D, 0x14),
404 "bronzetone": (0x4D, 0x40, 0x0F),
405 "woodland": (0x4D, 0x53, 0x28),
406 "mahogany": (0x4E, 0x06, 0x06),
407 "bossanova": (0x4E, 0x2A, 0x5A),
408 "matterhorn": (0x4E, 0x3B, 0x41),
409 "bronze olive": (0x4E, 0x42, 0x0C),
410 "mulled wine": (0x4E, 0x45, 0x62),
411 "axolotl": (0x4E, 0x66, 0x49),
412 "wedgewood": (0x4E, 0x7F, 0x9E),
413 "shakespeare": (0x4E, 0xAB, 0xD1),
414 "honey flower": (0x4F, 0x1C, 0x70),
415 "daisy bush": (0x4F, 0x23, 0x98),
416 "indigo": (0x4F, 0x69, 0xC6),
417 "fern green": (0x4F, 0x79, 0x42),
418 "fruit salad": (0x4F, 0x9D, 0x5D),
419 "apple": (0x4F, 0xA8, 0x3D),
420 "mortar": (0x50, 0x43, 0x51),
421 "kashmir blue": (0x50, 0x70, 0x96),
422 "cutty sark": (0x50, 0x76, 0x72),
423 "emerald": (0x50, 0xC8, 0x78),
424 "emperor": (0x51, 0x46, 0x49),
425 "chalet green": (0x51, 0x6E, 0x3D),
426 "como": (0x51, 0x7C, 0x66),
427 "smalt blue": (0x51, 0x80, 0x8F),
428 "castro": (0x52, 0x00, 0x1F),
429 "maroon oak": (0x52, 0x0C, 0x17),
430 "gigas": (0x52, 0x3C, 0x94),
431 "voodoo": (0x53, 0x34, 0x55),
432 "victoria": (0x53, 0x44, 0x91),
433 "hippie green": (0x53, 0x82, 0x4B),
434 "heath": (0x54, 0x10, 0x12),
435 "judge gray": (0x54, 0x43, 0x33),
436 "fuscous gray": (0x54, 0x53, 0x4D),
437 "vida loca": (0x54, 0x90, 0x19),
438 "cioccolato": (0x55, 0x28, 0x0C),
439 "saratoga": (0x55, 0x5B, 0x10),
440 "finlandia": (0x55, 0x6D, 0x56),
441 "havelock blue": (0x55, 0x90, 0xD9),
442 "fountain blue": (0x56, 0xB4, 0xBE),
443 "spring leaves": (0x57, 0x83, 0x63),
444 "saddle brown": (0x58, 0x34, 0x01),
445 "scarpa flow": (0x58, 0x55, 0x62),
446 "cactus": (0x58, 0x71, 0x56),
447 "hippie blue": (0x58, 0x9A, 0xAF),
448 "wine berry": (0x59, 0x1D, 0x35),
449 "brown bramble": (0x59, 0x28, 0x04),
450 "congo brown": (0x59, 0x37, 0x37),
451 "millbrook": (0x59, 0x44, 0x33),
452 "waikawa gray": (0x5A, 0x6E, 0x9C),
453 "horizon": (0x5A, 0x87, 0xA0),
454 "jambalaya": (0x5B, 0x30, 0x13),
455 "bordeaux": (0x5C, 0x01, 0x20),
456 "mulberry wood": (0x5C, 0x05, 0x36),
457 "carnaby tan": (0x5C, 0x2E, 0x01),
458 "comet": (0x5C, 0x5D, 0x75),
459 "redwood": (0x5D, 0x1E, 0x0F),
460 "don juan": (0x5D, 0x4C, 0x51),
461 "chicago": (0x5D, 0x5C, 0x58),
462 "verdigris": (0x5D, 0x5E, 0x37),
463 "dingley": (0x5D, 0x77, 0x47),
464 "breaker bay": (0x5D, 0xA1, 0x9F),
465 "kabul": (0x5E, 0x48, 0x3E),
466 "hemlock": (0x5E, 0x5D, 0x3B),
467 "irish coffee": (0x5F, 0x3D, 0x26),
468 "mid gray": (0x5F, 0x5F, 0x6E),
469 "shuttle gray": (0x5F, 0x66, 0x72),
470 "aqua forest": (0x5F, 0xA7, 0x77),
471 "tradewind": (0x5F, 0xB3, 0xAC),
472 "horses neck": (0x60, 0x49, 0x13),
473 "smoky": (0x60, 0x5B, 0x73),
474 "corduroy": (0x60, 0x6E, 0x68),
475 "danube": (0x60, 0x93, 0xD1),
476 "espresso": (0x61, 0x27, 0x18),
477 "eggplant": (0x61, 0x40, 0x51),
478 "costa del sol": (0x61, 0x5D, 0x30),
479 "glade green": (0x61, 0x84, 0x5F),
480 "buccaneer": (0x62, 0x2F, 0x30),
481 "quincy": (0x62, 0x3F, 0x2D),
482 "butterfly bush": (0x62, 0x4E, 0x9A),
483 "west coast": (0x62, 0x51, 0x19),
484 "finch": (0x62, 0x66, 0x49),
485 "patina": (0x63, 0x9A, 0x8F),
486 "fern": (0x63, 0xB7, 0x6C),
487 "blue violet": (0x64, 0x56, 0xB7),
488 "dolphin": (0x64, 0x60, 0x77),
489 "storm dust": (0x64, 0x64, 0x63),
490 "siam": (0x64, 0x6A, 0x54),
491 "nevada": (0x64, 0x6E, 0x75),
492 "cornflower blue": (0x64, 0x95, 0xED),
493 "viking": (0x64, 0xCC, 0xDB),
494 "rosewood": (0x65, 0x00, 0x0B),
495 "cherrywood": (0x65, 0x1A, 0x14),
496 "purple heart": (0x65, 0x2D, 0xC1),
497 "fern frond": (0x65, 0x72, 0x20),
498 "willow grove": (0x65, 0x74, 0x5D),
499 "hoki": (0x65, 0x86, 0x9F),
500 "pompadour": (0x66, 0x00, 0x45),
501 "purple": (0x66, 0x00, 0x99),
502 "dark purple": (0x36, 0x00, 0x79),
503 "tyrian purple": (0x66, 0x02, 0x3C),
504 "dark tan": (0x66, 0x10, 0x10),
505 "silver tree": (0x66, 0xB5, 0x8F),
506 "bright green": (0x66, 0xFF, 0x00),
507 "screamin' green": (0x66, 0xFF, 0x66),
508 "black rose": (0x67, 0x03, 0x2D),
509 "scampi": (0x67, 0x5F, 0xA6),
510 "ironside gray": (0x67, 0x66, 0x62),
511 "viridian green": (0x67, 0x89, 0x75),
512 "christi": (0x67, 0xA7, 0x12),
513 "nutmeg wood finish": (0x68, 0x36, 0x00),
514 "zambezi": (0x68, 0x55, 0x58),
515 "salt box": (0x68, 0x5E, 0x6E),
516 "tawny port": (0x69, 0x25, 0x45),
517 "finn": (0x69, 0x2D, 0x54),
518 "scorpion": (0x69, 0x5F, 0x62),
519 "lynch": (0x69, 0x7E, 0x9A),
520 "spice": (0x6A, 0x44, 0x2E),
521 "himalaya": (0x6A, 0x5D, 0x1B),
522 "soya bean": (0x6A, 0x60, 0x51),
523 "hairy heath": (0x6B, 0x2A, 0x14),
524 "royal purple": (0x6B, 0x3F, 0xA0),
525 "shingle fawn": (0x6B, 0x4E, 0x31),
526 "dorado": (0x6B, 0x57, 0x55),
527 "bermuda gray": (0x6B, 0x8B, 0xA2),
528 "olive drab": (0x6B, 0x8E, 0x23),
529 "eminence": (0x6C, 0x30, 0x82),
530 "turquoise blue": (0x6C, 0xDA, 0xE7),
531 "lonestar": (0x6D, 0x01, 0x01),
532 "pine cone": (0x6D, 0x5E, 0x54),
533 "dove gray": (0x6D, 0x6C, 0x6C),
534 "juniper": (0x6D, 0x92, 0x92),
535 "gothic": (0x6D, 0x92, 0xA1),
536 "red oxide": (0x6E, 0x09, 0x02),
537 "moccaccino": (0x6E, 0x1D, 0x14),
538 "pickled bean": (0x6E, 0x48, 0x26),
539 "dallas": (0x6E, 0x4B, 0x26),
540 "kokoda": (0x6E, 0x6D, 0x57),
541 "pale sky": (0x6E, 0x77, 0x83),
542 "cafe royale": (0x6F, 0x44, 0x0C),
543 "flint": (0x6F, 0x6A, 0x61),
544 "highland": (0x6F, 0x8E, 0x63),
545 "limeade": (0x6F, 0x9D, 0x02),
546 "downy": (0x6F, 0xD0, 0xC5),
547 "persian plum": (0x70, 0x1C, 0x1C),
548 "sepia": (0x70, 0x42, 0x14),
549 "antique bronze": (0x70, 0x4A, 0x07),
550 "ferra": (0x70, 0x4F, 0x50),
551 "coffee": (0x70, 0x65, 0x55),
552 "slate gray": (0x70, 0x80, 0x90),
553 "cedar wood finish": (0x71, 0x1A, 0x00),
554 "metallic copper": (0x71, 0x29, 0x1D),
555 "affair": (0x71, 0x46, 0x93),
556 "studio": (0x71, 0x4A, 0xB2),
557 "tobacco brown": (0x71, 0x5D, 0x47),
558 "yellow metal": (0x71, 0x63, 0x38),
559 "peat": (0x71, 0x6B, 0x56),
560 "olivetone": (0x71, 0x6E, 0x10),
561 "storm gray": (0x71, 0x74, 0x86),
562 "sirocco": (0x71, 0x80, 0x80),
563 "aquamarine blue": (0x71, 0xD9, 0xE2),
564 "venetian red": (0x72, 0x01, 0x0F),
565 "old copper": (0x72, 0x4A, 0x2F),
566 "go ben": (0x72, 0x6D, 0x4E),
567 "raven": (0x72, 0x7B, 0x89),
568 "seance": (0x73, 0x1E, 0x8F),
569 "raw umber": (0x73, 0x4A, 0x12),
570 "kimberly": (0x73, 0x6C, 0x9F),
571 "crocodile": (0x73, 0x6D, 0x58),
572 "crete": (0x73, 0x78, 0x29),
573 "xanadu": (0x73, 0x86, 0x78),
574 "spicy mustard": (0x74, 0x64, 0x0D),
575 "limed ash": (0x74, 0x7D, 0x63),
576 "rolling stone": (0x74, 0x7D, 0x83),
577 "blue smoke": (0x74, 0x88, 0x81),
578 "laurel": (0x74, 0x93, 0x78),
579 "mantis": (0x74, 0xC3, 0x65),
580 "russett": (0x75, 0x5A, 0x57),
581 "deluge": (0x75, 0x63, 0xA8),
582 "cosmic": (0x76, 0x39, 0x5D),
583 "blue marguerite": (0x76, 0x66, 0xC6),
584 "lima": (0x76, 0xBD, 0x17),
585 "sky blue": (0x76, 0xD7, 0xEA),
586 "dark burgundy": (0x77, 0x0F, 0x05),
587 "crown of thorns": (0x77, 0x1F, 0x1F),
588 "walnut": (0x77, 0x3F, 0x1A),
589 "pablo": (0x77, 0x6F, 0x61),
590 "pacifika": (0x77, 0x81, 0x20),
591 "oxley": (0x77, 0x9E, 0x86),
592 "pastel green": (0x77, 0xDD, 0x77),
593 "japanese maple": (0x78, 0x01, 0x09),
594 "mocha": (0x78, 0x2D, 0x19),
595 "peanut": (0x78, 0x2F, 0x16),
596 "camouflage green": (0x78, 0x86, 0x6B),
597 "wasabi": (0x78, 0x8A, 0x25),
598 "ship cove": (0x78, 0x8B, 0xBA),
599 "sea nymph": (0x78, 0xA3, 0x9C),
600 "roman coffee": (0x79, 0x5D, 0x4C),
601 "old lavender": (0x79, 0x68, 0x78),
602 "rum": (0x79, 0x69, 0x89),
603 "fedora": (0x79, 0x6A, 0x78),
604 "sandstone": (0x79, 0x6D, 0x62),
605 "spray": (0x79, 0xDE, 0xEC),
606 "siren": (0x7A, 0x01, 0x3A),
607 "fuchsia blue": (0x7A, 0x58, 0xC1),
608 "boulder": (0x7A, 0x7A, 0x7A),
609 "wild blue yonder": (0x7A, 0x89, 0xB8),
610 "de york": (0x7A, 0xC4, 0x88),
611 "red beech": (0x7B, 0x38, 0x01),
612 "cinnamon": (0x7B, 0x3F, 0x00),
613 "yukon gold": (0x7B, 0x66, 0x08),
614 "tapa": (0x7B, 0x78, 0x74),
615 "waterloo ": (0x7B, 0x7C, 0x94),
616 "flax smoke": (0x7B, 0x82, 0x65),
617 "amulet": (0x7B, 0x9F, 0x80),
618 "asparagus": (0x7B, 0xA0, 0x5B),
619 "kenyan copper": (0x7C, 0x1C, 0x05),
620 "pesto": (0x7C, 0x76, 0x31),
621 "topaz": (0x7C, 0x77, 0x8A),
622 "concord": (0x7C, 0x7B, 0x7A),
623 "jumbo": (0x7C, 0x7B, 0x82),
624 "trendy green": (0x7C, 0x88, 0x1A),
625 "gumbo": (0x7C, 0xA1, 0xA6),
626 "acapulco": (0x7C, 0xB0, 0xA1),
627 "neptune": (0x7C, 0xB7, 0xBB),
628 "pueblo": (0x7D, 0x2C, 0x14),
629 "bay leaf": (0x7D, 0xA9, 0x8D),
630 "malibu": (0x7D, 0xC8, 0xF7),
631 "bermuda": (0x7D, 0xD8, 0xC6),
632 "copper canyon": (0x7E, 0x3A, 0x15),
633 "claret": (0x7F, 0x17, 0x34),
634 "peru tan": (0x7F, 0x3A, 0x02),
635 "falcon": (0x7F, 0x62, 0x6D),
636 "mobster": (0x7F, 0x75, 0x89),
637 "moody blue": (0x7F, 0x76, 0xD3),
638 "chartreuse": (0x7F, 0xFF, 0x00),
639 "aquamarine": (0x7F, 0xFF, 0xD4),
640 "maroon": (0x80, 0x00, 0x00),
641 "rose bud cherry": (0x80, 0x0B, 0x47),
642 "falu red": (0x80, 0x18, 0x18),
643 "red robin": (0x80, 0x34, 0x1F),
644 "vivid violet": (0x80, 0x37, 0x90),
645 "russet": (0x80, 0x46, 0x1B),
646 "friar gray": (0x80, 0x7E, 0x79),
647 "olive": (0x80, 0x80, 0x00),
648 "gray": (0x80, 0x80, 0x80),
649 "gulf stream": (0x80, 0xB3, 0xAE),
650 "glacier": (0x80, 0xB3, 0xC4),
651 "seagull": (0x80, 0xCC, 0xEA),
652 "nutmeg": (0x81, 0x42, 0x2C),
653 "spicy pink": (0x81, 0x6E, 0x71),
654 "empress": (0x81, 0x73, 0x77),
655 "spanish green": (0x81, 0x98, 0x85),
656 "sand dune": (0x82, 0x6F, 0x65),
657 "gunsmoke": (0x82, 0x86, 0x85),
658 "battleship gray": (0x82, 0x8F, 0x72),
659 "merlot": (0x83, 0x19, 0x23),
660 "shadow": (0x83, 0x70, 0x50),
661 "chelsea cucumber": (0x83, 0xAA, 0x5D),
662 "monte carlo": (0x83, 0xD0, 0xC6),
663 "plum": (0x84, 0x31, 0x79),
664 "granny smith": (0x84, 0xA0, 0xA0),
665 "chetwode blue": (0x85, 0x81, 0xD9),
666 "bandicoot": (0x85, 0x84, 0x70),
667 "bali hai": (0x85, 0x9F, 0xAF),
668 "half baked": (0x85, 0xC4, 0xCC),
669 "red devil": (0x86, 0x01, 0x11),
670 "lotus": (0x86, 0x3C, 0x3C),
671 "ironstone": (0x86, 0x48, 0x3C),
672 "bull shot": (0x86, 0x4D, 0x1E),
673 "rusty nail": (0x86, 0x56, 0x0A),
674 "bitter": (0x86, 0x89, 0x74),
675 "regent gray": (0x86, 0x94, 0x9F),
676 "disco": (0x87, 0x15, 0x50),
677 "americano": (0x87, 0x75, 0x6E),
678 "hurricane": (0x87, 0x7C, 0x7B),
679 "oslo gray": (0x87, 0x8D, 0x91),
680 "sushi": (0x87, 0xAB, 0x39),
681 "spicy mix": (0x88, 0x53, 0x42),
682 "kumera": (0x88, 0x62, 0x21),
683 "suva gray": (0x88, 0x83, 0x87),
684 "avocado": (0x88, 0x8D, 0x65),
685 "camelot": (0x89, 0x34, 0x56),
686 "solid pink": (0x89, 0x38, 0x43),
687 "cannon pink": (0x89, 0x43, 0x67),
688 "makara": (0x89, 0x7D, 0x6D),
689 "burnt umber": (0x8A, 0x33, 0x24),
690 "true v": (0x8A, 0x73, 0xD6),
691 "clay creek": (0x8A, 0x83, 0x60),
692 "monsoon": (0x8A, 0x83, 0x89),
693 "stack": (0x8A, 0x8F, 0x8A),
694 "jordy blue": (0x8A, 0xB9, 0xF1),
695 "electric violet": (0x8B, 0x00, 0xFF),
696 "monarch": (0x8B, 0x07, 0x23),
697 "corn harvest": (0x8B, 0x6B, 0x0B),
698 "olive haze": (0x8B, 0x84, 0x70),
699 "schooner": (0x8B, 0x84, 0x7E),
700 "natural gray": (0x8B, 0x86, 0x80),
701 "mantle": (0x8B, 0x9C, 0x90),
702 "portage": (0x8B, 0x9F, 0xEE),
703 "envy": (0x8B, 0xA6, 0x90),
704 "cascade": (0x8B, 0xA9, 0xA5),
705 "riptide": (0x8B, 0xE6, 0xD8),
706 "cardinal pink": (0x8C, 0x05, 0x5E),
707 "mule fawn": (0x8C, 0x47, 0x2F),
708 "potters clay": (0x8C, 0x57, 0x38),
709 "trendy pink": (0x8C, 0x64, 0x95),
710 "paprika": (0x8D, 0x02, 0x26),
711 "sanguine brown": (0x8D, 0x3D, 0x38),
712 "tosca": (0x8D, 0x3F, 0x3F),
713 "cement": (0x8D, 0x76, 0x62),
714 "granite green": (0x8D, 0x89, 0x74),
715 "manatee": (0x8D, 0x90, 0xA1),
716 "polo blue": (0x8D, 0xA8, 0xCC),
717 "red berry": (0x8E, 0x00, 0x00),
718 "rope": (0x8E, 0x4D, 0x1E),
719 "opium": (0x8E, 0x6F, 0x70),
720 "domino": (0x8E, 0x77, 0x5E),
721 "mamba": (0x8E, 0x81, 0x90),
722 "nepal": (0x8E, 0xAB, 0xC1),
723 "pohutukawa": (0x8F, 0x02, 0x1C),
724 "el salva": (0x8F, 0x3E, 0x33),
725 "korma": (0x8F, 0x4B, 0x0E),
726 "squirrel": (0x8F, 0x81, 0x76),
727 "vista blue": (0x8F, 0xD6, 0xB4),
728 "burgundy": (0x90, 0x00, 0x20),
729 "old brick": (0x90, 0x1E, 0x1E),
730 "hemp": (0x90, 0x78, 0x74),
731 "almond frost": (0x90, 0x7B, 0x71),
732 "sycamore": (0x90, 0x8D, 0x39),
733 "sangria": (0x92, 0x00, 0x0A),
734 "cumin": (0x92, 0x43, 0x21),
735 "beaver": (0x92, 0x6F, 0x5B),
736 "stonewall": (0x92, 0x85, 0x73),
737 "venus": (0x92, 0x85, 0x90),
738 "medium purple": (0x93, 0x70, 0xDB),
739 "cornflower": (0x93, 0xCC, 0xEA),
740 "algae green": (0x93, 0xDF, 0xB8),
741 "copper rust": (0x94, 0x47, 0x47),
742 "arrowtown": (0x94, 0x87, 0x71),
743 "scarlett": (0x95, 0x00, 0x15),
744 "strikemaster": (0x95, 0x63, 0x87),
745 "mountain mist": (0x95, 0x93, 0x96),
746 "carmine": (0x96, 0x00, 0x18),
747 "brown": (0x96, 0x4B, 0x00),
748 "leather": (0x96, 0x70, 0x59),
749 "purple mountain's majesty": (0x96, 0x78, 0xB6),
750 "lavender purple": (0x96, 0x7B, 0xB6),
751 "pewter": (0x96, 0xA8, 0xA1),
752 "summer green": (0x96, 0xBB, 0xAB),
753 "au chico": (0x97, 0x60, 0x5D),
754 "wisteria": (0x97, 0x71, 0xB5),
755 "atlantis": (0x97, 0xCD, 0x2D),
756 "vin rouge": (0x98, 0x3D, 0x61),
757 "lilac bush": (0x98, 0x74, 0xD3),
758 "bazaar": (0x98, 0x77, 0x7B),
759 "hacienda": (0x98, 0x81, 0x1B),
760 "pale oyster": (0x98, 0x8D, 0x77),
761 "mint green": (0x98, 0xFF, 0x98),
762 "fresh eggplant": (0x99, 0x00, 0x66),
763 "violet eggplant": (0x99, 0x11, 0x99),
764 "tamarillo": (0x99, 0x16, 0x13),
765 "totem pole": (0x99, 0x1B, 0x07),
766 "copper rose": (0x99, 0x66, 0x66),
767 "amethyst": (0x99, 0x66, 0xCC),
768 "mountbatten pink": (0x99, 0x7A, 0x8D),
769 "blue bell": (0x99, 0x99, 0xCC),
770 "prairie sand": (0x9A, 0x38, 0x20),
771 "toast": (0x9A, 0x6E, 0x61),
772 "gurkha": (0x9A, 0x95, 0x77),
773 "olivine": (0x9A, 0xB9, 0x73),
774 "shadow green": (0x9A, 0xC2, 0xB8),
775 "oregon": (0x9B, 0x47, 0x03),
776 "lemon grass": (0x9B, 0x9E, 0x8F),
777 "stiletto": (0x9C, 0x33, 0x36),
778 "hawaiian tan": (0x9D, 0x56, 0x16),
779 "gull gray": (0x9D, 0xAC, 0xB7),
780 "pistachio": (0x9D, 0xC2, 0x09),
781 "granny smith apple": (0x9D, 0xE0, 0x93),
782 "anakiwa": (0x9D, 0xE5, 0xFF),
783 "chelsea gem": (0x9E, 0x53, 0x02),
784 "sepia skin": (0x9E, 0x5B, 0x40),
785 "sage": (0x9E, 0xA5, 0x87),
786 "citron": (0x9E, 0xA9, 0x1F),
787 "rock blue": (0x9E, 0xB1, 0xCD),
788 "morning glory": (0x9E, 0xDE, 0xE0),
789 "cognac": (0x9F, 0x38, 0x1D),
790 "reef gold": (0x9F, 0x82, 0x1C),
791 "star dust": (0x9F, 0x9F, 0x9C),
792 "santas gray": (0x9F, 0xA0, 0xB1),
793 "sinbad": (0x9F, 0xD7, 0xD3),
794 "feijoa": (0x9F, 0xDD, 0x8C),
795 "tabasco": (0xA0, 0x27, 0x12),
796 "buttered rum": (0xA1, 0x75, 0x0D),
797 "hit gray": (0xA1, 0xAD, 0xB5),
798 "citrus": (0xA1, 0xC5, 0x0A),
799 "aqua island": (0xA1, 0xDA, 0xD7),
800 "water leaf": (0xA1, 0xE9, 0xDE),
801 "flirt": (0xA2, 0x00, 0x6D),
802 "rouge": (0xA2, 0x3B, 0x6C),
803 "cape palliser": (0xA2, 0x66, 0x45),
804 "gray chateau": (0xA2, 0xAA, 0xB3),
805 "edward": (0xA2, 0xAE, 0xAB),
806 "pharlap": (0xA3, 0x80, 0x7B),
807 "amethyst smoke": (0xA3, 0x97, 0xB4),
808 "blizzard blue": (0xA3, 0xE3, 0xED),
809 "delta": (0xA4, 0xA4, 0x9D),
810 "wistful": (0xA4, 0xA6, 0xD3),
811 "green smoke": (0xA4, 0xAF, 0x6E),
812 "jazzberry jam": (0xA5, 0x0B, 0x5E),
813 "zorba": (0xA5, 0x9B, 0x91),
814 "bahia": (0xA5, 0xCB, 0x0C),
815 "roof terracotta": (0xA6, 0x2F, 0x20),
816 "paarl": (0xA6, 0x55, 0x29),
817 "barley corn": (0xA6, 0x8B, 0x5B),
818 "donkey brown": (0xA6, 0x92, 0x79),
819 "dawn": (0xA6, 0xA2, 0x9A),
820 "mexican red": (0xA7, 0x25, 0x25),
821 "luxor gold": (0xA7, 0x88, 0x2C),
822 "rich gold": (0xA8, 0x53, 0x07),
823 "reno sand": (0xA8, 0x65, 0x15),
824 "coral tree": (0xA8, 0x6B, 0x6B),
825 "dusty gray": (0xA8, 0x98, 0x9B),
826 "dull lavender": (0xA8, 0x99, 0xE6),
827 "tallow": (0xA8, 0xA5, 0x89),
828 "bud": (0xA8, 0xAE, 0x9C),
829 "locust": (0xA8, 0xAF, 0x8E),
830 "norway": (0xA8, 0xBD, 0x9F),
831 "chinook": (0xA8, 0xE3, 0xBD),
832 "gray olive": (0xA9, 0xA4, 0x91),
833 "aluminium": (0xA9, 0xAC, 0xB6),
834 "cadet blue": (0xA9, 0xB2, 0xC3),
835 "schist": (0xA9, 0xB4, 0x97),
836 "tower gray": (0xA9, 0xBD, 0xBF),
837 "perano": (0xA9, 0xBE, 0xF2),
838 "opal": (0xA9, 0xC6, 0xC2),
839 "night shadz": (0xAA, 0x37, 0x5A),
840 "fire": (0xAA, 0x42, 0x03),
841 "muesli": (0xAA, 0x8B, 0x5B),
842 "sandal": (0xAA, 0x8D, 0x6F),
843 "shady lady": (0xAA, 0xA5, 0xA9),
844 "logan": (0xAA, 0xA9, 0xCD),
845 "spun pearl": (0xAA, 0xAB, 0xB7),
846 "regent st blue": (0xAA, 0xD6, 0xE6),
847 "magic mint": (0xAA, 0xF0, 0xD1),
848 "lipstick": (0xAB, 0x05, 0x63),
849 "royal heath": (0xAB, 0x34, 0x72),
850 "sandrift": (0xAB, 0x91, 0x7A),
851 "cold purple": (0xAB, 0xA0, 0xD9),
852 "bronco": (0xAB, 0xA1, 0x96),
853 "limed oak": (0xAC, 0x8A, 0x56),
854 "east side": (0xAC, 0x91, 0xCE),
855 "lemon ginger": (0xAC, 0x9E, 0x22),
856 "napa": (0xAC, 0xA4, 0x94),
857 "hillary": (0xAC, 0xA5, 0x86),
858 "cloudy": (0xAC, 0xA5, 0x9F),
859 "silver chalice": (0xAC, 0xAC, 0xAC),
860 "swamp green": (0xAC, 0xB7, 0x8E),
861 "spring rain": (0xAC, 0xCB, 0xB1),
862 "conifer": (0xAC, 0xDD, 0x4D),
863 "celadon": (0xAC, 0xE1, 0xAF),
864 "mandalay": (0xAD, 0x78, 0x1B),
865 "casper": (0xAD, 0xBE, 0xD1),
866 "moss green": (0xAD, 0xDF, 0xAD),
867 "padua": (0xAD, 0xE6, 0xC4),
868 "green yellow": (0xAD, 0xFF, 0x2F),
869 "hippie pink": (0xAE, 0x45, 0x60),
870 "desert": (0xAE, 0x60, 0x20),
871 "bouquet": (0xAE, 0x80, 0x9E),
872 "medium carmine": (0xAF, 0x40, 0x35),
873 "apple blossom": (0xAF, 0x4D, 0x43),
874 "brown rust": (0xAF, 0x59, 0x3E),
875 "driftwood": (0xAF, 0x87, 0x51),
876 "alpine": (0xAF, 0x8F, 0x2C),
877 "lucky": (0xAF, 0x9F, 0x1C),
878 "martini": (0xAF, 0xA0, 0x9E),
879 "bombay": (0xAF, 0xB1, 0xB8),
880 "pigeon post": (0xAF, 0xBD, 0xD9),
881 "cadillac": (0xB0, 0x4C, 0x6A),
882 "matrix": (0xB0, 0x5D, 0x54),
883 "tapestry": (0xB0, 0x5E, 0x81),
884 "mai tai": (0xB0, 0x66, 0x08),
885 "del rio": (0xB0, 0x9A, 0x95),
886 "powder blue": (0xB0, 0xE0, 0xE6),
887 "inch worm": (0xB0, 0xE3, 0x13),
888 "bright red": (0xB1, 0x00, 0x00),
889 "vesuvius": (0xB1, 0x4A, 0x0B),
890 "pumpkin skin": (0xB1, 0x61, 0x0B),
891 "santa fe": (0xB1, 0x6D, 0x52),
892 "teak": (0xB1, 0x94, 0x61),
893 "fringy flower": (0xB1, 0xE2, 0xC1),
894 "ice cold": (0xB1, 0xF4, 0xE7),
895 "shiraz": (0xB2, 0x09, 0x31),
896 "biloba flower": (0xB2, 0xA1, 0xEA),
897 "tall poppy": (0xB3, 0x2D, 0x29),
898 "fiery orange": (0xB3, 0x52, 0x13),
899 "hot toddy": (0xB3, 0x80, 0x07),
900 "taupe gray": (0xB3, 0xAF, 0x95),
901 "la rioja": (0xB3, 0xC1, 0x10),
902 "well read": (0xB4, 0x33, 0x32),
903 "blush": (0xB4, 0x46, 0x68),
904 "jungle mist": (0xB4, 0xCF, 0xD3),
905 "turkish rose": (0xB5, 0x72, 0x81),
906 "lavender": (0xB5, 0x7E, 0xDC),
907 "mongoose": (0xB5, 0xA2, 0x7F),
908 "olive green": (0xB5, 0xB3, 0x5C),
909 "jet stream": (0xB5, 0xD2, 0xCE),
910 "cruise": (0xB5, 0xEC, 0xDF),
911 "hibiscus": (0xB6, 0x31, 0x6C),
912 "thatch": (0xB6, 0x9D, 0x98),
913 "heathered gray": (0xB6, 0xB0, 0x95),
914 "eagle": (0xB6, 0xBA, 0xA4),
915 "spindle": (0xB6, 0xD1, 0xEA),
916 "gum leaf": (0xB6, 0xD3, 0xBF),
917 "rust": (0xB7, 0x41, 0x0E),
918 "muddy waters": (0xB7, 0x8E, 0x5C),
919 "sahara": (0xB7, 0xA2, 0x14),
920 "husk": (0xB7, 0xA4, 0x58),
921 "nobel": (0xB7, 0xB1, 0xB1),
922 "heather": (0xB7, 0xC3, 0xD0),
923 "madang": (0xB7, 0xF0, 0xBE),
924 "milano red": (0xB8, 0x11, 0x04),
925 "copper": (0xB8, 0x73, 0x33),
926 "gimblet": (0xB8, 0xB5, 0x6A),
927 "green spring": (0xB8, 0xC1, 0xB1),
928 "celery": (0xB8, 0xC2, 0x5D),
929 "sail": (0xB8, 0xE0, 0xF9),
930 "chestnut": (0xB9, 0x4E, 0x48),
931 "crail": (0xB9, 0x51, 0x40),
932 "marigold": (0xB9, 0x8D, 0x28),
933 "wild willow": (0xB9, 0xC4, 0x6A),
934 "rainee": (0xB9, 0xC8, 0xAC),
935 "guardsman red": (0xBA, 0x01, 0x01),
936 "rock spray": (0xBA, 0x45, 0x0C),
937 "bourbon": (0xBA, 0x6F, 0x1E),
938 "pirate gold": (0xBA, 0x7F, 0x03),
939 "nomad": (0xBA, 0xB1, 0xA2),
940 "submarine": (0xBA, 0xC7, 0xC9),
941 "charlotte": (0xBA, 0xEE, 0xF9),
942 "medium red violet": (0xBB, 0x33, 0x85),
943 "brandy rose": (0xBB, 0x89, 0x83),
944 "rio grande": (0xBB, 0xD0, 0x09),
945 "surf": (0xBB, 0xD7, 0xC1),
946 "powder ash": (0xBC, 0xC9, 0xC2),
947 "tuscany": (0xBD, 0x5E, 0x2E),
948 "quicksand": (0xBD, 0x97, 0x8E),
949 "silk": (0xBD, 0xB1, 0xA8),
950 "malta": (0xBD, 0xB2, 0xA1),
951 "chatelle": (0xBD, 0xB3, 0xC7),
952 "lavender gray": (0xBD, 0xBB, 0xD7),
953 "french gray": (0xBD, 0xBD, 0xC6),
954 "clay ash": (0xBD, 0xC8, 0xB3),
955 "loblolly": (0xBD, 0xC9, 0xCE),
956 "french pass": (0xBD, 0xED, 0xFD),
957 "london hue": (0xBE, 0xA6, 0xC3),
958 "pink swan": (0xBE, 0xB5, 0xB7),
959 "fuego": (0xBE, 0xDE, 0x0D),
960 "rose of sharon": (0xBF, 0x55, 0x00),
961 "tide": (0xBF, 0xB8, 0xB0),
962 "blue haze": (0xBF, 0xBE, 0xD8),
963 "silver sand": (0xBF, 0xC1, 0xC2),
964 "key lime pie": (0xBF, 0xC9, 0x21),
965 "ziggurat": (0xBF, 0xDB, 0xE2),
966 "lime": (0xBF, 0xFF, 0x00),
967 "thunderbird": (0xC0, 0x2B, 0x18),
968 "mojo": (0xC0, 0x47, 0x37),
969 "old rose": (0xC0, 0x80, 0x81),
970 "silver": (0xC0, 0xC0, 0xC0),
971 "pale leaf": (0xC0, 0xD3, 0xB9),
972 "pixie green": (0xC0, 0xD8, 0xB6),
973 "tia maria": (0xC1, 0x44, 0x0E),
974 "fuchsia pink": (0xC1, 0x54, 0xC1),
975 "buddha gold": (0xC1, 0xA0, 0x04),
976 "bison hide": (0xC1, 0xB7, 0xA4),
977 "tea": (0xC1, 0xBA, 0xB0),
978 "gray suit": (0xC1, 0xBE, 0xCD),
979 "sprout": (0xC1, 0xD7, 0xB0),
980 "sulu": (0xC1, 0xF0, 0x7C),
981 "indochine": (0xC2, 0x6B, 0x03),
982 "twine": (0xC2, 0x95, 0x5D),
983 "cotton seed": (0xC2, 0xBD, 0xB6),
984 "pumice": (0xC2, 0xCA, 0xC4),
985 "jagged ice": (0xC2, 0xE8, 0xE5),
986 "maroon flush": (0xC3, 0x21, 0x48),
987 "indian khaki": (0xC3, 0xB0, 0x91),
988 "pale slate": (0xC3, 0xBF, 0xC1),
989 "gray nickel": (0xC3, 0xC3, 0xBD),
990 "periwinkle gray": (0xC3, 0xCD, 0xE6),
991 "tiara": (0xC3, 0xD1, 0xD1),
992 "tropical blue": (0xC3, 0xDD, 0xF9),
993 "cardinal": (0xC4, 0x1E, 0x3A),
994 "fuzzy wuzzy brown": (0xC4, 0x56, 0x55),
995 "orange roughy": (0xC4, 0x57, 0x19),
996 "mist gray": (0xC4, 0xC4, 0xBC),
997 "coriander": (0xC4, 0xD0, 0xB0),
998 "mint tulip": (0xC4, 0xF4, 0xEB),
999 "mulberry": (0xC5, 0x4B, 0x8C),
1000 "nugget": (0xC5, 0x99, 0x22),
1001 "tussock": (0xC5, 0x99, 0x4B),
1002 "sea mist": (0xC5, 0xDB, 0xCA),
1003 "yellow green": (0xC5, 0xE1, 0x7A),
1004 "brick red": (0xC6, 0x2D, 0x42),
1005 "contessa": (0xC6, 0x72, 0x6B),
1006 "oriental pink": (0xC6, 0x91, 0x91),
1007 "roti": (0xC6, 0xA8, 0x4B),
1008 "ash": (0xC6, 0xC3, 0xB5),
1009 "kangaroo": (0xC6, 0xC8, 0xBD),
1010 "las palmas": (0xC6, 0xE6, 0x10),
1011 "monza": (0xC7, 0x03, 0x1E),
1012 "red violet": (0xC7, 0x15, 0x85),
1013 "coral reef": (0xC7, 0xBC, 0xA2),
1014 "melrose": (0xC7, 0xC1, 0xFF),
1015 "cloud": (0xC7, 0xC4, 0xBF),
1016 "ghost": (0xC7, 0xC9, 0xD5),
1017 "pine glade": (0xC7, 0xCD, 0x90),
1018 "botticelli": (0xC7, 0xDD, 0xE5),
1019 "antique brass": (0xC8, 0x8A, 0x65),
1020 "lilac": (0xC8, 0xA2, 0xC8),
1021 "hokey pokey": (0xC8, 0xA5, 0x28),
1022 "lily": (0xC8, 0xAA, 0xBF),
1023 "laser": (0xC8, 0xB5, 0x68),
1024 "edgewater": (0xC8, 0xE3, 0xD7),
1025 "piper": (0xC9, 0x63, 0x23),
1026 "pizza": (0xC9, 0x94, 0x15),
1027 "light wisteria": (0xC9, 0xA0, 0xDC),
1028 "rodeo dust": (0xC9, 0xB2, 0x9B),
1029 "sundance": (0xC9, 0xB3, 0x5B),
1030 "earls green": (0xC9, 0xB9, 0x3B),
1031 "silver rust": (0xC9, 0xC0, 0xBB),
1032 "conch": (0xC9, 0xD9, 0xD2),
1033 "reef": (0xC9, 0xFF, 0xA2),
1034 "aero blue": (0xC9, 0xFF, 0xE5),
1035 "flush mahogany": (0xCA, 0x34, 0x35),
1036 "turmeric": (0xCA, 0xBB, 0x48),
1037 "paris white": (0xCA, 0xDC, 0xD4),
1038 "bitter lemon": (0xCA, 0xE0, 0x0D),
1039 "skeptic": (0xCA, 0xE6, 0xDA),
1040 "viola": (0xCB, 0x8F, 0xA9),
1041 "foggy gray": (0xCB, 0xCA, 0xB6),
1042 "green mist": (0xCB, 0xD3, 0xB0),
1043 "nebula": (0xCB, 0xDB, 0xD6),
1044 "persian red": (0xCC, 0x33, 0x33),
1045 "burnt orange": (0xCC, 0x55, 0x00),
1046 "ochre": (0xCC, 0x77, 0x22),
1047 "puce": (0xCC, 0x88, 0x99),
1048 "thistle green": (0xCC, 0xCA, 0xA8),
1049 "periwinkle": (0xCC, 0xCC, 0xFF),
1050 "electric lime": (0xCC, 0xFF, 0x00),
1051 "tenn": (0xCD, 0x57, 0x00),
1052 "chestnut rose": (0xCD, 0x5C, 0x5C),
1053 "brandy punch": (0xCD, 0x84, 0x29),
1054 "onahau": (0xCD, 0xF4, 0xFF),
1055 "sorrell brown": (0xCE, 0xB9, 0x8F),
1056 "cold turkey": (0xCE, 0xBA, 0xBA),
1057 "yuma": (0xCE, 0xC2, 0x91),
1058 "chino": (0xCE, 0xC7, 0xA7),
1059 "eunry": (0xCF, 0xA3, 0x9D),
1060 "old gold": (0xCF, 0xB5, 0x3B),
1061 "tasman": (0xCF, 0xDC, 0xCF),
1062 "surf crest": (0xCF, 0xE5, 0xD2),
1063 "humming bird": (0xCF, 0xF9, 0xF3),
1064 "scandal": (0xCF, 0xFA, 0xF4),
1065 "red stage": (0xD0, 0x5F, 0x04),
1066 "hopbush": (0xD0, 0x6D, 0xA1),
1067 "meteor": (0xD0, 0x7D, 0x12),
1068 "perfume": (0xD0, 0xBE, 0xF8),
1069 "prelude": (0xD0, 0xC0, 0xE5),
1070 "tea green": (0xD0, 0xF0, 0xC0),
1071 "geebung": (0xD1, 0x8F, 0x1B),
1072 "vanilla": (0xD1, 0xBE, 0xA8),
1073 "soft amber": (0xD1, 0xC6, 0xB4),
1074 "celeste": (0xD1, 0xD2, 0xCA),
1075 "mischka": (0xD1, 0xD2, 0xDD),
1076 "pear": (0xD1, 0xE2, 0x31),
1077 "hot cinnamon": (0xD2, 0x69, 0x1E),
1078 "raw sienna": (0xD2, 0x7D, 0x46),
1079 "careys pink": (0xD2, 0x9E, 0xAA),
1080 "tan": (0xD2, 0xB4, 0x8C),
1081 "deco": (0xD2, 0xDA, 0x97),
1082 "blue romance": (0xD2, 0xF6, 0xDE),
1083 "gossip": (0xD2, 0xF8, 0xB0),
1084 "sisal": (0xD3, 0xCB, 0xBA),
1085 "swirl": (0xD3, 0xCD, 0xC5),
1086 "charm": (0xD4, 0x74, 0x94),
1087 "clam shell": (0xD4, 0xB6, 0xAF),
1088 "straw": (0xD4, 0xBF, 0x8D),
1089 "akaroa": (0xD4, 0xC4, 0xA8),
1090 "bird flower": (0xD4, 0xCD, 0x16),
1091 "iron": (0xD4, 0xD7, 0xD9),
1092 "geyser": (0xD4, 0xDF, 0xE2),
1093 "hawkes blue": (0xD4, 0xE2, 0xFC),
1094 "grenadier": (0xD5, 0x46, 0x00),
1095 "can can": (0xD5, 0x91, 0xA4),
1096 "whiskey": (0xD5, 0x9A, 0x6F),
1097 "winter hazel": (0xD5, 0xD1, 0x95),
1098 "granny apple": (0xD5, 0xF6, 0xE3),
1099 "my pink": (0xD6, 0x91, 0x88),
1100 "tacha": (0xD6, 0xC5, 0x62),
1101 "moon raker": (0xD6, 0xCE, 0xF6),
1102 "quill gray": (0xD6, 0xD6, 0xD1),
1103 "snowy mint": (0xD6, 0xFF, 0xDB),
1104 "new york pink": (0xD7, 0x83, 0x7F),
1105 "pavlova": (0xD7, 0xC4, 0x98),
1106 "fog": (0xD7, 0xD0, 0xFF),
1107 "valencia": (0xD8, 0x44, 0x37),
1108 "japonica": (0xD8, 0x7C, 0x63),
1109 "thistle": (0xD8, 0xBF, 0xD8),
1110 "maverick": (0xD8, 0xC2, 0xD5),
1111 "foam": (0xD8, 0xFC, 0xFA),
1112 "cabaret": (0xD9, 0x49, 0x72),
1113 "burning sand": (0xD9, 0x93, 0x76),
1114 "cameo": (0xD9, 0xB9, 0x9B),
1115 "timberwolf": (0xD9, 0xD6, 0xCF),
1116 "tana": (0xD9, 0xDC, 0xC1),
1117 "link water": (0xD9, 0xE4, 0xF5),
1118 "mabel": (0xD9, 0xF7, 0xFF),
1119 "cerise": (0xDA, 0x32, 0x87),
1120 "flame pea": (0xDA, 0x5B, 0x38),
1121 "bamboo": (0xDA, 0x63, 0x04),
1122 "red damask": (0xDA, 0x6A, 0x41),
1123 "orchid": (0xDA, 0x70, 0xD6),
1124 "copperfield": (0xDA, 0x8A, 0x67),
1125 "golden grass": (0xDA, 0xA5, 0x20),
1126 "zanah": (0xDA, 0xEC, 0xD6),
1127 "iceberg": (0xDA, 0xF4, 0xF0),
1128 "oyster bay": (0xDA, 0xFA, 0xFF),
1129 "cranberry": (0xDB, 0x50, 0x79),
1130 "petite orchid": (0xDB, 0x96, 0x90),
1131 "di serria": (0xDB, 0x99, 0x5E),
1132 "alto": (0xDB, 0xDB, 0xDB),
1133 "frosted mint": (0xDB, 0xFF, 0xF8),
1134 "crimson": (0xDC, 0x14, 0x3C),
1135 "punch": (0xDC, 0x43, 0x33),
1136 "galliano": (0xDC, 0xB2, 0x0C),
1137 "blossom": (0xDC, 0xB4, 0xBC),
1138 "wattle": (0xDC, 0xD7, 0x47),
1139 "westar": (0xDC, 0xD9, 0xD2),
1140 "moon mist": (0xDC, 0xDD, 0xCC),
1141 "caper": (0xDC, 0xED, 0xB4),
1142 "swans down": (0xDC, 0xF0, 0xEA),
1143 "swiss coffee": (0xDD, 0xD6, 0xD5),
1144 "white ice": (0xDD, 0xF9, 0xF1),
1145 "cerise red": (0xDE, 0x31, 0x63),
1146 "roman": (0xDE, 0x63, 0x60),
1147 "tumbleweed": (0xDE, 0xA6, 0x81),
1148 "gold tips": (0xDE, 0xBA, 0x13),
1149 "brandy": (0xDE, 0xC1, 0x96),
1150 "wafer": (0xDE, 0xCB, 0xC6),
1151 "sapling": (0xDE, 0xD4, 0xA4),
1152 "barberry": (0xDE, 0xD7, 0x17),
1153 "beryl green": (0xDE, 0xE5, 0xC0),
1154 "pattens blue": (0xDE, 0xF5, 0xFF),
1155 "heliotrope": (0xDF, 0x73, 0xFF),
1156 "apache": (0xDF, 0xBE, 0x6F),
1157 "chenin": (0xDF, 0xCD, 0x6F),
1158 "lola": (0xDF, 0xCF, 0xDB),
1159 "willow brook": (0xDF, 0xEC, 0xDA),
1160 "chartreuse yellow": (0xDF, 0xFF, 0x00),
1161 "mauve": (0xE0, 0xB0, 0xFF),
1162 "anzac": (0xE0, 0xB6, 0x46),
1163 "harvest gold": (0xE0, 0xB9, 0x74),
1164 "calico": (0xE0, 0xC0, 0x95),
1165 "baby blue": (0xE0, 0xFF, 0xFF),
1166 "sunglo": (0xE1, 0x68, 0x65),
1167 "equator": (0xE1, 0xBC, 0x64),
1168 "pink flare": (0xE1, 0xC0, 0xC8),
1169 "periglacial blue": (0xE1, 0xE6, 0xD6),
1170 "kidnapper": (0xE1, 0xEA, 0xD4),
1171 "tara": (0xE1, 0xF6, 0xE8),
1172 "mandy": (0xE2, 0x54, 0x65),
1173 "terracotta": (0xE2, 0x72, 0x5B),
1174 "golden bell": (0xE2, 0x89, 0x13),
1175 "shocking": (0xE2, 0x92, 0xC0),
1176 "dixie": (0xE2, 0x94, 0x18),
1177 "light orchid": (0xE2, 0x9C, 0xD2),
1178 "snuff": (0xE2, 0xD8, 0xED),
1179 "mystic": (0xE2, 0xEB, 0xED),
1180 "apple green": (0xE2, 0xF3, 0xEC),
1181 "razzmatazz": (0xE3, 0x0B, 0x5C),
1182 "alizarin crimson": (0xE3, 0x26, 0x36),
1183 "cinnabar": (0xE3, 0x42, 0x34),
1184 "cavern pink": (0xE3, 0xBE, 0xBE),
1185 "peppermint": (0xE3, 0xF5, 0xE1),
1186 "mindaro": (0xE3, 0xF9, 0x88),
1187 "deep blush": (0xE4, 0x76, 0x98),
1188 "gamboge": (0xE4, 0x9B, 0x0F),
1189 "melanie": (0xE4, 0xC2, 0xD5),
1190 "twilight": (0xE4, 0xCF, 0xDE),
1191 "bone": (0xE4, 0xD1, 0xC0),
1192 "sunflower": (0xE4, 0xD4, 0x22),
1193 "grain brown": (0xE4, 0xD5, 0xB7),
1194 "zombie": (0xE4, 0xD6, 0x9B),
1195 "frostee": (0xE4, 0xF6, 0xE7),
1196 "snow flurry": (0xE4, 0xFF, 0xD1),
1197 "amaranth": (0xE5, 0x2B, 0x50),
1198 "zest": (0xE5, 0x84, 0x1B),
1199 "dust storm": (0xE5, 0xCC, 0xC9),
1200 "stark white": (0xE5, 0xD7, 0xBD),
1201 "hampton": (0xE5, 0xD8, 0xAF),
1202 "bon jour": (0xE5, 0xE0, 0xE1),
1203 "mercury": (0xE5, 0xE5, 0xE5),
1204 "polar": (0xE5, 0xF9, 0xF6),
1205 "trinidad": (0xE6, 0x4E, 0x03),
1206 "gold sand": (0xE6, 0xBE, 0x8A),
1207 "cashmere": (0xE6, 0xBE, 0xA5),
1208 "double spanish white": (0xE6, 0xD7, 0xB9),
1209 "satin linen": (0xE6, 0xE4, 0xD4),
1210 "harp": (0xE6, 0xF2, 0xEA),
1211 "off green": (0xE6, 0xF8, 0xF3),
1212 "hint of green": (0xE6, 0xFF, 0xE9),
1213 "tranquil": (0xE6, 0xFF, 0xFF),
1214 "mango tango": (0xE7, 0x72, 0x00),
1215 "christine": (0xE7, 0x73, 0x0A),
1216 "tonys pink": (0xE7, 0x9F, 0x8C),
1217 "kobi": (0xE7, 0x9F, 0xC4),
1218 "rose fog": (0xE7, 0xBC, 0xB4),
1219 "corn": (0xE7, 0xBF, 0x05),
1220 "putty": (0xE7, 0xCD, 0x8C),
1221 "gray nurse": (0xE7, 0xEC, 0xE6),
1222 "lily white": (0xE7, 0xF8, 0xFF),
1223 "bubbles": (0xE7, 0xFE, 0xFF),
1224 "fire bush": (0xE8, 0x99, 0x28),
1225 "shilo": (0xE8, 0xB9, 0xB3),
1226 "pearl bush": (0xE8, 0xE0, 0xD5),
1227 "green white": (0xE8, 0xEB, 0xE0),
1228 "chrome white": (0xE8, 0xF1, 0xD4),
1229 "gin": (0xE8, 0xF2, 0xEB),
1230 "aqua squeeze": (0xE8, 0xF5, 0xF2),
1231 "clementine": (0xE9, 0x6E, 0x00),
1232 "burnt sienna": (0xE9, 0x74, 0x51),
1233 "tahiti gold": (0xE9, 0x7C, 0x07),
1234 "oyster pink": (0xE9, 0xCE, 0xCD),
1235 "confetti": (0xE9, 0xD7, 0x5A),
1236 "ebb": (0xE9, 0xE3, 0xE3),
1237 "ottoman": (0xE9, 0xF8, 0xED),
1238 "clear day": (0xE9, 0xFF, 0xFD),
1239 "carissma": (0xEA, 0x88, 0xA8),
1240 "porsche": (0xEA, 0xAE, 0x69),
1241 "tulip tree": (0xEA, 0xB3, 0x3B),
1242 "rob roy": (0xEA, 0xC6, 0x74),
1243 "raffia": (0xEA, 0xDA, 0xB8),
1244 "white rock": (0xEA, 0xE8, 0xD4),
1245 "panache": (0xEA, 0xF6, 0xEE),
1246 "solitude": (0xEA, 0xF6, 0xFF),
1247 "aqua spring": (0xEA, 0xF9, 0xF5),
1248 "dew": (0xEA, 0xFF, 0xFE),
1249 "apricot": (0xEB, 0x93, 0x73),
1250 "zinnwaldite": (0xEB, 0xC2, 0xAF),
1251 "fuel yellow": (0xEC, 0xA9, 0x27),
1252 "ronchi": (0xEC, 0xC5, 0x4E),
1253 "french lilac": (0xEC, 0xC7, 0xEE),
1254 "just right": (0xEC, 0xCD, 0xB9),
1255 "wild rice": (0xEC, 0xE0, 0x90),
1256 "fall green": (0xEC, 0xEB, 0xBD),
1257 "aths special": (0xEC, 0xEB, 0xCE),
1258 "starship": (0xEC, 0xF2, 0x45),
1259 "red ribbon": (0xED, 0x0A, 0x3F),
1260 "tango": (0xED, 0x7A, 0x1C),
1261 "carrot orange": (0xED, 0x91, 0x21),
1262 "sea pink": (0xED, 0x98, 0x9E),
1263 "tacao": (0xED, 0xB3, 0x81),
1264 "desert sand": (0xED, 0xC9, 0xAF),
1265 "pancho": (0xED, 0xCD, 0xAB),
1266 "chamois": (0xED, 0xDC, 0xB1),
1267 "primrose": (0xED, 0xEA, 0x99),
1268 "frost": (0xED, 0xF5, 0xDD),
1269 "aqua haze": (0xED, 0xF5, 0xF5),
1270 "zumthor": (0xED, 0xF6, 0xFF),
1271 "narvik": (0xED, 0xF9, 0xF1),
1272 "honeysuckle": (0xED, 0xFC, 0x84),
1273 "lavender magenta": (0xEE, 0x82, 0xEE),
1274 "beauty bush": (0xEE, 0xC1, 0xBE),
1275 "chalky": (0xEE, 0xD7, 0x94),
1276 "almond": (0xEE, 0xD9, 0xC4),
1277 "flax": (0xEE, 0xDC, 0x82),
1278 "bizarre": (0xEE, 0xDE, 0xDA),
1279 "double colonial white": (0xEE, 0xE3, 0xAD),
1280 "cararra": (0xEE, 0xEE, 0xE8),
1281 "manz": (0xEE, 0xEF, 0x78),
1282 "tahuna sands": (0xEE, 0xF0, 0xC8),
1283 "athens gray": (0xEE, 0xF0, 0xF3),
1284 "tusk": (0xEE, 0xF3, 0xC3),
1285 "loafer": (0xEE, 0xF4, 0xDE),
1286 "catskill white": (0xEE, 0xF6, 0xF7),
1287 "twilight blue": (0xEE, 0xFD, 0xFF),
1288 "jonquil": (0xEE, 0xFF, 0x9A),
1289 "rice flower": (0xEE, 0xFF, 0xE2),
1290 "jaffa": (0xEF, 0x86, 0x3F),
1291 "gallery": (0xEF, 0xEF, 0xEF),
1292 "porcelain": (0xEF, 0xF2, 0xF3),
1293 "mauvelous": (0xF0, 0x91, 0xA9),
1294 "golden dream": (0xF0, 0xD5, 0x2D),
1295 "golden sand": (0xF0, 0xDB, 0x7D),
1296 "buff": (0xF0, 0xDC, 0x82),
1297 "prim": (0xF0, 0xE2, 0xEC),
1298 "khaki": (0xF0, 0xE6, 0x8C),
1299 "selago": (0xF0, 0xEE, 0xFD),
1300 "titan white": (0xF0, 0xEE, 0xFF),
1301 "alice blue": (0xF0, 0xF8, 0xFF),
1302 "feta": (0xF0, 0xFC, 0xEA),
1303 "gold drop": (0xF1, 0x82, 0x00),
1304 "wewak": (0xF1, 0x9B, 0xAB),
1305 "sahara sand": (0xF1, 0xE7, 0x88),
1306 "parchment": (0xF1, 0xE9, 0xD2),
1307 "blue chalk": (0xF1, 0xE9, 0xFF),
1308 "mint julep": (0xF1, 0xEE, 0xC1),
1309 "seashell": (0xF1, 0xF1, 0xF1),
1310 "saltpan": (0xF1, 0xF7, 0xF2),
1311 "tidal": (0xF1, 0xFF, 0xAD),
1312 "chiffon": (0xF1, 0xFF, 0xC8),
1313 "flamingo": (0xF2, 0x55, 0x2A),
1314 "tangerine": (0xF2, 0x85, 0x00),
1315 "mandys pink": (0xF2, 0xC3, 0xB2),
1316 "concrete": (0xF2, 0xF2, 0xF2),
1317 "black squeeze": (0xF2, 0xFA, 0xFA),
1318 "pomegranate": (0xF3, 0x47, 0x23),
1319 "buttercup": (0xF3, 0xAD, 0x16),
1320 "new orleans": (0xF3, 0xD6, 0x9D),
1321 "vanilla ice": (0xF3, 0xD9, 0xDF),
1322 "sidecar": (0xF3, 0xE7, 0xBB),
1323 "dawn pink": (0xF3, 0xE9, 0xE5),
1324 "wheatfield": (0xF3, 0xED, 0xCF),
1325 "canary": (0xF3, 0xFB, 0x62),
1326 "orinoco": (0xF3, 0xFB, 0xD4),
1327 "carla": (0xF3, 0xFF, 0xD8),
1328 "hollywood cerise": (0xF4, 0x00, 0xA1),
1329 "sandy brown": (0xF4, 0xA4, 0x60),
1330 "saffron": (0xF4, 0xC4, 0x30),
1331 "ripe lemon": (0xF4, 0xD8, 0x1C),
1332 "janna": (0xF4, 0xEB, 0xD3),
1333 "pampas": (0xF4, 0xF2, 0xEE),
1334 "wild sand": (0xF4, 0xF4, 0xF4),
1335 "zircon": (0xF4, 0xF8, 0xFF),
1336 "froly": (0xF5, 0x75, 0x84),
1337 "cream can": (0xF5, 0xC8, 0x5C),
1338 "manhattan": (0xF5, 0xC9, 0x99),
1339 "maize": (0xF5, 0xD5, 0xA0),
1340 "wheat": (0xF5, 0xDE, 0xB3),
1341 "sandwisp": (0xF5, 0xE7, 0xA2),
1342 "pot pourri": (0xF5, 0xE7, 0xE2),
1343 "albescent white": (0xF5, 0xE9, 0xD3),
1344 "soft peach": (0xF5, 0xED, 0xEF),
1345 "ecru white": (0xF5, 0xF3, 0xE5),
1346 "beige": (0xF5, 0xF5, 0xDC),
1347 "golden fizz": (0xF5, 0xFB, 0x3D),
1348 "australian mint": (0xF5, 0xFF, 0xBE),
1349 "french rose": (0xF6, 0x4A, 0x8A),
1350 "brilliant rose": (0xF6, 0x53, 0xA6),
1351 "illusion": (0xF6, 0xA4, 0xC9),
1352 "merino": (0xF6, 0xF0, 0xE6),
1353 "black haze": (0xF6, 0xF7, 0xF7),
1354 "spring sun": (0xF6, 0xFF, 0xDC),
1355 "violet red": (0xF7, 0x46, 0x8A),
1356 "chilean fire": (0xF7, 0x77, 0x03),
1357 "persian pink": (0xF7, 0x7F, 0xBE),
1358 "rajah": (0xF7, 0xB6, 0x68),
1359 "azalea": (0xF7, 0xC8, 0xDA),
1360 "we peep": (0xF7, 0xDB, 0xE6),
1361 "quarter spanish white": (0xF7, 0xF2, 0xE1),
1362 "whisper": (0xF7, 0xF5, 0xFA),
1363 "snow drift": (0xF7, 0xFA, 0xF7),
1364 "casablanca": (0xF8, 0xB8, 0x53),
1365 "chantilly": (0xF8, 0xC3, 0xDF),
1366 "cherub": (0xF8, 0xD9, 0xE9),
1367 "marzipan": (0xF8, 0xDB, 0x9D),
1368 "energy yellow": (0xF8, 0xDD, 0x5C),
1369 "givry": (0xF8, 0xE4, 0xBF),
1370 "white linen": (0xF8, 0xF0, 0xE8),
1371 "magnolia": (0xF8, 0xF4, 0xFF),
1372 "spring wood": (0xF8, 0xF6, 0xF1),
1373 "coconut cream": (0xF8, 0xF7, 0xDC),
1374 "white lilac": (0xF8, 0xF7, 0xFC),
1375 "desert storm": (0xF8, 0xF8, 0xF7),
1376 "texas": (0xF8, 0xF9, 0x9C),
1377 "corn field": (0xF8, 0xFA, 0xCD),
1378 "mimosa": (0xF8, 0xFD, 0xD3),
1379 "carnation": (0xF9, 0x5A, 0x61),
1380 "saffron mango": (0xF9, 0xBF, 0x58),
1381 "carousel pink": (0xF9, 0xE0, 0xED),
1382 "dairy cream": (0xF9, 0xE4, 0xBC),
1383 "portica": (0xF9, 0xE6, 0x63),
1384 "amour": (0xF9, 0xEA, 0xF3),
1385 "rum swizzle": (0xF9, 0xF8, 0xE4),
1386 "dolly": (0xF9, 0xFF, 0x8B),
1387 "sugar cane": (0xF9, 0xFF, 0xF6),
1388 "ecstasy": (0xFA, 0x78, 0x14),
1389 "tan hide": (0xFA, 0x9D, 0x5A),
1390 "corvette": (0xFA, 0xD3, 0xA2),
1391 "peach yellow": (0xFA, 0xDF, 0xAD),
1392 "turbo": (0xFA, 0xE6, 0x00),
1393 "astra": (0xFA, 0xEA, 0xB9),
1394 "champagne": (0xFA, 0xEC, 0xCC),
1395 "linen": (0xFA, 0xF0, 0xE6),
1396 "fantasy": (0xFA, 0xF3, 0xF0),
1397 "citrine white": (0xFA, 0xF7, 0xD6),
1398 "alabaster": (0xFA, 0xFA, 0xFA),
1399 "hint of yellow": (0xFA, 0xFD, 0xE4),
1400 "milan": (0xFA, 0xFF, 0xA4),
1401 "brink pink": (0xFB, 0x60, 0x7F),
1402 "geraldine": (0xFB, 0x89, 0x89),
1403 "lavender rose": (0xFB, 0xA0, 0xE3),
1404 "sea buckthorn": (0xFB, 0xA1, 0x29),
1405 "sun": (0xFB, 0xAC, 0x13),
1406 "lavender pink": (0xFB, 0xAE, 0xD2),
1407 "rose bud": (0xFB, 0xB2, 0xA3),
1408 "cupid": (0xFB, 0xBE, 0xDA),
1409 "classic rose": (0xFB, 0xCC, 0xE7),
1410 "apricot peach": (0xFB, 0xCE, 0xB1),
1411 "banana mania": (0xFB, 0xE7, 0xB2),
1412 "marigold yellow": (0xFB, 0xE8, 0x70),
1413 "festival": (0xFB, 0xE9, 0x6C),
1414 "sweet corn": (0xFB, 0xEA, 0x8C),
1415 "candy corn": (0xFB, 0xEC, 0x5D),
1416 "hint of red": (0xFB, 0xF9, 0xF9),
1417 "shalimar": (0xFB, 0xFF, 0xBA),
1418 "shocking pink": (0xFC, 0x0F, 0xC0),
1419 "tickle me pink": (0xFC, 0x80, 0xA5),
1420 "tree poppy": (0xFC, 0x9C, 0x1D),
1421 "lightning yellow": (0xFC, 0xC0, 0x1E),
1422 "goldenrod": (0xFC, 0xD6, 0x67),
1423 "candlelight": (0xFC, 0xD9, 0x17),
1424 "cherokee": (0xFC, 0xDA, 0x98),
1425 "double pearl lusta": (0xFC, 0xF4, 0xD0),
1426 "pearl lusta": (0xFC, 0xF4, 0xDC),
1427 "vista white": (0xFC, 0xF8, 0xF7),
1428 "bianca": (0xFC, 0xFB, 0xF3),
1429 "moon glow": (0xFC, 0xFE, 0xDA),
1430 "china ivory": (0xFC, 0xFF, 0xE7),
1431 "ceramic": (0xFC, 0xFF, 0xF9),
1432 "torch red": (0xFD, 0x0E, 0x35),
1433 "wild watermelon": (0xFD, 0x5B, 0x78),
1434 "crusta": (0xFD, 0x7B, 0x33),
1435 "sorbus": (0xFD, 0x7C, 0x07),
1436 "sweet pink": (0xFD, 0x9F, 0xA2),
1437 "light apricot": (0xFD, 0xD5, 0xB1),
1438 "pig pink": (0xFD, 0xD7, 0xE4),
1439 "cinderella": (0xFD, 0xE1, 0xDC),
1440 "golden glow": (0xFD, 0xE2, 0x95),
1441 "lemon": (0xFD, 0xE9, 0x10),
1442 "old lace": (0xFD, 0xF5, 0xE6),
1443 "half colonial white": (0xFD, 0xF6, 0xD3),
1444 "drover": (0xFD, 0xF7, 0xAD),
1445 "pale prim": (0xFD, 0xFE, 0xB8),
1446 "cumulus": (0xFD, 0xFF, 0xD5),
1447 "persian rose": (0xFE, 0x28, 0xA2),
1448 "sunset orange": (0xFE, 0x4C, 0x40),
1449 "bittersweet": (0xFE, 0x6F, 0x5E),
1450 "california": (0xFE, 0x9D, 0x04),
1451 "yellow sea": (0xFE, 0xA9, 0x04),
1452 "melon": (0xFE, 0xBA, 0xAD),
1453 "bright sun": (0xFE, 0xD3, 0x3C),
1454 "dandelion": (0xFE, 0xD8, 0x5D),
1455 "salomie": (0xFE, 0xDB, 0x8D),
1456 "cape honey": (0xFE, 0xE5, 0xAC),
1457 "remy": (0xFE, 0xEB, 0xF3),
1458 "oasis": (0xFE, 0xEF, 0xCE),
1459 "bridesmaid": (0xFE, 0xF0, 0xEC),
1460 "beeswax": (0xFE, 0xF2, 0xC7),
1461 "bleach white": (0xFE, 0xF3, 0xD8),
1462 "pipi": (0xFE, 0xF4, 0xCC),
1463 "half spanish white": (0xFE, 0xF4, 0xDB),
1464 "wisp pink": (0xFE, 0xF4, 0xF8),
1465 "provincial pink": (0xFE, 0xF5, 0xF1),
1466 "half dutch white": (0xFE, 0xF7, 0xDE),
1467 "solitaire": (0xFE, 0xF8, 0xE2),
1468 "white pointer": (0xFE, 0xF8, 0xFF),
1469 "off yellow": (0xFE, 0xF9, 0xE3),
1470 "orange white": (0xFE, 0xFC, 0xED),
1471 "red": (0xFF, 0x00, 0x00),
1472 "dark red": (0x64, 0x00, 0x00),
1473 "rose": (0xFF, 0x00, 0x7F),
1474 "purple pizzazz": (0xFF, 0x00, 0xCC),
1475 "magenta": (0xFF, 0x00, 0xFF),
1476 "fuchsia": (0xFF, 0x00, 0xFF),
1477 "dark magenta": (0xAF, 0x00, 0xAF),
1478 "scarlet": (0xFF, 0x24, 0x00),
1479 "wild strawberry": (0xFF, 0x33, 0x99),
1480 "razzle dazzle rose": (0xFF, 0x33, 0xCC),
1481 "radical red": (0xFF, 0x35, 0x5E),
1482 "red orange": (0xFF, 0x3F, 0x34),
1483 "coral red": (0xFF, 0x40, 0x40),
1484 "vermilion": (0xFF, 0x4D, 0x00),
1485 "international orange": (0xFF, 0x4F, 0x00),
1486 "outrageous orange": (0xFF, 0x60, 0x37),
1487 "blaze orange": (0xFF, 0x66, 0x00),
1488 "pink flamingo": (0xFF, 0x66, 0xFF),
1489 "orange": (0xFF, 0x68, 0x1F),
1490 "hot pink": (0xFF, 0x69, 0xB4),
1491 "persimmon": (0xFF, 0x6B, 0x53),
1492 "blush pink": (0xFF, 0x6F, 0xFF),
1493 "burning orange": (0xFF, 0x70, 0x34),
1494 "pumpkin": (0xFF, 0x75, 0x18),
1495 "flamenco": (0xFF, 0x7D, 0x07),
1496 "flush orange": (0xFF, 0x7F, 0x00),
1497 "coral": (0xFF, 0x7F, 0x50),
1498 "salmon": (0xFF, 0x8C, 0x69),
1499 "pizazz": (0xFF, 0x90, 0x00),
1500 "west side": (0xFF, 0x91, 0x0F),
1501 "pink salmon": (0xFF, 0x91, 0xA4),
1502 "neon carrot": (0xFF, 0x99, 0x33),
1503 "atomic tangerine": (0xFF, 0x99, 0x66),
1504 "vivid tangerine": (0xFF, 0x99, 0x80),
1505 "sunshade": (0xFF, 0x9E, 0x2C),
1506 "orange peel": (0xFF, 0xA0, 0x00),
1507 "mona lisa": (0xFF, 0xA1, 0x94),
1508 "web orange": (0xFF, 0xA5, 0x00),
1509 "carnation pink": (0xFF, 0xA6, 0xC9),
1510 "hit pink": (0xFF, 0xAB, 0x81),
1511 "yellow orange": (0xFF, 0xAE, 0x42),
1512 "cornflower lilac": (0xFF, 0xB0, 0xAC),
1513 "sundown": (0xFF, 0xB1, 0xB3),
1514 "my sin": (0xFF, 0xB3, 0x1F),
1515 "texas rose": (0xFF, 0xB5, 0x55),
1516 "cotton candy": (0xFF, 0xB7, 0xD5),
1517 "macaroni and cheese": (0xFF, 0xB9, 0x7B),
1518 "selective yellow": (0xFF, 0xBA, 0x00),
1519 "koromiko": (0xFF, 0xBD, 0x5F),
1520 "amber": (0xFF, 0xBF, 0x00),
1521 "wax flower": (0xFF, 0xC0, 0xA8),
1522 "pink": (0xFF, 0xC0, 0xCB),
1523 "your pink": (0xFF, 0xC3, 0xC0),
1524 "supernova": (0xFF, 0xC9, 0x01),
1525 "flesh": (0xFF, 0xCB, 0xA4),
1526 "sunglow": (0xFF, 0xCC, 0x33),
1527 "golden tainoi": (0xFF, 0xCC, 0x5C),
1528 "peach orange": (0xFF, 0xCC, 0x99),
1529 "chardonnay": (0xFF, 0xCD, 0x8C),
1530 "pastel pink": (0xFF, 0xD1, 0xDC),
1531 "romantic": (0xFF, 0xD2, 0xB7),
1532 "grandis": (0xFF, 0xD3, 0x8C),
1533 "gold": (0xFF, 0xD7, 0x00),
1534 "school bus yellow": (0xFF, 0xD8, 0x00),
1535 "cosmos": (0xFF, 0xD8, 0xD9),
1536 "mustard": (0xFF, 0xDB, 0x58),
1537 "peach schnapps": (0xFF, 0xDC, 0xD6),
1538 "caramel": (0xFF, 0xDD, 0xAF),
1539 "tuft bush": (0xFF, 0xDD, 0xCD),
1540 "watusi": (0xFF, 0xDD, 0xCF),
1541 "pink lace": (0xFF, 0xDD, 0xF4),
1542 "navajo white": (0xFF, 0xDE, 0xAD),
1543 "frangipani": (0xFF, 0xDE, 0xB3),
1544 "pippin": (0xFF, 0xE1, 0xDF),
1545 "pale rose": (0xFF, 0xE1, 0xF2),
1546 "negroni": (0xFF, 0xE2, 0xC5),
1547 "cream brulee": (0xFF, 0xE5, 0xA0),
1548 "peach": (0xFF, 0xE5, 0xB4),
1549 "tequila": (0xFF, 0xE6, 0xC7),
1550 "kournikova": (0xFF, 0xE7, 0x72),
1551 "sandy beach": (0xFF, 0xEA, 0xC8),
1552 "karry": (0xFF, 0xEA, 0xD4),
1553 "broom": (0xFF, 0xEC, 0x13),
1554 "colonial white": (0xFF, 0xED, 0xBC),
1555 "derby": (0xFF, 0xEE, 0xD8),
1556 "vis vis": (0xFF, 0xEF, 0xA1),
1557 "egg white": (0xFF, 0xEF, 0xC1),
1558 "papaya whip": (0xFF, 0xEF, 0xD5),
1559 "fair pink": (0xFF, 0xEF, 0xEC),
1560 "peach cream": (0xFF, 0xF0, 0xDB),
1561 "lavender blush": (0xFF, 0xF0, 0xF5),
1562 "gorse": (0xFF, 0xF1, 0x4F),
1563 "buttermilk": (0xFF, 0xF1, 0xB5),
1564 "pink lady": (0xFF, 0xF1, 0xD8),
1565 "forget me not": (0xFF, 0xF1, 0xEE),
1566 "tutu": (0xFF, 0xF1, 0xF9),
1567 "picasso": (0xFF, 0xF3, 0x9D),
1568 "chardon": (0xFF, 0xF3, 0xF1),
1569 "paris daisy": (0xFF, 0xF4, 0x6E),
1570 "barley white": (0xFF, 0xF4, 0xCE),
1571 "egg sour": (0xFF, 0xF4, 0xDD),
1572 "sazerac": (0xFF, 0xF4, 0xE0),
1573 "serenade": (0xFF, 0xF4, 0xE8),
1574 "chablis": (0xFF, 0xF4, 0xF3),
1575 "seashell peach": (0xFF, 0xF5, 0xEE),
1576 "sauvignon": (0xFF, 0xF5, 0xF3),
1577 "milk punch": (0xFF, 0xF6, 0xD4),
1578 "varden": (0xFF, 0xF6, 0xDF),
1579 "rose white": (0xFF, 0xF6, 0xF5),
1580 "baja white": (0xFF, 0xF8, 0xD1),
1581 "gin fizz": (0xFF, 0xF9, 0xE2),
1582 "early dawn": (0xFF, 0xF9, 0xE6),
1583 "lemon chiffon": (0xFF, 0xFA, 0xCD),
1584 "bridal heath": (0xFF, 0xFA, 0xF4),
1585 "scotch mist": (0xFF, 0xFB, 0xDC),
1586 "soapstone": (0xFF, 0xFB, 0xF9),
1587 "witch haze": (0xFF, 0xFC, 0x99),
1588 "buttery white": (0xFF, 0xFC, 0xEA),
1589 "island spice": (0xFF, 0xFC, 0xEE),
1590 "cream": (0xFF, 0xFD, 0xD0),
1591 "chilean heath": (0xFF, 0xFD, 0xE6),
1592 "travertine": (0xFF, 0xFD, 0xE8),
1593 "orchid white": (0xFF, 0xFD, 0xF3),
1594 "quarter pearl lusta": (0xFF, 0xFD, 0xF4),
1595 "half and half": (0xFF, 0xFE, 0xE1),
1596 "apricot white": (0xFF, 0xFE, 0xEC),
1597 "rice cake": (0xFF, 0xFE, 0xF0),
1598 "black white": (0xFF, 0xFE, 0xF6),
1599 "romance": (0xFF, 0xFE, 0xFD),
1600 "yellow": (0xFF, 0xFF, 0x00),
1601 "laser lemon": (0xFF, 0xFF, 0x66),
1602 "pale canary": (0xFF, 0xFF, 0x99),
1603 "portafino": (0xFF, 0xFF, 0xB4),
1604 "ivory": (0xFF, 0xFF, 0xF0),
1605 "white": (0xFF, 0xFF, 0xFF),
1613 def clear_screen() -> str:
1621 def normal() -> str:
1629 def italic() -> str:
1633 def italics() -> str:
1637 def underline() -> str:
1641 def strikethrough() -> str:
1645 def strike_through() -> str:
1646 return strikethrough()
1649 def is_16color(num: int) -> bool:
1650 return num in (255, 128)
1653 def is_216color(num: int) -> bool:
1654 return num in set([0, 95, 135, 175, 223, 255])
1657 def _simple_color_number(red: int, green: int, blue: int) -> int:
1661 return b << 2 | g << 1 | r
1664 def fg_16color(red: int, green: int, blue: int) -> str:
1665 code = _simple_color_number(red, green, blue) + 30
1673 if bright_count > 1:
1675 return f"
\e[{code}m"
1678 def bg_16color(red: int, green: int, blue: int) -> str:
1679 code = _simple_color_number(red, green, blue) + 40
1687 if bright_count > 1:
1689 return f"
\e[{code}m"
1692 def _pixel_to_216color(n: int) -> int:
1706 def fg_216color(red: int, green: int, blue: int) -> str:
1707 r = _pixel_to_216color(red)
1708 g = _pixel_to_216color(green)
1709 b = _pixel_to_216color(blue)
1710 code = 16 + r * 36 + g * 6 + b
1711 return f"
\e[38;5;{code}m"
1714 def bg_216color(red: int, green: int, blue: int) -> str:
1715 r = _pixel_to_216color(red)
1716 g = _pixel_to_216color(green)
1717 b = _pixel_to_216color(blue)
1718 code = 16 + r * 36 + g * 6 + b
1719 return f"
\e[48;5;{code}m"
1722 def fg_24bit(red: int, green: int, blue: int) -> str:
1723 return f"
\e[38;2;{red};{green};{blue}m"
1726 def bg_24bit(red: int, green: int, blue: int) -> str:
1727 return f"
\e[48;2;{red};{green};{blue}m"
1730 def _find_color_by_name(name: str) -> Tuple[int, int, int]:
1731 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1733 name = guess_name(name)
1734 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1735 assert rgb is not None
1739 @logging_utils.squelch_repeated_log_messages(1)
1741 name: Optional[str] = "",
1742 red: Optional[int] = None,
1743 green: Optional[int] = None,
1744 blue: Optional[int] = None,
1746 force_16color: bool = False,
1747 force_216color: bool = False,
1749 """Return the ANSI escape sequence to change the foreground color
1750 being printed. Target colors may be indicated by name or R/G/B.
1751 Result will use the 16 or 216 color scheme if force_16color or
1752 force_216color are passed (respectively). Otherwise the code will
1753 do what it thinks best.
1755 >>> import string_utils as su
1756 >>> su.to_base64(fg('blue'))
1757 b'G1szODs1OzIxbQ==\\n'
1760 if name is not None and name == 'reset':
1763 if name is not None and string_utils.is_full_string(name):
1764 rgb = _find_color_by_name(name)
1770 force_16color=force_16color,
1771 force_216color=force_216color,
1780 if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
1781 logger.debug("Using 16-color strategy")
1782 return fg_16color(red, green, blue)
1783 if (is_216color(red) and is_216color(green) and is_216color(blue)) or force_216color:
1784 logger.debug("Using 216-color strategy")
1785 return fg_216color(red, green, blue)
1786 logger.debug("Using 24-bit color strategy")
1787 return fg_24bit(red, green, blue)
1790 def _rgb_to_yiq(rgb: Tuple[int, int, int]) -> int:
1791 return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) // 1000
1794 def _contrast(rgb: Tuple[int, int, int]) -> Tuple[int, int, int]:
1795 if _rgb_to_yiq(rgb) < 128:
1796 return (0xFF, 0xFF, 0xFF)
1800 def pick_contrasting_color(
1801 name: Optional[str] = "",
1802 red: Optional[int] = None,
1803 green: Optional[int] = None,
1804 blue: Optional[int] = None,
1805 ) -> Tuple[int, int, int]:
1806 """This method will return a red, green, blue tuple representing a
1807 contrasting color given the red, green, blue of a background
1808 color or a color name of the background color.
1810 >>> pick_contrasting_color(None, 20, 20, 20)
1813 >>> pick_contrasting_color("white")
1817 if name is not None and string_utils.is_full_string(name):
1818 rgb = _find_color_by_name(name)
1820 r = red if red is not None else 0
1821 g = green if green is not None else 0
1822 b = blue if blue is not None else 0
1824 assert rgb is not None
1825 return _contrast(rgb)
1828 def guess_name(name: str) -> str:
1831 for possibility in COLOR_NAMES_TO_RGB:
1832 r = difflib.SequenceMatcher(None, name, possibility).ratio()
1833 if max_ratio is None or r > max_ratio:
1835 best_guess = possibility
1836 assert best_guess is not None
1837 logger.debug("Best guess at color name is %s", best_guess)
1841 @logging_utils.squelch_repeated_log_messages(1)
1843 name: Optional[str] = "",
1844 red: Optional[int] = None,
1845 green: Optional[int] = None,
1846 blue: Optional[int] = None,
1848 force_16color: bool = False,
1849 force_216color: bool = False,
1851 """Returns an ANSI color code for changing the current background
1854 >>> import string_utils as su
1855 >>> su.to_base64(bg("red")) # b'\x1b[48;5;196m'
1856 b'G1s0ODs1OzE5Nm0=\\n'
1859 if name is not None and name == 'reset':
1862 if name is not None and string_utils.is_full_string(name):
1863 rgb = _find_color_by_name(name)
1869 force_16color=force_16color,
1870 force_216color=force_216color,
1878 if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
1879 logger.debug("Using 16-color strategy")
1880 return bg_16color(red, green, blue)
1881 if (is_216color(red) and is_216color(green) and is_216color(blue)) or force_216color:
1882 logger.debug("Using 216-color strategy")
1883 return bg_216color(red, green, blue)
1884 logger.debug("Using 24-bit color strategy")
1885 return bg_24bit(red, green, blue)
1888 class StdoutInterceptor(io.TextIOBase):
1889 """An interceptor for data written to stdout. Use as a context.
1894 self.saved_stdout: io.TextIO = None
1898 def write(self, s: str):
1901 def __enter__(self):
1902 self.saved_stdout = sys.stdout
1906 def __exit__(self, *args) -> Optional[bool]:
1907 sys.stdout = self.saved_stdout
1912 class ProgrammableColorizer(StdoutInterceptor):
1913 """A colorizing interceptor; pass it re.Patterns -> methods that do
1914 something (usually add color to) the match.
1919 patterns: Iterable[Tuple[re.Pattern, Callable[[Any, re.Pattern], str]]],
1922 self.patterns = list(patterns)
1925 def write(self, s: str):
1926 for pattern in self.patterns:
1927 s = pattern[0].sub(pattern[1], s)
1931 if __name__ == '__main__':
1937 name = " ".join(sys.argv[1:])
1938 for possibility in COLOR_NAMES_TO_RGB:
1939 if name in possibility:
1942 _ = pick_contrasting_color(possibility)
1943 xf = fg(None, _[0], _[1], _[2])
1944 xb = bg(None, _[0], _[1], _[2])
1945 print(f'{f}{xb}{possibility}{reset()}\t\t\t' f'{b}{xf}{possibility}{reset()}')