32 changed files with 6021 additions and 14 deletions
@ -0,0 +1,57 @@ |
|||
# 正在开发 |
|||
|
|||
|
|||
# 闭源内容 |
|||
|
|||
Awtrix Finally.pcbdoc |
|||
|
|||
# 无关内容 |
|||
|
|||
/index.html |
|||
/Desktop.ini |
|||
|
|||
# 编译垃圾 |
|||
|
|||
out/ |
|||
obj/ |
|||
|
|||
Lst/ |
|||
Obj/ |
|||
|
|||
OUT/ |
|||
OBJ/ |
|||
Objects/ |
|||
Listings/ |
|||
DebugConfig/ |
|||
build/ |
|||
old/ |
|||
|
|||
*.log |
|||
*.POMIN |
|||
*.bak |
|||
*.ddk |
|||
*.edk |
|||
*.lst |
|||
*.lnp |
|||
*.mpf |
|||
*.mpj |
|||
*.obj |
|||
*.omf |
|||
*.o |
|||
*.plg |
|||
*.rpt |
|||
*.tmp |
|||
*.__i |
|||
*.crf |
|||
*.o |
|||
*.d |
|||
*.tra |
|||
*.dep |
|||
*.iex |
|||
*.htm |
|||
*.sct |
|||
*.map |
|||
*.zip |
|||
|
|||
!build/confi* |
|||
|
@ -0,0 +1,7 @@ |
|||
set(GEN_DIR ./guider/generated) |
|||
file(GLOB SOURCES ${GEN_DIR}/*.c ${GEN_DIR}/images/*.c ${GEN_DIR}/guider_fonts/*.c ${GEN_DIR}/../custom/*.c) |
|||
set(INCLUDE_DIRS ${GEN_DIR} ${GEN_DIR}/guider_fonts ${GEN_DIR}/guider_customer_fonts ${GEN_DIR}/../custom) |
|||
|
|||
idf_component_register(SRCS ${SOURCES} |
|||
INCLUDE_DIRS ${INCLUDE_DIRS} |
|||
REQUIRES lvgl) |
@ -0,0 +1,3 @@ |
|||
/temp |
|||
/lvgl* |
|||
/import |
File diff suppressed because it is too large
@ -0,0 +1,40 @@ |
|||
// SPDX-License-Identifier: MIT
|
|||
// Copyright 2020 NXP
|
|||
|
|||
/**
|
|||
* @file custom.c |
|||
* |
|||
*/ |
|||
|
|||
/*********************
|
|||
* INCLUDES |
|||
*********************/ |
|||
#include <stdio.h> |
|||
#include "lvgl/lvgl.h" |
|||
#include "custom.h" |
|||
|
|||
/*********************
|
|||
* DEFINES |
|||
*********************/ |
|||
|
|||
/**********************
|
|||
* TYPEDEFS |
|||
**********************/ |
|||
|
|||
/**********************
|
|||
* STATIC PROTOTYPES |
|||
**********************/ |
|||
|
|||
/**********************
|
|||
* STATIC VARIABLES |
|||
**********************/ |
|||
|
|||
/**
|
|||
* Create a demo application |
|||
*/ |
|||
|
|||
void custom_init(lv_ui *ui) |
|||
{ |
|||
/* Add your codes here */ |
|||
} |
|||
|
@ -0,0 +1,18 @@ |
|||
// SPDX-License-Identifier: MIT
|
|||
// Copyright 2020 NXP
|
|||
|
|||
/*
|
|||
* custom.h |
|||
* |
|||
* Created on: July 29, 2020 |
|||
* Author: nxf53801 |
|||
*/ |
|||
|
|||
#ifndef __CUSTOM_H_ |
|||
#define __CUSTOM_H_ |
|||
|
|||
#include "gui_guider.h" |
|||
|
|||
void custom_init(lv_ui *ui); |
|||
|
|||
#endif /* EVENT_CB_H_ */ |
@ -0,0 +1,9 @@ |
|||
## SPDX-License-Identifier: MIT
|
|||
## Copyright 2020 NXP
|
|||
|
|||
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/custom/*.c)) |
|||
|
|||
DEPPATH += --dep-path $(PRJ_DIR)/custom |
|||
VPATH += :$(PRJ_DIR)/custom |
|||
|
|||
CFLAGS += "-I$(PRJ_DIR)/custom" |
@ -0,0 +1,129 @@ |
|||
/*
|
|||
* Copyright 2022 NXP |
|||
* SPDX-License-Identifier: MIT |
|||
* The auto-generated can only be used on NXP devices |
|||
*/ |
|||
|
|||
#include "events_init.h" |
|||
#include <stdio.h> |
|||
#include "lvgl/lvgl.h" |
|||
|
|||
void events_init(lv_ui *ui) |
|||
{ |
|||
} |
|||
|
|||
static void screen_btnm_1_event_handler(lv_event_t *e) |
|||
{ |
|||
lv_event_code_t code = lv_event_get_code(e); |
|||
lv_anim_t screen_btn_1_anim_x; |
|||
lv_anim_t screen_btn_1_anim_y; |
|||
lv_anim_t screen_btnm_1_anim_x; |
|||
lv_anim_t screen_btnm_1_anim_y; |
|||
switch (code) |
|||
{ |
|||
case LV_EVENT_CLICKED: |
|||
{ |
|||
|
|||
//Write animation: screen_btn_1move in x direction
|
|||
lv_anim_init(&screen_btn_1_anim_x); |
|||
lv_anim_set_var(&screen_btn_1_anim_x, guider_ui.screen_btn_1); |
|||
lv_anim_set_time(&screen_btn_1_anim_x, 200); |
|||
lv_anim_set_exec_cb(&screen_btn_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x); |
|||
lv_anim_set_values(&screen_btn_1_anim_x, lv_obj_get_x(guider_ui.screen_btn_1), 315); |
|||
lv_anim_set_path_cb(&screen_btn_1_anim_x, &lv_anim_path_bounce); |
|||
lv_anim_start(&screen_btn_1_anim_x); |
|||
|
|||
//Write animation: screen_btn_1move in y direction
|
|||
lv_anim_init(&screen_btn_1_anim_y); |
|||
lv_anim_set_var(&screen_btn_1_anim_y, guider_ui.screen_btn_1); |
|||
lv_anim_set_time(&screen_btn_1_anim_y, 200); |
|||
lv_anim_set_exec_cb(&screen_btn_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y); |
|||
lv_anim_set_values(&screen_btn_1_anim_y, lv_obj_get_y(guider_ui.screen_btn_1), 0); |
|||
lv_anim_set_path_cb(&screen_btn_1_anim_y, &lv_anim_path_bounce); |
|||
lv_anim_start(&screen_btn_1_anim_y); |
|||
|
|||
//Write animation: screen_btnm_1move in x direction
|
|||
lv_anim_init(&screen_btnm_1_anim_x); |
|||
lv_anim_set_var(&screen_btnm_1_anim_x, guider_ui.screen_btnm_1); |
|||
lv_anim_set_time(&screen_btnm_1_anim_x, 200); |
|||
lv_anim_set_exec_cb(&screen_btnm_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x); |
|||
lv_anim_set_values(&screen_btnm_1_anim_x, lv_obj_get_x(guider_ui.screen_btnm_1), 320); |
|||
lv_anim_set_path_cb(&screen_btnm_1_anim_x, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btnm_1_anim_x); |
|||
|
|||
//Write animation: screen_btnm_1move in y direction
|
|||
lv_anim_init(&screen_btnm_1_anim_y); |
|||
lv_anim_set_var(&screen_btnm_1_anim_y, guider_ui.screen_btnm_1); |
|||
lv_anim_set_time(&screen_btnm_1_anim_y, 200); |
|||
lv_anim_set_exec_cb(&screen_btnm_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y); |
|||
lv_anim_set_values(&screen_btnm_1_anim_y, lv_obj_get_y(guider_ui.screen_btnm_1), 0); |
|||
lv_anim_set_path_cb(&screen_btnm_1_anim_y, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btnm_1_anim_y); |
|||
lv_obj_set_width(guider_ui.screen_tabview_1, 315); |
|||
} |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
} |
|||
|
|||
static void screen_btn_1_event_handler(lv_event_t *e) |
|||
{ |
|||
lv_event_code_t code = lv_event_get_code(e); |
|||
lv_anim_t screen_btnm_1_anim_x; |
|||
lv_anim_t screen_btnm_1_anim_y; |
|||
lv_anim_t screen_btn_1_anim_x; |
|||
lv_anim_t screen_btn_1_anim_y; |
|||
switch (code) |
|||
{ |
|||
case LV_EVENT_CLICKED: |
|||
{ |
|||
|
|||
//Write animation: screen_btnm_1move in x direction
|
|||
lv_anim_init(&screen_btnm_1_anim_x); |
|||
lv_anim_set_var(&screen_btnm_1_anim_x, guider_ui.screen_btnm_1); |
|||
lv_anim_set_time(&screen_btnm_1_anim_x, 200); |
|||
lv_anim_set_exec_cb(&screen_btnm_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x); |
|||
lv_anim_set_values(&screen_btnm_1_anim_x, lv_obj_get_x(guider_ui.screen_btnm_1), 288); |
|||
lv_anim_set_path_cb(&screen_btnm_1_anim_x, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btnm_1_anim_x); |
|||
|
|||
//Write animation: screen_btnm_1move in y direction
|
|||
lv_anim_init(&screen_btnm_1_anim_y); |
|||
lv_anim_set_var(&screen_btnm_1_anim_y, guider_ui.screen_btnm_1); |
|||
lv_anim_set_time(&screen_btnm_1_anim_y, 200); |
|||
lv_anim_set_exec_cb(&screen_btnm_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y); |
|||
lv_anim_set_values(&screen_btnm_1_anim_y, lv_obj_get_y(guider_ui.screen_btnm_1), 0); |
|||
lv_anim_set_path_cb(&screen_btnm_1_anim_y, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btnm_1_anim_y); |
|||
|
|||
//Write animation: screen_btn_1move in x direction
|
|||
lv_anim_init(&screen_btn_1_anim_x); |
|||
lv_anim_set_var(&screen_btn_1_anim_x, guider_ui.screen_btn_1); |
|||
lv_anim_set_time(&screen_btn_1_anim_x, 200); |
|||
lv_anim_set_exec_cb(&screen_btn_1_anim_x, (lv_anim_exec_xcb_t)lv_obj_set_x); |
|||
lv_anim_set_values(&screen_btn_1_anim_x, lv_obj_get_x(guider_ui.screen_btn_1), 320); |
|||
lv_anim_set_path_cb(&screen_btn_1_anim_x, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btn_1_anim_x); |
|||
|
|||
//Write animation: screen_btn_1move in y direction
|
|||
lv_anim_init(&screen_btn_1_anim_y); |
|||
lv_anim_set_var(&screen_btn_1_anim_y, guider_ui.screen_btn_1); |
|||
lv_anim_set_time(&screen_btn_1_anim_y, 200); |
|||
lv_anim_set_exec_cb(&screen_btn_1_anim_y, (lv_anim_exec_xcb_t)lv_obj_set_y); |
|||
lv_anim_set_values(&screen_btn_1_anim_y, lv_obj_get_y(guider_ui.screen_btn_1), 0); |
|||
lv_anim_set_path_cb(&screen_btn_1_anim_y, &lv_anim_path_linear); |
|||
lv_anim_start(&screen_btn_1_anim_y); |
|||
lv_obj_set_width(guider_ui.screen_tabview_1, 288); |
|||
} |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
} |
|||
|
|||
void events_init_screen(lv_ui *ui) |
|||
{ |
|||
lv_obj_add_event_cb(ui->screen_btnm_1, screen_btnm_1_event_handler, LV_EVENT_ALL, NULL); |
|||
lv_obj_add_event_cb(ui->screen_btn_1, screen_btn_1_event_handler, LV_EVENT_ALL, NULL); |
|||
} |
@ -0,0 +1,22 @@ |
|||
/*
|
|||
* Copyright 2022 NXP |
|||
* SPDX-License-Identifier: MIT |
|||
* The auto-generated can only be used on NXP devices |
|||
*/ |
|||
|
|||
|
|||
#ifndef EVENTS_INIT_H_ |
|||
#define EVENTS_INIT_H_ |
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#include "gui_guider.h" |
|||
|
|||
void events_init(lv_ui *ui); |
|||
void events_init_screen(lv_ui *ui); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
#endif /* EVENT_CB_H_ */ |
@ -0,0 +1,16 @@ |
|||
# images
|
|||
include $(PRJ_DIR)/generated/images/images.mk |
|||
|
|||
# GUI Guider fonts
|
|||
include $(PRJ_DIR)/generated/guider_fonts/guider_fonts.mk |
|||
|
|||
# GUI Guider customer fonts
|
|||
include $(PRJ_DIR)/generated/guider_customer_fonts/guider_customer_fonts.mk |
|||
|
|||
|
|||
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/*.c)) |
|||
|
|||
DEPPATH += --dep-path $(PRJ_DIR)/generated |
|||
VPATH += :$(PRJ_DIR)/generated |
|||
|
|||
CFLAGS += "-I$(PRJ_DIR)/generated" |
@ -0,0 +1,15 @@ |
|||
/*
|
|||
* Copyright 2022 NXP |
|||
* SPDX-License-Identifier: MIT |
|||
* The auto-generated can only be used on NXP devices |
|||
*/ |
|||
|
|||
#include "lvgl/lvgl.h" |
|||
#include <stdio.h> |
|||
#include "gui_guider.h" |
|||
|
|||
|
|||
void setup_ui(lv_ui *ui){ |
|||
setup_scr_screen(ui); |
|||
lv_scr_load(ui->screen); |
|||
} |
@ -0,0 +1,40 @@ |
|||
/*
|
|||
* Copyright 2022 NXP |
|||
* SPDX-License-Identifier: MIT |
|||
* The auto-generated can only be used on NXP devices |
|||
*/ |
|||
|
|||
#ifndef GUI_GUIDER_H |
|||
#define GUI_GUIDER_H |
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#include "lvgl/lvgl.h" |
|||
#include "guider_fonts.h" |
|||
|
|||
typedef struct |
|||
{ |
|||
lv_obj_t *screen; |
|||
lv_obj_t *screen_tabview_1; |
|||
lv_obj_t *screen_tabview_1_Home; |
|||
lv_obj_t *screen_img_1; |
|||
lv_obj_t *screen_label_2; |
|||
lv_obj_t *screen_sw_1; |
|||
lv_obj_t *screen_label_1; |
|||
lv_obj_t *screen_tabview_1_Sensor; |
|||
lv_obj_t *screen_tabview_1_ToDo; |
|||
lv_obj_t *screen_btnm_1; |
|||
lv_obj_t *screen_btn_1; |
|||
lv_obj_t *screen_btn_1_label; |
|||
}lv_ui; |
|||
|
|||
void setup_ui(lv_ui *ui); |
|||
extern lv_ui guider_ui; |
|||
void setup_scr_screen(lv_ui *ui); |
|||
LV_IMG_DECLARE(__m_100x100); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
#endif |
@ -0,0 +1,573 @@ |
|||
# Copyright 2022 NXP |
|||
# SPDX-License-Identifier: MIT |
|||
# The auto-generated can only be used on NXP devices |
|||
|
|||
import SDL |
|||
import utime as time |
|||
import usys as sys |
|||
import lvgl as lv |
|||
import lodepng as png |
|||
import ustruct |
|||
|
|||
lv.init() |
|||
SDL.init(w=320,h=240) |
|||
|
|||
# Register SDL display driver. |
|||
disp_buf1 = lv.disp_draw_buf_t() |
|||
buf1_1 = bytearray(320*10) |
|||
disp_buf1.init(buf1_1, None, len(buf1_1)//4) |
|||
disp_drv = lv.disp_drv_t() |
|||
disp_drv.init() |
|||
disp_drv.draw_buf = disp_buf1 |
|||
disp_drv.flush_cb = SDL.monitor_flush |
|||
disp_drv.hor_res = 320 |
|||
disp_drv.ver_res = 240 |
|||
disp_drv.register() |
|||
|
|||
# Regsiter SDL mouse driver |
|||
indev_drv = lv.indev_drv_t() |
|||
indev_drv.init() |
|||
indev_drv.type = lv.INDEV_TYPE.POINTER |
|||
indev_drv.read_cb = SDL.mouse_read |
|||
indev_drv.register() |
|||
|
|||
# Below: Taken from https://github.com/lvgl/lv_binding_micropython/blob/master/driver/js/imagetools.py#L22-L94 |
|||
|
|||
COLOR_SIZE = lv.color_t.__SIZE__ |
|||
COLOR_IS_SWAPPED = hasattr(lv.color_t().ch,'green_h') |
|||
|
|||
class lodepng_error(RuntimeError): |
|||
def __init__(self, err): |
|||
if type(err) is int: |
|||
super().__init__(png.error_text(err)) |
|||
else: |
|||
super().__init__(err) |
|||
|
|||
# Parse PNG file header |
|||
# Taken from https://github.com/shibukawa/imagesize_py/blob/ffef30c1a4715c5acf90e8945ceb77f4a2ed2d45/imagesize.py#L63-L85 |
|||
|
|||
def get_png_info(decoder, src, header): |
|||
# Only handle variable image types |
|||
|
|||
if lv.img.src_get_type(src) != lv.img.SRC.VARIABLE: |
|||
return lv.RES.INV |
|||
|
|||
data = lv.img_dsc_t.__cast__(src).data |
|||
if data == None: |
|||
return lv.RES.INV |
|||
|
|||
png_header = bytes(data.__dereference__(24)) |
|||
|
|||
if png_header.startswith(b'\211PNG\r\n\032\n'): |
|||
if png_header[12:16] == b'IHDR': |
|||
start = 16 |
|||
# Maybe this is for an older PNG version. |
|||
else: |
|||
start = 8 |
|||
try: |
|||
width, height = ustruct.unpack(">LL", png_header[start:start+8]) |
|||
except ustruct.error: |
|||
return lv.RES.INV |
|||
else: |
|||
return lv.RES.INV |
|||
|
|||
header.always_zero = 0 |
|||
header.w = width |
|||
header.h = height |
|||
header.cf = lv.img.CF.TRUE_COLOR_ALPHA |
|||
|
|||
return lv.RES.OK |
|||
|
|||
def convert_rgba8888_to_bgra8888(img_view): |
|||
for i in range(0, len(img_view), lv.color_t.__SIZE__): |
|||
ch = lv.color_t.__cast__(img_view[i:i]).ch |
|||
ch.red, ch.blue = ch.blue, ch.red |
|||
|
|||
# Read and parse PNG file |
|||
|
|||
def open_png(decoder, dsc): |
|||
img_dsc = lv.img_dsc_t.__cast__(dsc.src) |
|||
png_data = img_dsc.data |
|||
png_size = img_dsc.data_size |
|||
png_decoded = png.C_Pointer() |
|||
png_width = png.C_Pointer() |
|||
png_height = png.C_Pointer() |
|||
error = png.decode32(png_decoded, png_width, png_height, png_data, png_size) |
|||
if error: |
|||
raise lodepng_error(error) |
|||
img_size = png_width.int_val * png_height.int_val * 4 |
|||
img_data = png_decoded.ptr_val |
|||
img_view = img_data.__dereference__(img_size) |
|||
|
|||
if COLOR_SIZE == 4: |
|||
convert_rgba8888_to_bgra8888(img_view) |
|||
else: |
|||
raise lodepng_error("Error: Color mode not supported yet!") |
|||
|
|||
dsc.img_data = img_data |
|||
return lv.RES.OK |
|||
|
|||
# Above: Taken from https://github.com/lvgl/lv_binding_micropython/blob/master/driver/js/imagetools.py#L22-L94 |
|||
|
|||
decoder = lv.img.decoder_create() |
|||
decoder.info_cb = get_png_info |
|||
decoder.open_cb = open_png |
|||
|
|||
def anim_x_cb(obj, v): |
|||
obj.set_x(v) |
|||
|
|||
def anim_y_cb(obj, v): |
|||
obj.set_y(v) |
|||
|
|||
def ta_event_cb(e,kb): |
|||
code = e.get_code() |
|||
ta = e.get_target() |
|||
if code == lv.EVENT.FOCUSED: |
|||
kb.set_textarea(ta) |
|||
kb.clear_flag(lv.obj.FLAG.HIDDEN) |
|||
|
|||
if code == lv.EVENT.DEFOCUSED: |
|||
kb.set_textarea(None) |
|||
kb.add_flag(lv.obj.FLAG.HIDDEN) |
|||
|
|||
|
|||
screen = lv.obj() |
|||
# create style style_screen_main_main_default |
|||
style_screen_main_main_default = lv.style_t() |
|||
style_screen_main_main_default.init() |
|||
style_screen_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_main_main_default.set_bg_opa(0) |
|||
|
|||
# add style for screen |
|||
screen.add_style(style_screen_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
screen_tabview_1 = lv.tabview(screen, lv.DIR.TOP, 30) |
|||
screen_tabview_1_tab_btns = screen_tabview_1.get_tab_btns() |
|||
# create style style_screen_tabview_1_extra_btnm_main_default |
|||
style_screen_tabview_1_extra_btnm_main_default = lv.style_t() |
|||
style_screen_tabview_1_extra_btnm_main_default.init() |
|||
style_screen_tabview_1_extra_btnm_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_bg_opa(255) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_border_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_border_width(0) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_border_opa(100) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_pad_left(0) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_pad_right(0) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_pad_top(0) |
|||
style_screen_tabview_1_extra_btnm_main_default.set_pad_bottom(0) |
|||
|
|||
# add style for screen_tabview_1_tab_btns |
|||
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
# create style style_screen_tabview_1_extra_btnm_items_default |
|||
style_screen_tabview_1_extra_btnm_items_default = lv.style_t() |
|||
style_screen_tabview_1_extra_btnm_items_default.init() |
|||
style_screen_tabview_1_extra_btnm_items_default.set_text_color(lv.color_make(0x4d,0x4d,0x4d)) |
|||
try: |
|||
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_digifaw_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_tabview_1_extra_btnm_items_default.set_text_font(lv.font_montserrat_16) |
|||
|
|||
# add style for screen_tabview_1_tab_btns |
|||
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_items_default, lv.PART.ITEMS|lv.STATE.DEFAULT) |
|||
|
|||
# create style style_screen_tabview_1_extra_btnm_items_checked |
|||
style_screen_tabview_1_extra_btnm_items_checked = lv.style_t() |
|||
style_screen_tabview_1_extra_btnm_items_checked.init() |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_bg_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_bg_opa(60) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_border_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_border_width(4) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_border_opa(255) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_border_side(lv.BORDER_SIDE.BOTTOM) |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_text_color(lv.color_make(0x21,0x95,0xf6)) |
|||
try: |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_digifaw_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_tabview_1_extra_btnm_items_checked.set_text_font(lv.font_montserrat_16) |
|||
|
|||
# add style for screen_tabview_1_tab_btns |
|||
screen_tabview_1_tab_btns.add_style(style_screen_tabview_1_extra_btnm_items_checked, lv.PART.ITEMS|lv.STATE.CHECKED) |
|||
|
|||
screen_tabview_1_Home = screen_tabview_1.add_tab("Home") |
|||
screen_img_1 = lv.img(screen_tabview_1_Home) |
|||
screen_img_1.set_pos(15,17) |
|||
screen_img_1.set_size(100,100) |
|||
screen_img_1.add_flag(lv.obj.FLAG.CLICKABLE) |
|||
try: |
|||
with open('F:\\MyEnv\\esp_code\\esp32-s2-kaluga-1\\components\\myui\\guider\\generated\\mPythonImages\\mp1013635633.png','rb') as f: |
|||
screen_img_1_img_data = f.read() |
|||
except: |
|||
print('Could not open F:\\MyEnv\\esp_code\\esp32-s2-kaluga-1\\components\\myui\\guider\\generated\\mPythonImages\\mp1013635633.png') |
|||
sys.exit() |
|||
|
|||
screen_img_1_img = lv.img_dsc_t({ |
|||
'data_size': len(screen_img_1_img_data), |
|||
'header': {'always_zero': 0, 'w': 100, 'h': 100, 'cf': lv.img.CF.TRUE_COLOR_ALPHA}, |
|||
'data': screen_img_1_img_data |
|||
}) |
|||
|
|||
screen_img_1.set_src(screen_img_1_img) |
|||
screen_img_1.set_pivot(0,0) |
|||
screen_img_1.set_angle(0) |
|||
# create style style_screen_img_1_main_main_default |
|||
style_screen_img_1_main_main_default = lv.style_t() |
|||
style_screen_img_1_main_main_default.init() |
|||
style_screen_img_1_main_main_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_img_1_main_main_default.set_img_recolor_opa(0) |
|||
style_screen_img_1_main_main_default.set_img_opa(255) |
|||
|
|||
# add style for screen_img_1 |
|||
screen_img_1.add_style(style_screen_img_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
screen_label_2 = lv.label(screen_tabview_1_Home) |
|||
screen_label_2.set_pos(167,24) |
|||
screen_label_2.set_size(37,16) |
|||
screen_label_2.set_text("LED") |
|||
screen_label_2.set_long_mode(lv.label.LONG.WRAP) |
|||
screen_label_2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) |
|||
# create style style_screen_label_2_main_main_default |
|||
style_screen_label_2_main_main_default = lv.style_t() |
|||
style_screen_label_2_main_main_default.init() |
|||
style_screen_label_2_main_main_default.set_radius(0) |
|||
style_screen_label_2_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_label_2_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_label_2_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_label_2_main_main_default.set_bg_opa(0) |
|||
style_screen_label_2_main_main_default.set_text_color(lv.color_make(0x00,0x00,0x00)) |
|||
try: |
|||
style_screen_label_2_main_main_default.set_text_font(lv.font_digifaw_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_label_2_main_main_default.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_label_2_main_main_default.set_text_font(lv.font_montserrat_16) |
|||
style_screen_label_2_main_main_default.set_text_letter_space(2) |
|||
style_screen_label_2_main_main_default.set_pad_left(0) |
|||
style_screen_label_2_main_main_default.set_pad_right(0) |
|||
style_screen_label_2_main_main_default.set_pad_top(0) |
|||
style_screen_label_2_main_main_default.set_pad_bottom(0) |
|||
|
|||
# add style for screen_label_2 |
|||
screen_label_2.add_style(style_screen_label_2_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
screen_sw_1 = lv.switch(screen_tabview_1_Home) |
|||
screen_sw_1.set_pos(212,21) |
|||
screen_sw_1.set_size(40,20) |
|||
# create style style_screen_sw_1_main_main_default |
|||
style_screen_sw_1_main_main_default = lv.style_t() |
|||
style_screen_sw_1_main_main_default.init() |
|||
style_screen_sw_1_main_main_default.set_radius(100) |
|||
style_screen_sw_1_main_main_default.set_bg_color(lv.color_make(0xe6,0xe2,0xe6)) |
|||
style_screen_sw_1_main_main_default.set_bg_grad_color(lv.color_make(0xe6,0xe2,0xe6)) |
|||
style_screen_sw_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_sw_1_main_main_default.set_bg_opa(255) |
|||
|
|||
# add style for screen_sw_1 |
|||
screen_sw_1.add_style(style_screen_sw_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
# create style style_screen_sw_1_main_indicator_checked |
|||
style_screen_sw_1_main_indicator_checked = lv.style_t() |
|||
style_screen_sw_1_main_indicator_checked.init() |
|||
style_screen_sw_1_main_indicator_checked.set_radius(100) |
|||
style_screen_sw_1_main_indicator_checked.set_bg_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_sw_1_main_indicator_checked.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_sw_1_main_indicator_checked.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_sw_1_main_indicator_checked.set_bg_opa(255) |
|||
|
|||
# add style for screen_sw_1 |
|||
screen_sw_1.add_style(style_screen_sw_1_main_indicator_checked, lv.PART.INDICATOR|lv.STATE.CHECKED) |
|||
|
|||
# create style style_screen_sw_1_main_knob_default |
|||
style_screen_sw_1_main_knob_default = lv.style_t() |
|||
style_screen_sw_1_main_knob_default.init() |
|||
style_screen_sw_1_main_knob_default.set_radius(100) |
|||
style_screen_sw_1_main_knob_default.set_bg_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_sw_1_main_knob_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_sw_1_main_knob_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_sw_1_main_knob_default.set_bg_opa(255) |
|||
|
|||
# add style for screen_sw_1 |
|||
screen_sw_1.add_style(style_screen_sw_1_main_knob_default, lv.PART.KNOB|lv.STATE.DEFAULT) |
|||
|
|||
screen_label_1 = lv.label(screen_tabview_1_Home) |
|||
screen_label_1.set_pos(16,127) |
|||
screen_label_1.set_size(96,15) |
|||
screen_label_1.set_text("pomin") |
|||
screen_label_1.set_long_mode(lv.label.LONG.WRAP) |
|||
screen_label_1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) |
|||
# create style style_screen_label_1_main_main_default |
|||
style_screen_label_1_main_main_default = lv.style_t() |
|||
style_screen_label_1_main_main_default.init() |
|||
style_screen_label_1_main_main_default.set_radius(0) |
|||
style_screen_label_1_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_label_1_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_label_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_label_1_main_main_default.set_bg_opa(0) |
|||
style_screen_label_1_main_main_default.set_text_color(lv.color_make(0x00,0x00,0x00)) |
|||
try: |
|||
style_screen_label_1_main_main_default.set_text_font(lv.font_digifaw_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_label_1_main_main_default.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_label_1_main_main_default.set_text_font(lv.font_montserrat_16) |
|||
style_screen_label_1_main_main_default.set_text_letter_space(2) |
|||
style_screen_label_1_main_main_default.set_pad_left(0) |
|||
style_screen_label_1_main_main_default.set_pad_right(0) |
|||
style_screen_label_1_main_main_default.set_pad_top(0) |
|||
style_screen_label_1_main_main_default.set_pad_bottom(0) |
|||
|
|||
# add style for screen_label_1 |
|||
screen_label_1.add_style(style_screen_label_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
screen_tabview_1_Sensor = screen_tabview_1.add_tab("Sensor") |
|||
screen_tabview_1_ToDo = screen_tabview_1.add_tab("ToDo") |
|||
screen_tabview_1.set_pos(0,0) |
|||
screen_tabview_1.set_size(314,240) |
|||
# create style style_screen_tabview_1_main_main_default |
|||
style_screen_tabview_1_main_main_default = lv.style_t() |
|||
style_screen_tabview_1_main_main_default.init() |
|||
style_screen_tabview_1_main_main_default.set_bg_color(lv.color_make(0xea,0xef,0xf3)) |
|||
style_screen_tabview_1_main_main_default.set_bg_grad_color(lv.color_make(0xea,0xef,0xf3)) |
|||
style_screen_tabview_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_tabview_1_main_main_default.set_bg_opa(255) |
|||
style_screen_tabview_1_main_main_default.set_border_color(lv.color_make(0xc0,0xc0,0xc0)) |
|||
style_screen_tabview_1_main_main_default.set_border_width(0) |
|||
style_screen_tabview_1_main_main_default.set_border_opa(100) |
|||
style_screen_tabview_1_main_main_default.set_text_color(lv.color_make(0x4d,0x4d,0x4d)) |
|||
try: |
|||
style_screen_tabview_1_main_main_default.set_text_font(lv.font_digifaw_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_tabview_1_main_main_default.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_tabview_1_main_main_default.set_text_font(lv.font_montserrat_16) |
|||
style_screen_tabview_1_main_main_default.set_text_letter_space(2) |
|||
style_screen_tabview_1_main_main_default.set_text_line_space(16) |
|||
|
|||
# add style for screen_tabview_1 |
|||
screen_tabview_1.add_style(style_screen_tabview_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
screen_btnm_1 = lv.btnmatrix(screen) |
|||
screen_btnm_1.set_pos(288,0) |
|||
screen_btnm_1.set_size(32,240) |
|||
screen_btnm_1.update_layout() |
|||
screen_btnm_1_anim_move_x = lv.anim_t() |
|||
screen_btnm_1_anim_move_x.init() |
|||
screen_btnm_1_anim_move_x.set_var(screen_btnm_1) |
|||
screen_btnm_1_anim_move_x.set_values(screen_btnm_1.get_x(), 320) |
|||
screen_btnm_1_anim_move_x.set_time(500) |
|||
screen_btnm_1_anim_move_x.set_path_cb(lv.anim_t.path_bounce) |
|||
screen_btnm_1_anim_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_anim_move_x) |
|||
|
|||
screen_btnm_1_anim_move_y = lv.anim_t() |
|||
screen_btnm_1_anim_move_y.init() |
|||
screen_btnm_1_anim_move_y.set_var(screen_btnm_1) |
|||
screen_btnm_1_anim_move_y.set_values(screen_btnm_1.get_x(), 0) |
|||
screen_btnm_1_anim_move_y.set_time(500) |
|||
screen_btnm_1_anim_move_y.set_path_cb(lv.anim_t.path_bounce) |
|||
screen_btnm_1_anim_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_anim_move_y) |
|||
|
|||
btnm_map = [ |
|||
"1", |
|||
"\n", |
|||
"2", |
|||
"\n", |
|||
"3", |
|||
"\n", |
|||
"4", |
|||
"\n", |
|||
"5", |
|||
"\n", |
|||
"6", |
|||
"", |
|||
""] |
|||
screen_btnm_1.set_map(btnm_map) |
|||
# create style style_screen_btnm_1_main_main_default |
|||
style_screen_btnm_1_main_main_default = lv.style_t() |
|||
style_screen_btnm_1_main_main_default.init() |
|||
style_screen_btnm_1_main_main_default.set_radius(4) |
|||
style_screen_btnm_1_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_btnm_1_main_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_btnm_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.HOR) |
|||
style_screen_btnm_1_main_main_default.set_bg_opa(255) |
|||
style_screen_btnm_1_main_main_default.set_border_color(lv.color_make(0xff,0xff,0xff)) |
|||
style_screen_btnm_1_main_main_default.set_border_width(1) |
|||
style_screen_btnm_1_main_main_default.set_pad_left(5) |
|||
style_screen_btnm_1_main_main_default.set_pad_right(5) |
|||
style_screen_btnm_1_main_main_default.set_pad_top(5) |
|||
style_screen_btnm_1_main_main_default.set_pad_bottom(5) |
|||
style_screen_btnm_1_main_main_default.set_pad_row(8) |
|||
style_screen_btnm_1_main_main_default.set_pad_column(8) |
|||
|
|||
# add style for screen_btnm_1 |
|||
screen_btnm_1.add_style(style_screen_btnm_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
# create style style_screen_btnm_1_main_items_default |
|||
style_screen_btnm_1_main_items_default = lv.style_t() |
|||
style_screen_btnm_1_main_items_default.init() |
|||
style_screen_btnm_1_main_items_default.set_radius(4) |
|||
style_screen_btnm_1_main_items_default.set_bg_color(lv.color_make(0xe6,0xe6,0xe6)) |
|||
style_screen_btnm_1_main_items_default.set_bg_grad_color(lv.color_make(0xe6,0xe6,0xe6)) |
|||
style_screen_btnm_1_main_items_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_btnm_1_main_items_default.set_bg_opa(255) |
|||
style_screen_btnm_1_main_items_default.set_border_color(lv.color_make(0xd6,0xdd,0xe3)) |
|||
style_screen_btnm_1_main_items_default.set_border_width(1) |
|||
style_screen_btnm_1_main_items_default.set_text_color(lv.color_make(0x00,0x00,0x00)) |
|||
try: |
|||
style_screen_btnm_1_main_items_default.set_text_font(lv.font_simsun_12) |
|||
except AttributeError: |
|||
try: |
|||
style_screen_btnm_1_main_items_default.set_text_font(lv.font_montserrat_12) |
|||
except AttributeError: |
|||
style_screen_btnm_1_main_items_default.set_text_font(lv.font_montserrat_16) |
|||
|
|||
# add style for screen_btnm_1 |
|||
screen_btnm_1.add_style(style_screen_btnm_1_main_items_default, lv.PART.ITEMS|lv.STATE.DEFAULT) |
|||
|
|||
screen_btn_1 = lv.btn(screen) |
|||
screen_btn_1.set_pos(315,0) |
|||
screen_btn_1.set_size(5,240) |
|||
screen_btn_1.add_flag(lv.obj.FLAG.CHECKABLE) |
|||
# create style style_screen_btn_1_main_main_default |
|||
style_screen_btn_1_main_main_default = lv.style_t() |
|||
style_screen_btn_1_main_main_default.init() |
|||
style_screen_btn_1_main_main_default.set_radius(5) |
|||
style_screen_btn_1_main_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_btn_1_main_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_btn_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.VER) |
|||
style_screen_btn_1_main_main_default.set_bg_opa(255) |
|||
style_screen_btn_1_main_main_default.set_shadow_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_btn_1_main_main_default.set_shadow_opa(255) |
|||
style_screen_btn_1_main_main_default.set_border_color(lv.color_make(0x21,0x95,0xf6)) |
|||
style_screen_btn_1_main_main_default.set_border_width(0) |
|||
style_screen_btn_1_main_main_default.set_border_opa(255) |
|||
|
|||
# add style for screen_btn_1 |
|||
screen_btn_1.add_style(style_screen_btn_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT) |
|||
|
|||
|
|||
|
|||
def screen_btnm_1_clicked_1_event_cb(e,screen_btn_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_btn_1_event_move_x = lv.anim_t() |
|||
screen_btn_1_event_move_x.init() |
|||
screen_btn_1_event_move_x.set_var(screen_btn_1) |
|||
screen_btn_1_event_move_x.set_values(screen_btn_1.get_x(), 315) |
|||
screen_btn_1_event_move_x.set_time(200) |
|||
screen_btn_1_event_move_x.set_path_cb(lv.anim_t.path_bounce) |
|||
screen_btn_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btn_1,val)) |
|||
lv.anim_t.start(screen_btn_1_event_move_x) |
|||
screen_btn_1_event_move_y = lv.anim_t() |
|||
screen_btn_1_event_move_y.init() |
|||
screen_btn_1_event_move_y.set_var(screen_btn_1) |
|||
screen_btn_1_event_move_y.set_values(screen_btn_1.get_y(), 0) |
|||
screen_btn_1_event_move_y.set_time(200) |
|||
screen_btn_1_event_move_y.set_path_cb(lv.anim_t.path_bounce) |
|||
screen_btn_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btn_1,val)) |
|||
lv.anim_t.start(screen_btn_1_event_move_y) |
|||
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_1_event_cb(e,screen_btn_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
def screen_btnm_1_clicked_2_event_cb(e,screen_btnm_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_btnm_1_event_move_x = lv.anim_t() |
|||
screen_btnm_1_event_move_x.init() |
|||
screen_btnm_1_event_move_x.set_var(screen_btnm_1) |
|||
screen_btnm_1_event_move_x.set_values(screen_btnm_1.get_x(), 320) |
|||
screen_btnm_1_event_move_x.set_time(200) |
|||
screen_btnm_1_event_move_x.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btnm_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_event_move_x) |
|||
screen_btnm_1_event_move_y = lv.anim_t() |
|||
screen_btnm_1_event_move_y.init() |
|||
screen_btnm_1_event_move_y.set_var(screen_btnm_1) |
|||
screen_btnm_1_event_move_y.set_values(screen_btnm_1.get_y(), 0) |
|||
screen_btnm_1_event_move_y.set_time(200) |
|||
screen_btnm_1_event_move_y.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btnm_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_event_move_y) |
|||
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_2_event_cb(e,screen_btnm_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
def screen_btnm_1_clicked_3_event_cb(e,screen_tabview_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_tabview_1.set_width(315) |
|||
screen_btnm_1.add_event_cb(lambda e: screen_btnm_1_clicked_3_event_cb(e,screen_tabview_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
def screen_btn_1_clicked_1_event_cb(e,screen_btnm_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_btnm_1_event_move_x = lv.anim_t() |
|||
screen_btnm_1_event_move_x.init() |
|||
screen_btnm_1_event_move_x.set_var(screen_btnm_1) |
|||
screen_btnm_1_event_move_x.set_values(screen_btnm_1.get_x(), 288) |
|||
screen_btnm_1_event_move_x.set_time(200) |
|||
screen_btnm_1_event_move_x.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btnm_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_event_move_x) |
|||
screen_btnm_1_event_move_y = lv.anim_t() |
|||
screen_btnm_1_event_move_y.init() |
|||
screen_btnm_1_event_move_y.set_var(screen_btnm_1) |
|||
screen_btnm_1_event_move_y.set_values(screen_btnm_1.get_y(), 0) |
|||
screen_btnm_1_event_move_y.set_time(200) |
|||
screen_btnm_1_event_move_y.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btnm_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btnm_1,val)) |
|||
lv.anim_t.start(screen_btnm_1_event_move_y) |
|||
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_1_event_cb(e,screen_btnm_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
def screen_btn_1_clicked_2_event_cb(e,screen_btn_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_btn_1_event_move_x = lv.anim_t() |
|||
screen_btn_1_event_move_x.init() |
|||
screen_btn_1_event_move_x.set_var(screen_btn_1) |
|||
screen_btn_1_event_move_x.set_values(screen_btn_1.get_x(), 320) |
|||
screen_btn_1_event_move_x.set_time(200) |
|||
screen_btn_1_event_move_x.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btn_1_event_move_x.set_custom_exec_cb(lambda a,val: anim_x_cb(screen_btn_1,val)) |
|||
lv.anim_t.start(screen_btn_1_event_move_x) |
|||
screen_btn_1_event_move_y = lv.anim_t() |
|||
screen_btn_1_event_move_y.init() |
|||
screen_btn_1_event_move_y.set_var(screen_btn_1) |
|||
screen_btn_1_event_move_y.set_values(screen_btn_1.get_y(), 0) |
|||
screen_btn_1_event_move_y.set_time(200) |
|||
screen_btn_1_event_move_y.set_path_cb(lv.anim_t.path_linear) |
|||
screen_btn_1_event_move_y.set_custom_exec_cb(lambda a,val: anim_y_cb(screen_btn_1,val)) |
|||
lv.anim_t.start(screen_btn_1_event_move_y) |
|||
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_2_event_cb(e,screen_btn_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
def screen_btn_1_clicked_3_event_cb(e,screen_tabview_1): |
|||
src = e.get_target() |
|||
code = e.get_code() |
|||
screen_tabview_1.set_width(288) |
|||
screen_btn_1.add_event_cb(lambda e: screen_btn_1_clicked_3_event_cb(e,screen_tabview_1), lv.EVENT.CLICKED, None) |
|||
|
|||
|
|||
|
|||
# content from custom.py |
|||
|
|||
# Load the default screen |
|||
lv.scr_load(screen) |
|||
|
|||
while SDL.check(): |
|||
time.sleep_ms(5) |
@ -0,0 +1,12 @@ |
|||
#ifndef GUIDER_CUSTOMER_FONTS_H |
|||
#define GUIDER_CUSTOMER_FONTS_H |
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#include "lv_font.h" |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
#endif |
@ -0,0 +1,6 @@ |
|||
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/guider_customer_fonts/*.c)) |
|||
|
|||
DEPPATH += --dep-path $(PRJ_DIR)/generated/guider_customer_fonts |
|||
VPATH += :$(PRJ_DIR)/generated/guider_customer_fonts |
|||
|
|||
CFLAGS += "-I$(PRJ_DIR)/generated/guider_customer_fonts" |
@ -0,0 +1,18 @@ |
|||
|
|||
#ifndef GUIDER_FONTS_H |
|||
#define GUIDER_FONTS_H |
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#include "lv_font.h" |
|||
|
|||
LV_FONT_DECLARE(lv_font_digifaw_12) |
|||
LV_FONT_DECLARE(lv_font_simsun_12) |
|||
|
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
#endif |
|||
|
@ -0,0 +1,6 @@ |
|||
GEN_CSRCS += $(notdir $(wildcard $(PRJ_DIR)/generated/guider_fonts/*.c)) |
|||
|
|||
DEPPATH += --dep-path $(PRJ_DIR)/generated/guider_fonts |
|||
VPATH += :$(PRJ_DIR)/generated/guider_fonts |
|||
|
|||
CFLAGS += "-I$(PRJ_DIR)/generated/guider_fonts" |
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,47 @@ |
|||
#ifndef GUIDER_LV_CONF_H |
|||
#define GUIDER_LV_CONF_H |
|||
|
|||
/* Maximal horizontal and vertical resolution to support by the library.*/ |
|||
#define LV_HOR_RES_MAX (480) |
|||
#define LV_VER_RES_MAX (272) |
|||
|
|||
/* Color depth:
|
|||
* - 1: 1 byte per pixel |
|||
* - 8: RGB233 |
|||
* - 16: RGB565 |
|||
* - 32: ARGB8888 |
|||
*/ |
|||
#define LV_COLOR_DEPTH 16 |
|||
|
|||
|
|||
/* Dot Per Inch: used to initialize default sizes.
|
|||
* E.g. a button with width = LV_DPI / 2 -> half inch wide |
|||
* (Not so important, you can adjust it to modify default sizes and spaces)*/ |
|||
#define LV_DPI 100 /*[px]*/ |
|||
|
|||
/* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */ |
|||
#define LV_MEM_CUSTOM 0 |
|||
#if LV_MEM_CUSTOM == 0 |
|||
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ |
|||
# define LV_MEM_SIZE (128U * 1024U + LV_HOR_RES_MAX * LV_VER_RES_MAX * 4) |
|||
|
|||
/* Complier prefix for a big array declaration */ |
|||
# define LV_MEM_ATTR |
|||
|
|||
/* Set an address for the memory pool instead of allocating it as an array.
|
|||
* Can be in external SRAM too. */ |
|||
# define LV_MEM_ADR 0 |
|||
|
|||
/* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */ |
|||
# define LV_MEM_AUTO_DEFRAG 1 |
|||
#else /*LV_MEM_CUSTOM*/ |
|||
# define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/ |
|||
# define LV_MEM_CUSTOM_ALLOC malloc /*Wrapper to malloc*/ |
|||
# define LV_MEM_CUSTOM_FREE free /*Wrapper to free*/ |
|||
#endif /*LV_MEM_CUSTOM*/ |
|||
|
|||
/* 1: Enable GPU interface*/ |
|||
#define LV_USE_GPU 1 |
|||
#define LV_USE_GPU_STM32_DMA2D 0 |
|||
|
|||
#endif |
@ -0,0 +1,236 @@ |
|||
/*
|
|||
* Copyright 2022 NXP |
|||
* SPDX-License-Identifier: MIT |
|||
*/ |
|||
|
|||
#include "lvgl/lvgl.h" |
|||
|
|||
#include "lvgl/lvgl.h" |
|||
|
|||
#include "lvgl/lvgl.h" |
|||
|
|||
#ifndef LV_ATTRIBUTE_MEM_ALIGN |
|||
#define LV_ATTRIBUTE_MEM_ALIGN |
|||
#endif |
|||
|
|||
#ifndef LV_ATTRIBUTE_IMG___M_100X100 |
|||
#define LV_ATTRIBUTE_IMG___M_100X100 |
|||
#endif |
|||
|
|||
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG___M_100X100 uint8_t __m_100x100_map[] = { |
|||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0 |
|||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/ |
|||
0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xb6, 0xbd, 0x00, 0x95, 0xb5, 0x00, 0x55, 0xad, 0x34, 0xce, 0x83, 0x56, 0x4c, 0x7b, 0x68, 0x4b, 0x73, 0x79, 0x6c, 0x7b, 0x8d, 0xcd, 0x83, 0x9f, 0x2e, 0x94, 0xad, 0x2f, 0x94, 0xb7, 0x4f, 0x94, 0xbb, 0x4e, 0x94, 0xb7, 0x4e, 0x94, 0xad, 0x4f, 0x94, 0x9f, 0x4f, 0x94, 0x8d, 0x4f, 0x94, 0x79, 0x4f, 0x94, 0x68, 0x90, 0x9c, 0x56, 0x75, 0xb5, 0x34, 0x96, 0xb5, 0x00, 0xd6, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0xf7, 0xbd, 0x00, 0x96, 0xb5, 0x00, 0x08, 0x42, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x1f, 0x3c, 0xef, 0x57, 0x1b, 0xe7, 0x7e, 0x98, 0xde, 0xaa, 0xf5, 0xc5, 0xc4, 0xb4, 0xbd, 0xd5, 0xf1, 0xac, 0xeb, 0x90, 0xa4, 0xf4, 0x90, 0xa4, 0xf6, 0xd1, 0xac, 0xf8, 0x32, 0xbd, 0xfb, 0xb4, 0xc5, 0xfe, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xfe, 0xf4, 0xcd, 0xfb, 0xf5, 0xcd, 0xf8, 0xf5, 0xcd, 0xf6, 0xf5, 0xd5, 0xf4, 0x16, 0xd6, 0xeb, 0x37, 0xd6, 0xd5, 0x37, 0xd6, 0xc4, 0xb9, 0xe6, 0xaa, 0x3b, 0xef, 0x7e, 0x3c, 0xef, 0x57, 0xde, 0xff, 0x1f, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xbe, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x34, 0x1b, 0xef, 0x70, 0xb9, 0xde, 0xa8, 0x37, 0xd6, 0xcc, 0xd5, 0xcd, 0xe9, 0xb4, 0xc5, 0xf7, 0x93, 0xbd, 0xfd, 0x53, 0xbd, 0xff, 0x12, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x70, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0xb0, 0xac, 0xff, 0x52, 0xbd, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xfd, 0xf5, 0xcd, 0xf7, 0xf5, 0xd5, 0xe9, 0x37, 0xde, 0xcc, 0xb9, 0xe6, 0xa8, 0x1b, 0xef, 0x70, 0x7d, 0xf7, 0x34, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x18, 0x1b, 0xe7, 0x65, 0x99, 0xde, 0xa9, 0x16, 0xd6, 0xd5, 0x15, 0xce, 0xf3, 0x16, 0xce, 0xfd, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xb5, 0xff, 0x12, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0x2f, 0x9c, 0xff, 0xb0, 0xa4, 0xff, 0x72, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xfd, 0xf5, 0xd5, 0xf3, 0x36, 0xd6, 0xd5, 0xd9, 0xe6, 0xa9, 0x5c, 0xef, 0x65, 0xde, 0xff, 0x18, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x33, 0x1b, 0xef, 0x85, 0x77, 0xd6, 0xc6, 0xb4, 0xc5, 0xec, 0xd5, 0xc5, 0xfd, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xf1, 0xac, 0xff, 0x90, 0x9c, 0xff, 0x2f, 0x9c, 0xff, 0x0e, 0x94, 0xff, 0x90, 0xa4, 0xff, 0x52, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0xf5, 0xd5, 0xff, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xfd, 0x36, 0xd6, 0xec, 0x77, 0xde, 0xc6, 0x1b, 0xef, 0x85, 0x9d, 0xf7, 0x33, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x36, 0xfa, 0xe6, 0x8e, 0x77, 0xde, 0xd1, 0x36, 0xd6, 0xf6, 0xf5, 0xcd, 0xff, 0x94, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0x94, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x11, 0xad, 0xff, 0xb0, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0xee, 0x8b, 0xff, 0xcd, 0x8b, 0xff, 0x70, 0x9c, 0xff, 0x52, 0xbd, 0xff, 0x92, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xc5, 0xff, 0x73, 0xc5, 0xff, 0x73, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xb4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0x15, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x35, 0xd6, 0xff, 0x15, 0xd6, 0xf6, 0x56, 0xd6, 0xd1, 0xd9, 0xe6, 0x8e, 0x9d, 0xf7, 0x36, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x26, 0xfa, 0xe6, 0x87, 0x78, 0xde, 0xd1, 0x57, 0xd6, 0xf7, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xb4, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0xd4, 0xc5, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x12, 0xb5, 0xff, 0xf1, 0xac, 0xff, 0x8f, 0x9c, 0xff, 0x0e, 0x94, 0xff, 0xac, 0x83, 0xff, 0x6c, 0x7b, 0xff, 0x0e, 0x94, 0xff, 0x11, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xd5, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xf7, 0x56, 0xd6, 0xd1, 0xd9, 0xe6, 0x87, 0x9d, 0xf7, 0x26, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xdf, 0xff, 0x00, 0x3c, 0xef, 0x6b, 0x98, 0xde, 0xc4, 0x77, 0xde, 0xf5, 0x57, 0xde, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0xd5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0x11, 0xad, 0xff, 0x11, 0xad, 0xff, 0xd1, 0xac, 0xff, 0x90, 0x9c, 0xff, 0x0e, 0x8c, 0xff, 0x8c, 0x7b, 0xff, 0x4b, 0x73, 0xff, 0xea, 0x6a, 0xff, 0x8c, 0x83, 0xff, 0xb0, 0xa4, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xf5, 0x57, 0xd6, 0xc4, 0x3b, 0xef, 0x6b, 0xdf, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9d, 0xf7, 0x3a, 0xd9, 0xe6, 0xa6, 0x57, 0xd6, 0xe9, 0x57, 0xd6, 0xff, 0x57, 0xde, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xf5, 0xcd, 0xff, 0x93, 0xbd, 0xff, 0xb3, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xf0, 0xac, 0xff, 0xd0, 0xac, 0xff, 0xaf, 0xa4, 0xff, 0x8f, 0x9c, 0xff, 0x2e, 0x8c, 0xff, 0xad, 0x7b, 0xff, 0x8d, 0x73, 0xff, 0x6d, 0x73, 0xff, 0x6d, 0x7b, 0xff, 0xad, 0x83, 0xff, 0x90, 0x9c, 0xff, 0xd0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0xf0, 0xac, 0xff, 0x11, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xff, 0x15, 0xd6, 0xe9, 0xb9, 0xe6, 0xa6, 0x9d, 0xf7, 0x3a, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xdf, 0xff, 0x00, 0x3b, 0xef, 0x6d, 0x57, 0xd6, 0xce, 0x36, 0xd6, 0xfa, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x56, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xd4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xbd, 0xff, 0xb4, 0xc5, 0xff, 0x73, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xd0, 0xac, 0xff, 0x8e, 0xa4, 0xff, 0x8e, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0x2f, 0x8c, 0xff, 0x0f, 0x84, 0xff, 0x0f, 0x84, 0xff, 0x10, 0x84, 0xff, 0xf0, 0x7b, 0xff, 0xf0, 0x7b, 0xff, 0x10, 0x84, 0xff, 0x50, 0x8c, 0xff, 0x90, 0x94, 0xff, 0x90, 0x9c, 0xff, 0x90, 0x9c, 0xff, 0xb0, 0xa4, 0xff, 0xb0, 0xa4, 0xff, 0xd0, 0xac, 0xff, 0xf1, 0xb4, 0xff, 0x11, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x52, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x15, 0xd6, 0xfa, 0x36, 0xd6, 0xce, 0x1b, 0xef, 0x6d, 0xdf, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xde, 0xff, 0x1c, 0xda, 0xe6, 0x94, 0x36, 0xd6, 0xe6, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x57, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0xf5, 0xcd, 0xff, 0x93, 0xbd, 0xff, 0x52, 0xb5, 0xff, 0x73, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x32, 0xb5, 0xff, 0xd0, 0xac, 0xff, 0x6e, 0x9c, 0xff, 0x4e, 0x9c, 0xff, 0x6f, 0x9c, 0xff, 0x4f, 0x94, 0xff, 0x10, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x84, 0xff, 0xd0, 0x7b, 0xff, 0xf0, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x70, 0x94, 0xff, 0x70, 0x94, 0xff, 0xb0, 0xa4, 0xff, 0xd0, 0xa4, 0xff, 0xd0, 0xac, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x74, 0xbd, 0xff, 0x74, 0xbd, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xe6, 0xd9, 0xe6, 0x94, 0xde, 0xff, 0x1c, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x39, 0x78, 0xde, 0xb2, 0x16, 0xd6, 0xf6, 0x16, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xd5, 0xc5, 0xff, 0x72, 0xbd, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x11, 0xb5, 0xff, 0xd0, 0xa4, 0xff, 0x4f, 0x9c, 0xff, 0x2f, 0x8c, 0xff, 0x2f, 0x8c, 0xff, 0x30, 0x84, 0xff, 0x10, 0x84, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0xaf, 0x73, 0xff, 0xf0, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x50, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x70, 0x9c, 0xff, 0x90, 0x9c, 0xff, 0xb1, 0xa4, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x74, 0xc5, 0xff, 0x94, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xb4, 0xc5, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xf4, 0xcd, 0xf6, 0x36, 0xd6, 0xb2, 0x5c, 0xf7, 0x39, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x51, 0x57, 0xd6, 0xc3, 0x16, 0xd6, 0xfa, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xb4, 0xc5, 0xff, 0x31, 0xb5, 0xff, 0xf0, 0xac, 0xff, 0x10, 0xad, 0xff, 0xd0, 0xa4, 0xff, 0x6f, 0x9c, 0xff, 0xef, 0x83, 0xff, 0x10, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x7c, 0xff, 0x11, 0x84, 0xff, 0x11, 0x7c, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0xd0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0x51, 0x84, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x91, 0x94, 0xff, 0x91, 0x94, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x71, 0x94, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x12, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x33, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x73, 0xbd, 0xff, 0x93, 0xc5, 0xff, 0x93, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xd3, 0xcd, 0xff, 0xd4, 0xcd, 0xff, 0xf4, 0xcd, 0xff, 0xd3, 0xcd, 0xfa, 0x15, 0xce, 0xc3, 0x5c, 0xef, 0x51, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x60, 0x57, 0xd6, 0xd2, 0x16, 0xce, 0xfd, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0x15, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x36, 0xd6, 0xff, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x94, 0xbd, 0xff, 0xd0, 0xac, 0xff, 0xcf, 0xa4, 0xff, 0xaf, 0xa4, 0xff, 0x4f, 0x94, 0xff, 0xef, 0x83, 0xff, 0xd0, 0x7b, 0xff, 0xd1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x11, 0x7c, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x10, 0x7c, 0xff, 0x10, 0x7c, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x94, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xb5, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x53, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x72, 0xbd, 0xff, 0x92, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xb3, 0xc5, 0xff, 0xd3, 0xcd, 0xff, 0xd3, 0xc5, 0xff, 0xb3, 0xc5, 0xfd, 0xf4, 0xcd, 0xd2, 0x5c, 0xef, 0x60, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x3c, 0xef, 0x67, 0x77, 0xd6, 0xdb, 0x16, 0xd6, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf6, 0xcd, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0x53, 0xb5, 0xff, 0x8f, 0x9c, 0xff, 0x6f, 0x94, 0xff, 0x0f, 0x84, 0xff, 0xcf, 0x7b, 0xff, 0xaf, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xf1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x11, 0x7c, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x52, 0x84, 0xff, 0x10, 0x7c, 0xff, 0xf0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0x51, 0x84, 0xff, 0x31, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x51, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x71, 0x8c, 0xff, 0x50, 0x8c, 0xff, 0x70, 0x94, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xac, 0xff, 0x12, 0xad, 0xff, 0x32, 0xad, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xb5, 0xff, 0x32, 0xbd, 0xff, 0x52, 0xbd, 0xff, 0x32, 0xbd, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x31, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x71, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0x92, 0xc5, 0xff, 0xd4, 0xc5, 0xdb, 0xfa, 0xe6, 0x67, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x65, 0x57, 0xd6, 0xdd, 0x36, 0xd6, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xcd, 0xff, 0x94, 0xbd, 0xff, 0xd1, 0xa4, 0xff, 0x2f, 0x8c, 0xff, 0xcf, 0x7b, 0xff, 0xaf, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xf0, 0x7b, 0xff, 0xd0, 0x7b, 0xff, 0x11, 0x84, 0xff, 0xf1, 0x7b, 0xff, 0x32, 0x84, 0xff, 0x11, 0x84, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x11, 0x84, 0xff, 0x11, 0x7c, 0xff, 0xf0, 0x73, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x31, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x11, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x31, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0x51, 0x8c, 0xff, 0xef, 0x7b, 0xff, 0xce, 0x7b, 0xff, 0x50, 0x8c, 0xff, 0x91, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf1, 0xa4, 0xff, 0xf2, 0xac, 0xff, 0x12, 0xad, 0xff, 0x32, 0xb5, 0xff, 0x31, 0xb5, 0xff, 0x10, 0xb5, 0xff, 0xaf, 0xac, 0xff, 0xcf, 0xac, 0xff, 0xf0, 0xb4, 0xff, 0xf0, 0xb4, 0xff, 0xcf, 0xb4, 0xff, 0xef, 0xb4, 0xff, 0x31, 0xbd, 0xff, 0x51, 0xbd, 0xff, 0x72, 0xc5, 0xdd, 0x3c, 0xef, 0x65, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x7d, 0xf7, 0x59, 0x77, 0xd6, 0xd7, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0x16, 0xce, 0xff, 0xf5, 0xcd, 0xff, 0xf5, 0xcd, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd5, 0xc5, 0xff, 0xd4, 0xc5, 0xff, 0x74, 0xbd, 0xff, 0xd2, 0xa4, 0xff, 0x10, 0x84, 0xff, 0xb0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0x90, 0x6b, 0xff, 0xd0, 0x73, 0xff, 0xb0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xd0, 0x73, 0xff, 0xf1, 0x7b, 0xff, 0xf1, 0x7b, 0xff, 0x31, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x32, 0x84, 0xff, 0x52, 0x84, 0xff, 0x11, 0x7c, 0xff, 0xd0, 0x73, 0xff, 0x11, 0x7c, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x32, 0x84, 0xff, 0x52, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x52, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x31, 0x84, 0xff, 0x10, 0x84, 0xff, 0x11, 0x84, 0xff, 0x31, 0x84, 0xff, 0x51, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x8c, 0xff, 0x72, 0x94, 0xff, 0x71, 0x8c, 0xff, 0x51, 0x84, 0xff, 0x8f, 0x6b, 0xff, 0x8f, 0x6b, 0xff, 0xf0, 0x7b, 0xff, 0x30, 0x84, 0xff, 0x50, 0x8c, 0xff, 0x70, 0x94, 0xff, 0x90, 0x9c, 0xff, 0xd1, 0xa4, 0xff, 0xf0, 0xac, 0xff, 0xd0, 0xac, 0xff, 0x31, 0xb5, 0xff, 0xf4, 0xd5, 0xff, 0x35, 0xde, 0xff, 0x15, 0xd6, 0xff, 0xb3, 0xcd, 0xff, 0xef, 0xb4, 0xff, 0x6d, 0xa4, 0xff, 0xae, 0xac, 0xff, 0x10, 0xb5, 0xff, 0x73, 0xbd, 0xd7, 0x3c, 0xef, 0x59, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x9e, 0xf7, 0x00, 0xeb, 0x5a, 0x00, |
|||