├── screens.h ├── pinetime_board.h ├── smartwatch_ui.h ├── ui_events.h ├── README.md ├── ui_events.c ├── PinetimeNew40.ino ├── ui.h ├── ui_helpers.h ├── notification.h ├── PineTime.h ├── ui_img_bluetooth_png.c ├── notification_obj.h ├── ui_helpers.c ├── fragment_notification.h ├── ui_img_walk_png.c ├── ui_img_heart_png.c ├── ui_img_power_png.c ├── ui_img_message_png.c ├── Vector.h ├── ui_font_Numbers42.c ├── smartwatch_ui.cpp ├── ui_img_walk1_png.c ├── ui_img_walk2_png.c ├── ui_img_walk3_png.c └── ui_img_walk4_png.c /screens.h: -------------------------------------------------------------------------------- 1 | #ifndef _SCREENS_H 2 | #define _SCREENS_H 3 | 4 | #include "PineTime.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | 11 | #ifdef __cplusplus 12 | } //extern "C" 13 | #endif 14 | 15 | 16 | #endif // _SCREENS_H -------------------------------------------------------------------------------- /pinetime_board.h: -------------------------------------------------------------------------------- 1 | #ifndef PINETIME_BOARD_H 2 | #define PINETIME_BOARD_H 3 | 4 | #include 5 | #include 6 | 7 | // Pinetime IO 8 | 9 | #define HR_TWI_ADDR 0x44 10 | #define BMA421_TWI_ADDR 0x18 11 | 12 | #endif // PINETIME_BOARD_H 13 | -------------------------------------------------------------------------------- /smartwatch_ui.h: -------------------------------------------------------------------------------- 1 | #ifndef SMARTWATCH_UI_H 2 | #define SMARTWATCH_UI_H 3 | 4 | #include "PineTime.h" 5 | #include 6 | #include "ui.h" 7 | #include "ui_events.h" 8 | 9 | void smartwatch_ui_init(void); 10 | 11 | void update_notification(void); 12 | void update_clock(void); 13 | 14 | #endif //SMARTWATCH_UI_H 15 | -------------------------------------------------------------------------------- /ui_events.h: -------------------------------------------------------------------------------- 1 | #ifndef _PINETIME_UIEVENTS_H 2 | #define _PINETIME_UIEVENTS_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | extern void _quick_setings(lv_event_t * e); 9 | extern void _set_bl_value(lv_event_t * e); 10 | extern void _set_backlight(lv_event_t * e); 11 | extern void _charging_load(lv_event_t * e); 12 | 13 | #ifdef __cplusplus 14 | } /*extern "C"*/ 15 | #endif 16 | 17 | #endif -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PineTime with nRF52840 replacement board 2 | 3 | https://www.joaquim.org/pinetime-upgrade-board/ 4 | 5 | Firmware for the new nRF52840 board. 6 | 7 | The purpose of this firmware is to build a working smartwatch with the new board: 8 | 9 | - Code written in **C++**; 10 | - Build system **Arduino**; 11 | - Arduino Core for **[Adafruit Bluefruit nRF52 Boards](https://github.com/joaquimorg/Adafruit_nRF52_Arduino)** 12 | - UI library **[LVGL 9](https://lvgl.io/)**; 13 | - Bluetooth Nordic Softdevice **[S113 nrf52 7.3.0 softdevice](https://www.nordicsemi.com/Products/Development-software/nRF5-SDK)**; 14 | 15 | 16 | -------------------------------------------------------------------------------- /ui_events.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.1.1 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | void _quick_setings(lv_event_t *e); 9 | void _set_bl_value(lv_event_t *e); 10 | void _set_backlight(lv_event_t *e); 11 | void _charging_load(lv_event_t *e); 12 | 13 | void quick_setings(lv_event_t *e) { 14 | _quick_setings(e); 15 | } 16 | 17 | void set_bl_value(lv_event_t *e) { 18 | _set_bl_value(e); 19 | } 20 | 21 | void set_backlight(lv_event_t *e) { 22 | _set_backlight(e); 23 | } 24 | 25 | void charging_load(lv_event_t *e) { 26 | _charging_load(e); 27 | } 28 | -------------------------------------------------------------------------------- /PinetimeNew40.ino: -------------------------------------------------------------------------------- 1 | #include "PineTime.h" 2 | #include 3 | 4 | #include "smartwatch_ui.h" 5 | 6 | typedef volatile uint32_t REG32; 7 | #define pREG32 (REG32 *) 8 | 9 | #define DEVICE_ID_HIGH (*(pREG32(0x10000060))) 10 | #define DEVICE_ID_LOW (*(pREG32(0x10000064))) 11 | 12 | // --------------------------------------------------------------------------------------------------------------------------------- 13 | 14 | void setup() { 15 | 16 | Serial.begin(115200); // start serial for output 17 | while (!Serial) delay(100); 18 | 19 | Serial.println(""); 20 | Serial.println("--------------------------------------"); 21 | 22 | // Unique Device ID 23 | Serial.print("# Device ID : "); 24 | Serial.print(DEVICE_ID_HIGH, HEX); 25 | Serial.println(DEVICE_ID_LOW, HEX); 26 | 27 | // MCU Variant; 28 | Serial.printf("# MCU Variant: nRF%X 0x%08X\n", NRF_FICR->INFO.PART, NRF_FICR->INFO.VARIANT); 29 | Serial.printf("# Memory : Flash = %d KB, RAM = %d KB\n", NRF_FICR->INFO.FLASH, NRF_FICR->INFO.RAM); 30 | Serial.println(""); 31 | 32 | // Init PineTime Hardware 33 | pinetime.begin(); 34 | 35 | Serial.println("> UI init"); 36 | 37 | smartwatch_ui_init(); 38 | 39 | pinetime.updateScreen(update_clock); 40 | pinetime.updateNotification(update_notification); 41 | } 42 | 43 | // --------------------------------------------------------------------------------------------------------------------------------- 44 | 45 | void loop() { 46 | pinetime.loop(); 47 | delay(5); 48 | } -------------------------------------------------------------------------------- /ui.h: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #ifndef _PINETIME_UI_H 7 | #define _PINETIME_UI_H 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | #include "lvgl.h" 14 | 15 | 16 | extern lv_obj_t * ui_Steps_Panel1; 17 | extern lv_obj_t * ui_ImageW1; 18 | extern lv_obj_t * ui_Panel4; 19 | extern lv_obj_t * ui_Steps_Value1; 20 | extern lv_obj_t * ui_StepsToday; 21 | extern lv_obj_t * ui_PanelGoal; 22 | extern lv_obj_t * ui_StepsGoalLbl; 23 | extern lv_obj_t * ui_StepsGoal; 24 | 25 | extern lv_obj_t * ui_Heart_Panel; 26 | extern lv_obj_t * ui_HeartIcon; 27 | extern lv_obj_t * ui_HeartValue; 28 | extern lv_obj_t * ui_HRValue; 29 | extern lv_obj_t * ui_HRbpmLabel; 30 | extern lv_obj_t * ui_ChartHeart; 31 | 32 | extern lv_obj_t * ui_Messages_Panel; 33 | extern lv_obj_t * ui_MsgNoNotif; 34 | extern lv_obj_t * ui_Messages_Label5; 35 | extern lv_obj_t * ui_Notification_Icon; 36 | extern lv_obj_t * ui_Messages_Label6; 37 | extern lv_obj_t * ui_PanelListNotf; 38 | extern lv_obj_t * ui_NotifHeader; 39 | extern lv_obj_t * ui_NotifHeadTitle; 40 | extern lv_obj_t * ui_NotifHeadTime; 41 | extern lv_obj_t * ui_PanelNotif; 42 | 43 | extern lv_obj_t * ui_Clock02_Panel3; 44 | extern lv_obj_t * ui_Clock02_Minute3; 45 | extern lv_obj_t * ui_Clock02_Hour3; 46 | extern lv_obj_t * ui_Clock02Seconds1; 47 | extern lv_obj_t * ui_Clock02DatePanel3; 48 | extern lv_obj_t * ui_Clock02_Date8; 49 | extern lv_obj_t * ui_Clock02_Date10; 50 | extern lv_obj_t * ui_Clock02BlaPanel3; 51 | extern lv_obj_t * ui_Clock02Ble3; 52 | extern lv_obj_t * ui_Clock02PwrPanel3; 53 | extern lv_obj_t * ui_imgPower1; 54 | extern lv_obj_t * ui_Clock02_Power3; 55 | extern lv_obj_t * ui_Clock02StepsPanel2; 56 | extern lv_obj_t * ui_imgWalk1; 57 | extern lv_obj_t * ui_Clock02_Date12; 58 | extern lv_obj_t * ui_Clock02HRPanel2; 59 | extern lv_obj_t * ui_imgHeart1; 60 | extern lv_obj_t * ui_Clock02_Date13; 61 | extern lv_obj_t * ui_Clock02MsgPanel1; 62 | extern lv_obj_t * ui_Clock02Msg1; 63 | 64 | LV_IMG_DECLARE(ui_img_bluetooth_png); // assets\bluetooth.png 65 | LV_IMG_DECLARE(ui_img_power_png); // assets\power.png 66 | LV_IMG_DECLARE(ui_img_walk_png); // assets\walk.png 67 | LV_IMG_DECLARE(ui_img_heart_png); // assets\heart.png 68 | LV_IMG_DECLARE(ui_img_heart_pulse_png); // assets\heart_pulse.png 69 | LV_IMG_DECLARE(ui_img_message_png); // assets\message.png 70 | LV_IMG_DECLARE(ui_img_walk1_png); // assets\walk1.png 71 | LV_IMG_DECLARE(ui_img_walk2_png); // assets\walk2.png 72 | LV_IMG_DECLARE(ui_img_walk3_png); // assets\walk3.png 73 | LV_IMG_DECLARE(ui_img_walk4_png); // assets\walk4.png 74 | 75 | 76 | LV_FONT_DECLARE(ui_font_BigNumbers); 77 | LV_FONT_DECLARE(ui_font_Icons32); 78 | LV_FONT_DECLARE(ui_font_Numbers42); 79 | LV_FONT_DECLARE(ui_font_OpenSans22); 80 | LV_FONT_DECLARE(ui_font_Weather); 81 | LV_FONT_DECLARE(ui_font_Numbers64); 82 | LV_FONT_DECLARE(ui_font_OpenSans22Bold); 83 | 84 | void ui_Steps_screen_init(lv_obj_t *tile); 85 | void ui_Clock02_screen_init(lv_obj_t *tile); 86 | void ui_Messages_screen_init(lv_obj_t *tile); 87 | void ui_Heart_screen_init(lv_obj_t *tile); 88 | 89 | #ifdef __cplusplus 90 | } /*extern "C"*/ 91 | #endif 92 | 93 | #endif 94 | -------------------------------------------------------------------------------- /ui_helpers.h: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #ifndef _PINETIME_UI_HELPERS_H 7 | #define _PINETIME_UI_HELPERS_H 8 | 9 | #include "ui.h" 10 | 11 | #define _UI_TEMPORARY_STRING_BUFFER_SIZE 32 12 | #define _UI_BAR_PROPERTY_VALUE 0 13 | #define _UI_BAR_PROPERTY_VALUE_WITH_ANIM 1 14 | void _ui_bar_set_property(lv_obj_t * target, int id, int val); 15 | 16 | #define _UI_BASIC_PROPERTY_POSITION_X 0 17 | #define _UI_BASIC_PROPERTY_POSITION_Y 1 18 | #define _UI_BASIC_PROPERTY_WIDTH 2 19 | #define _UI_BASIC_PROPERTY_HEIGHT 3 20 | void _ui_basic_set_property(lv_obj_t * target, int id, int val); 21 | 22 | #define _UI_DROPDOWN_PROPERTY_SELECTED 0 23 | void _ui_dropdown_set_property(lv_obj_t * target, int id, int val); 24 | 25 | #define _UI_IMAGE_PROPERTY_IMAGE 0 26 | void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val); 27 | 28 | #define _UI_LABEL_PROPERTY_TEXT 0 29 | void _ui_label_set_property(lv_obj_t * target, int id, char * val); 30 | 31 | #define _UI_ROLLER_PROPERTY_SELECTED 0 32 | #define _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM 1 33 | void _ui_roller_set_property(lv_obj_t * target, int id, int val); 34 | 35 | #define _UI_SLIDER_PROPERTY_VALUE 0 36 | #define _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM 1 37 | void _ui_slider_set_property(lv_obj_t * target, int id, int val); 38 | 39 | void _ui_screen_change(lv_obj_t * target, lv_scr_load_anim_t fademode, int spd, int delay); 40 | 41 | void _ui_arc_increment(lv_obj_t * target, int val); 42 | 43 | void _ui_bar_increment(lv_obj_t * target, int val, int anm); 44 | 45 | void _ui_slider_increment(lv_obj_t * target, int val, int anm); 46 | 47 | void _ui_keyboard_set_target(lv_obj_t * keyboard, lv_obj_t * textarea); 48 | 49 | #define _UI_MODIFY_FLAG_ADD 0 50 | #define _UI_MODIFY_FLAG_REMOVE 1 51 | #define _UI_MODIFY_FLAG_TOGGLE 2 52 | void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value); 53 | 54 | #define _UI_MODIFY_STATE_ADD 0 55 | #define _UI_MODIFY_STATE_REMOVE 1 56 | #define _UI_MODIFY_STATE_TOGGLE 2 57 | void _ui_state_modify(lv_obj_t * target, int32_t state, int value); 58 | 59 | void _ui_opacity_set(lv_obj_t * target, int val); 60 | 61 | void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v); 62 | 63 | void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v); 64 | 65 | void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v); 66 | 67 | void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v); 68 | 69 | void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v); 70 | 71 | void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v); 72 | 73 | void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v); 74 | 75 | int32_t _ui_anim_callback_get_x(lv_anim_t * a); 76 | 77 | int32_t _ui_anim_callback_get_y(lv_anim_t * a); 78 | 79 | int32_t _ui_anim_callback_get_width(lv_anim_t * a); 80 | 81 | int32_t _ui_anim_callback_get_height(lv_anim_t * a); 82 | 83 | int32_t _ui_anim_callback_get_opacity(lv_anim_t * a); 84 | 85 | int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a); 86 | 87 | int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a); 88 | 89 | void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix); 90 | 91 | void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix); 92 | 93 | void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * txt_on, char * txt_off); 94 | 95 | 96 | #endif 97 | -------------------------------------------------------------------------------- /notification.h: -------------------------------------------------------------------------------- 1 | #ifndef NOTIFICATION_H 2 | #define NOTIFICATION_H 3 | 4 | //#include "Vector.h" 5 | 6 | //typedef struct _Notification Notification; 7 | 8 | typedef struct { 9 | uint32_t notificationID; 10 | uint8_t type; 11 | uint16_t year; 12 | uint8_t month; 13 | uint8_t day; 14 | uint8_t hour; 15 | uint8_t minute; 16 | uint32_t timestamp; 17 | char *subject; 18 | char *message; 19 | } Notification; 20 | 21 | /* 22 | class Notification { 23 | protected: 24 | 25 | uint8_t notification_index = 0; 26 | 27 | static constexpr uint8_t TotalNotifications = 4; 28 | 29 | public: 30 | Notification(void) {} 31 | 32 | Vector<_Notification> notifications; 33 | 34 | void add_notification(uint32_t notificationID, uint8_t type, uint32_t timestamp, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, const char *subject, uint8_t sizeSubject, const char *message, uint8_t sizeMessage) { 35 | 36 | if (notifications.Size() == TotalNotifications) { 37 | free(notifications[0].subject); 38 | free(notifications[0].message); 39 | notifications.Erase(0); 40 | } 41 | _Notification notification; 42 | notification.notificationID = notificationID; 43 | notification.type = type; 44 | notification.timestamp = timestamp; 45 | notification.year = year; 46 | notification.month = month; 47 | notification.day = day; 48 | notification.hour = hour; 49 | notification.minute = minute; 50 | 51 | notification.subject = (char *)malloc(sizeSubject + 1); 52 | memcpy(notification.subject, subject, sizeSubject); 53 | notification.subject[sizeSubject + 1] = 0x00; 54 | 55 | notification.message = (char *)malloc(sizeMessage + 1); 56 | memcpy(notification.message, message, sizeMessage); 57 | notification.message[sizeMessage + 1] = 0x00; 58 | 59 | //notifications.push_back(notification); 60 | notifications.PushBack(notification); 61 | set_notification_index(0); 62 | } 63 | 64 | uint8_t get_notification_count(void) { 65 | return notifications.Size(); 66 | } 67 | uint32_t get_notification_id(uint8_t index) { 68 | return notifications[index].notificationID; 69 | } 70 | uint32_t get_notification_timestamp(uint8_t index) { 71 | return notifications[index].timestamp; 72 | } 73 | uint16_t get_notification_year(uint8_t index) { 74 | return notifications[index].year; 75 | } 76 | uint8_t get_notification_month(uint8_t index) { 77 | return notifications[index].month; 78 | } 79 | uint8_t get_notification_day(uint8_t index) { 80 | return notifications[index].day; 81 | } 82 | uint8_t get_notification_hour(uint8_t index) { 83 | return notifications[index].hour; 84 | } 85 | uint8_t get_notification_minute(uint8_t index) { 86 | return notifications[index].minute; 87 | } 88 | const char *get_notification_subject(uint8_t index) { 89 | return notifications[index] 90 | .subject; 91 | } 92 | const char *get_notification_message(uint8_t index) { 93 | return notifications[index] 94 | .message; 95 | } 96 | 97 | void clear_notifications(void) { 98 | notifications.Clear(); 99 | notification_index = 0; 100 | } 101 | 102 | void clear_notification(uint8_t index) { 103 | notifications.Erase(index); 104 | 105 | if (notification_index > get_notification_count()) { 106 | notification_index = get_notification_count(); 107 | } 108 | } 109 | 110 | void clear_notification_by_id(uint32_t id) { 111 | for (uint8_t i = 0; i < get_notification_count(); i++) { 112 | if (notifications[i].notificationID == id) { 113 | clear_notification(i); 114 | return; 115 | } 116 | } 117 | } 118 | 119 | uint8_t get_notification_index(void) { 120 | return notification_index; 121 | } 122 | void set_notification_index(uint8_t index) { 123 | notification_index = index; 124 | } 125 | }; 126 | */ 127 | #endif //NOTIFICATION_H -------------------------------------------------------------------------------- /PineTime.h: -------------------------------------------------------------------------------- 1 | #ifndef PINETIME_H 2 | #define PINETIME_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include "Vector.h" 8 | #include "notification.h" 9 | #include "SparkFun_BMA400_Arduino_Library.h" 10 | 11 | #define SCREEN_BUFFER_SIZE 100 12 | #define SW_SLEEP_MS 20000 13 | 14 | #define VBAT_MV_PER_LSB (0.73242188F) // 3.0V ADC range and 12-bit ADC resolution = 3000mV/4096 15 | 16 | #define VBAT_DIVIDER (0.50F) // 1M + 1M voltage divider on VBAT = (1M / (1M + 1M)) 17 | #define VBAT_DIVIDER_COMP (2.05F) // Compensation factor for the VBAT divider 18 | 19 | #define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB) 20 | 21 | 22 | /* 23 | System message 24 | */ 25 | #define MSG_POWER_BUTTON 0x01 26 | #define MSG_CHARGING 0x02 27 | #define MSG_NOTIFICATION 0x03 28 | #define MSG_SHOW_NOTIFICATION 0x04 29 | 30 | 31 | 32 | struct Weather { 33 | int8_t currentTemp; 34 | uint8_t currentHumidity; 35 | int8_t todayMaxTemp; 36 | int8_t todayMinTemp; 37 | char *location; 38 | char *currentCondition; 39 | bool newData; 40 | bool hasData; 41 | }; 42 | 43 | 44 | const char *notification_type(uint8_t type); 45 | 46 | class PineTime { 47 | 48 | public: 49 | 50 | enum class States { 51 | Idle, 52 | Running 53 | }; 54 | 55 | RTCTime rtctime; 56 | Backlight backlight; 57 | 58 | PineTime(void); 59 | void begin(void); 60 | void loop(void); 61 | 62 | static inline void powerButtonHandler(void); 63 | static inline void chargingStatusHandler(void); 64 | static inline void touchpadRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data); 65 | static inline void dispFlush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p); 66 | static inline void callUpdateScreenCB(lv_timer_t *timer); 67 | static inline void readStatusCB(TimerHandle_t xTimer); 68 | static inline void disconnectCallback(uint16_t conn_handle, uint8_t reason); 69 | static inline void connectCallback(uint16_t conn_handle); 70 | static inline void bleuartRXcallback(uint16_t conn_hdl); 71 | 72 | static inline void powerButtonCB(lv_msg_t *m); 73 | static inline void chargingStatusCB(lv_msg_t *m); 74 | static inline void notificationCB(lv_msg_t *m); 75 | 76 | static inline void bma400InterruptHandler(void); 77 | 78 | float readVBAT(void); 79 | uint8_t mvToPercent(float mvolts); 80 | void readBatteryStatus(void); 81 | void showDebugBattStatus(void); 82 | void readStatus(void); 83 | 84 | void updateScreen(void (*)(void)); 85 | void updateNotification(void (*)(void)); 86 | 87 | bool battIsCharging(void) { 88 | return isCharging; 89 | }; 90 | float battVoltage(void) { 91 | return vbat_mv; 92 | }; 93 | uint8_t battPercent(void) { 94 | return vbat_per; 95 | }; 96 | 97 | void rxDecode(void); 98 | 99 | void bleSetStatus(bool connected) { 100 | bleConnected = connected; 101 | }; 102 | 103 | bool bleIsConnected(void) { 104 | return bleConnected; 105 | } 106 | 107 | void wakeUp(void); 108 | void goToSleep(void); 109 | 110 | Weather getWeather(void) { return weather; }; 111 | void setNewWeatherData(bool newdata) { weather.newData = newdata; }; 112 | 113 | Notification getNotification(uint8_t not_id) { return notifications[not_id]; }; 114 | uint8_t getNotificationCount(void) { return notifications.Size(); }; 115 | 116 | 117 | uint32_t getStepCount(void) { return stepCount; }; 118 | 119 | private: 120 | 121 | Weather weather; 122 | //Notification notification; 123 | Vector notifications; 124 | 125 | BMA400 accelerometer; 126 | 127 | Touch touch; 128 | 129 | // BLE Service 130 | //BLEDfu bledfu; // OTA DFU service 131 | BLEDis bledis; // device information 132 | BLEUart bleuart; // uart over ble 133 | //BLEBas blebas; // battery 134 | 135 | SoftwareTimer timerStatus; 136 | 137 | TimerHandle_t buttonTimer; 138 | States state = States::Running; 139 | 140 | static PineTime *active_object; 141 | uint32_t old_sleep = 0; 142 | unsigned long lastPress; 143 | float vbat_mv = 0.0; 144 | uint8_t vbat_per = 0; 145 | bool isCharging = false; 146 | 147 | uint16_t countrx = 0; 148 | uint8_t inputEnd = 1; 149 | 150 | int16_t msgSize = 0; 151 | uint8_t msgType = 0; 152 | 153 | bool bleConnected = false; 154 | 155 | uint32_t stepCount = 0; 156 | uint8_t activityType = 0; 157 | 158 | lv_timer_t *timerUpdateScreen; 159 | 160 | static const uint16_t screenWidth = 240; 161 | static const uint16_t screenHeight = 240; 162 | 163 | lv_disp_draw_buf_t draw_buf; 164 | lv_color_t buf_1[screenWidth * SCREEN_BUFFER_SIZE]; 165 | 166 | void (*_updateScreen)(void); 167 | void (*_updateNotification)(void); 168 | 169 | void lvglInitDrivers(void); 170 | void statusWorkTimer(void); 171 | void powerButtonInit(void); 172 | void chargingStatusInit(void); 173 | 174 | void bluetoothInit(void); 175 | void bluetoothStartAdvertising(void); 176 | 177 | void initWorkTimers(void); 178 | 179 | uint32_t getUartInt(void); 180 | uint8_t getUartByte(void); 181 | 182 | void bleuartSendData(const uint8_t *content, size_t len); 183 | 184 | void bleSendVersion(void); 185 | void bleSendBattery(void); 186 | void bleSendSteps(void); 187 | void bleSendHR(void); 188 | 189 | void bleNotification(void); 190 | void bleWeather(void); 191 | 192 | void bleDecodeMessage(uint8_t msgType, int16_t msgSize); 193 | 194 | void systemMessages(void); 195 | 196 | void stepsConfig(void); 197 | }; 198 | 199 | extern PineTime pinetime; 200 | 201 | #endif //PINETIME_H -------------------------------------------------------------------------------- /ui_img_bluetooth_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.1 3 | // LVGL VERSION: 8.3.4 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\bluetooth.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_bluetooth_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x75, 0x45, 0x98, 0x4C, 0xCF, 0xD6, 0x23, 0xF6, 0x55, 0x0B, 0xFE, 0x15, 0x03, 0xFF, 0x55, 0x0B, 0xFE, 0xD6, 0x23, 0xF6, 0x98, 0x4C, 0xCE, 0x5A, 0x75, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x5C, 0xA9, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x76, 0x1B, 0xFF, 0xB6, 0x23, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD9, 0x5C, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x6D, 0x87, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0x9E, 0xEF, 0xFF, 0xF7, 0x33, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x19, 0x65, 0x8E, 0x00, 0x00, 0x00, 0x99, 0x85, 0x0A, 0x76, 0x13, 0xFD, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xFF, 0x37, 0x3C, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x76, 0x13, 0xFC, 0xFB, 0x85, 0x08, 0xF9, 0x64, 0x88, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 15 | 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xFF, 0xDF, 0xF7, 0xFF, 0x78, 0x44, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x19, 0x6D, 0x87, 0x78, 0x4C, 0xD3, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x5A, 0x7D, 0xFF, 0xF9, 0x64, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x64, 0xFF, 0xDD, 0xC6, 0xFF, 0xDF, 0xFF, 0xFF, 0xB8, 0x54, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x78, 0x4C, 0xD1, 0xF7, 0x2B, 0xF3, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x5C, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0x39, 0x6D, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x54, 0xFF, 0xB8, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC6, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xF7, 0x2B, 0xF2, 0x76, 0x1B, 0xFC, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xFB, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xBE, 0xFF, 0x35, 0x0B, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x96, 0x1B, 0xFC, 0x35, 0x0B, 0xFE, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xBA, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 16 | 0xFF, 0xFF, 0xFF, 0x7C, 0xB6, 0xFF, 0x35, 0x0B, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x55, 0x0B, 0xFE, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xBD, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0xDF, 0xFF, 0x35, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x35, 0x0B, 0xFE, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xBA, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0xB6, 0xFF, 0x35, 0x0B, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x55, 0x0B, 0xFE, 0x76, 0x1B, 0xFC, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xFB, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, 0xA6, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xBE, 0xFF, 0x35, 0x0B, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x96, 0x1B, 0xFC, 0xF7, 0x2B, 0xF2, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x5C, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0x39, 0x6D, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x54, 0xFF, 0xB8, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC6, 0xFF, 17 | 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xF7, 0x33, 0xF1, 0x78, 0x4C, 0xD2, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x5A, 0x7D, 0xFF, 0xF9, 0x64, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x64, 0xFF, 0xDD, 0xC6, 0xFF, 0xDF, 0xFF, 0xFF, 0xB8, 0x54, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x78, 0x4C, 0xD1, 0x19, 0x6D, 0x87, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xFF, 0xDF, 0xF7, 0xFF, 0x78, 0x44, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x19, 0x6D, 0x86, 0x99, 0x85, 0x0A, 0x76, 0x13, 0xFC, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xEF, 0xFF, 0x37, 0x3C, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x76, 0x1B, 0xFC, 0xFB, 0x85, 0x08, 0x00, 0x00, 0x00, 0x19, 0x6D, 0x86, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD6, 0x2B, 0xFF, 0x9E, 0xEF, 0xFF, 0xF7, 0x33, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x19, 0x65, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0xF9, 0x5C, 0xA7, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x76, 0x1B, 0xFF, 0xB6, 0x23, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0x15, 0x03, 0xFF, 0xD9, 0x5C, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x75, 0x41, 0x98, 0x4C, 0xCD, 0xD6, 0x2B, 0xF6, 0x55, 0x13, 0xFE, 0x15, 0x03, 0xFF, 0x55, 0x13, 0xFE, 0xD6, 0x2B, 0xF6, 0x98, 0x4C, 0xCC, 0x5A, 0x75, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | }; 20 | const lv_img_dsc_t ui_img_bluetooth_png = { 21 | .header.always_zero = 0, 22 | .header.w = 15, 23 | .header.h = 19, 24 | .data_size = sizeof(ui_img_bluetooth_png_data), 25 | .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, 26 | .data = ui_img_bluetooth_png_data 27 | }; 28 | 29 | -------------------------------------------------------------------------------- /notification_obj.h: -------------------------------------------------------------------------------- 1 | #ifndef NOTIFICATION_OBJ_H 2 | #define NOTIFICATION_OBJ_H 3 | 4 | #include "PineTime.h" 5 | #include "notification.h" 6 | 7 | lv_obj_t *notification_create_obj(lv_obj_t *parent, Notification *notification) { 8 | 9 | lv_obj_t *cui_Notification; 10 | cui_Notification = lv_obj_create(parent); 11 | lv_obj_set_height(cui_Notification, 108); 12 | lv_obj_set_width(cui_Notification, lv_pct(100)); 13 | lv_obj_set_align(cui_Notification, LV_ALIGN_CENTER); 14 | lv_obj_set_flex_flow(cui_Notification, LV_FLEX_FLOW_COLUMN); 15 | lv_obj_set_flex_align(cui_Notification, LV_FLEX_ALIGN_SPACE_BETWEEN, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START); 16 | //lv_obj_add_flag(cui_Notification, LV_OBJ_FLAG_EVENT_BUBBLE); /// Flags 17 | //lv_obj_clear_flag(cui_Notification, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 18 | lv_obj_set_scrollbar_mode(cui_Notification, LV_SCROLLBAR_MODE_OFF); 19 | lv_obj_set_style_bg_color(cui_Notification, lv_color_hex(0x141414), LV_PART_MAIN | LV_STATE_DEFAULT); 20 | lv_obj_set_style_bg_opa(cui_Notification, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 21 | lv_obj_set_style_border_side(cui_Notification, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 22 | lv_obj_set_style_pad_left(cui_Notification, 4, LV_PART_MAIN | LV_STATE_DEFAULT); 23 | lv_obj_set_style_pad_right(cui_Notification, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 24 | lv_obj_set_style_pad_top(cui_Notification, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 25 | lv_obj_set_style_pad_bottom(cui_Notification, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 26 | 27 | lv_obj_t *cui_PanelType; 28 | cui_PanelType = lv_obj_create(cui_Notification); 29 | lv_obj_set_height(cui_PanelType, 26); 30 | lv_obj_set_width(cui_PanelType, lv_pct(100)); 31 | lv_obj_set_align(cui_PanelType, LV_ALIGN_CENTER); 32 | lv_obj_set_flex_flow(cui_PanelType, LV_FLEX_FLOW_ROW); 33 | lv_obj_set_flex_align(cui_PanelType, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); 34 | lv_obj_clear_flag(cui_PanelType, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 35 | lv_obj_set_style_radius(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 36 | lv_obj_set_style_bg_color(cui_PanelType, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 37 | lv_obj_set_style_bg_opa(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 38 | lv_obj_set_style_border_side(cui_PanelType, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 39 | lv_obj_set_style_pad_left(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 40 | lv_obj_set_style_pad_right(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 41 | lv_obj_set_style_pad_top(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 42 | lv_obj_set_style_pad_bottom(cui_PanelType, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 43 | 44 | lv_obj_t *cui_TypeIcon; 45 | cui_TypeIcon = lv_img_create(cui_PanelType); 46 | lv_img_set_src(cui_TypeIcon, &ui_img_message_png); 47 | lv_obj_set_width(cui_TypeIcon, LV_SIZE_CONTENT); /// 1 48 | lv_obj_set_height(cui_TypeIcon, LV_SIZE_CONTENT); /// 1 49 | lv_obj_set_align(cui_TypeIcon, LV_ALIGN_CENTER); 50 | lv_obj_add_flag(cui_TypeIcon, LV_OBJ_FLAG_ADV_HITTEST); /// Flags 51 | lv_obj_clear_flag(cui_TypeIcon, LV_OBJ_FLAG_SCROLLABLE); /// Flags 52 | 53 | lv_obj_t *cui_NotifType; 54 | cui_NotifType = lv_label_create(cui_PanelType); 55 | lv_obj_set_width(cui_NotifType, lv_pct(100)); 56 | lv_obj_set_height(cui_NotifType, LV_SIZE_CONTENT); /// 1 57 | lv_obj_set_align(cui_NotifType, LV_ALIGN_CENTER); 58 | //lv_label_set_text(cui_NotifType, "Skype"); 59 | lv_label_set_text_fmt(cui_NotifType, "%s", notification_type(notification->type)); 60 | lv_obj_clear_flag(cui_NotifType, LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 61 | lv_obj_set_style_text_color(cui_NotifType, lv_color_hex(0xC8C8C8), LV_PART_MAIN | LV_STATE_DEFAULT); 62 | lv_obj_set_style_text_opa(cui_NotifType, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 63 | lv_obj_set_style_text_font(cui_NotifType, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 64 | 65 | lv_obj_t *cui_NotifTitle; 66 | cui_NotifTitle = lv_label_create(cui_Notification); 67 | lv_obj_set_width(cui_NotifTitle, lv_pct(100)); 68 | lv_obj_set_height(cui_NotifTitle, LV_SIZE_CONTENT); /// 1 69 | lv_obj_set_align(cui_NotifTitle, LV_ALIGN_CENTER); 70 | lv_label_set_text_fmt(cui_NotifTitle, "%s",notification->subject); 71 | lv_obj_clear_flag(cui_NotifTitle, LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 72 | lv_obj_set_style_text_color(cui_NotifTitle, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); 73 | lv_obj_set_style_text_opa(cui_NotifTitle, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 74 | lv_obj_set_style_text_font(cui_NotifTitle, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 75 | 76 | lv_obj_t *cui_NotifDate; 77 | cui_NotifDate = lv_label_create(cui_Notification); 78 | lv_obj_set_width(cui_NotifDate, LV_SIZE_CONTENT); /// 1 79 | lv_obj_set_height(cui_NotifDate, LV_SIZE_CONTENT); /// 1 80 | lv_obj_set_align(cui_NotifDate, LV_ALIGN_CENTER); 81 | //lv_label_set_text(cui_NotifDate, "13:48"); 82 | lv_label_set_text_fmt(cui_NotifDate, "%02i:%02i", notification->hour, notification->minute); 83 | lv_obj_set_style_text_color(cui_NotifDate, lv_color_hex(0x808080), LV_PART_MAIN | LV_STATE_DEFAULT); 84 | lv_obj_set_style_text_opa(cui_NotifDate, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 85 | lv_obj_set_style_text_font(cui_NotifDate, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 86 | 87 | return cui_Notification; 88 | } 89 | 90 | #endif //NOTIFICATION_OBJ_H -------------------------------------------------------------------------------- /ui_helpers.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui_helpers.h" 7 | 8 | void _ui_bar_set_property(lv_obj_t * target, int id, int val) 9 | { 10 | if(id == _UI_BAR_PROPERTY_VALUE_WITH_ANIM) lv_bar_set_value(target, val, LV_ANIM_ON); 11 | if(id == _UI_BAR_PROPERTY_VALUE) lv_bar_set_value(target, val, LV_ANIM_OFF); 12 | } 13 | 14 | void _ui_basic_set_property(lv_obj_t * target, int id, int val) 15 | { 16 | if(id == _UI_BASIC_PROPERTY_POSITION_X) lv_obj_set_x(target, val); 17 | if(id == _UI_BASIC_PROPERTY_POSITION_Y) lv_obj_set_y(target, val); 18 | if(id == _UI_BASIC_PROPERTY_WIDTH) lv_obj_set_width(target, val); 19 | if(id == _UI_BASIC_PROPERTY_HEIGHT) lv_obj_set_height(target, val); 20 | } 21 | 22 | 23 | void _ui_dropdown_set_property(lv_obj_t * target, int id, int val) 24 | { 25 | if(id == _UI_DROPDOWN_PROPERTY_SELECTED) lv_dropdown_set_selected(target, val); 26 | } 27 | 28 | void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val) 29 | { 30 | if(id == _UI_IMAGE_PROPERTY_IMAGE) lv_img_set_src(target, val); 31 | } 32 | 33 | void _ui_label_set_property(lv_obj_t * target, int id, char * val) 34 | { 35 | if(id == _UI_LABEL_PROPERTY_TEXT) lv_label_set_text(target, val); 36 | } 37 | 38 | 39 | void _ui_roller_set_property(lv_obj_t * target, int id, int val) 40 | { 41 | if(id == _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM) lv_roller_set_selected(target, val, LV_ANIM_ON); 42 | if(id == _UI_ROLLER_PROPERTY_SELECTED) lv_roller_set_selected(target, val, LV_ANIM_OFF); 43 | } 44 | 45 | void _ui_slider_set_property(lv_obj_t * target, int id, int val) 46 | { 47 | if(id == _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM) lv_slider_set_value(target, val, LV_ANIM_ON); 48 | if(id == _UI_SLIDER_PROPERTY_VALUE) lv_slider_set_value(target, val, LV_ANIM_OFF); 49 | } 50 | 51 | 52 | void _ui_screen_change(lv_obj_t * target, lv_scr_load_anim_t fademode, int spd, int delay) 53 | { 54 | lv_scr_load_anim(target, fademode, spd, delay, false); 55 | } 56 | 57 | void _ui_arc_increment(lv_obj_t * target, int val) 58 | { 59 | int old = lv_arc_get_value(target); 60 | lv_arc_set_value(target, old + val); 61 | lv_event_send(target, LV_EVENT_VALUE_CHANGED, 0); 62 | } 63 | 64 | void _ui_bar_increment(lv_obj_t * target, int val, int anm) 65 | { 66 | int old = lv_bar_get_value(target); 67 | lv_bar_set_value(target, old + val, anm); 68 | } 69 | 70 | void _ui_slider_increment(lv_obj_t * target, int val, int anm) 71 | { 72 | int old = lv_slider_get_value(target); 73 | lv_slider_set_value(target, old + val, anm); 74 | lv_event_send(target, LV_EVENT_VALUE_CHANGED, 0); 75 | } 76 | 77 | void _ui_keyboard_set_target(lv_obj_t * keyboard, lv_obj_t * textarea) 78 | { 79 | lv_keyboard_set_textarea(keyboard, textarea); 80 | } 81 | 82 | void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value) 83 | { 84 | if(value == _UI_MODIFY_FLAG_TOGGLE) { 85 | if(lv_obj_has_flag(target, flag)) lv_obj_clear_flag(target, flag); 86 | else lv_obj_add_flag(target, flag); 87 | } 88 | else if(value == _UI_MODIFY_FLAG_ADD) lv_obj_add_flag(target, flag); 89 | else lv_obj_clear_flag(target, flag); 90 | } 91 | void _ui_state_modify(lv_obj_t * target, int32_t state, int value) 92 | { 93 | if(value == _UI_MODIFY_STATE_TOGGLE) { 94 | if(lv_obj_has_state(target, state)) lv_obj_clear_state(target, state); 95 | else lv_obj_add_state(target, state); 96 | } 97 | else if(value == _UI_MODIFY_STATE_ADD) lv_obj_add_state(target, state); 98 | else lv_obj_clear_state(target, state); 99 | } 100 | 101 | void _ui_opacity_set(lv_obj_t * target, int val) 102 | { 103 | lv_obj_set_style_opa(target, val, 0); 104 | } 105 | 106 | void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v) 107 | { 108 | lv_obj_set_x((lv_obj_t *)a->user_data, v); 109 | } 110 | 111 | void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v) 112 | { 113 | lv_obj_set_y((lv_obj_t *)a->user_data, v); 114 | } 115 | 116 | void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v) 117 | { 118 | lv_obj_set_width((lv_obj_t *)a->user_data, v); 119 | } 120 | 121 | void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v) 122 | { 123 | lv_obj_set_height((lv_obj_t *)a->user_data, v); 124 | } 125 | 126 | void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v) 127 | { 128 | lv_obj_set_style_opa((lv_obj_t *)a->user_data, v, 0); 129 | } 130 | 131 | void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v) 132 | { 133 | lv_img_set_zoom((lv_obj_t *)a->user_data, v); 134 | } 135 | 136 | void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v) 137 | { 138 | lv_img_set_angle((lv_obj_t *)a->user_data, v); 139 | } 140 | 141 | 142 | int32_t _ui_anim_callback_get_x(lv_anim_t * a) 143 | { 144 | return lv_obj_get_x_aligned((lv_obj_t *)a->user_data); 145 | } 146 | 147 | int32_t _ui_anim_callback_get_y(lv_anim_t * a) 148 | { 149 | return lv_obj_get_y_aligned((lv_obj_t *)a->user_data); 150 | } 151 | 152 | int32_t _ui_anim_callback_get_width(lv_anim_t * a) 153 | { 154 | return lv_obj_get_width((lv_obj_t *)a->user_data); 155 | } 156 | 157 | int32_t _ui_anim_callback_get_height(lv_anim_t * a) 158 | { 159 | return lv_obj_get_height((lv_obj_t *)a->user_data); 160 | } 161 | 162 | int32_t _ui_anim_callback_get_opacity(lv_anim_t * a) 163 | { 164 | return lv_obj_get_style_opa((lv_obj_t *)a->user_data, 0); 165 | } 166 | 167 | int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a) 168 | { 169 | return lv_img_get_zoom((lv_obj_t *)a->user_data); 170 | } 171 | 172 | int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a) 173 | { 174 | return lv_img_get_angle((lv_obj_t *)a->user_data); 175 | } 176 | 177 | void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix) 178 | { 179 | char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE]; 180 | lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_arc_get_value(src), postfix); 181 | lv_label_set_text(trg, buf); 182 | } 183 | 184 | void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix) 185 | { 186 | char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE]; 187 | lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_slider_get_value(src), postfix); 188 | lv_label_set_text(trg, buf); 189 | } 190 | void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * txt_on, char * txt_off) 191 | { 192 | if(lv_obj_has_state(src, LV_STATE_CHECKED)) lv_label_set_text(trg, txt_on); 193 | else lv_label_set_text(trg, txt_off); 194 | } 195 | 196 | 197 | -------------------------------------------------------------------------------- /fragment_notification.h: -------------------------------------------------------------------------------- 1 | #ifndef FRAG_NOTIFICATION_H 2 | #define FRAG_NOTIFICATION_H 3 | 4 | #include "PineTime.h" 5 | #include "notification.h" 6 | 7 | static void notification_fragment_ctor(lv_fragment_t *self, void *args); 8 | 9 | static lv_obj_t *notification_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent); 10 | 11 | typedef struct notification_fragment_t { 12 | lv_fragment_t base; 13 | Notification *notification; 14 | } notification_fragment_t; 15 | 16 | static const lv_fragment_class_t notification_cls = { 17 | .constructor_cb = notification_fragment_ctor, 18 | .create_obj_cb = notification_fragment_create_obj, 19 | .instance_size = sizeof(struct notification_fragment_t) 20 | }; 21 | 22 | static void notification_fragment_ctor(lv_fragment_t *self, void *args) { 23 | //LV_UNUSED(args); 24 | ((notification_fragment_t *)self)->notification = (Notification *)args; 25 | } 26 | 27 | static lv_obj_t *notification_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent) { 28 | 29 | notification_fragment_t *fragment = (notification_fragment_t *)self; 30 | 31 | lv_obj_t *ui_Notification_Panel = lv_obj_create(parent); 32 | lv_obj_set_width(ui_Notification_Panel, lv_pct(100)); 33 | lv_obj_set_height(ui_Notification_Panel, lv_pct(100)); 34 | lv_obj_set_align(ui_Notification_Panel, LV_ALIGN_CENTER); 35 | lv_obj_set_flex_flow(ui_Notification_Panel, LV_FLEX_FLOW_COLUMN); 36 | lv_obj_set_flex_align(ui_Notification_Panel, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, 37 | LV_FLEX_ALIGN_SPACE_EVENLY); 38 | lv_obj_clear_flag(ui_Notification_Panel, LV_OBJ_FLAG_SCROLLABLE); /// Flags 39 | lv_obj_set_style_bg_color(ui_Notification_Panel, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 40 | lv_obj_set_style_bg_opa(ui_Notification_Panel, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 41 | lv_obj_set_style_border_side(ui_Notification_Panel, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 42 | lv_obj_set_style_pad_left(ui_Notification_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 43 | lv_obj_set_style_pad_right(ui_Notification_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 44 | lv_obj_set_style_pad_top(ui_Notification_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 45 | lv_obj_set_style_pad_bottom(ui_Notification_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 46 | 47 | lv_obj_t *ui_IconPanel = lv_obj_create(ui_Notification_Panel); 48 | lv_obj_set_height(ui_IconPanel, 26); 49 | lv_obj_set_width(ui_IconPanel, lv_pct(100)); 50 | lv_obj_set_align(ui_IconPanel, LV_ALIGN_CENTER); 51 | lv_obj_set_flex_flow(ui_IconPanel, LV_FLEX_FLOW_ROW); 52 | lv_obj_set_flex_align(ui_IconPanel, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); 53 | lv_obj_clear_flag(ui_IconPanel, LV_OBJ_FLAG_SCROLLABLE); /// Flags 54 | lv_obj_set_style_radius(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 55 | lv_obj_set_style_bg_color(ui_IconPanel, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 56 | lv_obj_set_style_bg_opa(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 57 | lv_obj_set_style_border_side(ui_IconPanel, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 58 | lv_obj_set_style_pad_left(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 59 | lv_obj_set_style_pad_right(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 60 | lv_obj_set_style_pad_top(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 61 | lv_obj_set_style_pad_bottom(ui_IconPanel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 62 | 63 | lv_obj_t *ui_NotificationIcon = lv_img_create(ui_IconPanel); 64 | lv_img_set_src(ui_NotificationIcon, &ui_img_message_png); 65 | lv_obj_set_width(ui_NotificationIcon, LV_SIZE_CONTENT); /// 22 66 | lv_obj_set_height(ui_NotificationIcon, LV_SIZE_CONTENT); /// 22 67 | lv_obj_set_x(ui_NotificationIcon, 0); 68 | lv_obj_set_y(ui_NotificationIcon, 10); 69 | lv_obj_set_align(ui_NotificationIcon, LV_ALIGN_TOP_MID); 70 | lv_obj_add_flag(ui_NotificationIcon, LV_OBJ_FLAG_ADV_HITTEST); /// Flags 71 | lv_obj_clear_flag(ui_NotificationIcon, LV_OBJ_FLAG_SCROLLABLE); /// Flags 72 | 73 | lv_obj_t *ui_Type = lv_label_create(ui_IconPanel); 74 | lv_obj_set_width(ui_Type, LV_SIZE_CONTENT); /// 1 75 | lv_obj_set_height(ui_Type, LV_SIZE_CONTENT); /// 1 76 | lv_obj_set_align(ui_Type, LV_ALIGN_CENTER); 77 | lv_label_set_text_fmt(ui_Type, "%s", notification_type(fragment->notification->type)); 78 | lv_obj_set_style_text_font(ui_Type, &ui_font_OpenSans22Bold, LV_PART_MAIN | LV_STATE_DEFAULT); 79 | 80 | lv_obj_t *ui_PanelMessage = lv_obj_create(ui_Notification_Panel); 81 | lv_obj_set_width(ui_PanelMessage, lv_pct(100)); 82 | lv_obj_set_flex_grow(ui_PanelMessage, 1); 83 | lv_obj_set_align(ui_PanelMessage, LV_ALIGN_CENTER); 84 | lv_obj_set_flex_flow(ui_PanelMessage, LV_FLEX_FLOW_COLUMN); 85 | lv_obj_set_flex_align(ui_PanelMessage, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START); 86 | lv_obj_set_style_radius(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 87 | lv_obj_set_style_bg_color(ui_PanelMessage, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 88 | lv_obj_set_style_bg_opa(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 89 | lv_obj_set_style_border_side(ui_PanelMessage, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 90 | lv_obj_set_style_pad_left(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 91 | lv_obj_set_style_pad_right(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 92 | lv_obj_set_style_pad_top(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 93 | lv_obj_set_style_pad_bottom(ui_PanelMessage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 94 | 95 | lv_obj_t *ui_NotTitle = lv_label_create(ui_PanelMessage); 96 | lv_obj_set_width(ui_NotTitle, lv_pct(100)); 97 | lv_obj_set_height(ui_NotTitle, LV_SIZE_CONTENT); /// 1 98 | lv_obj_set_align(ui_NotTitle, LV_ALIGN_CENTER); 99 | lv_label_set_text(ui_NotTitle, fragment->notification->subject); 100 | lv_obj_set_style_text_font(ui_NotTitle, &ui_font_OpenSans22Bold, LV_PART_MAIN | LV_STATE_DEFAULT); 101 | 102 | lv_obj_t *ui_NotBody = lv_label_create(ui_PanelMessage); 103 | lv_obj_set_width(ui_NotBody, lv_pct(100)); 104 | lv_obj_set_height(ui_NotBody, LV_SIZE_CONTENT); /// 1 105 | lv_obj_set_align(ui_NotBody, LV_ALIGN_CENTER); 106 | lv_label_set_text(ui_NotBody, fragment->notification->message); 107 | lv_obj_set_style_text_font(ui_NotBody, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 108 | 109 | lv_obj_t *ui_PanelFooter = lv_obj_create(ui_Notification_Panel); 110 | lv_obj_set_height(ui_PanelFooter, 26); 111 | lv_obj_set_width(ui_PanelFooter, lv_pct(100)); 112 | lv_obj_set_align(ui_PanelFooter, LV_ALIGN_CENTER); 113 | lv_obj_clear_flag(ui_PanelFooter, LV_OBJ_FLAG_SCROLLABLE); /// Flags 114 | lv_obj_set_style_radius(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 115 | lv_obj_set_style_bg_color(ui_PanelFooter, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 116 | lv_obj_set_style_bg_opa(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 117 | lv_obj_set_style_border_side(ui_PanelFooter, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 118 | lv_obj_set_style_pad_left(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 119 | lv_obj_set_style_pad_right(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 120 | lv_obj_set_style_pad_top(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 121 | lv_obj_set_style_pad_bottom(ui_PanelFooter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 122 | 123 | lv_obj_t *ui_NotificationTime = lv_label_create(ui_PanelFooter); 124 | lv_obj_set_width(ui_NotificationTime, LV_SIZE_CONTENT); /// 1 125 | lv_obj_set_height(ui_NotificationTime, LV_SIZE_CONTENT); /// 1 126 | lv_obj_set_align(ui_NotificationTime, LV_ALIGN_LEFT_MID); 127 | lv_label_set_text_fmt(ui_NotificationTime, "%02i:%02i", fragment->notification->hour, fragment->notification->minute); 128 | 129 | uint8_t time_past = pinetime.rtctime.diff_minutes(fragment->notification->timestamp); 130 | if (time_past > 30) { 131 | lv_label_set_text_fmt(ui_NotificationTime, "%02i:%02i", fragment->notification->hour, fragment->notification->minute); 132 | } else if (time_past < 1) { 133 | lv_label_set_text_static(ui_NotificationTime, "Just now"); 134 | } else { 135 | lv_label_set_text_fmt(ui_NotificationTime, "%i min", time_past); 136 | } 137 | 138 | return ui_Notification_Panel; 139 | } 140 | 141 | #endif // FRAG_NOTIFICATION_H -------------------------------------------------------------------------------- /ui_img_walk_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.1 3 | // LVGL VERSION: 8.3.4 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\walk.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_walk_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 17 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xD0, 19 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x10, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | }; 23 | const lv_img_dsc_t ui_img_walk_png = { 24 | .header.always_zero = 0, 25 | .header.w = 22, 26 | .header.h = 22, 27 | .data_size = sizeof(ui_img_walk_png_data), 28 | .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, 29 | .data = ui_img_walk_png_data 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /ui_img_heart_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.1 3 | // LVGL VERSION: 8.3.4 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\heart.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_heart_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 16 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 17 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 18 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 19 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0xF0, 20 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | }; 23 | const lv_img_dsc_t ui_img_heart_png = { 24 | .header.always_zero = 0, 25 | .header.w = 22, 26 | .header.h = 22, 27 | .data_size = sizeof(ui_img_heart_png_data), 28 | .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, 29 | .data = ui_img_heart_png_data 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /ui_img_power_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.1 3 | // LVGL VERSION: 8.3.4 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\power.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_power_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x06, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x14, 0xFF, 0xFF, 0xDD, 0xFF, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2C, 0xFF, 0xFF, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0B, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFF, 0xFF, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0x11, 0xFF, 0xFF, 0xB7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFA, 0xFF, 0xFF, 0x38, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xBB, 0xFF, 0xFF, 0xBB, 0xFF, 0xFF, 0xBB, 17 | 0xFF, 0xFF, 0xBB, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x04, 0xFF, 0xFF, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x04, 0xFF, 0xFF, 0x11, 0xFF, 0xFF, 0x11, 0xFF, 0xFF, 0x11, 0xFF, 0xFF, 0x35, 0xFF, 0xFF, 0xEE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x19, 18 | 0xFF, 0xFF, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xD7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x10, 0xFF, 0xFF, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x6A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xFF, 0xFF, 0x09, 0xFF, 0xFF, 0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0xFF, 0xFF, 0xAD, 19 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x17, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xDA, 0xFF, 0xFF, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xFF, 0xFF, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 20 | 0xFF, 0xFF, 0xE5, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x15, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x6A, 0xFF, 0xFF, 0xF4, 21 | 0xFF, 0xFF, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | }; 23 | const lv_img_dsc_t ui_img_power_png = { 24 | .header.always_zero = 0, 25 | .header.w = 22, 26 | .header.h = 22, 27 | .data_size = sizeof(ui_img_power_png_data), 28 | .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, 29 | .data = ui_img_power_png_data 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /ui_img_message_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.1 3 | // LVGL VERSION: 8.3.4 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\message.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_message_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x86, 0x20, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x64, 0x86, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x7E, 0xB0, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xAF, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x86, 0x20, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x64, 0x86, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xC0, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0xC0, 0x84, 0x7E, 0xFF, 16 | 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xDF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xBF, 0x84, 0x7E, 0xDF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xA0, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 0x84, 0x86, 0x40, 17 | 0x84, 0x7E, 0xA0, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0x9F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x3F, 0x84, 0x7E, 0x9F, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x86, 0x40, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x7E, 0x30, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 19 | 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0xE0, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x86, 0x20, 0xA4, 0x7E, 0x70, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x80, 0x84, 0x7E, 0x90, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x60, 0x84, 0x7E, 0xFF, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x60, 0x84, 0x7E, 0xFF, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x7E, 0x60, 0x84, 0x86, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | }; 23 | const lv_img_dsc_t ui_img_message_png = { 24 | .header.always_zero = 0, 25 | .header.w = 22, 26 | .header.h = 22, 27 | .data_size = sizeof(ui_img_message_png_data), 28 | .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA, 29 | .data = ui_img_message_png_data 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /Vector.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Vector.h 3 | * 4 | * Created on: 05/04/2012 5 | * Author: tom 6 | * Purpose: To play the part of a mutable array in the absence of the STL. 7 | */ 8 | 9 | #ifndef VECTOR_H 10 | #define VECTOR_H 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #ifndef MIN 17 | #define MIN(a, b) (((a) < (b)) ? (a) : (b)) 18 | #endif 19 | 20 | #ifndef MAX 21 | #define MAX(a, b) (((a) > (b)) ? (a) : (b)) 22 | #endif 23 | 24 | #define SWAP(type, a, b) \ 25 | type tmp##a = a; \ 26 | a = b; \ 27 | b = tmp##a; 28 | 29 | template class Predicate { 30 | public: 31 | virtual void operator()(ParameterType ¶m) = 0; 32 | }; 33 | 34 | template class Vector { 35 | // The address of the first element of the vector 36 | VectorType *begin; 37 | // The address one after the last allocated entry in the underlying array 38 | VectorType *storage; 39 | // The index of the most recent element put in the underlying array - the head 40 | int head; 41 | 42 | public: 43 | // The value that is returned when the caller asks for an element that is out of the bounds of the vector 44 | VectorType OB; 45 | 46 | // We can save a few re-sizings if we know how large the array is likely to grow to be 47 | Vector(int initialSize = 0) { 48 | begin = new VectorType[initialSize]; //points to the beginning of the new array 49 | head = initialSize - 1; 50 | storage = begin + initialSize; //points to the element one outside of the array (such that end - begin = capacity) 51 | } 52 | 53 | Vector(Vector &obj) { 54 | begin = new VectorType[0]; // Points to the beginning of the new array, it's zero but this line keeps malloc from seg faulting should we delete begin before resizing it 55 | head = -1; 56 | storage = begin; //points to the element one outside of the array (such that end - begin = capacity) 57 | 58 | *this = obj; 59 | } 60 | 61 | // If there's anything in the vector then delete the array, if there's no array then doing will will cause seg faults 62 | virtual ~Vector() { 63 | delete[] begin; 64 | } 65 | 66 | Vector &operator=(Vector &obj) { 67 | // Reallocate the underlying buffer to the same size as the 68 | Resize(obj.Size()); 69 | 70 | for (int i = 0; i < obj.Size(); i++) 71 | (*this)[i] = obj[i]; 72 | 73 | head = obj.head; 74 | 75 | return *this; 76 | } 77 | 78 | void ForEach(Predicate &functor) { 79 | for (int i = 0; i < Size(); i++) 80 | functor(begin[i]); 81 | } 82 | 83 | // Swaps the underlying array and characteristics of this vector with another of the same type, very quickly 84 | void Swap(Vector &obj) { 85 | SWAP(int, head, obj.head); 86 | SWAP(VectorType *, begin, obj.begin); 87 | SWAP(VectorType *, storage, obj.storage); 88 | } 89 | 90 | // Checks the entire Vector to see whether a matching item exists. Bear in mind that the VectorType might need to implement 91 | // equality operator (operator==) for this to work properly. 92 | bool Contains(VectorType element) { 93 | for (int i = 0; i < Size(); i++) 94 | if (operator[](i) == element) 95 | return true; 96 | 97 | return false; 98 | } 99 | 100 | int Find(VectorType element) { 101 | for (int i = 0; i < Size(); i++) 102 | if (operator[](i) == element) 103 | return i; 104 | 105 | return -1; 106 | } 107 | 108 | void PushBack(VectorType element) { 109 | PushBack(&element, 1); 110 | } 111 | 112 | void PushBack(const VectorType *elements, int len) { 113 | // If the length plus this's size is greater than the capacity, reallocate to that size. 114 | if (len + Size() > Capacity()) 115 | ReAllocate(MAX(Size() + len, Size() * 2)); 116 | 117 | int append = MIN(storage - begin - head - 1, len), prepend = len - append; 118 | 119 | // memcpy the data starting at the head all the way up to the last element *(storage - 1) 120 | memcpy((begin + head + 1), elements, sizeof(VectorType) * append); 121 | 122 | // If there's still data to copy memcpy whatever remains, starting at the first element *(begin) until the end of data. The first step will have ensured 123 | // that we don't crash into the tail during this process. 124 | memcpy(begin, (elements + append), sizeof(VectorType) * prepend); 125 | 126 | // Re-recalculate head and size. 127 | head += len; 128 | } 129 | 130 | void Erase(unsigned int position) { 131 | Erase(position, position + 1); 132 | } 133 | 134 | // Erase an arbitrary section of the vector from first up to last minus one. Like the stl counterpart, this is pretty labour intensive so go easy on it. 135 | void Erase(int first, int last) { 136 | // For this we'll set the value of the array at first to the value of the array at last plus one. We'll do that all the way up to toIndex 137 | for (int i = 0; i < (Size() - first); i++) { 138 | // If by trying to fill in the next element with the ones ahead of it we'll be running off the end of the vector, stop. 139 | if ((i + last) > (Size() - 1)) 140 | break; 141 | 142 | begin[first + i] = begin[last + i]; 143 | } 144 | 145 | // Adjust the head to reflect the new size 146 | head -= last - first; 147 | } 148 | 149 | // Remove the most recent element in the array 150 | void PopBack() { 151 | if (Size() > 0) 152 | head--; 153 | } 154 | 155 | // Empty the vector, or to be precise - forget the fact that there was ever anything in there. 156 | void Clear() { 157 | head = -1; 158 | } 159 | 160 | // Returns a bool indicating whether or not there are any elements in the array 161 | bool Empty() { 162 | return head == -1; 163 | } 164 | 165 | // Returns the oldest element in the array (the one added before any other) 166 | VectorType const &Back() { 167 | return *begin; 168 | } 169 | 170 | // Returns the newest element in the array (the one added after every other) 171 | VectorType const &Front() { 172 | return begin[head]; 173 | } 174 | 175 | // Returns the nth element in the vector 176 | VectorType &operator[](int n) { 177 | if (n < Size()) 178 | return begin[n]; 179 | else 180 | return OB; 181 | } 182 | 183 | // Returns a pointer such that the vector's data is laid out between ret to ret + size 184 | VectorType *Data() { 185 | return begin; 186 | } 187 | 188 | // Recreates the vector to hold len elements, all being copies of val 189 | void Assign(int len, const VectorType &val) { 190 | delete[] begin; 191 | 192 | // Allocate an array the same size as the one passed in 193 | begin = new VectorType[len]; 194 | storage = begin + len; 195 | 196 | // Refresh the head and tail, assuming the array is in order, which it really has to be 197 | head = len - 1; 198 | 199 | for (int i = 0; i < Size(); i++) 200 | begin[i] = val; 201 | } 202 | 203 | // Recreates the vector using an external array 204 | void Assign(VectorType *array, int len) { 205 | delete[] begin; 206 | 207 | // Allocate an array the same size as the one passed in 208 | begin = new VectorType[len]; 209 | storage = begin + len; 210 | 211 | // Refresh the head and tail, assuming the array is in order, which it really has to be 212 | head = len - 1; 213 | 214 | // Copy over the memory 215 | memcpy(begin, array, sizeof(VectorType) * len); 216 | } 217 | 218 | // Returns the number of elements that the vector will support before needing resizing 219 | int Capacity() { 220 | return (storage - begin); 221 | } 222 | 223 | // Returns the number of elements in vector 224 | int Size() { 225 | return head + 1; 226 | } 227 | 228 | // Requests that the capacity of the allocated storage space for the elements 229 | // of the vector be at least enough to hold size elements. 230 | void Reserve(unsigned int size) { 231 | if (size > Capacity()) 232 | ReAllocate(size); 233 | } 234 | 235 | // Resizes the vector 236 | void Resize(unsigned int size) { 237 | // If necessary, resize the underlying array to fit the new size 238 | if (size > Capacity()) 239 | ReAllocate(size); 240 | 241 | // Now revise the head and size (tail needn't change) to reflect the new size 242 | head = size - 1; 243 | } 244 | 245 | private: 246 | 247 | void ReAllocate(unsigned int size) { 248 | // Just in case we're re-allocating less room than we had before, make sure that we don't overrun the buffer by trying to write more elements than 249 | // are now possible for this vector to hold. 250 | if (Size() > (int)size) 251 | head = size - 1; 252 | 253 | // Allocate an array twice the size of that of the old 254 | VectorType *_begin = new VectorType[size]; 255 | VectorType *_storage = _begin + size; 256 | 257 | int _head = Size() - 1; 258 | 259 | // Copy across all the old array's data and rearrange it! 260 | for (int i = 0; i < Size(); i++) 261 | _begin[i] = (*this)[i]; 262 | 263 | // Free the old memory 264 | delete[] begin; 265 | 266 | // Redirect the old array to point to the new one 267 | begin = _begin; 268 | storage = _storage; 269 | head = _head; 270 | } 271 | }; 272 | 273 | #endif // VECTOR_H 274 | -------------------------------------------------------------------------------- /ui_font_Numbers42.c: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Size: 42 px 3 | * Bpp: 2 4 | * Opts: --bpp 2 --size 42 --font D:\Work\Arduino\PinetimeArduino\assets\Fonts\Mona-Sans-ExtraBold.ttf -o D:\Work\Arduino\PinetimeArduino\assets\Fonts\ui_font_Numbers42.c --format lvgl --symbols 0123456789+-:% --no-compress --no-prefilter 5 | ******************************************************************************/ 6 | 7 | #include "ui.h" 8 | 9 | #ifndef UI_FONT_NUMBERS42 10 | #define UI_FONT_NUMBERS42 1 11 | #endif 12 | 13 | #if UI_FONT_NUMBERS42 14 | 15 | /*----------------- 16 | * BITMAPS 17 | *----------------*/ 18 | 19 | /*Store the image of the glyphs*/ 20 | static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 21 | /* U+0025 "%" */ 22 | 0x0, 0x2f, 0xe4, 0x0, 0x0, 0x0, 0x7f, 0xd0, 23 | 0x0, 0xb, 0xff, 0xf8, 0x0, 0x0, 0x3, 0xfe, 24 | 0x0, 0x0, 0x7f, 0xff, 0xf4, 0x0, 0x0, 0x2f, 25 | 0xf0, 0x0, 0x3, 0xff, 0xff, 0xf0, 0x0, 0x1, 26 | 0xff, 0x40, 0x0, 0x2f, 0xf4, 0x7f, 0xd0, 0x0, 27 | 0xf, 0xfc, 0x0, 0x0, 0xff, 0xc0, 0xff, 0x80, 28 | 0x0, 0xbf, 0xc0, 0x0, 0x3, 0xfe, 0x2, 0xff, 29 | 0x0, 0x3, 0xfe, 0x0, 0x0, 0xf, 0xf8, 0xb, 30 | 0xfc, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x3f, 0xe0, 31 | 0x2f, 0xf0, 0x1, 0xff, 0x40, 0x0, 0x0, 0xff, 32 | 0x80, 0xbf, 0xc0, 0xf, 0xf8, 0x0, 0x0, 0x3, 33 | 0xfe, 0x2, 0xff, 0x0, 0xbf, 0xc0, 0x0, 0x0, 34 | 0xb, 0xfc, 0xf, 0xf8, 0x7, 0xfd, 0x0, 0x0, 35 | 0x0, 0x1f, 0xf4, 0x7f, 0xd0, 0x3f, 0xf0, 0x0, 36 | 0x0, 0x0, 0x3f, 0xff, 0xff, 0x2, 0xff, 0x0, 37 | 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf4, 0xf, 0xf8, 38 | 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0xff, 39 | 0xc0, 0x6, 0xf9, 0x0, 0x0, 0x2f, 0x90, 0x7, 40 | 0xfd, 0x1, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 41 | 0x3f, 0xe0, 0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0, 42 | 0x2, 0xff, 0x0, 0xff, 0xff, 0xfc, 0x0, 0x0, 43 | 0x0, 0x1f, 0xf4, 0x7, 0xfd, 0x1f, 0xf8, 0x0, 44 | 0x0, 0x0, 0xff, 0x80, 0x2f, 0xf0, 0x2f, 0xf0, 45 | 0x0, 0x0, 0xb, 0xfc, 0x0, 0xff, 0x80, 0xbf, 46 | 0xc0, 0x0, 0x0, 0x3f, 0xd0, 0x3, 0xfe, 0x1, 47 | 0xff, 0x0, 0x0, 0x3, 0xff, 0x0, 0xf, 0xf8, 48 | 0x7, 0xfc, 0x0, 0x0, 0x1f, 0xf0, 0x0, 0x3f, 49 | 0xe0, 0x1f, 0xf0, 0x0, 0x0, 0xff, 0x80, 0x0, 50 | 0xbf, 0xc0, 0xbf, 0xc0, 0x0, 0xb, 0xfc, 0x0, 51 | 0x1, 0xff, 0x43, 0xfe, 0x0, 0x0, 0x7f, 0xd0, 52 | 0x0, 0x3, 0xff, 0xff, 0xf4, 0x0, 0x3, 0xfe, 53 | 0x0, 0x0, 0x7, 0xff, 0xff, 0x80, 0x0, 0x2f, 54 | 0xf0, 0x0, 0x0, 0xb, 0xff, 0xf8, 0x0, 0x1, 55 | 0xff, 0x40, 0x0, 0x0, 0x2, 0xfe, 0x40, 0x0, 56 | 57 | /* U+002B "+" */ 58 | 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x7f, 59 | 0xf4, 0x0, 0x0, 0x0, 0x1f, 0xfd, 0x0, 0x0, 60 | 0x0, 0x7, 0xff, 0x40, 0x0, 0x0, 0x1, 0xff, 61 | 0xd0, 0x0, 0x0, 0x0, 0x7f, 0xf4, 0x0, 0x0, 62 | 0x0, 0x1f, 0xfd, 0x0, 0x1, 0xaa, 0xaf, 0xff, 63 | 0xaa, 0xa8, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x6f, 64 | 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0xff, 0xff, 65 | 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbf, 66 | 0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x7f, 0xf4, 67 | 0x0, 0x0, 0x0, 0x1f, 0xfd, 0x0, 0x0, 0x0, 68 | 0x7, 0xff, 0x40, 0x0, 0x0, 0x1, 0xff, 0xd0, 69 | 0x0, 0x0, 0x0, 0x7f, 0xf4, 0x0, 0x0, 0x0, 70 | 0x1f, 0xfd, 0x0, 0x0, 0x0, 0x7, 0xff, 0x40, 71 | 0x0, 72 | 73 | /* U+002D "-" */ 74 | 0xbf, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xeb, 75 | 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xfe, 0xbf, 76 | 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xe0, 77 | 78 | /* U+0030 "0" */ 79 | 0x0, 0x0, 0x6f, 0xfa, 0x0, 0x0, 0x0, 0xb, 80 | 0xff, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xff, 0xff, 81 | 0xfc, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 82 | 0x3, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7, 0xff, 83 | 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff, 0xf0, 0xf, 84 | 0xff, 0xf0, 0x1f, 0xff, 0xc0, 0x3, 0xff, 0xf4, 85 | 0x3f, 0xff, 0x40, 0x1, 0xff, 0xfc, 0x3f, 0xff, 86 | 0x0, 0x0, 0xff, 0xfc, 0x7f, 0xfe, 0x0, 0x0, 87 | 0xbf, 0xfd, 0x7f, 0xfe, 0x0, 0x0, 0xbf, 0xfd, 88 | 0xbf, 0xfd, 0x0, 0x0, 0x7f, 0xfe, 0xbf, 0xfd, 89 | 0x0, 0x0, 0x7f, 0xfe, 0xbf, 0xfd, 0x0, 0x0, 90 | 0x7f, 0xfe, 0xbf, 0xfd, 0x0, 0x0, 0x7f, 0xff, 91 | 0xbf, 0xfd, 0x0, 0x0, 0x7f, 0xfe, 0xbf, 0xfd, 92 | 0x0, 0x0, 0x7f, 0xfe, 0xbf, 0xfd, 0x0, 0x0, 93 | 0x7f, 0xfe, 0x7f, 0xfe, 0x0, 0x0, 0xbf, 0xfd, 94 | 0x3f, 0xfe, 0x0, 0x0, 0xbf, 0xfd, 0x3f, 0xff, 95 | 0x0, 0x0, 0xff, 0xfc, 0x2f, 0xff, 0x40, 0x1, 96 | 0xff, 0xfc, 0x1f, 0xff, 0xc0, 0x3, 0xff, 0xf4, 97 | 0xf, 0xff, 0xf4, 0x1f, 0xff, 0xf0, 0x7, 0xff, 98 | 0xff, 0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, 0xff, 99 | 0xff, 0xc0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 100 | 0x0, 0x3f, 0xff, 0xff, 0xfc, 0x0, 0x0, 0xb, 101 | 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x6f, 0xf9, 102 | 0x0, 0x0, 103 | 104 | /* U+0031 "1" */ 105 | 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 106 | 0x0, 0x0, 0xbf, 0xfe, 0x0, 0x1, 0xff, 0xfe, 107 | 0x0, 0x7, 0xff, 0xfe, 0x0, 0x6f, 0xff, 0xfe, 108 | 0x3f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfe, 109 | 0x3f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfe, 110 | 0x3f, 0xff, 0xff, 0xfe, 0x15, 0x55, 0xbf, 0xfe, 111 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 112 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 113 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 114 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 115 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 116 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 117 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 118 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 119 | 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f, 0xfe, 120 | 0x0, 0x0, 0x7f, 0xfe, 121 | 122 | /* U+0032 "2" */ 123 | 0x0, 0x1, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x7f, 124 | 0xff, 0xff, 0xc0, 0x0, 0xf, 0xff, 0xff, 0xff, 125 | 0xd0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xb, 126 | 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 127 | 0xff, 0xff, 0x82, 0xff, 0xfe, 0x6, 0xff, 0xff, 128 | 0xf, 0xff, 0xd0, 0x2, 0xff, 0xfc, 0x3f, 0xff, 129 | 0x0, 0x3, 0xff, 0xf5, 0xff, 0xf8, 0x0, 0xf, 130 | 0xff, 0xd2, 0xaa, 0x90, 0x0, 0x3f, 0xff, 0x40, 131 | 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x0, 132 | 0xf, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xff, 0xff, 133 | 0x80, 0x0, 0x0, 0x1f, 0xff, 0xfc, 0x0, 0x0, 134 | 0x2, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x3f, 0xff, 135 | 0xfd, 0x0, 0x0, 0x7, 0xff, 0xff, 0xd0, 0x0, 136 | 0x0, 0xbf, 0xff, 0xfd, 0x0, 0x0, 0xf, 0xff, 137 | 0xff, 0xc0, 0x0, 0x0, 0xff, 0xff, 0xf8, 0x0, 138 | 0x0, 0xb, 0xff, 0xff, 0x40, 0x0, 0x0, 0x7f, 139 | 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x0, 140 | 0x0, 0x0, 0x1f, 0xff, 0xf4, 0x0, 0x0, 0x0, 141 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 142 | 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 143 | 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 144 | 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 145 | 0xff, 0xff, 0x80, 146 | 147 | /* U+0033 "3" */ 148 | 0x0, 0x1, 0xbf, 0xfe, 0x40, 0x0, 0x0, 0x1f, 149 | 0xff, 0xff, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xff, 150 | 0xff, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xc0, 151 | 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 152 | 0xff, 0xff, 0xff, 0xf4, 0x3f, 0xff, 0xe0, 0x1f, 153 | 0xff, 0xf8, 0x3f, 0xff, 0x40, 0x3, 0xff, 0xfc, 154 | 0x7f, 0xff, 0x0, 0x2, 0xff, 0xfc, 0x6a, 0xa9, 155 | 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x2, 156 | 0xff, 0xf8, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, 157 | 0x0, 0x0, 0x15, 0x6f, 0xff, 0xe0, 0x0, 0x0, 158 | 0xbf, 0xff, 0xff, 0xc0, 0x0, 0x0, 0xbf, 0xff, 159 | 0xfe, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xfd, 0x0, 160 | 0x0, 0x0, 0xbf, 0xff, 0xff, 0xc0, 0x0, 0x0, 161 | 0xbf, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xb, 162 | 0xff, 0xf4, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 163 | 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x6a, 0xa9, 164 | 0x0, 0x0, 0xff, 0xfc, 0xbf, 0xfe, 0x0, 0x0, 165 | 0xff, 0xfc, 0x7f, 0xff, 0x0, 0x2, 0xff, 0xfc, 166 | 0x3f, 0xff, 0xd0, 0x1f, 0xff, 0xfc, 0x2f, 0xff, 167 | 0xff, 0xff, 0xff, 0xf4, 0xf, 0xff, 0xff, 0xff, 168 | 0xff, 0xf0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xc0, 169 | 0x1, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x2f, 170 | 0xff, 0xff, 0xf4, 0x0, 0x0, 0x1, 0xbf, 0xfe, 171 | 0x40, 0x0, 172 | 173 | /* U+0034 "4" */ 174 | 0x0, 0x0, 0x0, 0xbf, 0xff, 0xd0, 0x0, 0x0, 175 | 0x0, 0x1f, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x3, 176 | 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0xbf, 0xff, 177 | 0xfd, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xd0, 178 | 0x0, 0x0, 0x3, 0xff, 0xff, 0xfd, 0x0, 0x0, 179 | 0x0, 0x7f, 0xff, 0xff, 0xd0, 0x0, 0x0, 0xf, 180 | 0xff, 0xff, 0xfd, 0x0, 0x0, 0x2, 0xff, 0xff, 181 | 0xff, 0xd0, 0x0, 0x0, 0x7f, 0xfd, 0xbf, 0xfd, 182 | 0x0, 0x0, 0xf, 0xff, 0xcb, 0xff, 0xd0, 0x0, 183 | 0x2, 0xff, 0xf0, 0xbf, 0xfd, 0x0, 0x0, 0x3f, 184 | 0xfe, 0xb, 0xff, 0xd0, 0x0, 0xf, 0xff, 0xc0, 185 | 0xbf, 0xfd, 0x0, 0x1, 0xff, 0xf4, 0xb, 0xff, 186 | 0xd0, 0x0, 0x3f, 0xfe, 0x0, 0xbf, 0xfd, 0x0, 187 | 0xb, 0xff, 0xc0, 0xb, 0xff, 0xd0, 0x1, 0xff, 188 | 0xf4, 0x0, 0xbf, 0xfd, 0x0, 0x3f, 0xfe, 0x0, 189 | 0xb, 0xff, 0xd0, 0xb, 0xff, 0xff, 0xff, 0xff, 190 | 0xff, 0xfc, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 191 | 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbf, 192 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xff, 0xff, 193 | 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 194 | 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xbf, 0xfd, 195 | 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xd0, 0x0, 196 | 0x0, 0x0, 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, 197 | 0x0, 0xb, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 198 | 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 199 | 0xd0, 0x0, 200 | 201 | /* U+0035 "5" */ 202 | 0xb, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, 203 | 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 204 | 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 205 | 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, 206 | 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, 0x80, 0x0, 207 | 0x0, 0x0, 0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 208 | 0xf, 0xff, 0x40, 0x0, 0x0, 0x0, 0xf, 0xff, 209 | 0x40, 0x0, 0x0, 0x0, 0xf, 0xff, 0x46, 0xfe, 210 | 0x80, 0x0, 0xf, 0xff, 0xbf, 0xff, 0xfd, 0x0, 211 | 0xf, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xff, 212 | 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 213 | 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 214 | 0x1f, 0xff, 0xf4, 0xb, 0xff, 0xfc, 0x1f, 0xff, 215 | 0xc0, 0x1, 0xff, 0xfd, 0x1a, 0xaa, 0x0, 0x0, 216 | 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xfe, 217 | 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x2a, 0xaa, 218 | 0x0, 0x0, 0x7f, 0xfe, 0x3f, 0xff, 0x40, 0x0, 219 | 0xff, 0xfe, 0x3f, 0xff, 0xc0, 0x1, 0xff, 0xfd, 220 | 0x2f, 0xff, 0xf5, 0x1b, 0xff, 0xfc, 0xf, 0xff, 221 | 0xff, 0xff, 0xff, 0xf8, 0xb, 0xff, 0xff, 0xff, 222 | 0xff, 0xf0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xd0, 223 | 0x0, 0xbf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x1f, 224 | 0xff, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xbf, 0xfe, 225 | 0x40, 0x0, 226 | 227 | /* U+0036 "6" */ 228 | 0x0, 0x0, 0x2f, 0xff, 0x90, 0x0, 0x0, 0x0, 229 | 0xff, 0xff, 0xff, 0x40, 0x0, 0x1, 0xff, 0xff, 230 | 0xff, 0xf8, 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 231 | 0x80, 0x1, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 232 | 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 233 | 0xd0, 0x6f, 0xff, 0xd0, 0x3f, 0xff, 0x80, 0x2, 234 | 0xff, 0xf8, 0xf, 0xff, 0xc0, 0x0, 0x2a, 0xa9, 235 | 0x7, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x2, 0xff, 236 | 0xf4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0xb, 237 | 0xff, 0xe0, 0x0, 0x3f, 0xff, 0x2f, 0xff, 0xff, 238 | 0x40, 0xf, 0xff, 0xef, 0xff, 0xff, 0xf8, 0x3, 239 | 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0xff, 0xff, 240 | 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xf8, 0x7, 241 | 0xff, 0xfd, 0xf, 0xff, 0xf8, 0x0, 0x3f, 0xff, 242 | 0x83, 0xff, 0xfc, 0x0, 0x7, 0xff, 0xf0, 0xff, 243 | 0xfe, 0x0, 0x0, 0xff, 0xfc, 0x3f, 0xff, 0x80, 244 | 0x0, 0x3f, 0xff, 0xb, 0xff, 0xe0, 0x0, 0xf, 245 | 0xff, 0xc1, 0xff, 0xfc, 0x0, 0x7, 0xff, 0xf0, 246 | 0x3f, 0xff, 0x80, 0x3, 0xff, 0xfc, 0xb, 0xff, 247 | 0xf9, 0x7, 0xff, 0xfd, 0x0, 0xff, 0xff, 0xff, 248 | 0xff, 0xff, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 249 | 0x40, 0x3, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 250 | 0x2f, 0xff, 0xff, 0xff, 0x80, 0x0, 0x1, 0xff, 251 | 0xff, 0xff, 0x40, 0x0, 0x0, 0x6, 0xff, 0xf9, 252 | 0x0, 0x0, 253 | 254 | /* U+0037 "7" */ 255 | 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 256 | 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 257 | 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 258 | 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 259 | 0xff, 0xff, 0xff, 0xfd, 0x3f, 0xf8, 0x0, 0x3, 260 | 0xff, 0xf8, 0x3f, 0xf4, 0x0, 0xb, 0xff, 0xf0, 261 | 0x3f, 0xf4, 0x0, 0x1f, 0xff, 0xd0, 0x3f, 0xf4, 262 | 0x0, 0x3f, 0xff, 0xc0, 0x3f, 0xf4, 0x0, 0x7f, 263 | 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0x0, 264 | 0x0, 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 265 | 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7, 0xff, 266 | 0xf0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0, 267 | 0x0, 0x0, 0xf, 0xff, 0xd0, 0x0, 0x0, 0x0, 268 | 0x2f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x3f, 0xff, 269 | 0x80, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, 270 | 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 271 | 0xbf, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 272 | 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 273 | 0x0, 0x0, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x1, 274 | 0xff, 0xfd, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfd, 275 | 0x0, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 276 | 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x2, 277 | 0xff, 0xfc, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, 278 | 0x0, 0x0, 279 | 280 | /* U+0038 "8" */ 281 | 0x0, 0x1, 0xbf, 0xfe, 0x80, 0x0, 0x0, 0x1f, 282 | 0xff, 0xff, 0xfd, 0x0, 0x0, 0xff, 0xff, 0xff, 283 | 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, 0xff, 0xe0, 284 | 0xb, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf, 0xff, 285 | 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xf0, 0x7, 286 | 0xff, 0xfc, 0x2f, 0xff, 0xc0, 0x0, 0xff, 0xfd, 287 | 0x2f, 0xff, 0x80, 0x0, 0xff, 0xfd, 0x2f, 0xff, 288 | 0x80, 0x0, 0xff, 0xfd, 0x1f, 0xff, 0xc0, 0x0, 289 | 0xff, 0xfc, 0xf, 0xff, 0xd0, 0x2, 0xff, 0xfc, 290 | 0xb, 0xff, 0xfe, 0xaf, 0xff, 0xf0, 0x2, 0xff, 291 | 0xff, 0xff, 0xff, 0xd0, 0x0, 0x7f, 0xff, 0xff, 292 | 0xfe, 0x0, 0x0, 0x2f, 0xff, 0xff, 0xfd, 0x0, 293 | 0x1, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xb, 0xff, 294 | 0xff, 0xff, 0xff, 0xf4, 0xf, 0xff, 0xf4, 0x7, 295 | 0xff, 0xfc, 0x2f, 0xff, 0xc0, 0x0, 0xff, 0xfd, 296 | 0x3f, 0xff, 0x40, 0x0, 0xbf, 0xfe, 0x3f, 0xff, 297 | 0x40, 0x0, 0xbf, 0xff, 0x3f, 0xff, 0x40, 0x0, 298 | 0xbf, 0xff, 0x3f, 0xff, 0xc0, 0x0, 0xff, 0xff, 299 | 0x3f, 0xff, 0xf4, 0x7, 0xff, 0xfe, 0x2f, 0xff, 300 | 0xff, 0xff, 0xff, 0xfd, 0xf, 0xff, 0xff, 0xff, 301 | 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, 0xff, 0xf0, 302 | 0x1, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x2f, 303 | 0xff, 0xff, 0xfd, 0x0, 0x0, 0x1, 0xbf, 0xfe, 304 | 0x90, 0x0, 305 | 306 | /* U+0039 "9" */ 307 | 0x0, 0x1, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x1f, 308 | 0xff, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xff, 0xff, 309 | 0xfe, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x80, 310 | 0xb, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x1f, 0xff, 311 | 0xff, 0xff, 0xff, 0xf0, 0x2f, 0xff, 0xf4, 0x1f, 312 | 0xff, 0xf8, 0x3f, 0xff, 0x80, 0x3, 0xff, 0xfc, 313 | 0x3f, 0xff, 0x0, 0x0, 0xff, 0xfc, 0x7f, 0xff, 314 | 0x0, 0x0, 0xff, 0xfd, 0x7f, 0xff, 0x0, 0x0, 315 | 0xff, 0xfe, 0x7f, 0xff, 0x0, 0x0, 0xff, 0xfe, 316 | 0x3f, 0xff, 0x0, 0x0, 0xff, 0xff, 0x3f, 0xff, 317 | 0x80, 0x3, 0xff, 0xff, 0x2f, 0xff, 0xe0, 0x1f, 318 | 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 319 | 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2, 0xff, 320 | 0xff, 0xff, 0xbf, 0xff, 0x0, 0x7f, 0xff, 0xfd, 321 | 0x7f, 0xff, 0x0, 0xb, 0xff, 0xe0, 0x7f, 0xfe, 322 | 0x0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0x0, 323 | 0x0, 0x0, 0xbf, 0xfd, 0x15, 0x55, 0x0, 0x0, 324 | 0xff, 0xfc, 0x3f, 0xff, 0x40, 0x3, 0xff, 0xf8, 325 | 0x2f, 0xff, 0xe4, 0x1f, 0xff, 0xf4, 0xf, 0xff, 326 | 0xff, 0xff, 0xff, 0xf0, 0xb, 0xff, 0xff, 0xff, 327 | 0xff, 0xc0, 0x3, 0xff, 0xff, 0xff, 0xff, 0x40, 328 | 0x0, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x1f, 329 | 0xff, 0xff, 0xe0, 0x0, 0x0, 0x1, 0xbf, 0xf9, 330 | 0x0, 0x0, 331 | 332 | /* U+003A ":" */ 333 | 0xff, 0xfb, 0xff, 0xef, 0xff, 0xbf, 0xfe, 0xff, 334 | 0xfb, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 335 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 336 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xef, 337 | 0xff, 0xbf, 0xfe, 0xff, 0xfb, 0xff, 0xef, 0xff, 338 | 0x80 339 | }; 340 | 341 | 342 | /*--------------------- 343 | * GLYPH DESCRIPTION 344 | *--------------------*/ 345 | 346 | static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { 347 | {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, 348 | {.bitmap_index = 0, .adv_w = 593, .box_w = 35, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 349 | {.bitmap_index = 272, .adv_w = 366, .box_w = 21, .box_h = 20, .ofs_x = 1, .ofs_y = 5}, 350 | {.bitmap_index = 377, .adv_w = 269, .box_w = 15, .box_h = 6, .ofs_x = 1, .ofs_y = 8}, 351 | {.bitmap_index = 400, .adv_w = 416, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 352 | {.bitmap_index = 586, .adv_w = 306, .box_w = 16, .box_h = 31, .ofs_x = 0, .ofs_y = 0}, 353 | {.bitmap_index = 710, .adv_w = 405, .box_w = 23, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 354 | {.bitmap_index = 889, .adv_w = 421, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 355 | {.bitmap_index = 1075, .adv_w = 447, .box_w = 26, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 356 | {.bitmap_index = 1277, .adv_w = 427, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 357 | {.bitmap_index = 1463, .adv_w = 428, .box_w = 25, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 358 | {.bitmap_index = 1657, .adv_w = 430, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 359 | {.bitmap_index = 1843, .adv_w = 427, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 360 | {.bitmap_index = 2029, .adv_w = 429, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, 361 | {.bitmap_index = 2215, .adv_w = 171, .box_w = 7, .box_h = 23, .ofs_x = 2, .ofs_y = 0} 362 | }; 363 | 364 | /*--------------------- 365 | * CHARACTER MAPPING 366 | *--------------------*/ 367 | 368 | static const uint8_t glyph_id_ofs_list_0[] = { 369 | 0, 0, 0, 0, 0, 0, 1, 0, 370 | 2, 0, 0, 3, 4, 5, 6, 7, 371 | 8, 9, 10, 11, 12, 13 372 | }; 373 | 374 | /*Collect the unicode lists and glyph_id offsets*/ 375 | static const lv_font_fmt_txt_cmap_t cmaps[] = 376 | { 377 | { 378 | .range_start = 37, .range_length = 22, .glyph_id_start = 1, 379 | .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 22, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL 380 | } 381 | }; 382 | 383 | /*----------------- 384 | * KERNING 385 | *----------------*/ 386 | 387 | 388 | /*Pair left and right glyphs for kerning*/ 389 | static const uint8_t kern_pair_glyph_ids[] = 390 | { 391 | 6, 8, 392 | 8, 4, 393 | 8, 5, 394 | 8, 11, 395 | 10, 8, 396 | 10, 11, 397 | 11, 4, 398 | 11, 8, 399 | 11, 12 400 | }; 401 | 402 | /* Kerning between the respective left and right glyphs 403 | * 4.4 format which needs to scaled with `kern_scale`*/ 404 | static const int8_t kern_pair_values[] = 405 | { 406 | -8, 3, -5, -37, 6, -11, -17, -65, 407 | -17 408 | }; 409 | 410 | /*Collect the kern pair's data in one place*/ 411 | static const lv_font_fmt_txt_kern_pair_t kern_pairs = 412 | { 413 | .glyph_ids = kern_pair_glyph_ids, 414 | .values = kern_pair_values, 415 | .pair_cnt = 9, 416 | .glyph_ids_size = 0 417 | }; 418 | 419 | /*-------------------- 420 | * ALL CUSTOM DATA 421 | *--------------------*/ 422 | 423 | #if LV_VERSION_CHECK(8, 0, 0) 424 | /*Store all the custom data of the font*/ 425 | static lv_font_fmt_txt_glyph_cache_t cache; 426 | static const lv_font_fmt_txt_dsc_t font_dsc = { 427 | #else 428 | static lv_font_fmt_txt_dsc_t font_dsc = { 429 | #endif 430 | .glyph_bitmap = glyph_bitmap, 431 | .glyph_dsc = glyph_dsc, 432 | .cmaps = cmaps, 433 | .kern_dsc = &kern_pairs, 434 | .kern_scale = 16, 435 | .cmap_num = 1, 436 | .bpp = 2, 437 | .kern_classes = 0, 438 | .bitmap_format = 0, 439 | #if LV_VERSION_CHECK(8, 0, 0) 440 | .cache = &cache 441 | #endif 442 | }; 443 | 444 | 445 | /*----------------- 446 | * PUBLIC FONT 447 | *----------------*/ 448 | 449 | /*Initialize a public general font descriptor*/ 450 | #if LVGL_VERSION_MAJOR >= 8 451 | const lv_font_t ui_font_Numbers42 = { 452 | #else 453 | lv_font_t ui_font_Numbers42 = { 454 | #endif 455 | .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ 456 | .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ 457 | .line_height = 31, /*The maximum line height required by the font*/ 458 | .base_line = 0, /*Baseline measured from the bottom of the line*/ 459 | #if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) 460 | .subpx = LV_FONT_SUBPX_NONE, 461 | #endif 462 | #if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 463 | .underline_position = -4, 464 | .underline_thickness = 2, 465 | #endif 466 | .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ 467 | }; 468 | 469 | 470 | 471 | #endif /*#if UI_FONT_NUMBERS42*/ 472 | 473 | -------------------------------------------------------------------------------- /smartwatch_ui.cpp: -------------------------------------------------------------------------------- 1 | #include "PineTime.h" 2 | #include 3 | 4 | #include "ui.h" 5 | #include "ui_events.h" 6 | 7 | #include "smartwatch_ui.h" 8 | #include "notification_obj.h" 9 | 10 | #include "fragment_notification.h" 11 | #include "screens.h" 12 | 13 | lv_obj_t *root = NULL; 14 | lv_fragment_manager_t *f_manager = NULL; 15 | 16 | lv_obj_t *tv; 17 | lv_obj_t *tile1; 18 | lv_obj_t *tile2; 19 | lv_obj_t *tile3; 20 | lv_obj_t *tile4; 21 | 22 | lv_obj_t *active_screen; 23 | lv_obj_t *back_screen; 24 | 25 | Vector l_not; 26 | 27 | // ----------------------------------------------------------------------------------------------------------------------- 28 | // fragment screens 29 | 30 | // ----------------------------------------------------------------------------------------------------------------------- 31 | 32 | uint8_t old_min = 99; 33 | uint8_t old_min_c = 99; 34 | uint8_t old_hour = 99; 35 | uint8_t old_day = 99; 36 | 37 | void update_clock(void) { 38 | 39 | lv_obj_t *curr_screen = lv_tileview_get_tile_act(tv); //lv_scr_act(); 40 | 41 | if (curr_screen == NULL) { 42 | return; 43 | } 44 | 45 | if (curr_screen == tile2) { 46 | pinetime.rtctime.get_time(); 47 | 48 | lv_bar_set_value(ui_Clock02Seconds1, pinetime.rtctime.seconds(), LV_ANIM_ON); 49 | 50 | if (old_min != pinetime.rtctime.minutes()) { 51 | //lv_label_set_text_fmt(ui_Clock_Minute, "%02i", pinetime.rtctime.minutes()); 52 | lv_label_set_text_fmt(ui_Clock02_Minute3, "%02i", pinetime.rtctime.minutes()); 53 | 54 | if (pinetime.battIsCharging()) { 55 | lv_label_set_text(ui_Clock02_Power3, "Chr."); 56 | } else { 57 | lv_label_set_text_fmt(ui_Clock02_Power3, "%i%%", pinetime.mvToPercent(pinetime.readVBAT())); 58 | } 59 | 60 | old_min = pinetime.rtctime.minutes(); 61 | } 62 | if (old_hour != pinetime.rtctime.hours()) { 63 | //lv_label_set_text_fmt(ui_Clock_Hour, "%02i", pinetime.rtctime.hours()); 64 | lv_label_set_text_fmt(ui_Clock02_Hour3, "%02i", pinetime.rtctime.hours()); 65 | old_hour = pinetime.rtctime.hours(); 66 | } 67 | if (old_day != pinetime.rtctime.week()) { 68 | //update_day(); 69 | lv_label_set_text_fmt(ui_Clock02_Date8, "%02i", pinetime.rtctime.day()); 70 | lv_label_set_text_fmt(ui_Clock02_Date10, "%s", pinetime.rtctime.get_days_short()); 71 | old_day = pinetime.rtctime.week(); 72 | } 73 | if (pinetime.bleIsConnected()) { 74 | lv_obj_clear_flag(ui_Clock02Ble3, LV_OBJ_FLAG_HIDDEN); 75 | } else { 76 | lv_obj_add_flag(ui_Clock02Ble3, LV_OBJ_FLAG_HIDDEN); 77 | } 78 | 79 | lv_label_set_text_fmt(ui_Clock02_Date12, "%i", pinetime.getStepCount()); 80 | 81 | } else { 82 | old_min = 99; 83 | old_min_c = 99; 84 | old_hour = 99; 85 | old_day = 99; 86 | } 87 | 88 | if (curr_screen == tile1) { 89 | lv_label_set_text_fmt(ui_NotifHeadTime, "%02i:%02i", pinetime.rtctime.hours(), pinetime.rtctime.minutes()); 90 | if (!lv_obj_has_flag(ui_Clock02Msg1, LV_OBJ_FLAG_HIDDEN)) { 91 | lv_obj_add_flag(ui_Clock02Msg1, LV_OBJ_FLAG_HIDDEN); 92 | } 93 | } 94 | 95 | if (curr_screen == tile3) { 96 | lv_label_set_text_fmt(ui_Steps_Value1, "%i", pinetime.getStepCount()); 97 | } 98 | } 99 | 100 | // 101 | void show_notification(Notification *notification) { 102 | lv_fragment_t *fragment = lv_fragment_create(¬ification_cls, notification); 103 | lv_fragment_manager_push(f_manager, fragment, &root); 104 | } 105 | 106 | static void ui_event_notification(lv_event_t *e) { 107 | lv_obj_t *o_not = lv_event_get_target(e); 108 | 109 | int notPos = l_not.Find(o_not); 110 | if (notPos != -1) { 111 | Notification noti = pinetime.getNotification(notPos); 112 | show_notification(¬i); 113 | } else { 114 | Serial.println(">>> notification not found..."); 115 | } 116 | } 117 | // 118 | void update_notification() { 119 | if (pinetime.getNotificationCount() > 0) { 120 | 121 | if (!lv_obj_has_flag(ui_MsgNoNotif, LV_OBJ_FLAG_HIDDEN)) { 122 | lv_obj_add_flag(ui_MsgNoNotif, LV_OBJ_FLAG_HIDDEN); 123 | lv_obj_clear_flag(ui_PanelListNotf, LV_OBJ_FLAG_HIDDEN); 124 | } 125 | lv_obj_clear_flag(ui_Clock02Msg1, LV_OBJ_FLAG_HIDDEN); 126 | 127 | if (l_not.Size() == 4) { 128 | if (l_not[0]) { 129 | lv_obj_del(l_not[0]); 130 | } 131 | l_not.Erase(0); 132 | } 133 | 134 | Notification noti = pinetime.getNotification(pinetime.getNotificationCount() - 1); 135 | lv_obj_t *o_not = notification_create_obj(ui_PanelNotif, ¬i); 136 | show_notification(¬i); 137 | 138 | lv_obj_add_event_cb(o_not, ui_event_notification, LV_EVENT_CLICKED, NULL); 139 | 140 | l_not.PushBack(o_not); 141 | 142 | //lv_obj_set_tile_id(tv, 0, 0, LV_ANIM_ON); 143 | 144 | } else { 145 | if (!lv_obj_has_flag(ui_PanelListNotf, LV_OBJ_FLAG_HIDDEN)) { 146 | lv_obj_add_flag(ui_PanelListNotf, LV_OBJ_FLAG_HIDDEN); 147 | lv_obj_clear_flag(ui_MsgNoNotif, LV_OBJ_FLAG_HIDDEN); 148 | } 149 | lv_obj_add_flag(ui_Clock02Msg1, LV_OBJ_FLAG_HIDDEN); 150 | } 151 | } 152 | // ----------------------------------------------------------------------------------------------------------------------- 153 | 154 | // ----------------------------------------------------------------------------------------------------------------------- 155 | 156 | void timerAnim(lv_timer_t *timer) { 157 | 158 | static uint8_t anim = 1; 159 | 160 | lv_obj_t *curr_screen = lv_tileview_get_tile_act(tv); 161 | 162 | if (curr_screen == NULL) { 163 | return; 164 | } 165 | 166 | if (curr_screen == tile3) { 167 | if (anim == 1) lv_img_set_src(ui_ImageW1, &ui_img_walk1_png); 168 | if (anim == 2) lv_img_set_src(ui_ImageW1, &ui_img_walk2_png); 169 | if (anim == 3) lv_img_set_src(ui_ImageW1, &ui_img_walk3_png); 170 | if (anim == 4) lv_img_set_src(ui_ImageW1, &ui_img_walk4_png); 171 | anim++; 172 | if (anim > 4) anim = 1; 173 | } 174 | } 175 | 176 | // ----------------------------------------------------------------------------------------------------------------------- 177 | // base event for root screen 178 | // 179 | static void ui_event_root(lv_event_t *e) { 180 | lv_event_code_t event_code = lv_event_get_code(e); 181 | 182 | if (event_code == LV_EVENT_GESTURE) { 183 | lv_dir_t dir = lv_indev_get_gesture_dir(lv_indev_get_act()); 184 | 185 | if (dir == LV_DIR_RIGHT) { 186 | uint8_t stack_size = lv_fragment_manager_get_stack_size(f_manager); 187 | if (stack_size > 0) { 188 | lv_fragment_manager_pop(f_manager); 189 | } 190 | } 191 | 192 | if (dir == LV_DIR_BOTTOM) { 193 | //show_notification(); 194 | } 195 | /*if (dir == LV_DIR_LEFT) { 196 | } 197 | if (dir == LV_DIR_TOP) { 198 | }*/ 199 | } 200 | 201 | if (event_code == LV_EVENT_DELETE) { 202 | lv_fragment_manager_t *manager = (lv_fragment_manager_t *)lv_event_get_user_data(e); 203 | lv_fragment_manager_del(manager); 204 | } 205 | } 206 | 207 | static void ui_event_screen(lv_event_t *e) { 208 | lv_event_code_t event_code = lv_event_get_code(e); 209 | if (event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_TOP) { 210 | lv_scr_load_anim(back_screen, LV_SCR_LOAD_ANIM_MOVE_TOP, 300, 0, true); 211 | } 212 | } 213 | 214 | lv_obj_t *ui_Config_screen_init(void); 215 | 216 | static void ui_event_tile(lv_event_t *e) { 217 | lv_event_code_t event_code = lv_event_get_code(e); 218 | //lv_obj_t *target = lv_event_get_target(e); 219 | if (event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_TOP) { 220 | Serial.println("LV_DIR_TOP"); 221 | } 222 | if (event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_BOTTOM) { 223 | //Serial.println("LV_DIR_BOTTOM"); 224 | back_screen = lv_scr_act(); 225 | active_screen = ui_Config_screen_init(); 226 | lv_obj_add_event_cb(active_screen, ui_event_screen, LV_EVENT_ALL, NULL); 227 | lv_scr_load_anim(active_screen, LV_SCR_LOAD_ANIM_MOVE_BOTTOM, 300, 0, false); 228 | } 229 | } 230 | 231 | // ----------------------------------------------------------------------------------------------------------------------- 232 | 233 | void smartwatch_ui_init(void) { 234 | 235 | // Set default theme 236 | lv_disp_t *dispp = lv_disp_get_default(); 237 | lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), 238 | true, LV_FONT_DEFAULT); 239 | lv_disp_set_theme(dispp, theme); 240 | 241 | // base root screen 242 | root = lv_obj_create(lv_scr_act()); 243 | lv_obj_remove_style_all(root); 244 | lv_obj_set_width(root, lv_pct(100)); 245 | lv_obj_set_height(root, lv_pct(100)); 246 | lv_obj_clear_flag(root, LV_OBJ_FLAG_GESTURE_BUBBLE); 247 | 248 | 249 | // Tile view 250 | tv = lv_tileview_create(root); 251 | lv_obj_clear_flag(tv, LV_OBJ_FLAG_GESTURE_BUBBLE); 252 | active_screen = tv; 253 | 254 | lv_obj_set_scrollbar_mode(tv, LV_SCROLLBAR_MODE_OFF); 255 | lv_obj_add_flag(tv, LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM); 256 | lv_obj_set_style_bg_color(tv, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 257 | lv_obj_set_style_bg_opa(tv, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 258 | 259 | //Tile1: 260 | tile1 = lv_tileview_add_tile(tv, 0, 0, LV_DIR_LEFT | LV_DIR_RIGHT); 261 | lv_obj_set_style_bg_color(tile1, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 262 | lv_obj_set_style_bg_opa(tile1, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 263 | ui_Messages_screen_init(tile1); 264 | 265 | //Tile2: 266 | tile2 = lv_tileview_add_tile(tv, 1, 0, LV_DIR_LEFT | LV_DIR_RIGHT); 267 | lv_obj_set_style_bg_color(tile2, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 268 | lv_obj_set_style_bg_opa(tile2, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 269 | ui_Clock02_screen_init(tile2); 270 | 271 | lv_obj_clear_flag(tile2, LV_OBJ_FLAG_GESTURE_BUBBLE); 272 | lv_obj_add_event_cb(tile2, ui_event_tile, LV_EVENT_ALL, NULL); 273 | 274 | //Tile3: 275 | tile3 = lv_tileview_add_tile(tv, 2, 0, LV_DIR_LEFT | LV_DIR_RIGHT); 276 | lv_obj_set_style_bg_color(tile3, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 277 | lv_obj_set_style_bg_opa(tile3, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 278 | ui_Steps_screen_init(tile3); 279 | 280 | //Tile4: 281 | tile4 = lv_tileview_add_tile(tv, 3, 0, LV_DIR_LEFT | LV_DIR_RIGHT); 282 | lv_obj_set_style_bg_color(tile4, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 283 | lv_obj_set_style_bg_opa(tile4, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 284 | ui_Heart_screen_init(tile4); 285 | 286 | lv_obj_set_tile_id(tv, 1, 0, LV_ANIM_OFF); 287 | 288 | // Fragment manager 289 | f_manager = lv_fragment_manager_create(NULL); 290 | lv_obj_add_event_cb(root, ui_event_root, LV_EVENT_ALL, f_manager); 291 | 292 | // animation ??? 293 | lv_timer_t *timeranim = lv_timer_create(timerAnim, 200, NULL); 294 | } 295 | 296 | // ---------------------------------------------------------------------------------------------------------------------------------------------------- 297 | 298 | lv_obj_t *ui_Config_screen_init(void) { 299 | lv_obj_t *ui_Config = lv_obj_create(NULL); 300 | lv_obj_clear_flag(ui_Config, LV_OBJ_FLAG_SCROLLABLE); /// Flags 301 | lv_obj_set_style_bg_color(ui_Config, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 302 | lv_obj_set_style_bg_opa(ui_Config, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 303 | 304 | lv_obj_t *ui_Config_Panel = lv_obj_create(ui_Config); 305 | lv_obj_set_width(ui_Config_Panel, 240); 306 | lv_obj_set_height(ui_Config_Panel, 240); 307 | lv_obj_set_align(ui_Config_Panel, LV_ALIGN_CENTER); 308 | lv_obj_clear_flag(ui_Config_Panel, LV_OBJ_FLAG_SCROLLABLE); /// Flags 309 | lv_obj_set_style_bg_color(ui_Config_Panel, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 310 | lv_obj_set_style_bg_opa(ui_Config_Panel, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 311 | lv_obj_set_style_border_side(ui_Config_Panel, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 312 | lv_obj_set_style_pad_left(ui_Config_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 313 | lv_obj_set_style_pad_right(ui_Config_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 314 | lv_obj_set_style_pad_top(ui_Config_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 315 | lv_obj_set_style_pad_bottom(ui_Config_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 316 | 317 | lv_obj_t *ui_Config_Actions_Panel = lv_obj_create(ui_Config_Panel); 318 | lv_obj_set_width(ui_Config_Actions_Panel, 200); 319 | lv_obj_set_height(ui_Config_Actions_Panel, 190); 320 | lv_obj_set_x(ui_Config_Actions_Panel, 0); 321 | lv_obj_set_y(ui_Config_Actions_Panel, 5); 322 | lv_obj_set_align(ui_Config_Actions_Panel, LV_ALIGN_TOP_MID); 323 | lv_obj_set_flex_flow(ui_Config_Actions_Panel, LV_FLEX_FLOW_ROW_WRAP); 324 | lv_obj_set_flex_align(ui_Config_Actions_Panel, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, 325 | LV_FLEX_ALIGN_SPACE_EVENLY); 326 | lv_obj_clear_flag(ui_Config_Actions_Panel, LV_OBJ_FLAG_SCROLLABLE); /// Flags 327 | lv_obj_set_style_bg_color(ui_Config_Actions_Panel, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); 328 | lv_obj_set_style_bg_opa(ui_Config_Actions_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); 329 | lv_obj_set_style_border_side(ui_Config_Actions_Panel, LV_BORDER_SIDE_NONE, LV_PART_MAIN | LV_STATE_DEFAULT); 330 | 331 | lv_obj_t *ui_Config_Button3 = lv_btn_create(ui_Config_Actions_Panel); 332 | lv_obj_set_width(ui_Config_Button3, 70); 333 | lv_obj_set_height(ui_Config_Button3, 70); 334 | lv_obj_set_x(ui_Config_Button3, 45); 335 | lv_obj_set_y(ui_Config_Button3, -70); 336 | lv_obj_set_align(ui_Config_Button3, LV_ALIGN_CENTER); 337 | lv_obj_clear_flag(ui_Config_Button3, 338 | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 339 | lv_obj_set_style_radius(ui_Config_Button3, 15, LV_PART_MAIN | LV_STATE_DEFAULT); 340 | lv_obj_set_style_bg_color(ui_Config_Button3, lv_color_hex(0x141414), LV_PART_MAIN | LV_STATE_DEFAULT); 341 | lv_obj_set_style_bg_opa(ui_Config_Button3, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 342 | lv_obj_set_style_bg_color(ui_Config_Button3, lv_color_hex(0x48801E), LV_PART_MAIN | LV_STATE_PRESSED); 343 | lv_obj_set_style_bg_opa(ui_Config_Button3, 255, LV_PART_MAIN | LV_STATE_PRESSED); 344 | 345 | lv_obj_t *ui_Config_Label2 = lv_label_create(ui_Config_Button3); 346 | lv_obj_set_width(ui_Config_Label2, LV_SIZE_CONTENT); /// 1 347 | lv_obj_set_height(ui_Config_Label2, LV_SIZE_CONTENT); /// 1 348 | lv_obj_set_align(ui_Config_Label2, LV_ALIGN_CENTER); 349 | lv_label_set_text(ui_Config_Label2, ""); 350 | lv_obj_set_style_text_font(ui_Config_Label2, &ui_font_Icons32, LV_PART_MAIN | LV_STATE_DEFAULT); 351 | 352 | lv_obj_t *ui_Config_Button6 = lv_btn_create(ui_Config_Actions_Panel); 353 | lv_obj_set_width(ui_Config_Button6, 70); 354 | lv_obj_set_height(ui_Config_Button6, 70); 355 | lv_obj_set_x(ui_Config_Button6, -45); 356 | lv_obj_set_y(ui_Config_Button6, -70); 357 | lv_obj_set_align(ui_Config_Button6, LV_ALIGN_CENTER); 358 | lv_obj_clear_flag(ui_Config_Button6, 359 | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 360 | lv_obj_set_style_radius(ui_Config_Button6, 15, LV_PART_MAIN | LV_STATE_DEFAULT); 361 | lv_obj_set_style_bg_color(ui_Config_Button6, lv_color_hex(0x141414), LV_PART_MAIN | LV_STATE_DEFAULT); 362 | lv_obj_set_style_bg_opa(ui_Config_Button6, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 363 | lv_obj_set_style_bg_color(ui_Config_Button6, lv_color_hex(0x48801E), LV_PART_MAIN | LV_STATE_PRESSED); 364 | lv_obj_set_style_bg_opa(ui_Config_Button6, 255, LV_PART_MAIN | LV_STATE_PRESSED); 365 | 366 | lv_obj_t *ui_Config_Label8 = lv_label_create(ui_Config_Button6); 367 | lv_obj_set_width(ui_Config_Label8, LV_SIZE_CONTENT); /// 1 368 | lv_obj_set_height(ui_Config_Label8, LV_SIZE_CONTENT); /// 1 369 | lv_obj_set_align(ui_Config_Label8, LV_ALIGN_CENTER); 370 | lv_label_set_text(ui_Config_Label8, ""); 371 | lv_obj_set_style_text_font(ui_Config_Label8, &ui_font_Icons32, LV_PART_MAIN | LV_STATE_DEFAULT); 372 | 373 | lv_obj_t *ui_Config_Button4 = lv_btn_create(ui_Config_Actions_Panel); 374 | lv_obj_set_width(ui_Config_Button4, 70); 375 | lv_obj_set_height(ui_Config_Button4, 70); 376 | lv_obj_set_x(ui_Config_Button4, -45); 377 | lv_obj_set_y(ui_Config_Button4, 16); 378 | lv_obj_set_align(ui_Config_Button4, LV_ALIGN_CENTER); 379 | lv_obj_clear_flag(ui_Config_Button4, 380 | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 381 | lv_obj_set_style_radius(ui_Config_Button4, 15, LV_PART_MAIN | LV_STATE_DEFAULT); 382 | lv_obj_set_style_bg_color(ui_Config_Button4, lv_color_hex(0x141414), LV_PART_MAIN | LV_STATE_DEFAULT); 383 | lv_obj_set_style_bg_opa(ui_Config_Button4, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 384 | lv_obj_set_style_bg_color(ui_Config_Button4, lv_color_hex(0x48801E), LV_PART_MAIN | LV_STATE_PRESSED); 385 | lv_obj_set_style_bg_opa(ui_Config_Button4, 255, LV_PART_MAIN | LV_STATE_PRESSED); 386 | 387 | lv_obj_t *ui_Config_Label3 = lv_label_create(ui_Config_Button4); 388 | lv_obj_set_width(ui_Config_Label3, LV_SIZE_CONTENT); /// 1 389 | lv_obj_set_height(ui_Config_Label3, LV_SIZE_CONTENT); /// 1 390 | lv_obj_set_align(ui_Config_Label3, LV_ALIGN_CENTER); 391 | lv_label_set_text(ui_Config_Label3, ""); 392 | lv_obj_set_style_text_font(ui_Config_Label3, &ui_font_Icons32, LV_PART_MAIN | LV_STATE_DEFAULT); 393 | 394 | lv_obj_t *ui_Config_Button5 = lv_btn_create(ui_Config_Actions_Panel); 395 | lv_obj_set_width(ui_Config_Button5, 70); 396 | lv_obj_set_height(ui_Config_Button5, 70); 397 | lv_obj_set_x(ui_Config_Button5, 45); 398 | lv_obj_set_y(ui_Config_Button5, 16); 399 | lv_obj_set_align(ui_Config_Button5, LV_ALIGN_CENTER); 400 | lv_obj_clear_flag(ui_Config_Button5, 401 | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags 402 | lv_obj_set_style_radius(ui_Config_Button5, 15, LV_PART_MAIN | LV_STATE_DEFAULT); 403 | lv_obj_set_style_bg_color(ui_Config_Button5, lv_color_hex(0x141414), LV_PART_MAIN | LV_STATE_DEFAULT); 404 | lv_obj_set_style_bg_opa(ui_Config_Button5, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 405 | lv_obj_set_style_bg_color(ui_Config_Button5, lv_color_hex(0x48801E), LV_PART_MAIN | LV_STATE_PRESSED); 406 | lv_obj_set_style_bg_opa(ui_Config_Button5, 255, LV_PART_MAIN | LV_STATE_PRESSED); 407 | 408 | lv_obj_t *ui_Config_Label7 = lv_label_create(ui_Config_Button5); 409 | lv_obj_set_width(ui_Config_Label7, LV_SIZE_CONTENT); /// 1 410 | lv_obj_set_height(ui_Config_Label7, LV_SIZE_CONTENT); /// 1 411 | lv_obj_set_align(ui_Config_Label7, LV_ALIGN_CENTER); 412 | lv_label_set_text(ui_Config_Label7, ""); 413 | lv_obj_set_style_text_font(ui_Config_Label7, &ui_font_Icons32, LV_PART_MAIN | LV_STATE_DEFAULT); 414 | 415 | lv_obj_t *ui_Config_Batt_Icon = lv_label_create(ui_Config_Panel); 416 | lv_obj_set_width(ui_Config_Batt_Icon, LV_SIZE_CONTENT); /// 1 417 | lv_obj_set_height(ui_Config_Batt_Icon, LV_SIZE_CONTENT); /// 1 418 | lv_obj_set_x(ui_Config_Batt_Icon, 27); 419 | lv_obj_set_y(ui_Config_Batt_Icon, -3); 420 | lv_obj_set_align(ui_Config_Batt_Icon, LV_ALIGN_BOTTOM_MID); 421 | lv_label_set_text(ui_Config_Batt_Icon, ""); 422 | lv_obj_set_style_text_color(ui_Config_Batt_Icon, lv_color_hex(0x017515), LV_PART_MAIN | LV_STATE_DEFAULT); 423 | lv_obj_set_style_text_opa(ui_Config_Batt_Icon, 255, LV_PART_MAIN | LV_STATE_DEFAULT); 424 | lv_obj_set_style_text_font(ui_Config_Batt_Icon, &ui_font_Icons32, LV_PART_MAIN | LV_STATE_DEFAULT); 425 | 426 | lv_obj_t *ui_Config_Time = lv_label_create(ui_Config_Panel); 427 | lv_obj_set_width(ui_Config_Time, LV_SIZE_CONTENT); /// 1 428 | lv_obj_set_height(ui_Config_Time, LV_SIZE_CONTENT); /// 1 429 | lv_obj_set_x(ui_Config_Time, 10); 430 | lv_obj_set_y(ui_Config_Time, -10); 431 | lv_obj_set_align(ui_Config_Time, LV_ALIGN_BOTTOM_LEFT); 432 | //lv_label_set_text(ui_Config_Time, "00:00"); 433 | lv_label_set_text_fmt(ui_Config_Time, "%02i:%02i", pinetime.rtctime.hours(), pinetime.rtctime.minutes()); 434 | lv_obj_set_style_text_font(ui_Config_Time, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 435 | 436 | lv_obj_t *ui_ConfigBatt = lv_label_create(ui_Config_Panel); 437 | lv_obj_set_width(ui_ConfigBatt, LV_SIZE_CONTENT); /// 1 438 | lv_obj_set_height(ui_ConfigBatt, LV_SIZE_CONTENT); /// 1 439 | lv_obj_set_x(ui_ConfigBatt, -10); 440 | lv_obj_set_y(ui_ConfigBatt, -10); 441 | lv_obj_set_align(ui_ConfigBatt, LV_ALIGN_BOTTOM_RIGHT); 442 | //lv_label_set_text(ui_ConfigBatt, "100%"); 443 | if (pinetime.battIsCharging()) { 444 | lv_label_set_text(ui_ConfigBatt, "Chr."); 445 | } else { 446 | lv_label_set_text_fmt(ui_ConfigBatt, "%i%%", pinetime.mvToPercent(pinetime.readVBAT())); 447 | } 448 | 449 | lv_obj_set_style_text_font(ui_ConfigBatt, &ui_font_OpenSans22, LV_PART_MAIN | LV_STATE_DEFAULT); 450 | 451 | //lv_obj_add_event_cb(ui_Config_Button3, ui_event_Config_Button3, LV_EVENT_ALL, NULL); 452 | //lv_obj_add_event_cb(ui_Config_Button4, ui_event_Config_Button4, LV_EVENT_ALL, NULL); 453 | //lv_obj_add_event_cb(ui_Config_Button5, ui_event_Config_Button5, LV_EVENT_ALL, NULL); 454 | //lv_obj_add_event_cb(ui_Config, ui_event_Config, LV_EVENT_ALL, NULL); 455 | 456 | return ui_Config; 457 | } 458 | -------------------------------------------------------------------------------- /ui_img_walk1_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\walk1.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_walk1_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x39, 0x51, 0x8C, 0x75, 0xAD, 0x34, 0xA5, 0x4D, 0x6B, 0xE3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBD, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x8A, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0xE3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xD3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0xB6, 0xB5, 0x79, 0xCE, 0x59, 0xCE, 0x92, 0x94, 0xA6, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x92, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x20, 0x00, 0xA2, 0x10, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x92, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xE7, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xAD, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x52, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x75, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4A, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x52, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0x69, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBD, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0x34, 0xA5, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x5A, 0xE3, 0x18, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xE7, 0x45, 0x29, 0x00, 0x00, 0x2C, 0x63, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x18, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x41, 0x08, 0x00, 0x00, 0x82, 0x10, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xAD, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xA6, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x52, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x34, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBD, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x55, 0xAD, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xE7, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xD6, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4A, 0xDF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x94, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x96, 0xB5, 0x7D, 0xEF, 0x75, 0xAD, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x86, 0x31, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x6D, 0x6B, 0x2C, 0x63, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | }; 47 | const lv_img_dsc_t ui_img_walk1_png = { 48 | .header.always_zero = 0, 49 | .header.w = 32, 50 | .header.h = 64, 51 | .data_size = sizeof(ui_img_walk1_png_data), 52 | .header.cf = LV_IMG_CF_TRUE_COLOR, 53 | .data = ui_img_walk1_png_data 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /ui_img_walk2_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\walk2.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_walk2_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x69, 0x4A, 0x2C, 0x63, 0xAA, 0x52, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4A, 0x59, 0xCE, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xDB, 0xDE, 0x4D, 0x6B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x69, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x14, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xDF, 0xFF, 0x9E, 0xF7, 0x59, 0xCE, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4A, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0x4D, 0x6B, 0x49, 0x4A, 0x08, 0x42, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x59, 0xCE, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xD3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x69, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x5A, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x59, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x34, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x5A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0xDB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x55, 0xAD, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x52, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xD6, 0xD3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xD3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0x69, 0x4A, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0x14, 0xA5, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0x24, 0x21, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4A, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x10, 0x84, 0x41, 0x08, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0xCF, 0x7B, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x4D, 0x6B, 0x41, 0x08, 0x20, 0x00, 0x96, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x55, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0xC6, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xAA, 0x52, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x92, 0x94, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x59, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x30, 0x84, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x0C, 0x63, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xD6, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x34, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0xE3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0x30, 0x84, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xF7, 0xBD, 0xDF, 0xFF, 0x79, 0xCE, 0xAA, 0x52, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4A, 0xDF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0x49, 0x4A, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x9E, 0xF7, 0xFF, 0xFF, 0xDF, 0xFF, 0x69, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x96, 0xB5, 0xFF, 0xFF, 0x7D, 0xEF, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x8E, 0x73, 0x69, 0x4A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | }; 47 | const lv_img_dsc_t ui_img_walk2_png = { 48 | .header.always_zero = 0, 49 | .header.w = 32, 50 | .header.h = 64, 51 | .data_size = sizeof(ui_img_walk2_png_data), 52 | .header.cf = LV_IMG_CF_TRUE_COLOR, 53 | .data = ui_img_walk2_png_data 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /ui_img_walk3_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\walk3.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_walk3_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x30, 0x84, 0x55, 0xAD, 0xF3, 0x9C, 0xEB, 0x5A, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x8E, 0x73, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x52, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xAD, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0x1C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xAA, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x52, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0xDB, 0xDE, 0x79, 0xCE, 0x92, 0x94, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0xC3, 0x18, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x5A, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0xDB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xA6, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xE7, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0xBD, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x5A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x63, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x0C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x39, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x39, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x55, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8A, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x5A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0xDB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4A, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x63, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xAD, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xAE, 0x73, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x63, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x30, 0x84, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0xBA, 0xD6, 0xFB, 0xDE, 0x6D, 0x6B, 0x20, 0x00, 0x30, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0x04, 0x21, 0x00, 0x00, 0x20, 0x00, 0x75, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0xAD, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0xDB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x51, 0x8C, 0x5D, 0xEF, 0x18, 0xC6, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x65, 0x29, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | }; 47 | const lv_img_dsc_t ui_img_walk3_png = { 48 | .header.always_zero = 0, 49 | .header.w = 32, 50 | .header.h = 64, 51 | .data_size = sizeof(ui_img_walk3_png_data), 52 | .header.cf = LV_IMG_CF_TRUE_COLOR, 53 | .data = ui_img_walk3_png_data 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /ui_img_walk4_png.c: -------------------------------------------------------------------------------- 1 | // SquareLine LVGL GENERATED FILE 2 | // EDITOR VERSION: SquareLine Studio 1.2.0 3 | // LVGL VERSION: 8.3.3 4 | // PROJECT: Pinetime 5 | 6 | #include "ui.h" 7 | 8 | #ifndef LV_ATTRIBUTE_MEM_ALIGN 9 | #define LV_ATTRIBUTE_MEM_ALIGN 10 | #endif 11 | 12 | // IMAGE DATA: assets\walk4.png 13 | const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_walk4_png_data[] = { 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x6D, 0x6B, 0x71, 0x8C, 0x51, 0x8C, 0xEB, 0x5A, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4A, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0xC6, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0xC6, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x52, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x42, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x18, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFB, 0xDE, 0xFB, 0xDE, 0x96, 0xB5, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x71, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x34, 0xA5, 0x24, 0x21, 0xE3, 0x18, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x52, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x29, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x34, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x39, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBD, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x3C, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x5A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x59, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x18, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8A, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xD6, 0xE3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x96, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xBD, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0xBA, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0xE7, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0xEB, 0x5A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x55, 0xAD, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xE7, 0x39, 0x20, 0x00, 0x14, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xB6, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0xA2, 0x10, 0x00, 0x00, 0x65, 0x29, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x6B, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xE7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x96, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0x59, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x5D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x55, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x52, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x9C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0xD6, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0xF7, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0xE7, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x10, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xDE, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xEF, 0xC7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0xCE, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x29, 0xFB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0x59, 0xCE, 0xA2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x10, 0x9A, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x92, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xEB, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x39, 0x9E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x39, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xB5, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x73, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0xEF, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x14, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xF7, 0x49, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0xC6, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0x34, 0xA5, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x96, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0x5D, 0xEF, 0x59, 0xCE, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4A, 0x38, 0xC6, 0xF7, 0xBD, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x45, 0x29, 0xC3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | }; 47 | const lv_img_dsc_t ui_img_walk4_png = { 48 | .header.always_zero = 0, 49 | .header.w = 32, 50 | .header.h = 64, 51 | .data_size = sizeof(ui_img_walk4_png_data), 52 | .header.cf = LV_IMG_CF_TRUE_COLOR, 53 | .data = ui_img_walk4_png_data 54 | }; 55 | 56 | --------------------------------------------------------------------------------