#ifdef __has_include
    #if __has_include("lvgl.h")
        #ifndef LV_LVGL_H_INCLUDE_SIMPLE
            #define LV_LVGL_H_INCLUDE_SIMPLE
        #endif
    #endif
#endif

#include "lvgl.h"

#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif

#ifndef LV_ATTRIBUTE_IMG_CONTROL_HEADPHONE
#define LV_ATTRIBUTE_IMG_CONTROL_HEADPHONE
#endif

const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTROL_HEADPHONE uint8_t control_headphone_map[] = {
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
  0x00, 0xf0, 0x00, 
  0x03, 0x0c, 0x00, 
  0x0c, 0x03, 0x00, 
  0x08, 0x01, 0x00, 
  0x10, 0x00, 0x80, 
  0x10, 0x00, 0x80, 
  0x20, 0x00, 0x40, 
  0x20, 0x00, 0x40, 
  0x20, 0x00, 0x40, 
  0x2c, 0x03, 0x40, 
  0x12, 0x04, 0x80, 
  0x12, 0x04, 0x80, 
  0x12, 0x04, 0x80, 
  0x0c, 0x03, 0x00, 
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
};

const lv_img_dsc_t control_headphone = {
  .header.cf = LV_IMG_CF_ALPHA_1BIT,
  .header.always_zero = 0,
  .header.reserved = 0,
  .header.w = 20,
  .header.h = 20,
  .data_size = 60,
  .data = control_headphone_map,
};

#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif

#ifndef LV_ATTRIBUTE_IMG_CONTROL_LIGHT
#define LV_ATTRIBUTE_IMG_CONTROL_LIGHT
#endif

const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTROL_LIGHT uint8_t control_light_map[] = {
  0x00, 0x00, 0x00, 
  0x00, 0x60, 0x00, 
  0x00, 0x60, 0x00, 
  0x18, 0x01, 0x80, 
  0x18, 0xf1, 0x80, 
  0x03, 0x0c, 0x00, 
  0x04, 0x02, 0x00, 
  0x04, 0x02, 0x00, 
  0x08, 0x01, 0x00, 
  0x68, 0x01, 0x60, 
  0x68, 0x01, 0x60, 
  0x08, 0x01, 0x00, 
  0x04, 0x02, 0x00, 
  0x04, 0x02, 0x00, 
  0x03, 0x0c, 0x00, 
  0x18, 0xf1, 0x80, 
  0x18, 0x01, 0x80, 
  0x00, 0x60, 0x00, 
  0x00, 0x60, 0x00, 
  0x00, 0x00, 0x00, 
};

const lv_img_dsc_t control_light = {
  .header.cf = LV_IMG_CF_ALPHA_1BIT,
  .header.always_zero = 0,
  .header.reserved = 0,
  .header.w = 20,
  .header.h = 20,
  .data_size = 60,
  .data = control_light_map,
};

#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif

#ifndef LV_ATTRIBUTE_IMG_CONTROL_SPEAKER
#define LV_ATTRIBUTE_IMG_CONTROL_SPEAKER
#endif

const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTROL_SPEAKER uint8_t control_speaker_map[] = {
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
  0x07, 0xfe, 0x00, 
  0x08, 0x01, 0x00, 
  0x08, 0x61, 0x00, 
  0x08, 0x91, 0x00, 
  0x08, 0x91, 0x00, 
  0x08, 0x61, 0x00, 
  0x08, 0x01, 0x00, 
  0x08, 0x01, 0x00, 
  0x08, 0x61, 0x00, 
  0x08, 0x91, 0x00, 
  0x09, 0x09, 0x00, 
  0x09, 0x09, 0x00, 
  0x08, 0x91, 0x00, 
  0x08, 0x61, 0x00, 
  0x08, 0x01, 0x00, 
  0x07, 0xfe, 0x00, 
  0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 
};

const lv_img_dsc_t control_speaker = {
  .header.cf = LV_IMG_CF_ALPHA_1BIT,
  .header.always_zero = 0,
  .header.reserved = 0,
  .header.w = 20,
  .header.h = 20,
  .data_size = 60,
  .data = control_speaker_map,
};

#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif

#ifndef LV_ATTRIBUTE_IMG_CONTROL_EXIT
#define LV_ATTRIBUTE_IMG_CONTROL_EXIT
#endif

const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTROL_EXIT uint8_t control_exit_map[] = {
  0x00, 0x00, 0x00, 
  0x01, 0xf8, 0x00, 
  0x06, 0x06, 0x00, 
  0x08, 0x01, 0x00, 
  0x10, 0x00, 0x80, 
  0x26, 0x06, 0x40, 
  0x27, 0x0e, 0x40, 
  0x43, 0x9c, 0x20, 
  0x41, 0xd8, 0x20, 
  0x40, 0xe0, 0x20, 
  0x40, 0x70, 0x20, 
  0x41, 0xb8, 0x20, 
  0x43, 0x9c, 0x20, 
  0x27, 0x0e, 0x40, 
  0x26, 0x06, 0x40, 
  0x10, 0x00, 0x80, 
  0x08, 0x01, 0x00, 
  0x06, 0x06, 0x00, 
  0x01, 0xf8, 0x00, 
  0x00, 0x00, 0x00, 
};

const lv_img_dsc_t control_exit = {
  .header.cf = LV_IMG_CF_ALPHA_1BIT,
  .header.always_zero = 0,
  .header.reserved = 0,
  .header.w = 20,
  .header.h = 20,
  .data_size = 60,
  .data = control_exit_map,
};
