//sun radiation circular-fastled circular 241 leds demo-Yaroslaw Turbin 22.01.2020
//https://vk.com/ldirko - https://www.reddit.com/user/ldirko/
//https://wokwi.com/arduino/projects/288134661735973389
#include <FastLED.h>
#define Height 16
#define Width 16
#define NUM_LEDS Width* Height
CRGB leds[NUM_LEDS];
#define C_X (Width / 2)
#define C_Y (Height / 2)
float XY_angle[Width][Height];
float XY_radius[Width][Height];
byte bump [(Width + 2) * (Height + 2)];
CRGB chsvLut[256];
bool setupm = 1;
uint16_t XY(uint8_t x, uint8_t y) {
uint16_t i;
if (y & 0x01) {
uint8_t reverseX = (Width - 1) - x;
i = (y * Width) + reverseX;
} else {
i = (y * Width) + x;
}
return i;
}
extern const TProgmemRGBGradientPalettePtr gGradientPalettes[];
extern const uint8_t gGradientPaletteCount;
uint8_t gCurrentPaletteNumber = 0;
CRGBPalette16 gCurrentPalette(CRGB::Black);
CRGBPalette16 gTargetPalette(gGradientPalettes[0]);
void setup() {
FastLED.addLeds<NEOPIXEL, 18>(leds, NUM_LEDS);
FastLED.setBrightness(255);
generateCHSVlut();
}
void colorwaves(CRGB* ledarray, uint16_t numleds, CRGBPalette16& palette) {
if (setupm) {
setupm = 0;
for (int8_t x = -C_X; x < C_X + (Width % 2); x++) {
for (int8_t y = -C_Y; y < C_Y + (Height % 2); y++) {
XY_angle [x + C_X][y + C_Y] = atan2 (y, x) * (180. / 2. / PI) * Width;
XY_radius [x + C_X][y + C_Y] = hypot (x, y); //thanks Sutaburosu
}
}
}
static byte scale = 9;
static byte speed = 44;
static uint32_t t;
t += speed;
for (uint8_t x = 0; x < Width; x++) {
for (uint8_t y = 0; y < Height; y++) {
float angle = XY_angle[x][y];
float radius = XY_radius[x][y];
int16_t Bri = inoise8(angle, radius * scale - t) - radius * Height;
byte Col = Bri;
if (Bri < 0) Bri = 0;
if (Bri != 0) Bri = 256 - (Bri * 0.2);
nblend(leds[XY(x, y)], ColorFromPalette(gCurrentPalette, Col, Bri), speed);
}
}
}
void generateCHSVlut() {
for (int j = 0; j < 256; j++)
chsvLut [j] = ColorFromPalette (gCurrentPalette, j / 2, 255);
}
void generatebump() {
int t = millis() / 2;
int index = 0;
for (byte j = 0; j < (Height + 2); j++) {
for (byte i = 0; i < (Width + 2); i++) {
byte col = (inoise8_raw(i * 40, j * 40, t)) / 2;
bump [index++] = col;
}
}
}
void Bumpmap () {
int yindex = (Width + 3);
int8_t vly = -(Height / 2 + 1);
for (byte y = 0; y < Height; y++) {
++vly;
int8_t vlx = -(Width / 2 + 1);
for (byte x = 0; x < Width; x++) {
++vlx;
int8_t nx = bump [x + yindex + 1] - bump [x + yindex - 1];
int8_t ny = bump [x + yindex + (Width + 2)] - bump [x + yindex - (Width + 2)];
byte difx = abs8 (vlx * 7 - nx);
byte dify = abs8 (vly * 7 - ny);
int temp = difx * difx + dify * dify;
int col = 255 - temp / 16;
if (col < 0) col = 0;
leds [XY(x, y)] = chsvLut [col]; //thx satubarosu :))
}
yindex += (Width + 2);
}
}
void loop() {
generateCHSVlut();
generatebump();
Bumpmap();
EVERY_N_SECONDS(8) {gCurrentPaletteNumber = addmod8(gCurrentPaletteNumber, 1, gGradientPaletteCount);
gTargetPalette = gGradientPalettes[gCurrentPaletteNumber];}
EVERY_N_MILLISECONDS(3) {nblendPaletteTowardPalette(gCurrentPalette, gTargetPalette, 16);}
FastLED.show();
}
DEFINE_GRADIENT_PALETTE(mycoolp){0, 17, 22, 93,1, 17, 22, 93,14, 176, 135, 249,24, 253, 143, 29,35, 176, 135, 249,51, 17, 22, 93,65, 176, 135, 249,75, 253, 143, 29,86, 176, 135, 249,102, 17, 22, 93,117, 176, 135, 249,127, 253, 143, 29,137, 176, 135, 249,153, 17, 22, 93,164, 176, 135, 249,175, 253, 143, 29,185, 176, 135, 249,204, 17, 22, 93,225, 176, 135, 249,237, 253, 143, 29,248, 176, 135, 249,254, 17, 22, 93,255, 17, 22, 93};
DEFINE_GRADIENT_PALETTE(myhotP){0, 176, 135, 249,1, 176, 135, 249,14, 253, 143, 29,24, 252, 236, 69,35, 253, 143, 29,51, 176, 135, 249,65, 253, 143, 29,75, 252,236, 69,86, 253, 143, 29,102, 176, 135, 249,117, 253, 143, 29,127, 252,236, 69,137, 253, 143, 29,153, 176, 135, 249,164, 253, 143, 29,175, 252, 236, 69,185, 253, 143, 29,204, 176, 135, 249,225, 253, 143, 29,237, 252, 236, 69,248, 253, 143, 29,254, 176, 135, 249,255, 176, 135, 249};
DEFINE_GRADIENT_PALETTE(mynoiseP_gp){0, 176, 135, 249,100, 176, 135, 249,170, 253, 143, 29,210, 252,236, 69,255, 253, 143, 29};
DEFINE_GRADIENT_PALETTE(earthtone_rainbow_gp){0, 34, 117, 96,31, 0, 48, 36,63, 6, 105, 26,95, 148, 3, 0,127, 215,117, 0,159, 249,205, 4,178,150, 38, 124,223, 158, 151, 209,255,5,141,85};
DEFINE_GRADIENT_PALETTE(bbrad_gp){0, 255, 1, 0,73, 255, 73, 10,79, 255, 84, 14,84, 255, 93, 90, 255,104, 29,96, 255,115, 37,102, 255,125, 49,107, 255,136, 62,113, 255,147, 77,119, 255,157, 93,124, 255,168,112,130, 255, 178, 133,135, 255,187,156,141, 255,137,180,147, 255, 107, 205,153, 255, 217, 33,249, 2,117, 255,255, 68, 114, 255};
DEFINE_GRADIENT_PALETTE(sprinkles_gp){0, 67, 1, 10,54, 67, 1, 10,109, 121, 2, 9,127, 194, 3, 8,145, 213, 15, 5,151, 229, 39, 2,158, 222, 73, 5,164, 217,119, 8,170, 120,164, 77,212, 55,217,242,255, 55,217,242};
DEFINE_GRADIENT_PALETTE(opaque_gp){0, 172,203,100,51, 161,186,112,76, 132,169,112,102, 67,131, 98,127, 27, 99, 83,153, 35, 63, 51,178, 46, 36, 28,204, 57, 18, 23,229, 71, 7, 19,255, 71, 7, 19};
DEFINE_GRADIENT_PALETTE(asleep_gp){0, 54, 82, 67,25, 54, 82, 67,51, 56, 99, 79,76, 58,117, 92,102, 71,146, 95,127, 84,178, 98,153, 115,197, 87,178, 153,217, 78,204, 199,223, 85,229, 255,231, 93,255, 255,231, 93};
DEFINE_GRADIENT_PALETTE(when_You_Believe_gp){0, 55, 2, 3,38, 55, 2, 3,76, 95, 5, 7,81, 150, 12, 13,86, 169, 50, 34,99, 190,117, 66,112, 92, 97, 62,161, 34, 81, 57,211, 17, 36, 31,233, 7, 10, 13,255, 7, 10, 13};
DEFINE_GRADIENT_PALETTE(aya_sofia_gp){0, 0, 90,120,25, 0, 90,120,51, 1, 72, 84,76, 5, 57, 55,102, 17, 44, 34,127, 35, 33, 18,153, 65, 55, 9,178, 107, 85, 3,204, 163,119, 1,229, 234,162, 0,255, 234,162, 0};
DEFINE_GRADIENT_PALETTE(Copycat_gp){0, 22, 15, 29,25, 22, 15, 29,51, 30, 25, 54,76, 37, 39, 89,102, 40, 66,115,127, 43,101,145,153, 59,136,153,178, 79,178,158,204, 101,215,172,229, 128,255,188,255, 108,255,128};
DEFINE_GRADIENT_PALETTE(doggy_in_the_window_gp){0, 171, 17, 29,25, 171, 17, 29,51, 146, 21, 31,76, 125, 25, 34,102, 77, 31, 34,127, 42, 38, 33,153, 28, 38, 32,178, 18, 39, 32,204, 17, 41, 35,229, 15, 44, 38,255, 15, 44, 38};
DEFINE_GRADIENT_PALETTE(otis_gp){0, 26, 1, 89,127, 17,193, 0,216, 0, 34, 98,255, 0, 34, 98};
DEFINE_GRADIENT_PALETTE(Sunset_Real_gp){0, 120, 0, 0,22, 179, 22, 0,51, 255, 104, 0,85, 167, 22, 18,135, 100, 0, 103,198, 16, 0, 130,255, 0, 0, 160};
DEFINE_GRADIENT_PALETTE(ib_jul01_gp){0, 194, 1, 1,94, 1, 29, 18,132, 57, 131, 28,255, 113, 1, 1};
DEFINE_GRADIENT_PALETTE(es_vintage_01_gp){0, 4, 1, 1,51, 16, 0, 1,76, 97, 104, 3,101, 255, 131, 19,127, 67, 9, 4, 153, 16, 0, 1,229, 4, 1, 1,255, 4, 1, 1 };
DEFINE_GRADIENT_PALETTE(rgi_15_gp){0, 4, 1, 31, 31, 55, 1, 16, 63, 197, 3, 7, 95, 59, 2, 17, 127, 6, 2, 34, 159, 39, 6, 33, 191, 112, 13, 32, 223, 56, 9, 35, 255, 22, 6, 38 };
DEFINE_GRADIENT_PALETTE(es_pinksplash_08_gp){0, 126, 11, 255, 127, 197, 1, 22, 175, 210, 157, 172, 221, 157, 3, 112, 255, 157, 3, 112 };
DEFINE_GRADIENT_PALETTE(es_pinksplash_07_gp){0, 229, 1, 1, 61, 242, 4, 63, 101, 255, 12, 255, 127, 249, 81, 252, 153, 255, 11, 235, 193, 244, 5, 68, 255, 232, 1, 5 };
DEFINE_GRADIENT_PALETTE(es_ocean_breeze_068_gp){0, 100, 156, 153, 51, 1, 99, 137, 101, 1, 68, 84, 104, 35, 142, 168, 178, 0, 63, 117, 255, 1, 10, 10 };
DEFINE_GRADIENT_PALETTE(es_ocean_breeze_036_gp){0, 1, 6, 7, 89, 1, 99, 111, 153, 144, 209, 255, 255, 0, 73, 82 };
DEFINE_GRADIENT_PALETTE(es_landscape_64_gp){0, 0, 6, 0, 37, 2, 25, 1, 76, 15, 115, 5, 127, 79, 213, 1, 128, 126, 211, 47, 130, 188, 209, 247, 153, 144, 182, 205, 204, 59, 117, 250, 255, 1, 37, 192 };
DEFINE_GRADIENT_PALETTE(es_landscape_33_gp){0, 1, 5, 0, 19, 32, 23, 1, 38, 161, 55, 1, 63, 229, 144, 1, 66, 39, 142, 74, 255, 1, 4, 1 };
DEFINE_GRADIENT_PALETTE(rainbowsherbet_gp){0, 255, 33, 4, 43, 255, 68, 25, 86, 255, 7, 25, 127, 255, 82, 103, 170, 255, 255, 242, 209, 42, 255, 22, 255, 87, 255, 65 };
DEFINE_GRADIENT_PALETTE(gr65_hult_gp){0, 247, 176, 247, 48, 255, 136, 255, 89, 220, 29, 226, 160, 7, 82, 178, 216, 1, 124, 109, 255, 1, 124, 109 };
DEFINE_GRADIENT_PALETTE(gr64_hult_gp){0, 1, 124, 109, 66, 1, 93, 79, 104, 52, 65, 1, 130, 115, 127, 1, 150, 52, 65, 1, 201, 1, 86, 72, 239, 0, 55, 45, 255, 0, 55, 45 };
DEFINE_GRADIENT_PALETTE(GMT_drywet_gp){0, 47, 30, 2, 42, 213, 147, 24, 84, 103, 219, 52, 127, 3, 219, 207, 170, 1, 48, 214, 212, 1, 1, 111, 255, 1, 7, 33 };
DEFINE_GRADIENT_PALETTE(ib15_gp){0, 113, 91, 147, 72, 157, 88, 78, 89, 208, 85, 33, 107, 255, 29, 11, 141, 137, 31, 39, 255, 59, 33, 89 };
DEFINE_GRADIENT_PALETTE(Fuschia_7_gp){0, 43, 3, 153, 63, 100, 4, 103, 127, 188, 5, 66, 191, 161, 11, 115, 255, 135, 20, 182 };
DEFINE_GRADIENT_PALETTE(lava_gp){0, 0, 9, 0, 46, 18, 0, 0, 96, 113, 0, 0, 108, 142, 3, 1, 119, 175, 17, 1, 146, 213, 44, 2, 174, 255, 82, 4, 188, 255, 115, 4, 202, 255, 156, 4, 218, 255, 203, 4, 234, 255, 255, 4, 244, 255, 255, 71, 255, 255, 254, 255 };
DEFINE_GRADIENT_PALETTE(fire_gp){0, 1, 1, 0, 76, 32, 5, 0, 146, 192, 24, 0, 197, 220, 105, 5, 240, 252, 255, 31, 250, 252, 255, 111, 255, 255, 255, 255 };
DEFINE_GRADIENT_PALETTE(Colorfull_gp){0, 10, 85, 5, 25, 29, 109, 18, 60, 59, 138, 42, 93, 83, 99, 52, 106, 110, 66, 64, 109, 123, 49, 65, 113, 139, 35, 66, 116, 192, 117, 98, 124, 255, 255, 137, 168, 100, 180, 155, 255, 22, 121, 174 };
DEFINE_GRADIENT_PALETTE(Magenta_Evening_gp){0, 71, 27, 39, 31, 130, 11, 51, 63, 213, 2, 64, 70, 232, 1, 66, 76, 252, 1, 69, 108, 123, 2, 51, 255, 46, 9, 35 };
DEFINE_GRADIENT_PALETTE(Pink_Purple_gp){0, 19, 2, 39, 25, 26, 4, 45, 51, 33, 6, 52, 76, 68, 62, 125, 102, 118, 187, 240, 109, 163, 215, 247, 114, 217, 244, 255, 122, 159, 149, 221, 149, 113, 78, 188, 183, 128, 57, 155, 255, 146, 40, 123 };
DEFINE_GRADIENT_PALETTE(es_autumn_19_gp){0, 26, 1, 1, 51, 67, 4, 1, 84, 118, 14, 1, 104, 137, 152, 52, 112, 113, 65, 1, 122, 133, 149, 59, 124, 137, 152, 52, 135, 113, 65, 1, 142, 139, 154, 46, 163, 113, 13, 1, 204, 55, 3, 1, 249, 47, 1, 1, 255, 37, 1, 1 };
DEFINE_GRADIENT_PALETTE(BlacK_Magenta_Red_gp){ 0, 10, 0, 0, 63, 42, 0, 45, 127, 255, 0, 255, 191, 255, 0, 45, 255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(BlacK_Red_Magenta_Yellow_gp){ 0, 10, 0, 0, 42, 42, 0, 0, 84, 255, 0, 0, 127, 255, 0, 45, 170, 255, 0, 255, 212, 255, 55, 45, 255, 255, 255, 0 };
DEFINE_GRADIENT_PALETTE(Blue_Cyan_Yellow_gp){ 0, 0, 0, 255, 63, 0, 55, 255, 127, 0, 255, 255, 191, 42, 255, 45, 255, 255, 255, 0 };
DEFINE_GRADIENT_PALETTE(Fire_gp){0, 0, 0, 20,128, 255, 0, 0,224, 255, 255, 0,255, 155, 55, 255 };
DEFINE_GRADIENT_PALETTE(dkbluered_gp){0, 10, 0, 40,33, 1, 0, 83,42, 1, 0, 123,51, 1, 0, 174,56, 4, 17, 255,84, 16, 45, 255,93, 37, 82, 255,102, 69, 127, 255,110, 120, 168, 255,144, 255, 168, 123,153, 255, 127, 73,170, 255, 45, 18,178, 255, 17, 5,186, 255, 2, 1,212, 120, 0, 1,255, 4, 0, 1};
DEFINE_GRADIENT_PALETTE(Optimus_Prime_gp){0, 5, 16, 18,25, 5, 16, 18,51, 7, 25, 39,76, 8, 38, 71,102, 64, 99, 106,127, 194, 189, 151,153, 182, 63, 42,178, 167, 6, 2,204, 100, 3, 1,229, 53, 1, 1,255, 53, 1, 1 };
DEFINE_GRADIENT_PALETTE(warmGrad_gp){ 0, 252, 200, 172, 25, 239, 255, 61, 53, 247, 45, 17, 76, 197, 82, 19, 96, 239, 255, 61, 124, 83, 4, 1, 153, 247, 45, 17, 214, 23, 15, 17, 255, 1, 1, 1 };
DEFINE_GRADIENT_PALETTE(coldGrad_gp){ 0, 66, 186, 192, 43, 1, 22, 71, 79, 2, 104, 142, 117, 66, 186, 192, 147, 2, 104, 142, 186, 1, 22, 71, 224, 2, 104, 142, 255, 4, 27, 28 };
DEFINE_GRADIENT_PALETTE(hotGrad_gp){ 0, 157, 21, 2, 35, 229, 244, 16, 73, 255, 44, 7, 107, 142, 7, 1, 153, 229, 244, 16, 206, 142, 7, 1, 255, 135, 36, 0 };
DEFINE_GRADIENT_PALETTE(pinkGrad_gp){0, 249, 32, 145, 28, 208, 1, 7, 43, 249, 1, 19, 56, 126, 152, 10, 73, 234, 23, 84, 89, 224, 45, 119, 107, 232, 127, 158, 127, 244, 13, 89, 150, 188, 6, 52, 175, 177, 70, 14, 221, 194, 1, 8, 255, 112, 0, 1 };
DEFINE_GRADIENT_PALETTE(comfy_gp){0, 255, 255, 45, 43, 208, 93, 1, 137, 224, 1, 242, 181, 159, 1, 29, 255, 63, 4, 68 };
DEFINE_GRADIENT_PALETTE(cyperpunk_gp){0, 3, 6, 72, 38, 12, 50, 188, 109, 217, 35, 1, 135, 242, 175, 12, 178, 161, 32, 87, 255, 24, 6, 108 };
DEFINE_GRADIENT_PALETTE(girl_gp){0, 103, 1, 10, 33, 109, 1, 12, 76, 159, 5, 48, 119, 175, 55, 103, 127, 175, 55, 103, 178, 159, 5, 48, 221, 109, 1, 12, 255, 103, 1, 10 };
DEFINE_GRADIENT_PALETTE(xmas_gp){0, 0, 12, 0, 40, 0, 55, 0, 66, 1, 117, 2, 77, 1, 84, 1, 81, 0, 55, 0, 119, 0, 12, 0, 153, 42, 0, 0, 181, 121, 0, 0, 204, 255, 12, 8, 224, 121, 0, 0, 244, 42, 0, 0, 255, 42, 0, 0 };
DEFINE_GRADIENT_PALETTE(acid_gp){0, 0, 12, 0, 61, 153, 239, 112, 127, 0, 12, 0, 165, 106, 239, 2, 196, 167, 229, 71, 229, 106, 239, 2, 255, 0, 12, 0 };
DEFINE_GRADIENT_PALETTE(blueSmoke_gp){0, 0, 30, 0, 12, 1, 1, 3, 53, 8, 1, 22, 80, 4, 6, 89, 119, 2, 25, 216, 145, 7, 10, 99, 186, 15, 2, 31, 233, 2, 1, 5, 255, 30, 0, 0 };
DEFINE_GRADIENT_PALETTE(gummy_gp){0, 8, 47, 5, 31, 77, 122, 6, 63, 249, 237, 7, 95, 232, 51, 1, 127, 215, 0, 1,159, 47, 1, 3, 191, 1, 7, 16, 223, 52, 22, 6, 255, 239, 45, 1 };
DEFINE_GRADIENT_PALETTE(aurora_gp){0, 17, 177, 13, 64, 121, 242, 5, 128, 25, 173, 121, 192, 250, 77, 127, 255, 171, 101, 221 };
DEFINE_GRADIENT_PALETTE(bhw1_28_gp){0, 75, 1, 221, 30, 252, 73, 255, 48, 169, 0, 242, 119, 0, 149, 242, 170, 43, 0, 242, 206, 252, 73, 255, 232, 78, 12, 214, 255, 0, 149, 242 };
DEFINE_GRADIENT_PALETTE(bhw1_26_gp){0, 107, 1, 205, 35, 255, 255, 255, 73, 107, 1, 205, 107, 10, 149, 210, 130, 255, 255, 255, 153, 10, 149, 210, 170, 27, 175, 119, 198, 53, 203, 56, 207, 132, 229, 135, 219, 255, 255, 255, 231, 132, 229, 135, 252, 53, 203, 56, 255, 53, 203, 56 };
DEFINE_GRADIENT_PALETTE(RdYlBu_11_gp){0, 82, 0, 2, 23, 82, 0, 2, 23, 163, 6, 2, 46, 163, 6, 2, 46, 227, 39, 9, 69, 227, 39, 9, 69, 249, 109, 22, 92, 249, 109, 22, 92, 252, 191, 61, 115, 252, 191, 61, 115, 255, 255, 123, 139, 255, 255, 123, 139, 182, 229, 237, 162, 182, 229, 237, 162, 90, 178, 203, 185, 90, 178, 203, 185, 32, 108, 155, 208, 32, 108, 155, 208, 8, 45, 106, 231, 8, 45, 106, 231, 3, 8, 66, 255, 3, 8, 66 };
DEFINE_GRADIENT_PALETTE(Paired_11_gp){0, 83, 159, 190, 23, 83, 159, 190, 23, 1, 48, 106, 46, 1, 48, 106, 46, 100, 189, 54,69, 100, 189, 54, 69, 3, 91, 3, 92, 3, 91, 3, 92, 244, 84, 71, 115, 244, 84, 71,115, 188, 1, 1, 139, 188, 1, 1, 139, 249, 135, 31, 162, 249, 135, 31, 162, 255, 55, 0,185, 255, 55, 0, 185, 139, 115, 164, 208, 139, 115, 164, 208, 26, 10, 72, 231, 26, 10, 72, 231, 255, 255, 71, 255, 255, 255, 71 };
DEFINE_GRADIENT_PALETTE(aips0_gp){0, 3, 7, 4, 28, 3, 7, 4, 28, 36, 0, 73, 56, 36, 0, 73, 56, 0, 0, 138, 84, 0, 0, 138,84, 19, 100, 210, 113, 19, 100, 210, 113, 0, 81, 0, 141, 0, 81, 0, 141, 0, 235, 0,170, 0, 235, 0, 170, 255, 255, 0, 198, 255, 255, 0, 198, 255, 114, 0, 226, 255, 114, 0,226, 255, 0, 0, 255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(rstcurv_gp){0, 42, 0, 255, 114, 0, 0, 255, 126, 0, 55, 255, 127, 0, 255, 255, 127, 135, 255, 138,127, 255, 255, 0, 128, 255, 55, 0, 140, 255, 0, 0, 255, 255, 0, 138 };
DEFINE_GRADIENT_PALETTE(ramp_gp){0, 0, 0, 30, 84, 0, 0, 255, 84, 0, 0, 0, 170, 0, 255, 0,170, 0, 0, 0, 255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(slope_gp){0, 200, 200, 155,5, 255, 255, 0, 14, 0, 255, 0, 28, 0, 255, 255,42, 0, 0, 255, 84, 255, 0, 255, 141, 255, 0, 0, 255, 0, 0, 0 };
DEFINE_GRADIENT_PALETTE(rainbow_gp){0, 126, 1, 142, 25, 171, 1, 26, 48, 224, 9, 1, 71, 237, 138, 1, 94, 52, 173, 1,117, 1, 201, 1, 140, 1, 211, 54, 163, 1, 124, 168, 186, 1, 8, 149,209, 12, 1, 151, 232, 12, 1, 151, 255, 171, 1, 190 };
DEFINE_GRADIENT_PALETTE(pm3d21_gp){0, 0, 0, 28, 63, 255, 0, 8, 63, 0, 55, 8,127, 0, 55, 45, 127, 0, 0, 45, 255, 0, 0, 255 };
DEFINE_GRADIENT_PALETTE(ofaurora_gp){0, 255, 141, 200,10, 237, 1, 9,15, 42, 1, 2,22, 1, 1, 1,35, 237, 1, 9,48, 255, 200, 200,58, 239, 57, 1,66, 1, 1, 1,76, 239, 57, 1,84, 255, 200, 200,94, 242, 217, 1,101, 1, 1, 1,109, 242, 217, 1,119, 255, 200, 200,127, 9, 144, 36,132, 1, 1, 1,140, 9, 144, 36,147, 255, 200, 200,158, 1, 156, 186,168, 1, 1, 1,178, 1, 156, 186,198, 16, 13, 255,206, 1, 1, 1,216, 16, 13, 255,224, 255, 200, 242,234, 78, 1, 156,237, 14, 1, 30,239, 1, 1, 1,255, 255, 241, 100};
DEFINE_GRADIENT_PALETTE(springfloralblend_gp){0, 55, 55, 255, 10, 36, 233, 41, 20, 46, 235, 0, 30, 61, 169, 219, 40, 8, 57, 147,56, 229, 15, 5, 63, 255, 1, 1, 79, 255, 7, 178, 86, 217, 1, 61,96, 255, 246, 23, 109, 244, 149, 0, 117, 91, 68, 216,130, 34, 10, 142, 142, 118, 248, 1, 150, 69, 213, 0,163, 1, 31, 151, 175, 57, 159, 255, 188, 244, 14, 5,196, 255, 25, 13, 209, 95, 86, 233, 219, 51, 16, 186,229, 8, 104, 0, 242, 7, 186, 111, 255, 255, 55, 55 };
DEFINE_GRADIENT_PALETTE(rootchakr4_gp){0, 194, 2, 2, 30, 255, 255, 255, 51, 1, 1, 1, 71, 194, 2, 2,107, 16, 3, 2, 119, 194, 2, 2, 132, 1, 1, 1, 173, 194, 2, 2,204, 255, 255, 255, 224, 194, 2, 2, 255, 123, 3, 1 };
DEFINE_GRADIENT_PALETTE(njmag_gp){0, 1, 1, 182,31, 91, 99, 237,47, 112, 144, 186,63, 1, 58, 1,79, 1, 250, 1,95, 50, 103, 2,111, 249, 250, 1,127, 244, 246, 144,143, 239, 147, 100,159, 239, 147, 100,175, 244, 142, 1,191, 237, 107, 1,207, 244, 99, 87,207, 242, 1, 1,239, 239, 96, 247,255, 135, 1, 172};
DEFINE_GRADIENT_PALETTE(bhw2_sherbet_gp){0, 44, 4, 13, 38, 224, 25, 68,58, 199, 55, 102, 104, 255, 255, 8,124, 55, 124, 65, 170, 220, 227, 158, 255, 97, 3, 13 };
DEFINE_GRADIENT_PALETTE(bhw4_014_gp){0, 25, 40, 35, 15, 113, 125, 115, 40, 90, 1, 0, 76, 1, 4, 3,99, 153, 157, 155, 122, 47, 38, 31, 155, 252, 125, 3,188, 90, 1, 0, 214, 9, 10, 14, 255, 86, 80, 80 };
DEFINE_GRADIENT_PALETTE(spiral_gp){0, 5, 255, 6, 8, 255, 255, 6,17, 255, 97, 6, 25, 255, 10, 6, 33, 255, 10, 255,42, 5, 255, 255, 51, 82, 255, 85, 59, 255, 255, 85,68, 255, 166, 85, 76, 255, 97, 85, 84, 255, 97, 255,93, 82, 97, 255, 102, 82, 255, 255,255, 155, 55, 255 };
DEFINE_GRADIENT_PALETTE(german_flag_gp){0, 20, 10, 70,83, 100, 10, 0,84, 255, 10, 10,169, 255, 210, 10,169, 255, 255, 210,255, 255, 255, 120 };
DEFINE_GRADIENT_PALETTE(temperature_gp){0, 1, 27, 105,28, 1, 40, 127,42, 1, 70, 168,56, 1, 92, 197,70, 1, 119, 221,84, 3, 130, 151,99, 23, 156, 149,113, 67, 182, 112,127, 121, 201, 52,141, 142, 203, 11,155, 224, 223, 1,170, 252, 187, 2,184, 247, 147, 1,198, 237, 87, 1,212, 229, 43, 1,226, 220, 15, 1,240, 171, 2, 2,255, 80, 3, 3};
DEFINE_GRADIENT_PALETTE(Analogous_1_gp){0, 3, 0, 255, 63, 23, 0, 255, 127, 67, 0, 255, 191, 142, 0, 45, 255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(Coral_reef_gp){0, 40, 199, 197, 50, 10, 152, 155, 96, 1, 111, 120, 96, 43, 127, 162, 139, 10, 73, 111, 255, 1, 34, 71 };
DEFINE_GRADIENT_PALETTE(es_ocean_breeze_026_gp){0, 52, 78, 71, 76, 0, 16, 29, 127, 1, 1, 1, 178, 0, 16, 29, 255, 52, 78, 71 };
DEFINE_GRADIENT_PALETTE(colorcube_gp){0, 14, 255, 0,24, 255, 22, 0,32, 255, 255, 0,36, 0, 22, 44,44, 0, 255, 44,48, 14, 0, 44,60, 14, 255, 44,72, 88, 104, 44,80, 255, 0, 44,93, 255, 255, 44,97, 0, 22, 255,105, 0, 255, 255,109, 14, 0, 255,113, 14, 22, 255,121, 14, 255, 255,125, 88, 0, 255,141, 255, 0, 255,149, 255, 99, 255,153, 2, 0, 0,165, 88, 0, 0,174, 255, 0, 0,178, 0, 4, 0,186, 0, 55, 0,194, 0, 169, 0,198, 0, 255, 0,202, 0, 0, 2,214, 0, 0, 92,222, 0, 0, 255,230, 1, 3, 1,234, 9, 15, 10,238, 27, 39, 30,242, 58, 73, 62,250, 169, 180, 172,255, 255, 255, 45};
DEFINE_GRADIENT_PALETTE(es_emerald_dragon_08_gp){0, 97, 255, 1,101, 47, 133, 1,178, 13, 43, 1,255, 2, 30, 1 };
DEFINE_GRADIENT_PALETTE(BlacK_Blue_Magenta_White_gp){0, 10, 50, 0, 42, 0, 0, 45, 84, 0, 0, 255, 127, 42, 0, 255, 170, 255, 0, 255, 212, 255, 55, 255,255, 55, 55, 255 };
DEFINE_GRADIENT_PALETTE(BlacK_Blue_gp){0, 10, 20, 30,127, 0, 0, 45,255, 0, 0, 255 };
DEFINE_GRADIENT_PALETTE(Stripped_Spectrum_gp){0, 255, 0, 0,15, 0, 0, 0,27, 30, 20, 10,31, 255, 135, 0,38, 255, 207, 0,43, 242, 255, 0,47, 179, 255, 0,52, 30, 20, 10,63, 42, 255, 0,68, 22, 255, 0,98, 30, 20, 10,147, 0, 12, 255,175, 1, 0, 255,182, 30, 20, 10,191, 0, 0, 0,191, 42, 0, 255,193, 54, 0, 255,202, 128, 0, 255,207, 179, 0, 255,207, 0, 0, 0,211, 10, 20, 30,225, 255, 0, 112,255, 30, 20, 10};
DEFINE_GRADIENT_PALETTE(bhw1_14_gp){0, 10, 20, 30,12, 1, 1, 33, 53, 8, 1, 22, 80, 4, 6, 89, 119, 2, 25, 216,145, 7, 10, 99,186, 15, 2, 31,233, 2, 11, 5,255, 0, 50, 0 };
DEFINE_GRADIENT_PALETTE(bhw2_22_gp){0, 30, 20, 10,99, 227, 1, 1,130, 249, 199, 95,155, 227, 1, 1,255, 30, 20, 10 };
DEFINE_GRADIENT_PALETTE(bhw3_52_gp){0, 31, 1, 27,45, 34, 1, 16,99, 137, 5, 9,132, 213, 128, 10,175, 199, 22, 1,201, 199, 9, 6,255, 1, 0, 21};
DEFINE_GRADIENT_PALETTE(Deep_Sea_gp){0, 0, 1, 42,148, 1, 7, 24,194, 2, 31, 77,226, 1, 108, 144,255, 0, 237, 235 };
DEFINE_GRADIENT_PALETTE(shikon_22_gp){0, 2, 2, 42, 24, 217, 47, 0, 26, 2, 2, 2, 49, 126, 0, 1, 51, 2, 2, 2,73, 0, 223, 64, 76, 2, 2, 2, 100, 126, 0, 59, 102, 2, 2, 2, 125, 0, 219, 219,127, 2, 2, 52,151, 0, 25, 219, 153, 2, 2, 2, 175, 44, 223, 0,179, 2, 2, 2,201, 55, 2, 32, 203, 2, 2, 2, 226, 199, 223, 0,229, 2, 2, 2, 252, 26, 0, 219,255, 42, 32, 22};
DEFINE_GRADIENT_PALETTE(shikon_23_gp){0, 12, 22, 32,8, 32, 22, 12,10, 126, 0, 1,44, 126, 0, 1,25, 2, 2, 42,37, 12, 22, 32,38, 199, 223, 0,49, 199, 223, 0,50, 2, 2, 2, 63, 2, 2, 2,65, 44, 223, 0, 77, 44, 223, 0, 77, 2, 2, 2, 88, 2, 2, 2, 89, 0, 223, 64,101, 0, 223, 64, 102, 2, 2, 2, 113, 2, 2, 2, 114, 0, 219, 219, 128, 0, 219, 219,129, 2, 2, 2, 140, 2, 2, 2, 141, 0, 25, 219, 153, 0, 25, 219, 153, 2, 2, 2,166, 126, 0, 59, 178, 126, 0, 59, 179, 2, 2, 2,192, 55, 2, 32, 204, 55, 2, 32, 205, 2, 2, 2,217, 217, 47, 0,228, 217, 47, 0, 228, 2, 2, 2, 242, 2, 2, 2, 243, 26, 0, 219, 250, 26, 0, 219,255, 2, 22, 2 };
DEFINE_GRADIENT_PALETTE(curvature_gp){0, 30, 20, 10, 114, 0, 0, 255, 126, 22, 55, 255, 127, 0, 255, 255, 127, 255, 255, 255,127, 255, 255, 0,128, 255, 55, 0,140, 255, 0, 0,255, 255, 0, 255 };
DEFINE_GRADIENT_PALETTE(calbayo_15_gp){0, 210, 131, 1, 63, 210, 31, 6, 125, 41, 2, 3, 125, 7, 20, 12, 125, 1, 58, 29,243, 1, 25, 14, 255, 3, 6, 6 };
DEFINE_GRADIENT_PALETTE(es_vintage_49_gp){0, 31, 1, 1, 51, 19, 1, 0, 109, 169, 71, 1, 127, 239, 118, 6, 145, 167, 70, 1,204, 19, 11, 0, 229, 31, 1, 1, 255, 13, 1, 1};
DEFINE_GRADIENT_PALETTE(PurpleOrange_gp){0, 147, 0, 150, 110, 255, 69, 0, 255, 147, 0, 150 };
DEFINE_GRADIENT_PALETTE(GreenMint_gp){0, 50, 205, 50, 110, 245, 255, 250, 255, 50, 205, 50 };
DEFINE_GRADIENT_PALETTE(radial_eyeball_light_blue_gp){0, 10, 0, 0, 25, 0, 10, 0, 38, 7, 138, 255, 51, 7, 138, 255, 102, 0, 0, 255, 109, 0, 0, 255,114, 7, 138, 255, 121, 255, 55, 255, 229, 255, 255, 55, 249, 255, 191, 184,255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(yellow_red_yellow_gp) {0, 255, 255, 0, 127, 255, 0, 0, 255, 255,255, 0 };
DEFINE_GRADIENT_PALETTE(tiger_gp) {0, 255, 97, 0,12, 255, 97, 0, 19, 0, 0, 0, 31, 0, 0, 0, 63, 255, 97, 0, 89, 255, 97, 0, 114, 0, 0, 0,140, 0, 0, 0, 165, 255, 97, 0, 191, 255, 97, 0, 223, 0, 0, 0, 235, 0, 0, 0,242, 255, 97, 0,255, 255, 97, 0 };
DEFINE_GRADIENT_PALETTE(Three_girls_reclining_gp) {0, 6, 45, 16, 51, 6, 45, 16, 51, 135,201,108, 102, 135,201,108, 102, 227,221,151, 153, 227,221,151,153, 83,182,186, 204, 83,182,186, 204, 159,127,178, 255, 159,127,178 };
DEFINE_GRADIENT_PALETTE(entrance_drive_gp) {0, 200, 189, 223, 63, 188, 123,203, 66, 65,217,119, 127, 65,217, 119, 127, 1,146,108, 191, 1, 146, 108,191, 1, 31, 2, 255, 1, 31, 2 };
DEFINE_GRADIENT_PALETTE(velvet_ocean_gp) {0, 1, 79, 80, 51, 1, 79, 80, 57, 1, 100, 62, 102, 1, 62, 62, 122, 111, 43, 40, 153, 1, 43, 40, 154, 1, 27, 23,204, 1, 27, 233, 204, 1, 13, 10, 255, 1, 13, 255 };
DEFINE_GRADIENT_PALETTE(Gummy_Kids_gp) {0, 8, 47, 5, 31, 77,122, 6, 63, 249,237, 7, 95, 232, 51, 1, 127, 215, 0, 1, 159, 47, 1, 3, 191, 1, 7, 16,223, 52, 22, 6, 255, 239, 45, 1 };
DEFINE_GRADIENT_PALETTE(Optimus_Primea_gp) {0, 5, 16, 18, 51, 5, 16, 18, 52, 8, 38, 71, 102, 8, 38, 71, 103, 194, 189, 151, 153, 194,189,151,154, 167, 6, 2, 204, 167, 6, 2, 205, 53, 1, 1, 255, 53, 1, 1 };
DEFINE_GRADIENT_PALETTE(Rationality_gp) {0, 1, 33, 25,51, 1, 33, 25,52, 0, 104, 92,102, 0, 104, 92,103, 255, 55, 255,153, 55, 255 ,255,154, 68, 73, 93,204, 68, 73, 93,205, 26, 29, 45,255, 26, 29, 45};
DEFINE_GRADIENT_PALETTE(Another_Earth_gp) {0, 73,156, 1, 51, 73,156, 1, 51, 37,138, 11, 102, 37,138, 11, 103, 14,119, 42, 153, 14,119, 42, 154, 3,103,103,204, 3,103,103, 205, 1, 87,197, 255, 1, 87,197 };
DEFINE_GRADIENT_PALETTE(d_e_p_t_h_gp) {0, 19, 18, 17, 107, 1, 1, 18, 108, 2, 10, 5, 142, 2, 10, 5, 143, 1, 92, 50, 219, 1, 92, 50, 220, 1,135, 82,232, 1,135, 82, 233, 1,182,111, 255, 1,182,111 };
DEFINE_GRADIENT_PALETTE(Warm_summer_day_gp) {0, 255, 225, 39, 51, 255, 225, 39, 52, 206, 255, 38, 102, 206, 255, 38, 103, 137,255, 38, 153, 137,255, 38,154, 84,255, 38, 204, 84,255, 38, 205, 46, 255, 38, 255, 46,255, 38 };
DEFINE_GRADIENT_PALETTE(prism_gp) {0, 255, 0, 2, 17, 255, 55, 0, 33, 255,255, 0, 51, 0,255, 0, 68, 0, 0,255, 84, 88, 0,255, 102, 255, 0, 0,119, 255, 55, 0, 135, 255,255, 0, 153, 0,255, 0, 170, 0, 0,255, 186, 88, 0,255, 204, 255, 0, 0, 221, 255, 55, 0,237, 255,255, 0, 255, 0,255, 0 };
DEFINE_GRADIENT_PALETTE(greenblue_gp) {0, 10, 194, 255, 46, 3, 0, 246, 176, 55, 222, 70, 255, 0, 194, 255 };
DEFINE_GRADIENT_PALETTE(orangepink_gp) {0, 255, 100, 0, 90, 255, 0, 255, 150, 255, 100, 0, 255, 255, 100, 0 };
DEFINE_GRADIENT_PALETTE(browngreen_gp) {0, 6, 255, 0, 71, 0, 255, 153, 122, 200, 200, 200, 181, 110, 61, 6, 255, 6, 255, 0 };
DEFINE_GRADIENT_PALETTE(BlueWhiteYellow_gp) {0, 11, 2, 105,30, 11, 2, 105,90, 200, 200, 180,110, 200, 200, 180,130, 200, 200, 180,205, 255, 231, 0,255, 255, 231, 0 };
DEFINE_GRADIENT_PALETTE(RedYellowRed_gp) {0, 139, 0, 0,60, 139, 0, 0,120, 255, 231, 0,130, 255, 231, 0,195, 139, 0, 0,255, 139, 0, 0 };
DEFINE_GRADIENT_PALETTE(purple_gp) {0, 3, 0, 30,63, 115, 3, 192,127, 236, 56, 188,191, 253, 200, 188,255, 3, 0, 30 };
DEFINE_GRADIENT_PALETTE(terminal_gp) {0, 10, 20, 30,127, 15, 155, 15,255, 30, 20, 10};
DEFINE_GRADIENT_PALETTE(celestial_gp) {0, 195, 55, 100,127, 29, 38, 113,255, 195, 55, 100 };
DEFINE_GRADIENT_PALETTE(netflix_gp) {0, 142, 14, 0, 127, 31, 28, 24, 255, 188, 44, 0 };
DEFINE_GRADIENT_PALETTE(predawn_gp) {0, 255, 161, 127, 127, 0, 34, 62, 255, 255, 161, 127 };
DEFINE_GRADIENT_PALETTE(moon_gp) {0, 53, 99, 145,9, 57, 103, 149,14, 0, 0, 0,37, 72, 115, 156,71, 91, 133, 162,121, 123, 159, 172,183, 173, 199, 188,255, 244, 200, 199};
DEFINE_GRADIENT_PALETTE(sunriseSmall_gp) {0, 170, 170,0, 63, 200,150,0, 239, 255, 90, 0, 255, 255, 100, 0 };
DEFINE_GRADIENT_PALETTE(sunriseMedium_gp) {0, 200, 200, 0, 95, 255, 100, 0, 239, 255, 0, 4, 255, 255, 0, 4 };
DEFINE_GRADIENT_PALETTE(sunriseLarge_gp) {0, 200,200,0,79, 255, 70, 0,175, 255, 0, 20,239, 255, 0, 180,255, 255, 0, 180 };
DEFINE_GRADIENT_PALETTE(duskSmall_gp) {0, 255, 0, 0, 127, 255,0,5, 239, 100, 0, 50, 255, 100, 0, 50 };
DEFINE_GRADIENT_PALETTE(duskMedium_gp) {0, 255, 0, 0, 79, 255,0,5, 127, 100,0,50, 191, 0,0,150, 239, 10,10, 200, 255, 5,5, 200 };
DEFINE_GRADIENT_PALETTE(duskLarge_gp) {0, 255, 0, 0,47, 255,0,0,95, 100, 0, 100,143, 0, 0, 200,175, 0, 10, 255,239, 0, 100, 255,255, 100, 230, 255 };
DEFINE_GRADIENT_PALETTE(Wild_Orange_gp) {0, 0, 0, 20, 1, 144, 11, 1, 2, 144, 11, 1, 5, 144, 11, 1, 10, 194, 36, 1, 30, 252, 79, 1, 86, 249,175,100,106, 244,122, 25, 124, 237, 79, 1, 157, 244,154, 2, 196, 252,255, 5, 209, 252,223, 3, 239, 255,108, 1,255, 255, 36, 1 };
DEFINE_GRADIENT_PALETTE(gr68_hult_gp) {0, 42, 5, 1, 56, 194,175, 3, 86, 201, 191, 64,127, 42, 5, 1,163, 201, 191, 64,193, 194,175, 3, 255, 42, 5, 1 };
DEFINE_GRADIENT_PALETTE(bhw2_23_gp) {0, 10, 10, 20, 66, 57,227,233, 96, 255,255, 8, 124, 255,255,255, 153, 255,255, 8, 188, 57,227,233, 255, 30, 10, 20 };
DEFINE_GRADIENT_PALETTE(xmas_24_gp) {0, 0, 12, 0,20, 0,136, 0,89, 42,255, 45,178, 0, 136, 0,234, 121, 255, 125,255, 0, 55, 0 };
DEFINE_GRADIENT_PALETTE(batlevel_gp) {0, 255, 1, 1,64, 255, 18, 1,127, 255, 95, 1,191, 188, 255, 1,255, 79, 255, 1 };
DEFINE_GRADIENT_PALETTE(smooth_gradient_gp) {0, 255, 0, 0,85, 0, 255, 0,170, 0, 0, 255,255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(NorthernLightsPalette) {0, 0, 207, 82,62, 3, 46, 62,143, 25, 100, 106,192, 0, 198, 144,255, 0, 223, 150 };
DEFINE_GRADIENT_PALETTE(WarmNorthernLightsPalette_gp) {0, 255, 40, 5,62, 255, 60, 5,143, 255, 80, 0,180, 255, 100, 0,200, 255, 0, 0,255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(es_rivendell_15_gp) {0, 1, 14, 5, 101, 16, 36, 14, 165, 56, 68, 30, 242, 150,156, 99, 255, 150,156, 99 };
DEFINE_GRADIENT_PALETTE(bhw2_xmas_gp){0, 0, 12, 0, 40, 0, 55, 0, 66, 1, 117, 2, 77, 1, 84, 1, 81, 0, 55, 0, 119, 0, 12, 0, 153, 42, 0, 0, 181, 121, 0, 0, 204, 255, 12, 8, 224, 121, 0, 0, 244, 42, 0, 0, 255, 42, 0, 0 };
DEFINE_GRADIENT_PALETTE(Andy_GIlmore_1_gp){0, 111, 82, 126,37, 111, 82, 126,74, 148, 136, 170,97, 186, 191, 213,120, 120, 222, 234,126, 254, 154, 255,133, 210, 160, 174,157, 167, 67, 93,181, 124, 34, 48,218, 80, 30, 33,255, 80, 10, 43 };
DEFINE_GRADIENT_PALETTE(Andy_GIlmore_2_gp){0, 152, 0, 1, 36, 12, 5, 1, 73, 39, 3, 53, 98, 84, 13, 20, 122, 153, 91, 98, 128, 152, 252, 255, 135, 133, 187, 205, 158, 112, 135, 162, 181, 61, 63, 92, 218, 29, 21, 43, 255, 29, 21, 43 };
DEFINE_GRADIENT_PALETTE(christmasBlue_gp){0, 0, 0, 255, 64, 0, 0, 135, 127, 255, 255, 255, 191, 0, 0, 135, 255, 0, 0, 255 };
DEFINE_GRADIENT_PALETTE(pink_yellow){0, 255, 0, 228,255, 255, 201, 0 };
DEFINE_GRADIENT_PALETTE(green_to_red){0, 173, 255, 47, 127, 255, 218, 0, 255, 231, 0, 0 };
DEFINE_GRADIENT_PALETTE(ironmanC_gp){0, 0, 60, 0,32, 0, 0, 60,64, 30, 0, 0,96, 216, 30, 0,128, 255, 100, 0,160, 255, 200, 0,192, 55, 255, 255,255, 255, 55, 255 };
DEFINE_GRADIENT_PALETTE(heatmap_gp){0, 88, 0, 0,28, 255, 0, 0,56, 255, 22, 0,85, 255,104, 0,113, 255,255, 0, 141, 255,255, 0, 169, 17,255, 1, 198, 0,223, 31, 226, 0, 19,255, 255, 0, 0,147 };
DEFINE_GRADIENT_PALETTE(my_coolp){0, 17, 22, 93, 1, 17, 22, 93, 14, 176, 135, 249, 24, 253, 143, 29, 35, 176, 135, 249,51, 17, 22, 93, 65, 176, 135, 249, 75, 253, 143, 29, 86, 176, 135, 249, 102, 17, 22, 93, 117, 176, 135, 249,127, 253, 143, 29, 137, 176, 135, 249, 153, 17, 22, 93, 164, 176, 135, 249, 175, 253, 143, 29, 185, 176, 135, 249,204, 17, 22, 93, 225, 176, 135, 249, 237, 253, 143, 29, 248, 176, 135, 249, 254, 17, 22, 93, 255, 17, 22, 93 };
DEFINE_GRADIENT_PALETTE(my_hotP){0, 252, 236, 69, 64, 253, 29, 29, 128, 131, 58, 180, 190, 252, 236, 69, 255, 252, 236, 69 };
DEFINE_GRADIENT_PALETTE(my_noiseP){0, 176, 135, 249, 100, 176, 135, 249, 170, 253, 143, 29, 210, 252, 236, 69, 255, 253, 143, 29 };
DEFINE_GRADIENT_PALETTE(my_hotPop){0, 176, 135, 249,1, 176, 135, 249,14, 253, 143, 29,24, 252, 236, 69,35, 253, 143, 29,51, 176, 135, 249,65, 253, 143, 29,75, 252, 236, 69,86, 253, 143, 29,102, 176, 135, 249,117, 253, 143, 29,127, 252, 236, 69,137, 253, 143, 29,153, 176, 135, 249,164, 253, 143, 29,175, 252, 236, 69, 185, 253, 143, 29, 204, 176, 135, 249, 225, 253, 143, 29, 237, 252, 236, 69, 248, 253, 143, 29, 254, 176, 135, 249, 255, 176, 135, 249 };
DEFINE_GRADIENT_PALETTE(pit_gp){0, 13, 13, 13,64, 13, 13, 100,128, 13, 13, 13,192, 100, 130, 3,255, 13, 13, 13 };
DEFINE_GRADIENT_PALETTE(palette1_gp){0, 255, 0, 0,21, 255, 127, 0,42, 159, 255, 0,63, 79, 255, 0,84, 0, 255, 0,105, 0, 255, 31,126, 0, 255, 255,147, 0, 95, 255,168, 0, 0, 255,189, 95, 0, 255,210, 199, 0, 255,231, 255, 0, 199,255, 255, 0, 0 };
DEFINE_GRADIENT_PALETTE(midsummerSky_gp){0, 33, 55, 153,25, 80, 119, 197,89, 153, 215, 250,95, 199, 233, 252,102, 255, 255, 255,120, 197, 219, 240,147, 150, 187, 223,200, 159, 171, 172,255, 169, 154, 128 };
DEFINE_GRADIENT_PALETTE(Aleutian_Clouds_gp){0, 37,184,133,12, 37,184,133,25, 46,168, 98,37, 55,152, 67,51, 22,104, 77,63, 5, 66, 88,76, 1, 31, 49,88, 1, 19, 32,100, 1, 2, 11,112, 1, 3, 9,125, 1, 6, 20,137, 1, 10, 20,149, 1, 2, 11, 161, 1, 19, 32,173, 1, 31, 49,185, 5, 66, 88,200, 22,104, 77,212, 55,152, 67,225, 46,168, 98,237, 37,184,133,255, 37,184,133, };
DEFINE_GRADIENT_PALETTE(Phillipines_gp){0, 252,209,22,62, 0,56,168,124, 206,17,38,189, 255, 255, 155,255, 10,20,30 };
DEFINE_GRADIENT_PALETTE(FundRFID_gp){0, 45,43,43,63, 234,228,228,126, 252,209,22,189, 0,56,168,255, 206,17,38};
DEFINE_GRADIENT_PALETTE(pal_1_gp){0, 255, 0, 0,46, 139, 0, 0,176, 139, 10, 10,255, 190, 190, 190 };
DEFINE_GRADIENT_PALETTE(pal_2_gp){0, 255, 100, 0,46, 255, 0, 255,176, 255, 100, 0,255, 255, 0, 255};
DEFINE_GRADIENT_PALETTE(pal_3_gp){0, 186, 75, 218,46, 180, 8, 230,176, 199, 8, 8,255, 237, 8, 5};
DEFINE_GRADIENT_PALETTE(sunset_pal_gp){0, 255, 12, 154,127, 254, 125, 64,255, 255, 12, 154};
DEFINE_GRADIENT_PALETTE(Guaraci2_gp){0, 255, 228, 120,62, 132, 166, 201,64, 147, 196, 125,176, 120, 63, 4,255, 102, 0, 0 };
DEFINE_GRADIENT_PALETTE(VintageCherry_gp){0, 242, 71, 77,127, 255, 163, 204,255, 242, 71, 77};
DEFINE_GRADIENT_PALETTE(my_rainbow_with_white_gp) {0, 255, 0, 0,85, 0, 255, 0,170, 0, 0, 255,214, 255, 0, 255,250, 38, 0, 255,251, 255, 55, 155,};
DEFINE_GRADIENT_PALETTE(mmikxx001_gp){0,3,3,3,22,200,3,4,121,233,3,179,143,0,4,1,187,13,13,178,199,3,4,5,255,255,130,3};
DEFINE_GRADIENT_PALETTE(mmikxx002_gp) {0,0,0,0,60, 255, 0, 228,120,0,0,0,200, 255, 201, 0,255,0,0,0};
const TProgmemRGBGradientPalettePtr gGradientPalettes[] = {
mycoolp, mmikxx002_gp, myhotP, otis_gp, aya_sofia_gp, asleep_gp, opaque_gp, pal_3_gp, my_coolp, PurpleOrange_gp,
bhw3_52_gp, bhw1_14_gp, Stripped_Spectrum_gp, BlacK_Blue_gp, aurora_gp, yellow_red_yellow_gp,
BlacK_Blue_Magenta_White_gp, es_autumn_19_gp, es_emerald_dragon_08_gp, netflix_gp, sunriseMedium_gp,
colorcube_gp, es_ocean_breeze_026_gp, Coral_reef_gp, Analogous_1_gp, tiger_gp, RedYellowRed_gp,
bhw2_sherbet_gp, rootchakr4_gp, springfloralblend_gp, temperature_gp, Rationality_gp, celestial_gp,
ofaurora_gp, pm3d21_gp, rainbow_gp, slope_gp, ramp_gp, njmag_gp, shikon_23_gp, orangepink_gp, my_hotP,
Paired_11_gp, RdYlBu_11_gp, bhw1_26_gp, Sunset_Real_gp, rstcurv_gp, aips0_gp, d_e_p_t_h_gp, duskSmall_gp,
bhw1_28_gp, es_ocean_breeze_036_gp, rgi_15_gp, Deep_Sea_gp, shikon_22_gp, Another_Earth_gp, bhw2_23_gp,
es_pinksplash_08_gp, es_ocean_breeze_068_gp, es_pinksplash_07_gp, radial_eyeball_light_blue_gp,
es_vintage_01_gp, es_landscape_64_gp, gr65_hult_gp, es_landscape_33_gp, entrance_drive_gp, prism_gp,
rainbowsherbet_gp, gr64_hult_gp, GMT_drywet_gp, ib_jul01_gp, ib15_gp, Gummy_Kids_gp, calbayo_15_gp,
Fuschia_7_gp, lava_gp, fire_gp, Colorfull_gp, Magenta_Evening_gp, Three_girls_reclining_gp, gr68_hult_gp,
Pink_Purple_gp, BlacK_Magenta_Red_gp, BlacK_Red_Magenta_Yellow_gp, gummy_gp, browngreen_gp, xmas_24_gp,
Blue_Cyan_Yellow_gp, dkbluered_gp, Optimus_Prime_gp, warmGrad_gp, bhw2_22_gp, velvet_ocean_gp, sunset_pal_gp,
coldGrad_gp, hotGrad_gp, pinkGrad_gp, comfy_gp, cyperpunk_gp, GreenMint_gp, Optimus_Primea_gp,
girl_gp, xmas_gp, acid_gp, curvature_gp, greenblue_gp, Warm_summer_day_gp, BlueWhiteYellow_gp,
sunriseSmall_gp, moon_gp, duskMedium_gp,Wild_Orange_gp, duskLarge_gp, predawn_gp, bhw2_xmas_gp, heatmap_gp,
batlevel_gp, es_rivendell_15_gp, NorthernLightsPalette, smooth_gradient_gp, Andy_GIlmore_1_gp, pit_gp,
WarmNorthernLightsPalette_gp, pink_yellow, ironmanC_gp, green_to_red, terminal_gp, Andy_GIlmore_2_gp,
midsummerSky_gp, palette1_gp, sunriseLarge_gp, purple_gp, Aleutian_Clouds_gp, Phillipines_gp, my_hotPop,
pal_2_gp, pal_1_gp, FundRFID_gp, my_noiseP,my_rainbow_with_white_gp, christmasBlue_gp, Guaraci2_gp, mynoiseP_gp,
mmikxx001_gp, bbrad_gp, earthtone_rainbow_gp, sprinkles_gp, when_You_Believe_gp, Copycat_gp, doggy_in_the_window_gp,
VintageCherry_gp,
};
const uint8_t gGradientPaletteCount = sizeof(gGradientPalettes)/sizeof(TProgmemRGBGradientPalettePtr);