commit
81823e862e
12 changed files with 3398 additions and 0 deletions
File diff suppressed because it is too large
@ -0,0 +1,296 @@ |
|||||
|
/*
|
||||
|
** Copyright (c) 2024 rxi |
||||
|
** |
||||
|
** This library is free software; you can redistribute it and/or modify it |
||||
|
** under the terms of the MIT license. See `microui.c` for details. |
||||
|
*/ |
||||
|
|
||||
|
#ifndef MICROUI_H |
||||
|
#define MICROUI_H |
||||
|
|
||||
|
#define MU_VERSION "2.02" |
||||
|
|
||||
|
#define MU_COMMANDLIST_SIZE (256 * 1024) |
||||
|
#define MU_ROOTLIST_SIZE 32 |
||||
|
#define MU_CONTAINERSTACK_SIZE 32 |
||||
|
#define MU_CLIPSTACK_SIZE 32 |
||||
|
#define MU_IDSTACK_SIZE 32 |
||||
|
#define MU_LAYOUTSTACK_SIZE 16 |
||||
|
#define MU_CONTAINERPOOL_SIZE 48 |
||||
|
#define MU_TREENODEPOOL_SIZE 48 |
||||
|
#define MU_MAX_WIDTHS 16 |
||||
|
#define MU_REAL float |
||||
|
#define MU_REAL_FMT "%.3g" |
||||
|
#define MU_SLIDER_FMT "%.2f" |
||||
|
#define MU_MAX_FMT 127 |
||||
|
|
||||
|
#define mu_stack(T, n) struct { int idx; T items[n]; } |
||||
|
#define mu_min(a, b) ((a) < (b) ? (a) : (b)) |
||||
|
#define mu_max(a, b) ((a) > (b) ? (a) : (b)) |
||||
|
#define mu_clamp(x, a, b) mu_min(b, mu_max(a, x)) |
||||
|
|
||||
|
enum { |
||||
|
MU_CLIP_PART = 1, |
||||
|
MU_CLIP_ALL |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_COMMAND_JUMP = 1, |
||||
|
MU_COMMAND_CLIP, |
||||
|
MU_COMMAND_RECT, |
||||
|
MU_COMMAND_TEXT, |
||||
|
MU_COMMAND_ICON, |
||||
|
MU_COMMAND_MAX |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_COLOR_TEXT, |
||||
|
MU_COLOR_BORDER, |
||||
|
MU_COLOR_WINDOWBG, |
||||
|
MU_COLOR_TITLEBG, |
||||
|
MU_COLOR_TITLETEXT, |
||||
|
MU_COLOR_PANELBG, |
||||
|
MU_COLOR_BUTTON, |
||||
|
MU_COLOR_BUTTONHOVER, |
||||
|
MU_COLOR_BUTTONFOCUS, |
||||
|
MU_COLOR_BASE, |
||||
|
MU_COLOR_BASEHOVER, |
||||
|
MU_COLOR_BASEFOCUS, |
||||
|
MU_COLOR_SCROLLBASE, |
||||
|
MU_COLOR_SCROLLTHUMB, |
||||
|
MU_COLOR_MAX |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_ICON_CLOSE = 1, |
||||
|
MU_ICON_CHECK, |
||||
|
MU_ICON_COLLAPSED, |
||||
|
MU_ICON_EXPANDED, |
||||
|
MU_ICON_MAX |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_RES_ACTIVE = (1 << 0), |
||||
|
MU_RES_SUBMIT = (1 << 1), |
||||
|
MU_RES_CHANGE = (1 << 2) |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_OPT_ALIGNCENTER = (1 << 0), |
||||
|
MU_OPT_ALIGNRIGHT = (1 << 1), |
||||
|
MU_OPT_NOINTERACT = (1 << 2), |
||||
|
MU_OPT_NOFRAME = (1 << 3), |
||||
|
MU_OPT_NORESIZE = (1 << 4), |
||||
|
MU_OPT_NOSCROLL = (1 << 5), |
||||
|
MU_OPT_NOCLOSE = (1 << 6), |
||||
|
MU_OPT_NOTITLE = (1 << 7), |
||||
|
MU_OPT_HOLDFOCUS = (1 << 8), |
||||
|
MU_OPT_AUTOSIZE = (1 << 9), |
||||
|
MU_OPT_POPUP = (1 << 10), |
||||
|
MU_OPT_CLOSED = (1 << 11), |
||||
|
MU_OPT_EXPANDED = (1 << 12) |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_MOUSE_LEFT = (1 << 0), |
||||
|
MU_MOUSE_RIGHT = (1 << 1), |
||||
|
MU_MOUSE_MIDDLE = (1 << 2) |
||||
|
}; |
||||
|
|
||||
|
enum { |
||||
|
MU_KEY_SHIFT = (1 << 0), |
||||
|
MU_KEY_CTRL = (1 << 1), |
||||
|
MU_KEY_ALT = (1 << 2), |
||||
|
MU_KEY_BACKSPACE = (1 << 3), |
||||
|
MU_KEY_RETURN = (1 << 4) |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
typedef struct mu_Context mu_Context; |
||||
|
typedef unsigned mu_Id; |
||||
|
typedef MU_REAL mu_Real; |
||||
|
typedef void* mu_Font; |
||||
|
|
||||
|
typedef struct { int x, y; } mu_Vec2; |
||||
|
typedef struct { int x, y, w, h; } mu_Rect; |
||||
|
typedef struct { unsigned char r, g, b, a; } mu_Color; |
||||
|
typedef struct { mu_Id id; int last_update; } mu_PoolItem; |
||||
|
|
||||
|
typedef struct { int type, size; } mu_BaseCommand; |
||||
|
typedef struct { mu_BaseCommand base; void *dst; } mu_JumpCommand; |
||||
|
typedef struct { mu_BaseCommand base; mu_Rect rect; } mu_ClipCommand; |
||||
|
typedef struct { mu_BaseCommand base; mu_Rect rect; mu_Color color; } mu_RectCommand; |
||||
|
typedef struct { mu_BaseCommand base; mu_Font font; mu_Vec2 pos; mu_Color color; char str[1]; } mu_TextCommand; |
||||
|
typedef struct { mu_BaseCommand base; mu_Rect rect; int id; mu_Color color; } mu_IconCommand; |
||||
|
|
||||
|
typedef union { |
||||
|
int type; |
||||
|
mu_BaseCommand base; |
||||
|
mu_JumpCommand jump; |
||||
|
mu_ClipCommand clip; |
||||
|
mu_RectCommand rect; |
||||
|
mu_TextCommand text; |
||||
|
mu_IconCommand icon; |
||||
|
} mu_Command; |
||||
|
|
||||
|
typedef struct { |
||||
|
mu_Rect body; |
||||
|
mu_Rect next; |
||||
|
mu_Vec2 position; |
||||
|
mu_Vec2 size; |
||||
|
mu_Vec2 max; |
||||
|
int widths[MU_MAX_WIDTHS]; |
||||
|
int items; |
||||
|
int item_index; |
||||
|
int next_row; |
||||
|
int next_type; |
||||
|
int indent; |
||||
|
} mu_Layout; |
||||
|
|
||||
|
typedef struct { |
||||
|
mu_Command *head, *tail; |
||||
|
mu_Rect rect; |
||||
|
mu_Rect body; |
||||
|
mu_Vec2 content_size; |
||||
|
mu_Vec2 scroll; |
||||
|
int zindex; |
||||
|
int open; |
||||
|
} mu_Container; |
||||
|
|
||||
|
typedef struct { |
||||
|
mu_Font font; |
||||
|
mu_Vec2 size; |
||||
|
int padding; |
||||
|
int spacing; |
||||
|
int indent; |
||||
|
int title_height; |
||||
|
int scrollbar_size; |
||||
|
int thumb_size; |
||||
|
mu_Color colors[MU_COLOR_MAX]; |
||||
|
} mu_Style; |
||||
|
|
||||
|
struct mu_Context { |
||||
|
/* callbacks */ |
||||
|
int (*text_width)(mu_Font font, const char *str, int len); |
||||
|
int (*text_height)(mu_Font font); |
||||
|
void (*draw_frame)(mu_Context *ctx, mu_Rect rect, int colorid); |
||||
|
/* core state */ |
||||
|
mu_Style _style; |
||||
|
mu_Style *style; |
||||
|
mu_Id hover; |
||||
|
mu_Id focus; |
||||
|
mu_Id last_id; |
||||
|
mu_Rect last_rect; |
||||
|
int last_zindex; |
||||
|
int updated_focus; |
||||
|
int frame; |
||||
|
mu_Container *hover_root; |
||||
|
mu_Container *next_hover_root; |
||||
|
mu_Container *scroll_target; |
||||
|
char number_edit_buf[MU_MAX_FMT]; |
||||
|
mu_Id number_edit; |
||||
|
/* stacks */ |
||||
|
mu_stack(char, MU_COMMANDLIST_SIZE) command_list; |
||||
|
mu_stack(mu_Container*, MU_ROOTLIST_SIZE) root_list; |
||||
|
mu_stack(mu_Container*, MU_CONTAINERSTACK_SIZE) container_stack; |
||||
|
mu_stack(mu_Rect, MU_CLIPSTACK_SIZE) clip_stack; |
||||
|
mu_stack(mu_Id, MU_IDSTACK_SIZE) id_stack; |
||||
|
mu_stack(mu_Layout, MU_LAYOUTSTACK_SIZE) layout_stack; |
||||
|
/* retained state pools */ |
||||
|
mu_PoolItem container_pool[MU_CONTAINERPOOL_SIZE]; |
||||
|
mu_Container containers[MU_CONTAINERPOOL_SIZE]; |
||||
|
mu_PoolItem treenode_pool[MU_TREENODEPOOL_SIZE]; |
||||
|
/* input state */ |
||||
|
mu_Vec2 mouse_pos; |
||||
|
mu_Vec2 last_mouse_pos; |
||||
|
mu_Vec2 mouse_delta; |
||||
|
mu_Vec2 scroll_delta; |
||||
|
int mouse_down; |
||||
|
int mouse_pressed; |
||||
|
int key_down; |
||||
|
int key_pressed; |
||||
|
char input_text[32]; |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
mu_Vec2 mu_vec2(int x, int y); |
||||
|
mu_Rect mu_rect(int x, int y, int w, int h); |
||||
|
mu_Color mu_color(int r, int g, int b, int a); |
||||
|
|
||||
|
void mu_init(mu_Context *ctx); |
||||
|
void mu_begin(mu_Context *ctx); |
||||
|
void mu_end(mu_Context *ctx); |
||||
|
void mu_set_focus(mu_Context *ctx, mu_Id id); |
||||
|
mu_Id mu_get_id(mu_Context *ctx, const void *data, int size); |
||||
|
void mu_push_id(mu_Context *ctx, const void *data, int size); |
||||
|
void mu_pop_id(mu_Context *ctx); |
||||
|
void mu_push_clip_rect(mu_Context *ctx, mu_Rect rect); |
||||
|
void mu_pop_clip_rect(mu_Context *ctx); |
||||
|
mu_Rect mu_get_clip_rect(mu_Context *ctx); |
||||
|
int mu_check_clip(mu_Context *ctx, mu_Rect r); |
||||
|
mu_Container* mu_get_current_container(mu_Context *ctx); |
||||
|
mu_Container* mu_get_container(mu_Context *ctx, const char *name); |
||||
|
void mu_bring_to_front(mu_Context *ctx, mu_Container *cnt); |
||||
|
|
||||
|
int mu_pool_init(mu_Context *ctx, mu_PoolItem *items, int len, mu_Id id); |
||||
|
int mu_pool_get(mu_Context *ctx, mu_PoolItem *items, int len, mu_Id id); |
||||
|
void mu_pool_update(mu_Context *ctx, mu_PoolItem *items, int idx); |
||||
|
|
||||
|
void mu_input_mousemove(mu_Context *ctx, int x, int y); |
||||
|
void mu_input_mousedown(mu_Context *ctx, int x, int y, int btn); |
||||
|
void mu_input_mouseup(mu_Context *ctx, int x, int y, int btn); |
||||
|
void mu_input_scroll(mu_Context *ctx, int x, int y); |
||||
|
void mu_input_keydown(mu_Context *ctx, int key); |
||||
|
void mu_input_keyup(mu_Context *ctx, int key); |
||||
|
void mu_input_text(mu_Context *ctx, const char *text); |
||||
|
|
||||
|
mu_Command* mu_push_command(mu_Context *ctx, int type, int size); |
||||
|
int mu_next_command(mu_Context *ctx, mu_Command **cmd); |
||||
|
void mu_set_clip(mu_Context *ctx, mu_Rect rect); |
||||
|
void mu_draw_rect(mu_Context *ctx, mu_Rect rect, mu_Color color); |
||||
|
void mu_draw_box(mu_Context *ctx, mu_Rect rect, mu_Color color); |
||||
|
void mu_draw_text(mu_Context *ctx, mu_Font font, const char *str, int len, mu_Vec2 pos, mu_Color color); |
||||
|
void mu_draw_icon(mu_Context *ctx, int id, mu_Rect rect, mu_Color color); |
||||
|
|
||||
|
void mu_layout_row(mu_Context *ctx, int items, const int *widths, int height); |
||||
|
void mu_layout_width(mu_Context *ctx, int width); |
||||
|
void mu_layout_height(mu_Context *ctx, int height); |
||||
|
void mu_layout_begin_column(mu_Context *ctx); |
||||
|
void mu_layout_end_column(mu_Context *ctx); |
||||
|
void mu_layout_set_next(mu_Context *ctx, mu_Rect r, int relative); |
||||
|
mu_Rect mu_layout_next(mu_Context *ctx); |
||||
|
|
||||
|
void mu_draw_control_frame(mu_Context *ctx, mu_Id id, mu_Rect rect, int colorid, int opt); |
||||
|
void mu_draw_control_text(mu_Context *ctx, const char *str, mu_Rect rect, int colorid, int opt); |
||||
|
int mu_mouse_over(mu_Context *ctx, mu_Rect rect); |
||||
|
void mu_update_control(mu_Context *ctx, mu_Id id, mu_Rect rect, int opt); |
||||
|
|
||||
|
#define mu_button(ctx, label) mu_button_ex(ctx, label, 0, MU_OPT_ALIGNCENTER) |
||||
|
#define mu_textbox(ctx, buf, bufsz) mu_textbox_ex(ctx, buf, bufsz, 0) |
||||
|
#define mu_slider(ctx, value, lo, hi) mu_slider_ex(ctx, value, lo, hi, 0, MU_SLIDER_FMT, MU_OPT_ALIGNCENTER) |
||||
|
#define mu_number(ctx, value, step) mu_number_ex(ctx, value, step, MU_SLIDER_FMT, MU_OPT_ALIGNCENTER) |
||||
|
#define mu_header(ctx, label) mu_header_ex(ctx, label, 0) |
||||
|
#define mu_begin_treenode(ctx, label) mu_begin_treenode_ex(ctx, label, 0) |
||||
|
#define mu_begin_window(ctx, title, rect) mu_begin_window_ex(ctx, title, rect, 0) |
||||
|
#define mu_begin_panel(ctx, name) mu_begin_panel_ex(ctx, name, 0) |
||||
|
|
||||
|
void mu_text(mu_Context *ctx, const char *text); |
||||
|
void mu_label(mu_Context *ctx, const char *text); |
||||
|
int mu_button_ex(mu_Context *ctx, const char *label, int icon, int opt); |
||||
|
int mu_checkbox(mu_Context *ctx, const char *label, int *state); |
||||
|
int mu_textbox_raw(mu_Context *ctx, char *buf, int bufsz, mu_Id id, mu_Rect r, int opt); |
||||
|
int mu_textbox_ex(mu_Context *ctx, char *buf, int bufsz, int opt); |
||||
|
int mu_slider_ex(mu_Context *ctx, mu_Real *value, mu_Real low, mu_Real high, mu_Real step, const char *fmt, int opt); |
||||
|
int mu_number_ex(mu_Context *ctx, mu_Real *value, mu_Real step, const char *fmt, int opt); |
||||
|
int mu_header_ex(mu_Context *ctx, const char *label, int opt); |
||||
|
int mu_begin_treenode_ex(mu_Context *ctx, const char *label, int opt); |
||||
|
void mu_end_treenode(mu_Context *ctx); |
||||
|
int mu_begin_window_ex(mu_Context *ctx, const char *title, mu_Rect rect, int opt); |
||||
|
void mu_end_window(mu_Context *ctx); |
||||
|
void mu_open_popup(mu_Context *ctx, const char *name); |
||||
|
int mu_begin_popup(mu_Context *ctx, const char *name); |
||||
|
void mu_end_popup(mu_Context *ctx); |
||||
|
void mu_begin_panel_ex(mu_Context *ctx, const char *name, int opt); |
||||
|
void mu_end_panel(mu_Context *ctx); |
||||
|
|
||||
|
#endif |
Binary file not shown.
@ -0,0 +1,995 @@ |
|||||
|
|
||||
|
enum { ATLAS_WHITE = MU_ICON_MAX, ATLAS_FONT }; |
||||
|
enum { ATLAS_WIDTH = 128, ATLAS_HEIGHT = 128 }; |
||||
|
|
||||
|
|
||||
|
static unsigned char atlas_texture[ATLAS_WIDTH * ATLAS_HEIGHT] = { |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x20, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x32, 0x0b, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x31, 0x35, 0x01, 0x00, 0x00, 0x00, 0x15, 0x35, 0x1d, 0x30, 0x19, |
||||
|
0x00, 0x00, 0x0f, 0x35, 0x06, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x2d, 0x00, 0x00, 0x00, |
||||
|
0x14, 0x26, 0x00, 0x00, 0x31, 0x2a, 0x00, 0x00, 0x00, 0x10, 0x31, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x06, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x06, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x40, 0x0d, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x31, 0x35, 0x2f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x41, |
||||
|
0x37, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x21, 0xe0, 0xea, 0x2c, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x36, 0xc4, 0xdb, 0xb2, 0xd9, 0xc1, 0x1a, 0x00, 0x00, 0xea, 0xff, 0x39, |
||||
|
0x00, 0x00, 0x00, 0x9e, 0xff, 0x88, 0xbe, 0x9c, 0x00, 0x00, 0x72, 0xff, |
||||
|
0x48, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x1c, 0xe4, 0xce, 0x8d, 0x00, 0x00, 0xb5, 0x60, 0x00, 0x00, |
||||
|
0xea, 0xfa, 0x2c, 0x00, 0x00, 0x4e, 0xeb, 0x00, 0x00, 0x1c, 0x8f, 0xea, |
||||
|
0xea, 0xee, 0x92, 0x1f, 0x00, 0x00, 0x1c, 0x8f, 0xea, 0xea, 0xee, 0x92, |
||||
|
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x42, 0xf3, 0xcd, 0xf5, 0x3a, 0x00, 0x00, 0x00, 0xea, 0xf2, 0xef, 0xe5, |
||||
|
0x8f, 0x2f, 0x00, 0x00, 0x0f, 0xa0, 0xfe, 0xf2, 0xf1, 0xfa, 0x33, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, |
||||
|
0xe0, 0xea, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x35, 0xdc, 0x33, 0x00, 0x06, |
||||
|
0x00, 0x5a, 0xd7, 0x13, 0x00, 0xea, 0xd8, 0x92, 0x00, 0x00, 0x09, 0xf0, |
||||
|
0xd9, 0x88, 0x7b, 0xda, 0x00, 0x00, 0xb9, 0xe9, 0x91, 0x00, 0x05, 0xf4, |
||||
|
0x03, 0x35, 0x02, 0x32, 0x1f, 0x00, 0x04, 0x37, 0x24, 0x00, 0x5b, 0xa9, |
||||
|
0x1b, 0xe7, 0x01, 0x44, 0xd0, 0x02, 0x00, 0x00, 0xea, 0xe4, 0xc3, 0x01, |
||||
|
0x00, 0x4e, 0xeb, 0x00, 0x00, 0x8f, 0xd8, 0x42, 0x01, 0x3a, 0xd0, 0x9b, |
||||
|
0x00, 0x00, 0x8f, 0xd8, 0x42, 0x01, 0x3a, 0xd0, 0x9b, 0x00, 0x2e, 0x1a, |
||||
|
0x00, 0x03, 0x36, 0x19, 0x00, 0x04, 0x36, 0x00, 0xa3, 0xa0, 0x00, 0xb5, |
||||
|
0x8d, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x01, 0x3d, 0xac, 0xe5, 0x03, 0x00, |
||||
|
0xa1, 0xeb, 0x63, 0x0c, 0x03, 0x2e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xe1, 0xeb, 0x2d, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xd6, 0x38, 0x37, 0xb4, 0xd6, 0xe9, 0x35, 0x9e, 0x5c, |
||||
|
0x00, 0xea, 0x87, 0xe8, 0x03, 0x00, 0x56, 0xcc, 0xba, 0x88, 0x38, 0xff, |
||||
|
0x1a, 0x09, 0xf7, 0x84, 0xd9, 0x00, 0x39, 0xfe, 0x0e, 0xff, 0xb7, 0xe1, |
||||
|
0xf3, 0x94, 0xbc, 0xde, 0xfb, 0x97, 0x73, 0x9b, 0x0b, 0xfb, 0x0b, 0xcf, |
||||
|
0x44, 0x01, 0x00, 0x00, 0xea, 0x65, 0xf7, 0x63, 0x00, 0x4e, 0xeb, 0x00, |
||||
|
0x01, 0xe0, 0x79, 0x00, 0x00, 0x00, 0x6b, 0xea, 0x03, 0x01, 0xe0, 0x79, |
||||
|
0x00, 0x00, 0x00, 0x6b, 0xea, 0x03, 0xb0, 0xa4, 0x00, 0x39, 0xfe, 0xa0, |
||||
|
0x00, 0x3d, 0xfd, 0x00, 0x6e, 0xe0, 0x5b, 0xef, 0x41, 0x00, 0x00, 0x00, |
||||
|
0xea, 0x6d, 0x00, 0x00, 0x17, 0xfd, 0x47, 0x18, 0xff, 0x8f, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x21, 0xe1, 0xeb, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xe3, |
||||
|
0x00, 0xc5, 0x51, 0x00, 0xd4, 0x37, 0x61, 0x99, 0x00, 0xea, 0x4d, 0xe9, |
||||
|
0x45, 0x00, 0xb2, 0x70, 0xbf, 0x88, 0x04, 0xf0, 0x59, 0x48, 0xe9, 0x18, |
||||
|
0xfd, 0x23, 0x77, 0xd4, 0x0e, 0xff, 0x9f, 0x02, 0x54, 0xff, 0x86, 0x00, |
||||
|
0x69, 0xf0, 0x39, 0xd1, 0x61, 0xca, 0x60, 0xb6, 0x6f, 0xe3, 0x98, 0x00, |
||||
|
0xea, 0x4a, 0x7f, 0xec, 0x15, 0x4e, 0xeb, 0x00, 0x32, 0xff, 0x36, 0x00, |
||||
|
0x00, 0x00, 0x29, 0xff, 0x3e, 0x32, 0xff, 0x36, 0x00, 0x00, 0x00, 0x29, |
||||
|
0xff, 0x3f, 0x68, 0xe6, 0x00, 0x83, 0xaf, 0xe7, 0x01, 0x80, 0xc9, 0x00, |
||||
|
0x18, 0xf4, 0xff, 0x53, 0x00, 0x15, 0x3b, 0x00, 0xea, 0x6d, 0x00, 0x00, |
||||
|
0x00, 0xc5, 0xa2, 0x41, 0xff, 0x39, 0x00, 0x40, 0x73, 0x73, 0x35, 0x00, |
||||
|
0x00, 0x00, 0x3d, 0xed, 0x45, 0x00, 0x00, 0x00, 0x22, 0xe1, 0xeb, 0x2d, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xb3, 0x12, 0xf9, 0x04, 0x03, |
||||
|
0xef, 0x2c, 0x6a, 0x94, 0x00, 0xea, 0x4d, 0x95, 0x9e, 0x14, 0xf6, 0x18, |
||||
|
0xc1, 0x88, 0x00, 0xb2, 0x96, 0x8e, 0xa4, 0x00, 0xcb, 0x6a, 0xb5, 0x92, |
||||
|
0x0e, 0xff, 0x59, 0x00, 0x27, 0xff, 0x3d, 0x00, 0x3a, 0xff, 0x04, 0x71, |
||||
|
0xae, 0x40, 0xe0, 0x2e, 0xee, 0x1e, 0xd5, 0x00, 0xea, 0x4d, 0x08, 0xd9, |
||||
|
0xa0, 0x4b, 0xeb, 0x00, 0x20, 0xfe, 0x45, 0x00, 0x00, 0x00, 0x37, 0xff, |
||||
|
0x2c, 0x20, 0xfe, 0x45, 0x00, 0x00, 0x00, 0x37, 0xff, 0x3b, 0x21, 0xff, |
||||
|
0x29, 0xcc, 0x4a, 0xe9, 0x30, 0xc3, 0x81, 0x14, 0xdf, 0xab, 0xbd, 0xcd, |
||||
|
0x14, 0x9c, 0xb5, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0xdc, 0xa6, 0x20, |
||||
|
0xfe, 0x42, 0x00, 0x63, 0xb2, 0xf4, 0x76, 0x00, 0x00, 0x00, 0x13, 0xd0, |
||||
|
0xf6, 0x45, 0x00, 0x22, 0xe1, 0xeb, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x3f, 0xe7, 0x03, 0xd7, 0x5e, 0x75, 0xf7, 0x8d, 0xc7, 0x4a, |
||||
|
0x00, 0xea, 0x4d, 0x3c, 0xf0, 0x71, 0xb7, 0x00, 0xc1, 0x88, 0x00, 0x70, |
||||
|
0xc9, 0xcb, 0x5d, 0x00, 0x83, 0xa2, 0xe9, 0x4f, 0x0e, 0xff, 0x43, 0x00, |
||||
|
0x26, 0xff, 0x2d, 0x00, 0x39, 0xff, 0x00, 0x00, 0x00, 0x7c, 0x9a, 0x1f, |
||||
|
0xf1, 0x00, 0xaf, 0x00, 0xea, 0x4d, 0x00, 0x44, 0xfe, 0x83, 0xeb, 0x00, |
||||
|
0x00, 0xcd, 0x89, 0x00, 0x00, 0x00, 0x7b, 0xd9, 0x00, 0x00, 0xcd, 0x89, |
||||
|
0x00, 0x00, 0x00, 0x7b, 0xf8, 0x08, 0x00, 0xd8, 0x75, 0xf8, 0x0d, 0xa7, |
||||
|
0x79, 0xf7, 0x39, 0x5b, 0xfc, 0x0a, 0x09, 0xba, 0xd4, 0xf6, 0x39, 0x00, |
||||
|
0xea, 0x6d, 0x00, 0x00, 0x31, 0xff, 0x75, 0x00, 0xcc, 0x8f, 0x00, 0x00, |
||||
|
0x00, 0xdb, 0x76, 0x00, 0x00, 0x00, 0x00, 0x13, 0xd0, 0xf6, 0x63, 0xe1, |
||||
|
0xeb, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xf3, |
||||
|
0x44, 0x2c, 0x96, 0x87, 0x29, 0xa3, 0x64, 0x00, 0x00, 0xea, 0x4d, 0x01, |
||||
|
0xe1, 0xf3, 0x5b, 0x00, 0xc1, 0x88, 0x00, 0x2e, 0xf7, 0xf5, 0x17, 0x00, |
||||
|
0x3a, 0xec, 0xfc, 0x10, 0x0e, 0xff, 0x43, 0x00, 0x26, 0xff, 0x2d, 0x00, |
||||
|
0x39, 0xff, 0x00, 0x00, 0x17, 0xe6, 0x19, 0x02, 0xee, 0x13, 0xd0, 0x00, |
||||
|
0xea, 0x4d, 0x00, 0x00, 0xa5, 0xf6, 0xeb, 0x00, 0x00, 0x7d, 0xec, 0x7a, |
||||
|
0x24, 0x73, 0xe7, 0x87, 0x00, 0x00, 0x7d, 0xec, 0x7a, 0x24, 0x73, 0xe7, |
||||
|
0x9c, 0x00, 0x00, 0x91, 0xda, 0xbd, 0x00, 0x61, 0xd9, 0xed, 0x03, 0x2b, |
||||
|
0xfe, 0x67, 0x1d, 0x70, 0xfc, 0xf0, 0x1a, 0x00, 0xea, 0x7f, 0x31, 0x81, |
||||
|
0xdc, 0xdc, 0x0a, 0x00, 0x79, 0xef, 0x83, 0x23, 0x1c, 0xe1, 0x76, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x13, 0xd0, 0xff, 0xec, 0x2e, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0xdc, 0x78, 0x20, 0x0d, |
||||
|
0x3c, 0x3b, 0x00, 0x00, 0x00, 0xea, 0x4d, 0x00, 0x8a, 0xf3, 0x0b, 0x00, |
||||
|
0xc1, 0x88, 0x00, 0x01, 0xea, 0xce, 0x00, 0x00, 0x03, 0xed, 0xc9, 0x00, |
||||
|
0x0e, 0xff, 0x43, 0x00, 0x26, 0xff, 0x2d, 0x00, 0x39, 0xff, 0x00, 0x00, |
||||
|
0x98, 0x7e, 0x00, 0x00, 0x78, 0xe7, 0xb0, 0x00, 0xea, 0x4d, 0x00, 0x00, |
||||
|
0x18, 0xef, 0xeb, 0x00, 0x00, 0x06, 0x54, 0xb6, 0xfb, 0xbb, 0x57, 0x07, |
||||
|
0x00, 0x00, 0x06, 0x54, 0xb6, 0xfc, 0xff, 0x8d, 0x01, 0x00, 0x00, 0x49, |
||||
|
0xff, 0x74, 0x00, 0x1b, 0xfe, 0xa8, 0x00, 0x00, 0x7f, 0xde, 0xff, 0xe7, |
||||
|
0x72, 0xb1, 0xdb, 0x00, 0xea, 0xff, 0xf8, 0xd6, 0x92, 0x13, 0x00, 0x00, |
||||
|
0x06, 0x52, 0xb4, 0xfb, 0xff, 0xe5, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x13, 0xbc, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x44, 0xb7, 0xde, 0xdb, 0xad, 0x50, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x1b, 0xda, 0xbb, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, |
||||
|
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xe6, |
||||
|
0xa0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x17, 0x00, 0x00, 0x00, |
||||
|
0x2a, 0x1e, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x2c, 0x1c, 0x00, 0x00, |
||||
|
0x0c, 0x27, 0x00, 0x29, 0x09, 0x00, 0x00, 0x00, 0x3c, 0x24, 0x00, 0x00, |
||||
|
0x00, 0x31, 0x35, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x44, |
||||
|
0x1f, 0x00, 0x00, 0x31, 0x17, 0x00, 0x00, 0x13, 0x35, 0x00, 0x31, 0x35, |
||||
|
0x2b, 0x02, 0x00, 0x00, 0x00, 0x31, 0x35, 0x2a, 0x02, 0x00, 0x00, 0x33, |
||||
|
0x16, 0x00, 0x00, 0x00, 0x0f, 0x35, 0x27, 0x28, 0x00, 0x00, 0x00, 0x1f, |
||||
|
0x2e, 0x0b, 0xbc, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x13, 0xbc, 0x2a, 0x0b, 0xbc, 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, 0xea, 0x6d, 0x00, 0x00, 0x00, 0xc9, 0x8e, 0x00, 0xfc, |
||||
|
0x5b, 0x00, 0x00, 0x00, 0xd2, 0x84, 0x00, 0x00, 0x59, 0xa9, 0x00, 0xea, |
||||
|
0x0f, 0x00, 0x00, 0x34, 0xfe, 0xce, 0x00, 0x00, 0x00, 0xea, 0xf2, 0xed, |
||||
|
0xfa, 0xce, 0x1a, 0x00, 0x09, 0xb5, 0xfd, 0xe7, 0xf5, 0xaf, 0x00, 0xea, |
||||
|
0x6d, 0x00, 0x0c, 0xcf, 0xa7, 0x00, 0xea, 0xf2, 0xf3, 0xea, 0x94, 0x00, |
||||
|
0x00, 0xea, 0xf4, 0xf6, 0xec, 0x9d, 0x00, 0xc0, 0x9e, 0x00, 0x00, 0x00, |
||||
|
0x7a, 0xe5, 0x58, 0xf8, 0x26, 0x00, 0x0d, 0xe4, 0x7a, 0x0e, 0xff, 0x43, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0x39, 0x0e, |
||||
|
0xff, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, |
||||
|
0x6d, 0x00, 0x00, 0x00, 0xc9, 0x8e, 0x00, 0xfc, 0x5b, 0x00, 0x00, 0x00, |
||||
|
0xd2, 0x84, 0x00, 0x00, 0x89, 0x79, 0x1c, 0xdd, 0x00, 0x00, 0x00, 0x93, |
||||
|
0xad, 0xf9, 0x2e, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x19, 0xe3, 0x8c, 0x00, |
||||
|
0xab, 0xe1, 0x4f, 0x02, 0x07, 0x1f, 0x00, 0xea, 0x6d, 0x03, 0xb2, 0xc6, |
||||
|
0x08, 0x00, 0xea, 0x6d, 0x03, 0x4d, 0xff, 0x33, 0x00, 0xea, 0x6d, 0x03, |
||||
|
0x49, 0xff, 0x3a, 0x67, 0xee, 0x06, 0x00, 0x00, 0xd0, 0x8e, 0x00, 0xb3, |
||||
|
0xbb, 0x00, 0x8e, 0xcf, 0x05, 0x0e, 0xff, 0x41, 0x12, 0x25, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x18, 0x20, 0x18, 0xff, 0x39, 0x0e, 0xff, 0x41, 0x2e, 0x33, |
||||
|
0x01, 0x00, 0x03, 0x35, 0x01, 0x2e, 0x34, 0x01, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x04, 0x39, 0x05, 0x00, 0x00, 0x03, 0x36, 0x02, 0x11, 0x25, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, |
||||
|
0xc9, 0x8e, 0x00, 0xfc, 0x5b, 0x00, 0x00, 0x00, 0xd2, 0x84, 0x41, 0xd3, |
||||
|
0xf0, 0xe3, 0xdd, 0xf4, 0xd3, 0x00, 0x06, 0xec, 0x52, 0xb4, 0x8d, 0x00, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x06, 0xdd, 0x86, 0x0b, 0xfc, 0x81, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xea, 0x6d, 0x8d, 0xdd, 0x15, 0x00, 0x00, 0xea, 0x6d, |
||||
|
0x00, 0x07, 0xf3, 0x64, 0x00, 0xea, 0x6d, 0x00, 0x0a, 0xf4, 0x69, 0x13, |
||||
|
0xfa, 0x4a, 0x00, 0x27, 0xff, 0x34, 0x00, 0x1c, 0xf1, 0x86, 0xf7, 0x33, |
||||
|
0x00, 0x0e, 0xff, 0xaa, 0xd3, 0xf8, 0xab, 0x01, 0x00, 0x87, 0xf6, 0xda, |
||||
|
0xa5, 0xff, 0x39, 0x0e, 0xff, 0xc0, 0xe5, 0xf2, 0xd5, 0x03, 0x0e, 0xff, |
||||
|
0xb4, 0xe5, 0xf2, 0xd6, 0x04, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xe7, 0xdd, |
||||
|
0xe7, 0x6d, 0x00, 0x0e, 0xff, 0x98, 0xd2, 0xf8, 0xab, 0x01, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xea, 0xe9, 0xd9, 0xd9, 0xd9, 0xf7, 0x8e, 0x00, 0xfc, |
||||
|
0x5b, 0x00, 0x00, 0x00, 0xd2, 0x84, 0x09, 0x1d, 0xec, 0x2e, 0x93, 0x87, |
||||
|
0x1d, 0x00, 0x52, 0xf1, 0x09, 0x5d, 0xe8, 0x04, 0x00, 0xea, 0xe4, 0xd3, |
||||
|
0xf6, 0xb1, 0x0d, 0x3c, 0xff, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, |
||||
|
0xc9, 0xff, 0x60, 0x00, 0x00, 0x00, 0xea, 0x8a, 0x49, 0x9e, 0xf1, 0x0d, |
||||
|
0x00, 0xea, 0xa6, 0x71, 0xbb, 0xe1, 0x1a, 0x00, 0xb4, 0xa0, 0x00, 0x7d, |
||||
|
0xda, 0x00, 0x00, 0x00, 0x74, 0xff, 0x93, 0x00, 0x00, 0x0e, 0xff, 0x9c, |
||||
|
0x02, 0x2a, 0xff, 0x32, 0x0e, 0xfa, 0x5a, 0x00, 0x6f, 0xff, 0x39, 0x0e, |
||||
|
0xff, 0xa6, 0x04, 0x1e, 0xff, 0x42, 0x0e, 0xff, 0xa5, 0x04, 0x1e, 0xff, |
||||
|
0x42, 0x00, 0x00, 0x00, 0x07, 0xf1, 0x59, 0x00, 0x55, 0xf2, 0x09, 0x0e, |
||||
|
0xff, 0x99, 0x01, 0x2d, 0xff, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, |
||||
|
0x98, 0x4c, 0x4c, 0x4c, 0xd9, 0x8e, 0x00, 0xfc, 0x5b, 0x00, 0x00, 0x00, |
||||
|
0xd2, 0x84, 0x37, 0x58, 0xef, 0x4a, 0xc6, 0x83, 0x38, 0x00, 0xb1, 0xd5, |
||||
|
0x6f, 0x7d, 0xff, 0x4c, 0x00, 0xea, 0x94, 0x47, 0x70, 0xe7, 0x83, 0x22, |
||||
|
0xff, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xd2, 0xaf, 0xe2, 0x10, |
||||
|
0x00, 0x00, 0xea, 0xf5, 0xda, 0x94, 0x3e, 0x00, 0x00, 0xea, 0xd6, 0xc4, |
||||
|
0xfd, 0x27, 0x00, 0x00, 0x5b, 0xef, 0x06, 0xd3, 0x81, 0x00, 0x00, 0x01, |
||||
|
0xbc, 0xeb, 0xd2, 0x06, 0x00, 0x0e, 0xff, 0x56, 0x00, 0x00, 0xdd, 0x77, |
||||
|
0x50, 0xfb, 0x0c, 0x00, 0x23, 0xff, 0x39, 0x0e, 0xff, 0x5c, 0x00, 0x00, |
||||
|
0xeb, 0x68, 0x0e, 0xff, 0x5c, 0x00, 0x00, 0xeb, 0x68, 0x00, 0x00, 0x00, |
||||
|
0x4c, 0xfb, 0x0b, 0x00, 0x08, 0xf8, 0x51, 0x0e, 0xff, 0x52, 0x00, 0x00, |
||||
|
0xde, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, |
||||
|
0xc9, 0x8e, 0x00, 0xd3, 0x85, 0x00, 0x00, 0x09, 0xf4, 0x6b, 0x7b, 0xc7, |
||||
|
0xdf, 0xa7, 0xfd, 0xa9, 0x7f, 0x16, 0xfa, 0xc4, 0xb8, 0xb8, 0xe2, 0xab, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x00, 0x8e, 0xdf, 0x00, 0xd2, 0x89, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xea, 0x6d, 0x0f, 0xe0, 0xa1, 0x00, 0x00, 0xea, 0x6d, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x01, 0xc6, 0xa5, 0x00, 0x00, |
||||
|
0x0c, 0xf5, 0x69, 0xff, 0x28, 0x00, 0x00, 0x60, 0xec, 0x21, 0xe4, 0x80, |
||||
|
0x00, 0x0e, 0xff, 0x65, 0x00, 0x01, 0xea, 0x67, 0x43, 0xfe, 0x12, 0x00, |
||||
|
0x25, 0xff, 0x39, 0x0e, 0xff, 0x43, 0x00, 0x00, 0xea, 0x68, 0x0e, 0xff, |
||||
|
0x43, 0x00, 0x00, 0xea, 0x68, 0x00, 0x00, 0x00, 0x4c, 0xfe, 0x16, 0x00, |
||||
|
0x11, 0xfd, 0x40, 0x0e, 0xff, 0x65, 0x00, 0x01, 0xeb, 0x67, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0xc9, 0x8e, 0x00, 0x72, |
||||
|
0xdf, 0x4b, 0x23, 0x8c, 0xfa, 0x28, 0x00, 0x7c, 0x81, 0x1a, 0xe5, 0x00, |
||||
|
0x00, 0x70, 0xeb, 0x05, 0x00, 0x00, 0x5c, 0xf8, 0x00, 0xea, 0x7f, 0x22, |
||||
|
0x4a, 0xdd, 0x95, 0x00, 0x84, 0xed, 0x7c, 0x1d, 0x24, 0x32, 0x00, 0xea, |
||||
|
0x6d, 0x00, 0x40, 0xfd, 0x52, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x31, 0xfc, 0x49, 0x00, 0x00, 0xa8, 0xe3, 0xcd, |
||||
|
0x00, 0x00, 0x17, 0xed, 0x62, 0x00, 0x54, 0xf9, 0x2d, 0x0e, 0xff, 0xbc, |
||||
|
0x1d, 0x5f, 0xff, 0x21, 0x07, 0xf5, 0x7e, 0x11, 0x8d, 0xff, 0x39, 0x0e, |
||||
|
0xff, 0x43, 0x00, 0x00, 0xea, 0x68, 0x0e, 0xff, 0x43, 0x00, 0x00, 0xea, |
||||
|
0x68, 0x00, 0x00, 0x00, 0x14, 0xf2, 0x88, 0x15, 0x82, 0xe8, 0x03, 0x0e, |
||||
|
0xff, 0xbc, 0x1e, 0x61, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, |
||||
|
0x6d, 0x00, 0x00, 0x00, 0xc9, 0x8e, 0x00, 0x10, 0x85, 0xdc, 0xfe, 0xd9, |
||||
|
0x4c, 0x00, 0x00, 0xaa, 0x50, 0x4b, 0xb4, 0x00, 0x00, 0xcf, 0x97, 0x00, |
||||
|
0x00, 0x00, 0x0c, 0xf4, 0x00, 0xea, 0xff, 0xff, 0xdd, 0x93, 0x1c, 0x00, |
||||
|
0x08, 0x5c, 0xc0, 0xfe, 0xed, 0x7b, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x8d, |
||||
|
0xea, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, |
||||
|
0x00, 0x95, 0xe0, 0x00, 0x00, 0x4f, 0xff, 0x74, 0x00, 0x00, 0xa8, 0xc3, |
||||
|
0x01, 0x00, 0x00, 0xb7, 0xca, 0x0e, 0xfd, 0x6f, 0xd4, 0xe5, 0x72, 0x00, |
||||
|
0x00, 0x5c, 0xd9, 0xdb, 0x63, 0xef, 0x39, 0x0e, 0xff, 0x43, 0x00, 0x00, |
||||
|
0xea, 0x68, 0x0e, 0xff, 0x43, 0x00, 0x00, 0xea, 0x68, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x43, 0xdb, 0xfc, 0xb7, 0x46, 0x00, 0x0e, 0xff, 0x8c, 0xd4, 0xe4, |
||||
|
0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, |
||||
|
0x00, 0x00, 0x00, 0x0e, 0xff, 0x43, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, |
||||
|
0xff, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xc2, 0x33, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x79, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x58, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, |
||||
|
0x14, 0x00, 0x00, 0x04, 0x32, 0x3b, 0x03, 0x00, 0x00, 0x00, 0x21, 0x38, |
||||
|
0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3b, 0x0f, 0x00, 0x2e, 0x35, 0x35, |
||||
|
0x35, 0x16, 0x00, 0x00, 0x03, 0x26, 0x49, 0x1f, 0x1e, 0x33, 0x33, 0x33, |
||||
|
0x33, 0x33, 0x00, 0x00, 0x18, 0x3a, 0x05, 0x00, 0x00, 0x00, 0x14, 0x37, |
||||
|
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, |
||||
|
0x00, 0x31, 0x35, 0x35, 0x35, 0x27, 0x00, 0x31, 0x35, 0x35, 0x35, 0x26, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xa6, 0xea, 0x9e, 0x53, 0x0f, 0x03, |
||||
|
0x5f, 0xa3, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, |
||||
|
0xe9, 0xea, 0xb4, 0x23, 0x00, 0x07, 0x98, 0xff, 0x61, 0x00, 0x27, 0xd4, |
||||
|
0xee, 0xe8, 0xe8, 0x2f, 0x32, 0xcf, 0xdd, 0xe5, 0xef, 0x33, 0x00, 0x00, |
||||
|
0x00, 0x89, 0xff, 0x41, 0x00, 0xea, 0xf9, 0xf6, 0xf6, 0x64, 0x00, 0x25, |
||||
|
0xcf, 0xfe, 0xd1, 0x6c, 0x90, 0xf6, 0xf6, 0xf6, 0xf9, 0xff, 0x00, 0xa0, |
||||
|
0xea, 0xca, 0xee, 0x3e, 0x00, 0x9e, 0xf3, 0xe2, 0xe3, 0x1c, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0xea, 0xf4, 0xec, |
||||
|
0xec, 0xac, 0x00, 0xea, 0xf4, 0xec, 0xec, 0xa9, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x17, 0x3a, 0x05, 0x30, 0x0c, 0x06, 0x36, 0x0c, 0x00, 0x00, 0x34, 0x13, |
||||
|
0x16, 0xf6, 0x91, 0xc3, 0x79, 0x5b, 0x80, 0xed, 0xc9, 0xd9, 0xdb, 0xcb, |
||||
|
0x00, 0x00, 0x31, 0xa9, 0x00, 0x00, 0x06, 0xf7, 0x57, 0x0c, 0xbd, 0x88, |
||||
|
0x05, 0xc6, 0xb6, 0xed, 0x61, 0x00, 0x08, 0x64, 0x05, 0x02, 0xbf, 0x9d, |
||||
|
0x04, 0x3a, 0x00, 0x01, 0xbe, 0xa2, 0x00, 0x00, 0x3d, 0xd1, 0xfc, 0x41, |
||||
|
0x02, 0xfc, 0x41, 0x00, 0x00, 0x00, 0x00, 0xc9, 0xa9, 0x1f, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x90, 0xbf, 0x23, 0xfe, 0x27, 0x00, 0x9b, 0xaf, |
||||
|
0x2b, 0xfc, 0x21, 0x00, 0xa9, 0xb1, 0x00, 0x00, 0x00, 0x01, 0x50, 0xce, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x98, 0x1e, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x7c, 0xc1, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xea, |
||||
|
0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xf6, 0xdf, 0xbf, 0xf9, |
||||
|
0x39, 0x1d, 0xff, 0x38, 0x00, 0x00, 0xf6, 0x5c, 0x30, 0xff, 0x55, 0xa7, |
||||
|
0x00, 0x00, 0x06, 0x21, 0xdd, 0xeb, 0x45, 0x0c, 0x00, 0x00, 0x3a, 0xc8, |
||||
|
0x00, 0x00, 0x35, 0xfd, 0x09, 0x00, 0x77, 0xc1, 0x00, 0x44, 0x03, 0xee, |
||||
|
0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0xa9, 0x00, 0x00, 0x00, 0x09, |
||||
|
0xdb, 0x79, 0x00, 0x0d, 0xdc, 0x43, 0xff, 0x41, 0x13, 0xff, 0x38, 0x0f, |
||||
|
0x00, 0x00, 0x36, 0xff, 0x34, 0x26, 0x05, 0x00, 0x00, 0x00, 0x00, 0x12, |
||||
|
0xf3, 0x4e, 0x0a, 0xf1, 0x6b, 0x16, 0xce, 0x80, 0x6e, 0xda, 0x00, 0x00, |
||||
|
0x58, 0xe9, 0x00, 0x01, 0x50, 0xce, 0xbc, 0x44, 0x49, 0xab, 0xab, 0xab, |
||||
|
0xab, 0xa8, 0x0f, 0x78, 0xe1, 0x98, 0x1f, 0x00, 0x00, 0x01, 0xdb, 0x62, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6a, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x0e, 0xfa, 0x58, 0x00, 0x6f, 0xff, 0x39, 0x1d, 0xff, 0x38, |
||||
|
0x00, 0x00, 0xf6, 0x5c, 0x00, 0x90, 0xfc, 0xdd, 0x46, 0x00, 0x00, 0x8b, |
||||
|
0xbb, 0x75, 0xce, 0x06, 0x41, 0x8d, 0xa7, 0xe7, 0x8d, 0x8d, 0x6b, 0xe3, |
||||
|
0x00, 0x00, 0x52, 0xf5, 0x00, 0x00, 0x00, 0xf0, 0x61, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x31, 0xf8, 0x3f, 0x00, 0x33, 0xcb, 0xf8, 0x85, 0x05, 0x00, 0x9c, |
||||
|
0x8e, 0x08, 0xff, 0x41, 0x1f, 0xfd, 0xfe, 0xfa, 0xb8, 0x2d, 0x5b, 0xf2, |
||||
|
0xc9, 0xe6, 0xe7, 0x5a, 0x00, 0x00, 0x00, 0x7c, 0xd9, 0x02, 0x00, 0x37, |
||||
|
0xfb, 0xf8, 0xa4, 0x02, 0x2e, 0xfd, 0x49, 0x26, 0xbd, 0xfe, 0x35, 0xce, |
||||
|
0xac, 0x34, 0x00, 0x00, 0x24, 0x55, 0x55, 0x55, 0x55, 0x53, 0x00, 0x00, |
||||
|
0x08, 0x68, 0xd8, 0x98, 0x00, 0x3b, 0xf4, 0x0d, 0x00, 0xea, 0xe8, 0xd6, |
||||
|
0xd6, 0x6f, 0x00, 0xea, 0xb6, 0x82, 0x82, 0x42, 0x00, 0x00, 0x4f, 0xfb, |
||||
|
0x0c, 0x00, 0x23, 0xff, 0x39, 0x1d, 0xff, 0x38, 0x00, 0x00, 0xf6, 0x5c, |
||||
|
0x00, 0x00, 0x3a, 0xe4, 0xf4, 0x89, 0x00, 0x24, 0x30, 0x0c, 0x48, 0x00, |
||||
|
0x34, 0x72, 0x92, 0xe1, 0x72, 0x72, 0x5e, 0xea, 0x00, 0x00, 0x59, 0xee, |
||||
|
0x00, 0x00, 0x00, 0xf0, 0x61, 0x00, 0x00, 0x00, 0x22, 0xe6, 0x76, 0x00, |
||||
|
0x00, 0x15, 0x57, 0x82, 0xe7, 0x79, 0x4d, 0xd5, 0x09, 0x08, 0xff, 0x41, |
||||
|
0x00, 0x13, 0x03, 0x2c, 0xcd, 0xa5, 0x6f, 0xfc, 0x30, 0x01, 0x81, 0xd3, |
||||
|
0x00, 0x00, 0x09, 0xe9, 0x6a, 0x00, 0x0f, 0xc5, 0xb2, 0x78, 0xed, 0x63, |
||||
|
0x00, 0x7f, 0xe4, 0xe4, 0xa5, 0xeb, 0x34, 0xc4, 0xcd, 0x64, 0x0a, 0x00, |
||||
|
0x2e, 0x6c, 0x6c, 0x6c, 0x6c, 0x6a, 0x00, 0x00, 0x29, 0x92, 0xe4, 0x93, |
||||
|
0x00, 0x9a, 0xa3, 0x00, 0x00, 0xea, 0x96, 0x48, 0x48, 0x25, 0x00, 0xea, |
||||
|
0xc8, 0xa1, 0xa1, 0x52, 0x00, 0x00, 0x43, 0xfe, 0x12, 0x00, 0x23, 0xff, |
||||
|
0x39, 0x1c, 0xff, 0x3d, 0x00, 0x1c, 0xff, 0x5c, 0x06, 0x00, 0x17, 0xa7, |
||||
|
0x8a, 0xdd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xc8, |
||||
|
0x00, 0x00, 0x25, 0xff, 0x0f, 0x00, 0x7f, 0xb8, 0x00, 0x00, 0x00, 0xf0, |
||||
|
0x61, 0x00, 0x00, 0x20, 0xe0, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x84, 0xe4, 0xc4, 0xf0, 0xe2, 0xe3, 0xff, 0xe9, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x7b, 0xdd, 0x4b, 0xf3, 0x07, 0x00, 0x47, 0xf8, 0x00, 0x00, 0x68, 0xed, |
||||
|
0x0b, 0x00, 0x5f, 0xe3, 0x02, 0x00, 0x5d, 0xeb, 0x00, 0x00, 0x01, 0x00, |
||||
|
0xaa, 0xbd, 0x00, 0x00, 0x35, 0xa5, 0xea, 0x90, 0x3f, 0x92, 0x92, 0x92, |
||||
|
0x92, 0x90, 0x34, 0xbe, 0xe0, 0x74, 0x10, 0x00, 0x09, 0xf0, 0x44, 0x00, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6a, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x07, 0xf5, 0x7b, 0x10, 0x8b, 0xff, 0x39, 0x02, 0xe4, 0x8c, |
||||
|
0x10, 0x86, 0xff, 0x5c, 0x60, 0xd2, 0xa9, 0xea, 0xfd, 0x77, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x91, 0x00, 0x00, 0x01, 0xea, |
||||
|
0x87, 0x2f, 0xd5, 0x81, 0x00, 0x00, 0x00, 0xf0, 0x61, 0x00, 0x1f, 0xdf, |
||||
|
0x9f, 0x29, 0x29, 0x29, 0x36, 0x28, 0x04, 0x29, 0xcd, 0x9c, 0x2a, 0x35, |
||||
|
0x35, 0x3b, 0xff, 0x69, 0x28, 0x37, 0x09, 0x32, 0xd3, 0x81, 0x16, 0xef, |
||||
|
0x7f, 0x18, 0xa7, 0xaf, 0x00, 0x03, 0xdb, 0x87, 0x00, 0x00, 0x3e, 0xf5, |
||||
|
0x26, 0x05, 0x88, 0xc7, 0x00, 0x06, 0x1b, 0x75, 0xf4, 0x48, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x1b, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x56, |
||||
|
0x04, 0x00, 0x00, 0x00, 0x5a, 0xe2, 0x02, 0x00, 0x00, 0xea, 0x81, 0x24, |
||||
|
0x24, 0x1a, 0x00, 0xea, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, |
||||
|
0xda, 0xda, 0x71, 0xff, 0x39, 0x00, 0x68, 0xe4, 0xfa, 0xa6, 0xd0, 0x5c, |
||||
|
0x09, 0x38, 0x74, 0xc9, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xb5, 0xef, 0x82, 0x10, |
||||
|
0x00, 0x00, 0x00, 0xf0, 0x61, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, |
||||
|
0x5f, 0xdc, 0xfc, 0xe9, 0xa6, 0x22, 0x00, 0x00, 0x00, 0x08, 0xff, 0x41, |
||||
|
0x3e, 0xd7, 0xfd, 0xe4, 0x95, 0x17, 0x00, 0x47, 0xdc, 0xfb, 0xb2, 0x30, |
||||
|
0x00, 0x55, 0xfa, 0x1b, 0x00, 0x00, 0x00, 0x90, 0xe3, 0xf2, 0xbf, 0x3c, |
||||
|
0x00, 0xec, 0xfc, 0xde, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0xb9, 0x85, 0x00, 0x00, 0x00, 0xea, 0xff, 0xff, 0xff, 0xba, 0x00, 0xea, |
||||
|
0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x1a, 0xff, |
||||
|
0x39, 0x00, 0x00, 0x02, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x70, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x01, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x01, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x0d, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x14, 0xc2, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x17, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x15, 0x43, 0x14, 0x00, 0x2d, 0x35, 0x35, 0x35, |
||||
|
0x35, 0x35, 0x32, 0x1b, 0x00, 0x00, 0x00, 0x26, 0x1c, 0x35, 0x35, 0x35, |
||||
|
0x35, 0x35, 0x00, 0x00, 0x1d, 0x17, 0x00, 0x00, 0x00, 0x00, 0x8c, 0xa9, |
||||
|
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xbc, 0x2f, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7a, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x35, 0x35, |
||||
|
0x35, 0x2b, 0x0d, 0x35, 0x04, 0x35, 0x0e, 0x00, 0x12, 0x41, 0x0e, 0x00, |
||||
|
0x2f, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xa1, |
||||
|
0xf9, 0xe4, 0xfe, 0x7c, 0xc9, 0xf0, 0xf6, 0xfe, 0xf0, 0xf0, 0x9e, 0xd1, |
||||
|
0x02, 0x00, 0x14, 0xf1, 0x7c, 0xf0, 0xf0, 0xf0, 0xf8, 0xff, 0x00, 0x00, |
||||
|
0xbd, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb2, 0x74, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x0e, 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, 0x58, 0xaa, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x60, 0x60, 0x60, 0xaa, 0x33, 0xfc, |
||||
|
0x02, 0xf9, 0x36, 0x9f, 0xeb, 0xd6, 0xf7, 0x5d, 0xa5, 0x99, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x2b, 0xfe, 0x2d, 0x00, 0x1a, 0x15, |
||||
|
0x00, 0x00, 0x6c, 0xea, 0x00, 0x00, 0x1d, 0xf7, 0x58, 0x00, 0x8a, 0xda, |
||||
|
0x00, 0x00, 0x00, 0x08, 0xd5, 0x9c, 0x00, 0x35, 0xc9, 0xd2, 0x34, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x03, 0x35, 0x42, 0x09, 0x00, |
||||
|
0x00, 0x00, 0x07, 0x38, 0x03, 0x00, 0x00, 0x00, 0x28, 0x48, 0x36, 0x36, |
||||
|
0x0e, 0xff, 0x40, 0x00, 0x0e, 0x36, 0x34, 0x17, 0x00, 0x00, 0x0f, 0x36, |
||||
|
0x25, 0x2c, 0x00, 0x00, 0x1a, 0x35, 0x33, 0x1a, 0x00, 0x00, 0x10, 0x36, |
||||
|
0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x95, 0x00, 0x00, 0x00, 0x95, 0x1f, 0xea, 0x00, 0xe6, 0x22, 0x1c, |
||||
|
0x04, 0x00, 0x7a, 0xcf, 0x46, 0xef, 0x09, 0x00, 0x00, 0x00, 0x04, 0x3e, |
||||
|
0x21, 0x00, 0x04, 0x36, 0x34, 0x06, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, |
||||
|
0x00, 0x00, 0x24, 0xff, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0xea, |
||||
|
0x00, 0x00, 0x00, 0x8b, 0xd9, 0x1d, 0xf5, 0x54, 0x00, 0x00, 0x00, 0x8b, |
||||
|
0xe0, 0x0e, 0x00, 0xac, 0x58, 0x54, 0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0xa7, 0xd5, 0xc6, 0xf3, 0x42, 0x00, 0x6d, 0xe1, 0xc7, |
||||
|
0xe1, 0x49, 0x02, 0xca, 0xbd, 0xb6, 0xff, 0xb2, 0x0e, 0xff, 0x40, 0x0c, |
||||
|
0xc7, 0xae, 0xba, 0xa4, 0x00, 0x00, 0x7f, 0xdf, 0x46, 0xfb, 0x38, 0x08, |
||||
|
0xd8, 0x97, 0xb6, 0xb1, 0x00, 0x00, 0x81, 0xe2, 0x00, 0x00, 0x58, 0xaa, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, |
||||
|
0x00, 0x95, 0x0a, 0xa3, 0x00, 0xa1, 0x0d, 0x00, 0x00, 0x02, 0xa9, 0xb9, |
||||
|
0x03, 0xe3, 0x58, 0x00, 0x00, 0x70, 0xe7, 0xdd, 0xf7, 0x11, 0xe9, 0xe3, |
||||
|
0xd8, 0xcf, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x84, |
||||
|
0xfb, 0xb6, 0x33, 0x00, 0x00, 0x00, 0x6c, 0xea, 0x00, 0x00, 0x00, 0x12, |
||||
|
0xef, 0xd9, 0xc8, 0x01, 0x00, 0x00, 0x3b, 0xfb, 0x42, 0x00, 0x26, 0xdf, |
||||
|
0x04, 0x02, 0xd1, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, |
||||
|
0x00, 0x00, 0xa7, 0xa5, 0x07, 0xf1, 0x3f, 0x00, 0x77, 0xba, 0x45, 0xf4, |
||||
|
0x06, 0x01, 0xe9, 0x66, 0x0e, 0xff, 0x45, 0xbc, 0xbb, 0x07, 0x59, 0xf3, |
||||
|
0x0a, 0x00, 0xd8, 0x80, 0x00, 0x95, 0xd5, 0x8f, 0xdb, 0x0b, 0x50, 0xf9, |
||||
|
0x13, 0x00, 0xd8, 0x85, 0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x2c, 0xb1, |
||||
|
0xcf, 0x88, 0x4c, 0x89, 0x00, 0x95, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xd6, 0x1d, 0x00, 0x86, 0xb7, 0x00, |
||||
|
0x07, 0xf1, 0x62, 0x00, 0x06, 0x58, 0xf8, 0x20, 0x00, 0x08, 0x00, 0x00, |
||||
|
0x00, 0xea, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xbe, 0xfe, 0x5a, |
||||
|
0x00, 0x00, 0x6c, 0xea, 0x00, 0x00, 0x00, 0x00, 0x79, 0xff, 0x40, 0x00, |
||||
|
0x00, 0x0a, 0xda, 0x92, 0x00, 0x00, 0x9a, 0x75, 0x00, 0x00, 0x53, 0xc0, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x8b, 0xbf, 0xe6, 0xc5, |
||||
|
0x49, 0xfe, 0xc3, 0xc2, 0xd2, 0xfc, 0x36, 0xfe, 0x39, 0x2b, 0xf8, 0x29, |
||||
|
0x0e, 0xff, 0xc7, 0xf9, 0x18, 0x00, 0x09, 0xef, 0x57, 0x32, 0xfd, 0x20, |
||||
|
0x00, 0x0b, 0xe0, 0xff, 0x3d, 0x00, 0x04, 0xe5, 0x69, 0x31, 0xfe, 0x25, |
||||
|
0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x49, 0x3a, 0x47, 0x91, 0xbd, 0x67, |
||||
|
0x00, 0x95, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x43, 0xe6, 0x15, 0x00, 0x00, 0x28, 0xfb, 0x1a, 0x4a, 0xfb, 0x0d, 0x00, |
||||
|
0x00, 0x11, 0xc2, 0xf4, 0x90, 0x19, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xbe, 0x00, 0x00, 0x6c, 0xea, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x47, 0xff, 0x12, 0x00, 0x00, 0x91, 0xda, 0x0a, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x27, 0xfc, 0x6a, 0x1e, 0x9a, 0xc5, 0x3b, 0xfd, 0x42, 0x31, |
||||
|
0x31, 0x31, 0x00, 0x9f, 0xe5, 0xb3, 0x5d, 0x00, 0x0e, 0xff, 0xac, 0xd2, |
||||
|
0xa4, 0x00, 0x00, 0x97, 0xac, 0x88, 0xbc, 0x00, 0x00, 0x2b, 0xf7, 0xee, |
||||
|
0x75, 0x00, 0x00, 0x82, 0xbf, 0x86, 0xc3, 0x00, 0x00, 0x00, 0x58, 0xaa, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, |
||||
|
0x00, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x5b, 0x00, 0x00, |
||||
|
0x00, 0x00, 0xc7, 0x76, 0x40, 0xfe, 0x15, 0x00, 0x00, 0x00, 0x01, 0x4f, |
||||
|
0xd1, 0xdf, 0x00, 0x00, 0x00, 0xea, 0x83, 0x27, 0x27, 0x23, 0x39, 0x44, |
||||
|
0x14, 0x2b, 0xd1, 0x7b, 0x00, 0x00, 0x6c, 0xea, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x47, 0xff, 0x12, 0x00, 0x40, 0xfd, 0x60, 0x27, 0x27, 0x27, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xf6, |
||||
|
0x0f, 0x1f, 0xe4, 0xc5, 0x01, 0xe0, 0x89, 0x0e, 0x07, 0x31, 0x08, 0xfa, |
||||
|
0x4e, 0x24, 0x0a, 0x00, 0x0e, 0xff, 0x40, 0x2b, 0xf5, 0x65, 0x00, 0x36, |
||||
|
0xef, 0xd1, 0x5b, 0x00, 0x05, 0xcd, 0x9e, 0x4b, 0xf8, 0x2d, 0x00, 0x1e, |
||||
|
0xf6, 0xda, 0x63, 0x00, 0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x10, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x68, 0xd4, |
||||
|
0x04, 0xec, 0x8a, 0x14, 0x3f, 0x27, 0x2c, 0x01, 0x54, 0xee, 0x00, 0x00, |
||||
|
0x00, 0xea, 0xff, 0xff, 0xff, 0xe6, 0x51, 0xdb, 0xfd, 0xea, 0xa3, 0x11, |
||||
|
0x00, 0x00, 0x6c, 0xea, 0x00, 0x00, 0x00, 0x00, 0x47, 0xff, 0x12, 0x00, |
||||
|
0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc8, 0xf7, 0xdf, 0x83, 0xc5, |
||||
|
0x00, 0x3f, 0xae, 0xf4, 0xfc, 0x9f, 0x0a, 0xd2, 0xfc, 0xfb, 0xf7, 0x90, |
||||
|
0x0e, 0xff, 0x40, 0x00, 0x65, 0xf6, 0x00, 0x00, 0xd4, 0xf0, 0x09, 0x00, |
||||
|
0x83, 0xe5, 0x10, 0x00, 0xa2, 0xd0, 0x00, 0x00, 0xb4, 0xf4, 0x0d, 0x00, |
||||
|
0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0xc6, 0x95, 0x95, 0x95, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x82, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x11, 0xf7, 0x00, 0x4f, 0xbf, 0xfe, |
||||
|
0xf1, 0x57, 0xe9, 0xf3, 0xde, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, |
||||
|
0x0a, 0x00, 0xaa, 0x94, 0x08, 0x02, 0x4e, 0xf8, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x06, 0xbf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xaa, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x0f, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xae, |
||||
|
0x37, 0x49, 0xae, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xc3, |
||||
|
0xf1, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x58, 0xaa, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x79, 0xb0, 0x96, 0x5c, 0x10, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x9f, 0x3a, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x3d, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xff, 0x5a, 0xff, 0x8f, 0x00, |
||||
|
0x00, 0x00, 0xff, 0x8f, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x3c, 0xaa, 0x3c, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x8f, 0xff, |
||||
|
0x8f, 0x00, 0x8f, 0xff, 0x8f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x8f, 0xff, 0x8f, 0xff, 0x8f, |
||||
|
0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, |
||||
|
0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x14, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x6e, 0xaa, 0x00, 0x3c, 0xaa, 0x3c, 0x00, 0x00, 0x8f, |
||||
|
0xff, 0x8f, 0x00, 0x00, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x86, 0xbd, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x17, |
||||
|
0x00, 0x00, 0x00, 0x0a, 0x35, 0x13, 0x00, 0x00, 0x30, 0x20, 0x1d, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x31, 0x17, 0x00, 0x33, 0x15, 0x07, 0x35, 0x35, |
||||
|
0x26, 0x35, 0x31, 0x03, 0x7f, 0x18, 0x03, 0x7f, 0x18, 0x0b, 0xbc, 0x31, |
||||
|
0x00, 0x00, 0x0d, 0x35, 0x00, 0x00, 0x00, 0x5e, 0xff, 0x70, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x70, 0xff, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, |
||||
|
0xff, 0x00, 0x5a, 0xff, 0x5a, 0x00, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x81, 0xd8, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x4f, 0x3b, 0x00, 0x00, 0x00, 0xb5, 0xf5, 0xb0, 0xe7, 0x28, 0x00, 0x26, |
||||
|
0xff, 0x55, 0x00, 0x3e, 0xe7, 0x4c, 0xdc, 0x06, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0xea, 0x6d, 0x00, 0xf4, 0x64, 0x22, 0xff, 0xcb, 0x8e, 0xd6, 0xeb, 0x0b, |
||||
|
0xc5, 0x2f, 0x0b, 0xc5, 0x2f, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x33, 0xfc, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0x70, 0x00, 0x00, 0x70, 0xff, 0x70, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x17, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x07, |
||||
|
0xcd, 0xa8, 0x36, 0x03, 0x35, 0x00, 0x24, 0x0b, 0xcf, 0x85, 0x36, 0x00, |
||||
|
0x32, 0xfd, 0x1b, 0x01, 0xbb, 0x85, 0x00, 0x19, 0xff, 0x48, 0x01, 0xca, |
||||
|
0x70, 0x01, 0xca, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x2c, 0x09, 0x00, 0x2c, 0x08, 0x00, 0xea, 0x6d, 0x00, 0xf4, |
||||
|
0x64, 0x22, 0xff, 0x12, 0x00, 0x46, 0xeb, 0x03, 0x36, 0x0e, 0x03, 0x36, |
||||
|
0x0e, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x1f, 0xea, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x70, 0xff, 0x70, 0x70, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x55, 0x37, 0x00, 0x37, 0x55, 0x00, 0x1e, 0x55, 0x1e, 0xff, 0x8f, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0xcc, |
||||
|
0xcc, 0xe8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xf3, 0xe6, 0xc9, 0x0e, |
||||
|
0xff, 0x85, 0xfc, 0x93, 0xfb, 0xde, 0xc9, 0x00, 0x41, 0xf6, 0x00, 0x00, |
||||
|
0x9e, 0x99, 0x00, 0x0c, 0xff, 0x3c, 0x2c, 0xff, 0x0f, 0x00, 0x69, 0xd0, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xf8, 0x54, |
||||
|
0x20, 0xf8, 0x51, 0x00, 0xea, 0x6d, 0x00, 0xf4, 0x64, 0x22, 0xff, 0x12, |
||||
|
0x00, 0x46, 0xeb, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, |
||||
|
0x00, 0x00, 0x0a, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, |
||||
|
0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa5, 0x00, 0xa5, |
||||
|
0xff, 0x00, 0x5a, 0xff, 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, 0x14, 0xe6, 0x6f, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0xc7, 0x8b, 0x00, 0x0e, 0xff, 0xc7, 0x1f, 0x00, |
||||
|
0xee, 0x64, 0x00, 0x00, 0x64, 0xe7, 0x00, 0x00, 0x8f, 0xba, 0x00, 0x01, |
||||
|
0xfd, 0x2f, 0x54, 0xe5, 0x00, 0x00, 0x41, 0xf6, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x45, 0x09, 0x03, 0x46, 0x09, 0x00, |
||||
|
0xea, 0x6d, 0x00, 0xf4, 0x64, 0x22, 0xff, 0x12, 0x00, 0x46, 0xeb, 0x0e, |
||||
|
0xff, 0x43, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0xff, 0x70, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x55, 0x37, 0x00, 0x37, 0x55, 0x00, 0x1e, 0x55, |
||||
|
0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x01, 0xb1, 0xb6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0xc7, 0x8b, 0x00, 0x0e, 0xff, 0x5d, 0x00, 0x00, 0xee, 0x64, 0x00, 0x9b, |
||||
|
0xe8, 0x53, 0x00, 0x00, 0x23, 0xc4, 0xd7, 0x00, 0xf1, 0x22, 0x7b, 0xbe, |
||||
|
0x00, 0x00, 0x1a, 0xff, 0x00, 0x00, 0x00, 0x62, 0xa4, 0xa4, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0xf4, |
||||
|
0x64, 0x22, 0xff, 0x12, 0x00, 0x46, 0xeb, 0x0e, 0xff, 0x43, 0x0e, 0xff, |
||||
|
0x43, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x70, 0xff, 0x70, 0x70, 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, 0x69, |
||||
|
0xe8, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x8b, 0x00, 0x0e, |
||||
|
0xff, 0x43, 0x00, 0x00, 0xee, 0x64, 0x00, 0x52, 0xcc, 0xa7, 0x00, 0x00, |
||||
|
0x4e, 0xea, 0x76, 0x00, 0x75, 0x0c, 0x6f, 0xca, 0x00, 0x00, 0x26, 0xff, |
||||
|
0x00, 0x00, 0x00, 0x49, 0x7a, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0xea, 0x6d, 0x00, 0xf4, 0x64, 0x22, 0xff, 0x12, |
||||
|
0x00, 0x46, 0xeb, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, 0x70, 0x00, |
||||
|
0x00, 0x70, 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, 0x2a, 0xf5, 0x4c, 0x03, 0x03, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0xc7, 0x8b, 0x00, 0x0e, 0xff, 0x43, 0x00, 0x00, |
||||
|
0xd0, 0x8f, 0x05, 0x00, 0x4a, 0xf5, 0x00, 0x00, 0x99, 0xa2, 0x00, 0x08, |
||||
|
0x75, 0x17, 0x47, 0xf2, 0x01, 0x00, 0x4e, 0xeb, 0x09, 0x56, 0x17, 0x00, |
||||
|
0x00, 0x00, 0x08, 0x75, 0x17, 0x08, 0x75, 0x17, 0x09, 0x56, 0x17, 0x00, |
||||
|
0xea, 0x6d, 0x00, 0xf4, 0x64, 0x22, 0xff, 0x12, 0x00, 0x46, 0xeb, 0x0e, |
||||
|
0xff, 0x43, 0x0e, 0xff, 0x43, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x5e, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x70, 0xff, |
||||
|
0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x9a, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0xc7, 0x8b, 0x00, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x62, 0xee, 0xfc, 0x00, |
||||
|
0x41, 0xf7, 0x00, 0x00, 0x9f, 0x99, 0x00, 0x27, 0xfe, 0x4f, 0x1a, 0xfc, |
||||
|
0x27, 0x00, 0x82, 0xba, 0x3d, 0xf9, 0x14, 0x00, 0x00, 0x00, 0x27, 0xfe, |
||||
|
0x4f, 0x27, 0xfe, 0x4f, 0x3d, 0xf9, 0x14, 0x00, 0xea, 0x6d, 0x00, 0xf6, |
||||
|
0x60, 0x22, 0xff, 0x12, 0x00, 0x46, 0xeb, 0x0e, 0xff, 0x43, 0x0e, 0xff, |
||||
|
0x43, 0x0e, 0xff, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, |
||||
|
0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x14, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0e, 0x00, 0x13, 0xf7, 0x74, 0x3a, |
||||
|
0xe1, 0x6d, 0x00, 0x00, 0x12, 0x00, 0x00, 0x97, 0x9e, 0x0d, 0xeb, 0x3d, |
||||
|
0x71, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x12, 0x00, |
||||
|
0x71, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x33, 0xff, 0x25, 0x22, 0xff, 0x3c, |
||||
|
0x20, 0x67, 0xeb, 0x00, 0x00, 0x00, 0x17, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, |
||||
|
0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xa8, 0x8b, 0x86, 0x0d, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x16, 0xc8, 0x5c, 0x97, 0x00, 0x49, 0x33, 0x00, 0x00, |
||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x33, 0x00, 0x00, |
||||
|
0x00, 0x00, 0xf9, 0xad, 0x00, 0x1c, 0xd1, 0xd1, 0x95, 0xd1, 0xc0, 0x00, |
||||
|
0x00, 0x00, 0xba, 0xf7, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
static mu_Rect atlas[] = { |
||||
|
[ MU_ICON_CLOSE ] = { 88, 68, 16, 16 }, |
||||
|
[ MU_ICON_CHECK ] = { 0, 0, 18, 18 }, |
||||
|
[ MU_ICON_EXPANDED ] = { 118, 68, 7, 5 }, |
||||
|
[ MU_ICON_COLLAPSED ] = { 113, 68, 5, 7 }, |
||||
|
[ ATLAS_WHITE ] = { 125, 68, 3, 3 }, |
||||
|
[ ATLAS_FONT+32 ] = { 84, 68, 2, 17 }, |
||||
|
[ ATLAS_FONT+33 ] = { 39, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+34 ] = { 114, 51, 5, 17 }, |
||||
|
[ ATLAS_FONT+35 ] = { 34, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+36 ] = { 28, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+37 ] = { 58, 0, 9, 17 }, |
||||
|
[ ATLAS_FONT+38 ] = { 103, 0, 8, 17 }, |
||||
|
[ ATLAS_FONT+39 ] = { 86, 68, 2, 17 }, |
||||
|
[ ATLAS_FONT+40 ] = { 42, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+41 ] = { 45, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+42 ] = { 34, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+43 ] = { 40, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+44 ] = { 48, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+45 ] = { 51, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+46 ] = { 54, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+47 ] = { 124, 34, 4, 17 }, |
||||
|
[ ATLAS_FONT+48 ] = { 46, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+49 ] = { 52, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+50 ] = { 58, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+51 ] = { 64, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+52 ] = { 70, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+53 ] = { 76, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+54 ] = { 82, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+55 ] = { 88, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+56 ] = { 94, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+57 ] = { 100, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+58 ] = { 57, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+59 ] = { 60, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+60 ] = { 106, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+61 ] = { 112, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+62 ] = { 118, 34, 6, 17 }, |
||||
|
[ ATLAS_FONT+63 ] = { 119, 51, 5, 17 }, |
||||
|
[ ATLAS_FONT+64 ] = { 18, 0, 10, 17 }, |
||||
|
[ ATLAS_FONT+65 ] = { 41, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+66 ] = { 48, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+67 ] = { 55, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+68 ] = { 111, 0, 8, 17 }, |
||||
|
[ ATLAS_FONT+69 ] = { 0, 35, 6, 17 }, |
||||
|
[ ATLAS_FONT+70 ] = { 6, 35, 6, 17 }, |
||||
|
[ ATLAS_FONT+71 ] = { 119, 0, 8, 17 }, |
||||
|
[ ATLAS_FONT+72 ] = { 18, 17, 8, 17 }, |
||||
|
[ ATLAS_FONT+73 ] = { 63, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+74 ] = { 66, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+75 ] = { 62, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+76 ] = { 12, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+77 ] = { 28, 0, 10, 17 }, |
||||
|
[ ATLAS_FONT+78 ] = { 67, 0, 9, 17 }, |
||||
|
[ ATLAS_FONT+79 ] = { 76, 0, 9, 17 }, |
||||
|
[ ATLAS_FONT+80 ] = { 69, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+81 ] = { 85, 0, 9, 17 }, |
||||
|
[ ATLAS_FONT+82 ] = { 76, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+83 ] = { 18, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+84 ] = { 24, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+85 ] = { 26, 17, 8, 17 }, |
||||
|
[ ATLAS_FONT+86 ] = { 83, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+87 ] = { 38, 0, 10, 17 }, |
||||
|
[ ATLAS_FONT+88 ] = { 90, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+89 ] = { 30, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+90 ] = { 36, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+91 ] = { 69, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+92 ] = { 124, 51, 4, 17 }, |
||||
|
[ ATLAS_FONT+93 ] = { 72, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+94 ] = { 42, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+95 ] = { 15, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+96 ] = { 48, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+97 ] = { 54, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+98 ] = { 97, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+99 ] = { 0, 52, 5, 17 }, |
||||
|
[ ATLAS_FONT+100 ] = { 104, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+101 ] = { 60, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+102 ] = { 19, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+103 ] = { 66, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+104 ] = { 111, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+105 ] = { 75, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+106 ] = { 78, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+107 ] = { 72, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+108 ] = { 81, 68, 3, 17 }, |
||||
|
[ ATLAS_FONT+109 ] = { 48, 0, 10, 17 }, |
||||
|
[ ATLAS_FONT+110 ] = { 118, 17, 7, 17 }, |
||||
|
[ ATLAS_FONT+111 ] = { 0, 18, 7, 17 }, |
||||
|
[ ATLAS_FONT+112 ] = { 7, 18, 7, 17 }, |
||||
|
[ ATLAS_FONT+113 ] = { 14, 34, 7, 17 }, |
||||
|
[ ATLAS_FONT+114 ] = { 23, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+115 ] = { 5, 52, 5, 17 }, |
||||
|
[ ATLAS_FONT+116 ] = { 27, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+117 ] = { 21, 34, 7, 17 }, |
||||
|
[ ATLAS_FONT+118 ] = { 78, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+119 ] = { 94, 0, 9, 17 }, |
||||
|
[ ATLAS_FONT+120 ] = { 84, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+121 ] = { 90, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+122 ] = { 10, 68, 5, 17 }, |
||||
|
[ ATLAS_FONT+123 ] = { 31, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+124 ] = { 96, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+125 ] = { 35, 68, 4, 17 }, |
||||
|
[ ATLAS_FONT+126 ] = { 102, 51, 6, 17 }, |
||||
|
[ ATLAS_FONT+127 ] = { 108, 51, 6, 17 }, |
||||
|
}; |
||||
|
|
@ -0,0 +1,16 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
OS_NAME=`uname -o 2>/dev/null || uname -s` |
||||
|
|
||||
|
if [ $OS_NAME == "Msys" ]; then |
||||
|
GLFLAG="-lopengl32" |
||||
|
elif [ $OS_NAME == "Darwin" ]; then |
||||
|
GLFLAG="-framework OpenGL" |
||||
|
else |
||||
|
GLFLAG="-lGL" |
||||
|
fi |
||||
|
|
||||
|
CFLAGS="-I../microui -Wall -std=gnu11 -pedantic `sdl2-config --libs` $GLFLAG -lm -O0 -g" |
||||
|
|
||||
|
gcc main.c renderer.c ../microui/microui.c $CFLAGS |
||||
|
|
@ -0,0 +1,161 @@ |
|||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
typedef struct { |
||||
|
char text[3]; |
||||
|
} Cpu_Memory_Cell; |
||||
|
|
||||
|
#define NUM_MEMORY_CELLS 256 |
||||
|
Cpu_Memory_Cell memory[NUM_MEMORY_CELLS]; |
||||
|
_Static_assert(NUM_MEMORY_CELLS % 4 == 0, "NUM_MEMORY_CELLS must be a multiple of 4."); |
||||
|
|
||||
|
|
||||
|
|
||||
|
#if 0 |
||||
|
typedef struct { |
||||
|
char text[3]; |
||||
|
} Cpu_Register; |
||||
|
#endif |
||||
|
|
||||
|
typedef Cpu_Memory_Cell Cpu_Register; |
||||
|
|
||||
|
#define NUM_REGISTERS 8 |
||||
|
Cpu_Register program_counter;// = {"00"};
|
||||
|
char *register_names[NUM_REGISTERS] = { |
||||
|
"Register 0", "Register 1", "Register 2", "Register 3", |
||||
|
"Register 4", "Register 5", "Register 6", "Register 7", |
||||
|
}; |
||||
|
Cpu_Register registers[NUM_REGISTERS]; |
||||
|
|
||||
|
bool cpu_running = false; |
||||
|
|
||||
|
void cpu_memory_clear() { |
||||
|
for(int i = 0; i < NUM_MEMORY_CELLS; i++) |
||||
|
{ |
||||
|
memory[i].text[0] = '0'; |
||||
|
memory[i].text[1] = '0'; |
||||
|
} |
||||
|
for(int i = 0; i < NUM_REGISTERS; i++) { |
||||
|
registers[i].text[0] = '0'; |
||||
|
registers[i].text[1] = '0'; |
||||
|
} |
||||
|
program_counter.text[0] = '0'; |
||||
|
program_counter.text[1] = '0'; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void cpu_reset() { |
||||
|
for(int i = 0; i < NUM_REGISTERS; i++) { |
||||
|
registers[i].text[0] = '0'; |
||||
|
registers[i].text[1] = '0'; |
||||
|
} |
||||
|
program_counter.text[0] = '0'; |
||||
|
program_counter.text[1] = '0'; |
||||
|
cpu_running = true; |
||||
|
} |
||||
|
|
||||
|
int char_to_nibble(char c) { |
||||
|
char nibble = c; |
||||
|
if(nibble >= 'A') { |
||||
|
nibble -= 7; |
||||
|
} |
||||
|
nibble -= '0'; |
||||
|
return nibble; |
||||
|
} |
||||
|
|
||||
|
int cell_to_value(Cpu_Memory_Cell cell) { |
||||
|
char ms_nibble = char_to_nibble(cell.text[0]); |
||||
|
char ls_nibble = char_to_nibble(cell.text[1]); |
||||
|
int value = ms_nibble << 4 | ls_nibble; |
||||
|
return value; |
||||
|
} |
||||
|
|
||||
|
void cell_copy(Cpu_Memory_Cell *dst, Cpu_Memory_Cell src) { |
||||
|
dst->text[0] = src.text[0]; |
||||
|
dst->text[1] = src.text[1]; |
||||
|
} |
||||
|
|
||||
|
void cell_assign_value(Cpu_Memory_Cell *dst, int value) { |
||||
|
assert(value <= 255); |
||||
|
snprintf(dst->text, sizeof(dst->text), "%2.2X", value); |
||||
|
} |
||||
|
|
||||
|
typedef enum { |
||||
|
CPU_OPCODE_NONE = 0x00, // X X X
|
||||
|
CPU_OPCODE_HALT = 0x01, // X X X
|
||||
|
CPU_OPCODE_LOAD = 0x02, // X R R
|
||||
|
CPU_OPCODE_STORE = 0x03, // X R R
|
||||
|
CPU_OPCODE_SET = 0x04, // X R I
|
||||
|
CPU_OPCODE_MOV = 0x05, // X R R
|
||||
|
CPU_OPCODE_JUMP = 0x06, // X X R
|
||||
|
CPU_OPCODE_ADD = 0x07, // R R R
|
||||
|
CPU_OPCODE_SUB = 0x08, // R R R
|
||||
|
} Cpu_Opcode; |
||||
|
void cpu_step() { |
||||
|
if(!cpu_running) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
int pc = cell_to_value(program_counter); |
||||
|
if(pc > NUM_MEMORY_CELLS - 3) { |
||||
|
cpu_running = false; |
||||
|
return; |
||||
|
} |
||||
|
int opcode = cell_to_value(memory[pc]); |
||||
|
int param1 = cell_to_value(memory[pc+1]); |
||||
|
int param2 = cell_to_value(memory[pc+2]); |
||||
|
int param3 = cell_to_value(memory[pc+3]); |
||||
|
printf("Step params: %2.2X %2.2X %2.2X\n", param1, param2, param3); |
||||
|
int new_pc = pc + 4; |
||||
|
switch(opcode) { |
||||
|
case CPU_OPCODE_NONE: break; |
||||
|
case CPU_OPCODE_HALT: { |
||||
|
cpu_running = 0; |
||||
|
new_pc = pc; |
||||
|
} break; |
||||
|
case CPU_OPCODE_LOAD: { |
||||
|
cell_copy(®isters[param2], memory[param3]); |
||||
|
} break; |
||||
|
case CPU_OPCODE_STORE: { |
||||
|
cell_copy(&memory[param3], registers[param2]); |
||||
|
} break; |
||||
|
case CPU_OPCODE_SET: { |
||||
|
cell_copy(®isters[param2], memory[pc+3]); |
||||
|
} break; |
||||
|
case CPU_OPCODE_MOV: { |
||||
|
cell_copy(®isters[param2], registers[param3]); |
||||
|
} break; |
||||
|
case CPU_OPCODE_JUMP: { |
||||
|
new_pc = cell_to_value(registers[param3]); |
||||
|
} break; |
||||
|
case CPU_OPCODE_ADD: { |
||||
|
int left_operand = cell_to_value(registers[param2]); |
||||
|
int right_operand = cell_to_value(registers[param3]); |
||||
|
int result = left_operand + right_operand; |
||||
|
cell_assign_value(®isters[param1], result); |
||||
|
} break; |
||||
|
case CPU_OPCODE_SUB: { |
||||
|
int left_operand = cell_to_value(registers[param2]); |
||||
|
int right_operand = cell_to_value(registers[param3]); |
||||
|
int result = left_operand - right_operand; |
||||
|
cell_assign_value(®isters[param1], result); |
||||
|
} break; |
||||
|
} |
||||
|
|
||||
|
if(new_pc > NUM_MEMORY_CELLS - 3) { |
||||
|
cpu_running = false; |
||||
|
return; |
||||
|
} else { |
||||
|
cell_assign_value(&program_counter, new_pc); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,449 @@ |
|||||
|
#include <SDL2/SDL.h> |
||||
|
#include <stdio.h> |
||||
|
#include "renderer.h" |
||||
|
#include "../microui/microui.h" |
||||
|
#include <stdint.h> |
||||
|
#include <stdbool.h> |
||||
|
#include <assert.h> |
||||
|
|
||||
|
// I had to change -std to gnu11 instead of c11 for this one.
|
||||
|
// Defining the posix version macro didn't do anything at all.
|
||||
|
#include <time.h> |
||||
|
#include <errno.h> |
||||
|
|
||||
|
#include "cpu.c" |
||||
|
|
||||
|
int load_program(char *filepath) { |
||||
|
bool success = true; |
||||
|
FILE *file = NULL; |
||||
|
if(success) { |
||||
|
file = fopen(filepath, "r"); |
||||
|
if(file == NULL) { |
||||
|
perror("Error opening file for reading"); |
||||
|
success = false; |
||||
|
}} |
||||
|
|
||||
|
if(success) { |
||||
|
int seek_status = fseek(file, 0, SEEK_END); |
||||
|
if(seek_status != 0) { |
||||
|
perror("Error seeking in file"); |
||||
|
success = false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
long file_size = 0; |
||||
|
if(success) { |
||||
|
file_size = ftell(file); |
||||
|
int seek_status = fseek(file, 0, SEEK_SET); |
||||
|
if(seek_status != 0) { |
||||
|
perror("Error seeking in file"); |
||||
|
success = false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
char *data = NULL; |
||||
|
if(success) { |
||||
|
data = malloc(file_size); |
||||
|
if(data == NULL) { |
||||
|
success = false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(success) { |
||||
|
size_t read_count = fread(data, 1, file_size, file); |
||||
|
if(read_count != file_size) { |
||||
|
fprintf(stderr, "Incomplete read, aborting.\n"); |
||||
|
return 1; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(success) { |
||||
|
cpu_memory_clear(); |
||||
|
int memory_cursor = 0; |
||||
|
Cpu_Memory_Cell cell = {"00"}; |
||||
|
bool first_nibble = true; |
||||
|
for(int i = 0; i < file_size; i++) { |
||||
|
char c = data[i]; |
||||
|
if((c < '0') || (c > '9' && c < 'A') || (c > 'F')) { |
||||
|
if(c != ' ' && c != '\n' && c != '\t') { |
||||
|
fprintf(stderr, "Strange character in memory file: %c\n", c); |
||||
|
success = false; |
||||
|
break; |
||||
|
} |
||||
|
} else { |
||||
|
if(memory_cursor >= NUM_MEMORY_CELLS) { |
||||
|
fprintf(stderr, "Memory in file too big for machine memory.\n"); |
||||
|
success = false; |
||||
|
break; |
||||
|
} |
||||
|
if(first_nibble) { |
||||
|
cell.text[0] = c; |
||||
|
first_nibble = false; |
||||
|
} else { |
||||
|
cell.text[1] = c; |
||||
|
first_nibble = true; |
||||
|
memory[memory_cursor] = cell; |
||||
|
memory_cursor += 1; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
if(!first_nibble) { |
||||
|
fprintf(stderr, "Number of nibbles in file is odd!\n"); |
||||
|
success = false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(file != NULL) { |
||||
|
fclose(file); |
||||
|
} |
||||
|
if(data != NULL) { |
||||
|
free(data); |
||||
|
} |
||||
|
return success ? 0 : 1; |
||||
|
} |
||||
|
|
||||
|
int save_program(char *filepath) { |
||||
|
bool success = true; |
||||
|
FILE *file = NULL; |
||||
|
if(success) { |
||||
|
file = fopen(filepath, "w"); |
||||
|
if(file == NULL) { |
||||
|
perror("Error opening file for writing"); |
||||
|
success = false; |
||||
|
}} |
||||
|
|
||||
|
if(success) { |
||||
|
char text[NUM_MEMORY_CELLS * 3]; |
||||
|
for(int i = 0; i < NUM_MEMORY_CELLS; i++) { |
||||
|
char *c1 = &text[i*3]; |
||||
|
char *c2 = c1+1; |
||||
|
char *whitespace = c2+1; |
||||
|
*c1 = memory[i].text[0]; |
||||
|
*c2 = memory[i].text[1]; |
||||
|
*whitespace = (i%4==3) ? '\n' : ' '; |
||||
|
} |
||||
|
|
||||
|
size_t written = fwrite(text, sizeof(text), 1, file); |
||||
|
if(written == 0) { |
||||
|
perror("Write error"); |
||||
|
success = false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(file != NULL) { |
||||
|
fclose(file); |
||||
|
} |
||||
|
return success ? 0 : 1; |
||||
|
} |
||||
|
|
||||
|
int width = 800; |
||||
|
int height = 600; |
||||
|
|
||||
|
typedef int64_t i64; |
||||
|
|
||||
|
|
||||
|
|
||||
|
int mu_textbox_raw2(mu_Context *ctx, char *buf, int bufsz, mu_Id id, mu_Rect r, |
||||
|
int opt) |
||||
|
{ |
||||
|
int res = 0; |
||||
|
mu_update_control(ctx, id, r, opt | MU_OPT_HOLDFOCUS); |
||||
|
|
||||
|
if (ctx->focus == id) { |
||||
|
/* handle text input */ |
||||
|
int len = strlen(buf); |
||||
|
int n = mu_min(bufsz - len - 1, (int) strlen(ctx->input_text)); |
||||
|
if (n > 0) { |
||||
|
char input_char = ctx->input_text[0]; |
||||
|
if(input_char >= 'a' && input_char <= 'f') { |
||||
|
input_char -= 0x20; // Convert to upper case.
|
||||
|
} |
||||
|
if((input_char >= '0' && input_char <= '9') || (input_char >= 'A' && input_char <= 'F')) |
||||
|
{ |
||||
|
buf[len] = input_char; |
||||
|
len++; |
||||
|
buf[len] = '\0'; |
||||
|
res |= MU_RES_CHANGE; |
||||
|
} |
||||
|
} |
||||
|
/* handle backspace */ |
||||
|
if (ctx->key_pressed & MU_KEY_BACKSPACE && len > 0) { |
||||
|
--len; |
||||
|
buf[len] = '\0'; |
||||
|
res |= MU_RES_CHANGE; |
||||
|
} |
||||
|
/* handle return */ |
||||
|
if (ctx->key_pressed & MU_KEY_RETURN) { |
||||
|
mu_set_focus(ctx, 0); |
||||
|
res |= MU_RES_SUBMIT; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* draw */ |
||||
|
mu_draw_control_frame(ctx, id, r, MU_COLOR_BASE, opt); |
||||
|
if (ctx->focus == id) { |
||||
|
mu_Color color = ctx->style->colors[MU_COLOR_TEXT]; |
||||
|
mu_Font font = ctx->style->font; |
||||
|
int textw = ctx->text_width(font, buf, -1); |
||||
|
int texth = ctx->text_height(font); |
||||
|
int ofx = r.w - ctx->style->padding - textw - 1; |
||||
|
int textx = r.x + mu_min(ofx, ctx->style->padding); |
||||
|
int texty = r.y + (r.h - texth) / 2; |
||||
|
mu_push_clip_rect(ctx, r); |
||||
|
mu_draw_text(ctx, font, buf, -1, mu_vec2(textx, texty), color); |
||||
|
mu_draw_rect(ctx, mu_rect(textx + textw, texty, 1, texth), color); |
||||
|
mu_pop_clip_rect(ctx); |
||||
|
} else { |
||||
|
mu_draw_control_text(ctx, buf, r, MU_COLOR_TEXT, opt); |
||||
|
} |
||||
|
|
||||
|
return res; |
||||
|
} |
||||
|
|
||||
|
int mu_textbox_ex2(mu_Context *ctx, char *buf, int bufsz, int opt) { |
||||
|
mu_Id id = mu_get_id(ctx, &buf, sizeof(buf)); |
||||
|
mu_Rect r = mu_layout_next(ctx); |
||||
|
return mu_textbox_raw2(ctx, buf, bufsz, id, r, opt); |
||||
|
} |
||||
|
#define mu_textbox2(ctx, buf, bufsz) mu_textbox_ex2(ctx, buf, bufsz, 0) |
||||
|
|
||||
|
int measure_text(mu_Context *ctx, char *text) |
||||
|
{ |
||||
|
mu_Font font = ctx->style->font; |
||||
|
return ctx->text_width(font, text, -1); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
//static float bg[3] = { 90, 95, 100 };
|
||||
|
static float bg[3] = { 255, 230, 230 }; |
||||
|
|
||||
|
char filepath_buffer[1024*4] = {0}; |
||||
|
|
||||
|
static void process_frame( |
||||
|
mu_Context *ctx, |
||||
|
i64 current_seconds_timestamp |
||||
|
) { |
||||
|
mu_begin(ctx); |
||||
|
if ( |
||||
|
//mu_begin_window(ctx, "My Window", mu_rect(10, 10, 300, 400))
|
||||
|
mu_begin_window_ex(ctx, "My Window", mu_rect(0, 0, width, height), |
||||
|
MU_OPT_NOTITLE|MU_OPT_NORESIZE) |
||||
|
) { |
||||
|
|
||||
|
mu_layout_row(ctx, 4, (int[]) { 200, 200, 200, -1 }, -1); |
||||
|
mu_begin_panel(ctx, "register panel"); |
||||
|
mu_layout_row(ctx, 2, (int[]) { 120, -1 }, 0); |
||||
|
mu_label(ctx, cpu_running ? "Running" : "Halted"); mu_label(ctx, ""); |
||||
|
mu_label(ctx, "Program counter:"); |
||||
|
mu_label(ctx, program_counter.text); |
||||
|
//mu_label(ctx, "Register 0:");
|
||||
|
//mu_label(ctx, "0x00");
|
||||
|
//mu_label(ctx, "Register 1:");
|
||||
|
//mu_label(ctx, "0x00");
|
||||
|
for(int i = 0; i < NUM_REGISTERS; i++) { |
||||
|
mu_label(ctx, register_names[i]); |
||||
|
mu_label(ctx, registers[i].text); |
||||
|
} |
||||
|
mu_end_panel(ctx); |
||||
|
|
||||
|
mu_begin_panel(ctx, "memory panel"); |
||||
|
mu_Container *panel = mu_get_current_container(ctx); |
||||
|
// NOTE(Zelaven): Garbage formula that kinda works.
|
||||
|
#if 0 |
||||
|
int width = (panel->rect.w-ctx->style->padding*2-ctx->style->spacing*4)/4; |
||||
|
printf("%d = %d / 4\n", width, panel->rect.w-ctx->style->padding*2-ctx->style->spacing*3); |
||||
|
printf("%f = %f / 4.0\n", |
||||
|
((float)panel->rect.w-(float)ctx->style->padding*2.0f-(float)ctx->style->spacing*3.0f)/4.0f, |
||||
|
(float)panel->rect.w-(float)ctx->style->spacing*2.0f-(float)ctx->style->spacing*3.0f); |
||||
|
mu_layout_row(ctx, 4, (int[]) { width, width, width, width }, 0); |
||||
|
static char mem1[3] = {0}; |
||||
|
mu_textbox(ctx, mem1, sizeof(mem1)); |
||||
|
static char mem2[3] = {0}; |
||||
|
mu_textbox2(ctx, mem2, sizeof(mem2)); |
||||
|
static char mem3[3] = {0}; |
||||
|
mu_textbox2(ctx, mem3, sizeof(mem3)); |
||||
|
static char mem4[3] = {0}; |
||||
|
mu_textbox2(ctx, mem4, sizeof(mem4)); |
||||
|
#endif |
||||
|
#if 0 |
||||
|
int marker_width = measure_text(ctx, ">__"); |
||||
|
int label_width = measure_text(ctx, "0x0000__"); |
||||
|
int cell_real_estate = (panel->rect.w-ctx->style->padding*2-ctx->style->spacing*5) - marker_width - label_width; |
||||
|
int cell_width = cell_real_estate / 4; |
||||
|
mu_layout_row(ctx, 6, (int[]) { marker_width, label_width, cell_width, cell_width, cell_width, cell_width }, 0); |
||||
|
mu_label(ctx, ">"); |
||||
|
mu_label(ctx, "0x0000"); |
||||
|
static char mem1[3] = {0}; |
||||
|
mu_textbox(ctx, mem1, sizeof(mem1)); |
||||
|
static char mem2[3] = {0}; |
||||
|
mu_textbox2(ctx, mem2, sizeof(mem2)); |
||||
|
static char mem3[3] = {0}; |
||||
|
mu_textbox2(ctx, mem3, sizeof(mem3)); |
||||
|
static char mem4[3] = {0}; |
||||
|
mu_textbox2(ctx, mem4, sizeof(mem4)); |
||||
|
mu_end_panel(ctx); |
||||
|
#endif |
||||
|
int marker_width = measure_text(ctx, ">__"); |
||||
|
int label_width = measure_text(ctx, "0x0000__"); |
||||
|
int cell_real_estate = (panel->rect.w-ctx->style->padding*2-ctx->style->spacing*5) - marker_width - label_width - ctx->style->scrollbar_size; |
||||
|
int cells_per_row = 4; |
||||
|
int cell_width = cell_real_estate / cells_per_row; |
||||
|
mu_layout_row(ctx, 2+cells_per_row, (int[]) { marker_width, label_width, cell_width, cell_width, cell_width, cell_width }, 0); |
||||
|
for(int i = 0; i < NUM_MEMORY_CELLS; i += cells_per_row) |
||||
|
{ |
||||
|
mu_label(ctx, (cell_to_value(program_counter) == i) ? ">" : ""); |
||||
|
char buf[7] = "0x0000"; |
||||
|
snprintf(buf, sizeof(buf), "0x%4.4X", i); |
||||
|
mu_label(ctx, buf); |
||||
|
for(int j = 0; j < cells_per_row; j++) { |
||||
|
mu_textbox2(ctx, memory[i+j].text, 3); |
||||
|
} |
||||
|
} |
||||
|
mu_end_panel(ctx); |
||||
|
|
||||
|
mu_begin_panel(ctx, "buttons panel"); |
||||
|
mu_layout_row(ctx, 2, (int[]) { 100, -1 }, 0); |
||||
|
if(mu_button(ctx, "Reset")) { |
||||
|
cpu_reset(); |
||||
|
} |
||||
|
if(mu_button(ctx, "Clear")) { |
||||
|
cpu_memory_clear(); |
||||
|
cpu_running = false; |
||||
|
} |
||||
|
if(mu_button(ctx, "Step")) { |
||||
|
cpu_step(); |
||||
|
} |
||||
|
mu_end_panel(ctx); |
||||
|
|
||||
|
mu_begin_panel(ctx, "save/load panel"); |
||||
|
mu_layout_row(ctx, 1, (int[]) { -1 }, 0); |
||||
|
mu_textbox(ctx, filepath_buffer, sizeof(filepath_buffer)); |
||||
|
if(mu_button(ctx, "Save")) { |
||||
|
save_program(filepath_buffer); |
||||
|
} |
||||
|
if(mu_button(ctx, "Load")) { |
||||
|
load_program(filepath_buffer); |
||||
|
cpu_reset(); |
||||
|
cpu_running = false; |
||||
|
} |
||||
|
mu_end_panel(ctx); |
||||
|
|
||||
|
mu_end_window(ctx); |
||||
|
} |
||||
|
mu_end(ctx); |
||||
|
} |
||||
|
|
||||
|
static const char button_map[256] = { |
||||
|
[ SDL_BUTTON_LEFT & 0xff ] = MU_MOUSE_LEFT, |
||||
|
[ SDL_BUTTON_RIGHT & 0xff ] = MU_MOUSE_RIGHT, |
||||
|
[ SDL_BUTTON_MIDDLE & 0xff ] = MU_MOUSE_MIDDLE, |
||||
|
}; |
||||
|
|
||||
|
static const char key_map[256] = { |
||||
|
[ SDLK_LSHIFT & 0xff ] = MU_KEY_SHIFT, |
||||
|
[ SDLK_RSHIFT & 0xff ] = MU_KEY_SHIFT, |
||||
|
[ SDLK_LCTRL & 0xff ] = MU_KEY_CTRL, |
||||
|
[ SDLK_RCTRL & 0xff ] = MU_KEY_CTRL, |
||||
|
[ SDLK_LALT & 0xff ] = MU_KEY_ALT, |
||||
|
[ SDLK_RALT & 0xff ] = MU_KEY_ALT, |
||||
|
[ SDLK_RETURN & 0xff ] = MU_KEY_RETURN, |
||||
|
[ SDLK_BACKSPACE & 0xff ] = MU_KEY_BACKSPACE, |
||||
|
}; |
||||
|
|
||||
|
static int text_width(mu_Font font, const char *text, int len) { |
||||
|
if (len == -1) { len = strlen(text); } |
||||
|
return r_get_text_width(text, len); |
||||
|
} |
||||
|
|
||||
|
static int text_height(mu_Font font) { |
||||
|
return r_get_text_height(); |
||||
|
} |
||||
|
|
||||
|
int main(int argc, char **argv) { |
||||
|
if(argc > 1) { |
||||
|
int filepath_length = strlen(argv[1]); |
||||
|
int buffer_length = sizeof(filepath_buffer); |
||||
|
if(filepath_length < buffer_length) { |
||||
|
strncpy(filepath_buffer, argv[1], buffer_length); |
||||
|
} else { |
||||
|
strncpy(filepath_buffer, "Filepath is too long.", buffer_length); |
||||
|
} |
||||
|
if(load_program(argv[1]) != 0) { |
||||
|
return 1; |
||||
|
} |
||||
|
} else { |
||||
|
cpu_memory_clear(); |
||||
|
} |
||||
|
|
||||
|
/* init SDL and renderer */ |
||||
|
SDL_Init(SDL_INIT_EVERYTHING); |
||||
|
r_init(width, height); |
||||
|
|
||||
|
/* init microui */ |
||||
|
mu_Context *ctx = malloc(sizeof(mu_Context)); |
||||
|
mu_init(ctx); |
||||
|
ctx->text_width = text_width; |
||||
|
ctx->text_height = text_height; |
||||
|
|
||||
|
/* main loop */ |
||||
|
for (;;) { |
||||
|
/* handle SDL events */ |
||||
|
SDL_Event e; |
||||
|
while (SDL_PollEvent(&e)) { |
||||
|
switch (e.type) { |
||||
|
case SDL_QUIT: exit(EXIT_SUCCESS); break; |
||||
|
case SDL_MOUSEMOTION: mu_input_mousemove(ctx, e.motion.x, e.motion.y); break; |
||||
|
case SDL_MOUSEWHEEL: mu_input_scroll(ctx, 0, e.wheel.y * -30); break; |
||||
|
case SDL_TEXTINPUT: mu_input_text(ctx, e.text.text); break; |
||||
|
|
||||
|
case SDL_MOUSEBUTTONDOWN: |
||||
|
case SDL_MOUSEBUTTONUP: { |
||||
|
int b = button_map[e.button.button & 0xff]; |
||||
|
if (b && e.type == SDL_MOUSEBUTTONDOWN) { mu_input_mousedown(ctx, e.button.x, e.button.y, b); } |
||||
|
if (b && e.type == SDL_MOUSEBUTTONUP) { mu_input_mouseup(ctx, e.button.x, e.button.y, b); } |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
case SDL_KEYDOWN: |
||||
|
case SDL_KEYUP: { |
||||
|
int c = key_map[e.key.keysym.sym & 0xff]; |
||||
|
if (c && e.type == SDL_KEYDOWN) { mu_input_keydown(ctx, c); } |
||||
|
if (c && e.type == SDL_KEYUP) { mu_input_keyup(ctx, c); } |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
i64 current_seconds_timestamp = 0; |
||||
|
{ |
||||
|
struct timespec clock_timestamp; |
||||
|
int clock_retval = clock_gettime(CLOCK_BOOTTIME, &clock_timestamp); |
||||
|
if(clock_retval != 0) { |
||||
|
int error = errno; |
||||
|
perror("clock_gettime failed: "); |
||||
|
fprintf(stderr, "Errno number: %d\n", error); |
||||
|
return 1; |
||||
|
} |
||||
|
current_seconds_timestamp = clock_timestamp.tv_sec; |
||||
|
} |
||||
|
|
||||
|
/* process frame */ |
||||
|
process_frame(ctx, current_seconds_timestamp); |
||||
|
|
||||
|
/* render */ |
||||
|
r_clear(mu_color(bg[0], bg[1], bg[2], 255)); |
||||
|
mu_Command *cmd = NULL; |
||||
|
while (mu_next_command(ctx, &cmd)) { |
||||
|
switch (cmd->type) { |
||||
|
case MU_COMMAND_TEXT: r_draw_text(cmd->text.str, cmd->text.pos, cmd->text.color); break; |
||||
|
case MU_COMMAND_RECT: r_draw_rect(cmd->rect.rect, cmd->rect.color); break; |
||||
|
case MU_COMMAND_ICON: r_draw_icon(cmd->icon.id, cmd->icon.rect, cmd->icon.color); break; |
||||
|
case MU_COMMAND_CLIP: r_set_clip_rect(cmd->clip.rect); break; |
||||
|
} |
||||
|
} |
||||
|
r_present(); |
||||
|
} |
||||
|
|
||||
|
return 0; |
||||
|
} |
||||
|
|
@ -0,0 +1,2 @@ |
|||||
|
04 00 02 42 |
||||
|
01 |
@ -0,0 +1,2 @@ |
|||||
|
04 00 01 F8 |
||||
|
06 00 00 01 |
@ -0,0 +1,188 @@ |
|||||
|
#include <SDL2/SDL.h> |
||||
|
#include <SDL2/SDL_opengl.h> |
||||
|
#include <assert.h> |
||||
|
#include "renderer.h" |
||||
|
#include "atlas.inl" |
||||
|
|
||||
|
#define BUFFER_SIZE 16384 |
||||
|
|
||||
|
static GLfloat tex_buf[BUFFER_SIZE * 8]; |
||||
|
static GLfloat vert_buf[BUFFER_SIZE * 8]; |
||||
|
static GLubyte color_buf[BUFFER_SIZE * 16]; |
||||
|
static GLuint index_buf[BUFFER_SIZE * 6]; |
||||
|
|
||||
|
static int width = 800; |
||||
|
static int height = 600; |
||||
|
static int buf_idx; |
||||
|
|
||||
|
static SDL_Window *window; |
||||
|
|
||||
|
|
||||
|
void r_init(int _width, int _height) { |
||||
|
width = _width; height = _height; |
||||
|
|
||||
|
/* init SDL window */ |
||||
|
window = SDL_CreateWindow( |
||||
|
"Brookshearish Machine (uses microui and sample renderer by rxi)", |
||||
|
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, |
||||
|
width, height, SDL_WINDOW_OPENGL); |
||||
|
SDL_GL_CreateContext(window); |
||||
|
|
||||
|
/* init gl */ |
||||
|
glEnable(GL_BLEND); |
||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
||||
|
glDisable(GL_CULL_FACE); |
||||
|
glDisable(GL_DEPTH_TEST); |
||||
|
glEnable(GL_SCISSOR_TEST); |
||||
|
glEnable(GL_TEXTURE_2D); |
||||
|
glEnableClientState(GL_VERTEX_ARRAY); |
||||
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY); |
||||
|
glEnableClientState(GL_COLOR_ARRAY); |
||||
|
|
||||
|
/* init texture */ |
||||
|
GLuint id; |
||||
|
glGenTextures(1, &id); |
||||
|
glBindTexture(GL_TEXTURE_2D, id); |
||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, ATLAS_WIDTH, ATLAS_HEIGHT, 0, |
||||
|
GL_ALPHA, GL_UNSIGNED_BYTE, atlas_texture); |
||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); |
||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
||||
|
assert(glGetError() == 0); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
static void flush(void) { |
||||
|
if (buf_idx == 0) { return; } |
||||
|
|
||||
|
glViewport(0, 0, width, height); |
||||
|
glMatrixMode(GL_PROJECTION); |
||||
|
glPushMatrix(); |
||||
|
glLoadIdentity(); |
||||
|
glOrtho(0.0f, width, height, 0.0f, -1.0f, +1.0f); |
||||
|
glMatrixMode(GL_MODELVIEW); |
||||
|
glPushMatrix(); |
||||
|
glLoadIdentity(); |
||||
|
|
||||
|
glTexCoordPointer(2, GL_FLOAT, 0, tex_buf); |
||||
|
glVertexPointer(2, GL_FLOAT, 0, vert_buf); |
||||
|
glColorPointer(4, GL_UNSIGNED_BYTE, 0, color_buf); |
||||
|
glDrawElements(GL_TRIANGLES, buf_idx * 6, GL_UNSIGNED_INT, index_buf); |
||||
|
|
||||
|
glMatrixMode(GL_MODELVIEW); |
||||
|
glPopMatrix(); |
||||
|
glMatrixMode(GL_PROJECTION); |
||||
|
glPopMatrix(); |
||||
|
|
||||
|
buf_idx = 0; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
static void push_quad(mu_Rect dst, mu_Rect src, mu_Color color) { |
||||
|
if (buf_idx == BUFFER_SIZE) { flush(); } |
||||
|
|
||||
|
int texvert_idx = buf_idx * 8; |
||||
|
int color_idx = buf_idx * 16; |
||||
|
int element_idx = buf_idx * 4; |
||||
|
int index_idx = buf_idx * 6; |
||||
|
buf_idx++; |
||||
|
|
||||
|
/* update texture buffer */ |
||||
|
float x = src.x / (float) ATLAS_WIDTH; |
||||
|
float y = src.y / (float) ATLAS_HEIGHT; |
||||
|
float w = src.w / (float) ATLAS_WIDTH; |
||||
|
float h = src.h / (float) ATLAS_HEIGHT; |
||||
|
tex_buf[texvert_idx + 0] = x; |
||||
|
tex_buf[texvert_idx + 1] = y; |
||||
|
tex_buf[texvert_idx + 2] = x + w; |
||||
|
tex_buf[texvert_idx + 3] = y; |
||||
|
tex_buf[texvert_idx + 4] = x; |
||||
|
tex_buf[texvert_idx + 5] = y + h; |
||||
|
tex_buf[texvert_idx + 6] = x + w; |
||||
|
tex_buf[texvert_idx + 7] = y + h; |
||||
|
|
||||
|
/* update vertex buffer */ |
||||
|
vert_buf[texvert_idx + 0] = dst.x; |
||||
|
vert_buf[texvert_idx + 1] = dst.y; |
||||
|
vert_buf[texvert_idx + 2] = dst.x + dst.w; |
||||
|
vert_buf[texvert_idx + 3] = dst.y; |
||||
|
vert_buf[texvert_idx + 4] = dst.x; |
||||
|
vert_buf[texvert_idx + 5] = dst.y + dst.h; |
||||
|
vert_buf[texvert_idx + 6] = dst.x + dst.w; |
||||
|
vert_buf[texvert_idx + 7] = dst.y + dst.h; |
||||
|
|
||||
|
/* update color buffer */ |
||||
|
memcpy(color_buf + color_idx + 0, &color, 4); |
||||
|
memcpy(color_buf + color_idx + 4, &color, 4); |
||||
|
memcpy(color_buf + color_idx + 8, &color, 4); |
||||
|
memcpy(color_buf + color_idx + 12, &color, 4); |
||||
|
|
||||
|
/* update index buffer */ |
||||
|
index_buf[index_idx + 0] = element_idx + 0; |
||||
|
index_buf[index_idx + 1] = element_idx + 1; |
||||
|
index_buf[index_idx + 2] = element_idx + 2; |
||||
|
index_buf[index_idx + 3] = element_idx + 2; |
||||
|
index_buf[index_idx + 4] = element_idx + 3; |
||||
|
index_buf[index_idx + 5] = element_idx + 1; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_draw_rect(mu_Rect rect, mu_Color color) { |
||||
|
push_quad(rect, atlas[ATLAS_WHITE], color); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_draw_text(const char *text, mu_Vec2 pos, mu_Color color) { |
||||
|
mu_Rect dst = { pos.x, pos.y, 0, 0 }; |
||||
|
for (const char *p = text; *p; p++) { |
||||
|
if ((*p & 0xc0) == 0x80) { continue; } |
||||
|
int chr = mu_min((unsigned char) *p, 127); |
||||
|
mu_Rect src = atlas[ATLAS_FONT + chr]; |
||||
|
dst.w = src.w; |
||||
|
dst.h = src.h; |
||||
|
push_quad(dst, src, color); |
||||
|
dst.x += dst.w; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_draw_icon(int id, mu_Rect rect, mu_Color color) { |
||||
|
mu_Rect src = atlas[id]; |
||||
|
int x = rect.x + (rect.w - src.w) / 2; |
||||
|
int y = rect.y + (rect.h - src.h) / 2; |
||||
|
push_quad(mu_rect(x, y, src.w, src.h), src, color); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
int r_get_text_width(const char *text, int len) { |
||||
|
int res = 0; |
||||
|
for (const char *p = text; *p && len--; p++) { |
||||
|
if ((*p & 0xc0) == 0x80) { continue; } |
||||
|
int chr = mu_min((unsigned char) *p, 127); |
||||
|
res += atlas[ATLAS_FONT + chr].w; |
||||
|
} |
||||
|
return res; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
int r_get_text_height(void) { |
||||
|
return 18; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_set_clip_rect(mu_Rect rect) { |
||||
|
flush(); |
||||
|
glScissor(rect.x, height - (rect.y + rect.h), rect.w, rect.h); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_clear(mu_Color clr) { |
||||
|
flush(); |
||||
|
glClearColor(clr.r / 255., clr.g / 255., clr.b / 255., clr.a / 255.); |
||||
|
glClear(GL_COLOR_BUFFER_BIT); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void r_present(void) { |
||||
|
flush(); |
||||
|
SDL_GL_SwapWindow(window); |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
#ifndef RENDERER_H |
||||
|
#define RENDERER_H |
||||
|
|
||||
|
#include "microui.h" |
||||
|
|
||||
|
void r_init(int _width, int _height); |
||||
|
void r_draw_rect(mu_Rect rect, mu_Color color); |
||||
|
void r_draw_text(const char *text, mu_Vec2 pos, mu_Color color); |
||||
|
void r_draw_icon(int id, mu_Rect rect, mu_Color color); |
||||
|
int r_get_text_width(const char *text, int len); |
||||
|
int r_get_text_height(void); |
||||
|
void r_set_clip_rect(mu_Rect rect); |
||||
|
void r_clear(mu_Color color); |
||||
|
void r_present(void); |
||||
|
|
||||
|
#endif |
||||
|
|
@ -0,0 +1,64 @@ |
|||||
|
04 00 01 F8 |
||||
|
06 00 00 01 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
||||
|
00 00 00 00 |
Loading…
Reference in new issue