diff --git a/cores/Spectrum/cronograma_spi.wcfg b/cores/Spectrum/cronograma_spi.wcfg deleted file mode 100644 index 795bbdf..0000000 --- a/cores/Spectrum/cronograma_spi.wcfg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - clk - clk - - - dout[7:0] - dout[7:0] - - - data_from_spi[7:0] - data_from_spi[7:0] - - - oe_n - oe_n - - - spi_clk - spi_clk - - - spi_di - spi_di - - - spi_do - spi_do - - - enviar_dato - enviar_dato - - - recibir_dato - recibir_dato - - - din[7:0] - din[7:0] - - diff --git a/cores/Spectrum/cronograma_ula_reloaded.wcfg b/cores/Spectrum/cronograma_ula_reloaded.wcfg deleted file mode 100644 index 9b14ce7..0000000 --- a/cores/Spectrum/cronograma_ula_reloaded.wcfg +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - - - - clk14 - clk14 - - - clk7 - clk7 - - - [0] - hc[0] - - - cpuclk - cpuclk - - - hc[8:0] - hc[8:0] - UNSIGNEDDECRADIX - - - vc[8:0] - vc[8:0] - UNSIGNEDDECRADIX - - - VideoEnable - VideoEnable - - - MayContend_n - MayContend_n - - - CauseContention_n - CauseContention_n - - - CancelContention - CancelContention - - - BitmapAddr - BitmapAddr - - - AttrAddr - AttrAddr - - - BitmapDataLoad - BitmapDataLoad - - - AttrDataLoad - AttrDataLoad - - - va[13:0] - va[13:0] - HEXRADIX - - - vramdata[7:0] - vramdata[7:0] - HEXRADIX - - - BitmapData[7:0] - BitmapData[7:0] - HEXRADIX - - - AttrData[7:0] - AttrData[7:0] - HEXRADIX - - - SerializerLoad - SerializerLoad - - - AttrOutputLoad - AttrOutputLoad - - - CA[4:0] - CA[4:0] - HEXRADIX - - - CALoad - CALoad - - - rst_n - rst_n - - - mreq_n - mreq_n - - - iorq_n - iorq_n - - - rd_n - rd_n - - - wr_n - wr_n - - - a[15:0] - a[15:0] - HEXRADIX - - - va[13:0] - va[13:0] - HEXRADIX - - - r[2:0] - r[2:0] - UNSIGNEDDECRADIX - - - g[2:0] - g[2:0] - UNSIGNEDDECRADIX - - - b[2:0] - b[2:0] - UNSIGNEDDECRADIX - - - csync - csync - - - int_n - int_n - - diff --git a/cores/Spectrum/cronograma_zxuno.wcfg b/cores/Spectrum/cronograma_zxuno.wcfg deleted file mode 100644 index 86f595c..0000000 --- a/cores/Spectrum/cronograma_zxuno.wcfg +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - clk - clk - - - addr_rom_16k[13:0] - addr_rom_16k[13:0] - HEXRADIX - - - sram_addr[18:0] - sram_addr[18:0] - HEXRADIX - - - sram_we_n - sram_we_n - - - sram_data[7:0] - sram_data[7:0] - HEXRADIX - - - rom_dout[7:0] - rom_dout[7:0] - HEXRADIX - - - VIDEO - label - 128 128 255 - 230 230 230 - - - r[2:0] - r[2:0] - UNSIGNEDDECRADIX - - - g[2:0] - g[2:0] - UNSIGNEDDECRADIX - - - b[2:0] - b[2:0] - UNSIGNEDDECRADIX - - - csync - csync - - - ULA - label - 128 128 255 - 230 230 230 - - - clk7 - clk7 - - - int_n - int_n - - - hc[8:0] - hc[8:0] - UNSIGNEDDECRADIX - - - vc[8:0] - vc[8:0] - UNSIGNEDDECRADIX - - - dout[7:0] - dout[7:0] - HEXRADIX - - - CLKWait - CLKWait - - - StopCLK - StopCLK - - - BitmapAddr - BitmapAddr - - - BitmapDataLoad - BitmapDataLoad - - - AttrAddr - AttrAddr - - - AttrDataLoad - AttrDataLoad - - - state[2:0] - state[2:0] - UNSIGNEDDECRADIX - - - ioreqall_n - ioreqall_n - - - Nor1 - Nor1 - - - Nor2 - Nor2 - - - CLKContention - CLKContention - - - CPU - label - 128 128 255 - 230 230 230 - - - clk - clk - - - A[15:0] - A[15:0] - HEXRADIX - - - di[7:0] - di[7:0] - HEXRADIX - - - dout[7:0] - dout[7:0] - HEXRADIX - - - mreq_n - mreq_n - - - iorq_n - iorq_n - - - rd_n - rd_n - - - wr_n - wr_n - - - m1_n - m1_n - - - rfsh_n - rfsh_n - - - DUAL PORT MEMORY - label - 128 128 255 - 230 230 230 - - - clk - clk - - - a1[18:0] - a1[18:0] - HEXRADIX - - - dout1[7:0] - dout1[7:0] - HEXRADIX - - - a2[18:0] - a2[18:0] - HEXRADIX - - - din2[7:0] - din2[7:0] - HEXRADIX - - - dout2[7:0] - dout2[7:0] - HEXRADIX - - - a[18:0] - a[18:0] - HEXRADIX - - - d[7:0] - d[7:0] - HEXRADIX - - - we_n - we_n - - - doutput1[7:0] - doutput1[7:0] - HEXRADIX - - - doutput2[7:0] - doutput2[7:0] - HEXRADIX - - diff --git a/cores/Spectrum/genkeybmap_av.c b/cores/Spectrum/genkeybmap_av.c deleted file mode 100644 index a735e5b..0000000 --- a/cores/Spectrum/genkeybmap_av.c +++ /dev/null @@ -1,432 +0,0 @@ -#include -#include - -typedef unsigned char BYTE; -/* - 8 8 3 5 3 5 -AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX - -AAA = semifila del teclado a modificar | esta información está -DDDDD = dato (AND negado con lo que haya) de esa semifila | repetida para dos teclas -MRN = Master reset, Reset de usuario, NMI -JJJJJ = estado del joystick al pulsar tecla. Posiciones UDLRX -MMM = la tecla es un modificador -XXXXX = Reservado para uso futuro - -Ej: en la dirección de memoria correspondiente al código de la tecla ESC, -que correspondería a la pulsación simultánea de CAPS SHIFT+SPACE, pondríamos: -00000001 11100001 000 00000 000 00000 -Esto es: se activan las semifilas 0 y 7, y en cada una, se activa el bit 0 - -256 codigos + E0 = 512 codigos -SHIFT, CTRL, ALT = 8 combinaciones - -512*8=4096 direcciones x 32 bits = 16384 bytes -En el core se dispondrá como una memoria de 16384x8 bits - -Cada tecla ocupará cuatro direcciones consecutivas. -D+0 : tecla1 (o 0 si no la hay) -D+1 : tecla2 (o 0 si no la hay) -D+2 : señales de reset y joystick, 0 si no hay -D+3 : modificadores y señales de usuario, 0 si no hay -*/ - -// You shouldn't have to touch these defs unless your Spectrum has a different keyboard -// layout (because, for example, you are using a different ROM - -#define SP_1 0x61 -#define SP_2 0x62 -#define SP_3 0x64 -#define SP_4 0x68 -#define SP_5 0x70 - -#define SP_0 0x81 -#define SP_9 0x82 -#define SP_8 0x84 -#define SP_7 0x88 -#define SP_6 0x90 - -#define SP_Q 0x41 -#define SP_W 0x42 -#define SP_E 0x44 -#define SP_R 0x48 -#define SP_T 0x50 - -#define SP_P 0xA1 -#define SP_O 0xA2 -#define SP_I 0xA4 -#define SP_U 0xA8 -#define SP_Y 0xB0 - -#define SP_A 0x21 -#define SP_S 0x22 -#define SP_D 0x24 -#define SP_F 0x28 -#define SP_G 0x30 - -#define SP_ENTER 0xC1 -#define SP_L 0xC2 -#define SP_K 0xC4 -#define SP_J 0xC8 -#define SP_H 0xD0 - -#define SP_CAPS 0x01 -#define SP_Z 0x02 -#define SP_X 0x04 -#define SP_C 0x08 -#define SP_V 0x10 - -#define SP_SPACE 0xE1 -#define SP_SYMBOL 0xE2 -#define SP_M 0xE4 -#define SP_N 0xE8 -#define SP_B 0xF0 - -#define SP_BANG (SP_SYMBOL<<8) | SP_1 -#define SP_AT (SP_SYMBOL<<8) | SP_2 -#define SP_HASH (SP_SYMBOL<<8) | SP_3 -#define SP_DOLLAR (SP_SYMBOL<<8) | SP_4 -#define SP_PERCEN (SP_SYMBOL<<8) | SP_5 -#define SP_AMP (SP_SYMBOL<<8) | SP_6 -#define SP_APOSTRO (SP_SYMBOL<<8) | SP_7 -#define SP_PAROPEN (SP_SYMBOL<<8) | SP_8 -#define SP_PARCLOS (SP_SYMBOL<<8) | SP_9 -#define SP_UNDERSC (SP_SYMBOL<<8) | SP_0 -#define SP_LESS (SP_SYMBOL<<8) | SP_R -#define SP_LESSEQ (SP_SYMBOL<<8) | SP_Q -#define SP_GREATER (SP_SYMBOL<<8) | SP_T -#define SP_GREATEQ (SP_SYMBOL<<8) | SP_E -#define SP_NOTEQ (SP_SYMBOL<<8) | SP_W -#define SP_BRAOPEN (SP_SYMBOL<<8) | SP_Y -#define SP_BRACLOS (SP_SYMBOL<<8) | SP_U -#define SP_SEMICOL (SP_SYMBOL<<8) | SP_O -#define SP_QUOTE (SP_SYMBOL<<8) | SP_P -#define SP_TILDE (SP_SYMBOL<<8) | SP_A -#define SP_PIPE (SP_SYMBOL<<8) | SP_S -#define SP_BACKSLA (SP_SYMBOL<<8) | SP_D -#define SP_CUROPEN (SP_SYMBOL<<8) | SP_F -#define SP_CURCLOS (SP_SYMBOL<<8) | SP_G -#define SP_CARET (SP_SYMBOL<<8) | SP_H -#define SP_MINUS (SP_SYMBOL<<8) | SP_J -#define SP_PLUS (SP_SYMBOL<<8) | SP_K -#define SP_EQUAL (SP_SYMBOL<<8) | SP_L -#define SP_COLON (SP_SYMBOL<<8) | SP_Z -#define SP_POUND (SP_SYMBOL<<8) | SP_X -#define SP_QUEST (SP_SYMBOL<<8) | SP_C -#define SP_SLASH (SP_SYMBOL<<8) | SP_V -#define SP_STAR (SP_SYMBOL<<8) | SP_B -#define SP_COMMA (SP_SYMBOL<<8) | SP_N -#define SP_DOT (SP_SYMBOL<<8) | SP_M - -#define SP_EXTEND (SP_CAPS<<8) | SP_SYMBOL -#define SP_EDIT (SP_CAPS<<8) | SP_1 -#define SP_CPSLOCK (SP_CAPS<<8) | SP_2 -#define SP_TRUE (SP_CAPS<<8) | SP_3 -#define SP_INVERSE (SP_CAPS<<8) | SP_4 -#define SP_LEFT (SP_CAPS<<8) | SP_5 -#define SP_DOWN (SP_CAPS<<8) | SP_6 -#define SP_UP (SP_CAPS<<8) | SP_7 -#define SP_RIGHT (SP_CAPS<<8) | SP_8 -#define SP_GRAPH (SP_CAPS<<8) | SP_9 -#define SP_DELETE (SP_CAPS<<8) | SP_0 -#define SP_BREAK (SP_CAPS<<8) | SP_SPACE - -// END of Spectrum keys definitions - -// Definitions for additional signals generated by the keyboard core -// AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX -#define MODIFIER1 0x20 -#define MODIFIER2 0x40 -#define MODIFIER3 0x80 - -#define MRESET 0x80 -#define URESET 0x40 -#define NMI 0x20 - -#define JOYUP 0x10 -#define JOYDOWN 0x08 -#define JOYLEFT 0x04 -#define JOYRIGHT 0x02 -#define JOYFIRE 0x01 - -#define USER5 0x10 -#define USER4 0x08 -#define USER3 0x04 -#define USER2 0x02 -#define USER1 0x01 -// End of additional signals - -// A key can be pressed with up to three key modifiers -// which generates 8 combinations for each key -#define EXT 0x100 -#define MD1 0x200 -#define MD2 0x400 -#define MD3 0x800 - -// Scan code 2 list. First, non localized keys -#define PC_A 0x1C -#define PC_B 0x32 -#define PC_C 0x21 -#define PC_D 0x23 -#define PC_E 0x24 -#define PC_F 0x2B -#define PC_G 0x34 -#define PC_H 0x33 -#define PC_I 0x43 -#define PC_J 0x3B -#define PC_K 0x42 -#define PC_L 0x4B -#define PC_M 0x3A -#define PC_N 0x31 -#define PC_O 0x44 -#define PC_P 0x4D -#define PC_Q 0x15 -#define PC_R 0x2D -#define PC_S 0x1B -#define PC_T 0x2C -#define PC_U 0x3C -#define PC_V 0x2A -#define PC_W 0x1D -#define PC_X 0x22 -#define PC_Y 0x35 -#define PC_Z 0x1A - -#define PC_0 0x45 -#define PC_1 0x16 -#define PC_2 0x1E -#define PC_3 0x26 -#define PC_4 0x25 -#define PC_5 0x2E -#define PC_6 0x36 -#define PC_7 0x3D -#define PC_8 0x3E -#define PC_9 0x46 - -#define PC_F1 0x05 -#define PC_F2 0x06 -#define PC_F3 0x04 -#define PC_F4 0x0C -#define PC_F5 0x03 -#define PC_F6 0x0B -#define PC_F7 0x83 -#define PC_F8 0x0A -#define PC_F9 0x01 -#define PC_F10 0x09 -#define PC_F11 0x78 -#define PC_F12 0x07 - -#define PC_ESC 0x76 -#define PC_SPACE 0x29 -#define PC_LCTRL 0x14 -#define PC_RCTRL 0x14 | EXT -#define PC_LSHIFT 0x12 -#define PC_RSHIFT 0x59 -#define PC_LALT 0x11 -#define PC_RALT 0x11 | EXT -#define PC_LWIN 0x1F | EXT -#define PC_RWIN 0x27 | EXT -#define PC_APPS 0x2F | EXT - -#define PC_TAB 0x0D -#define PC_CPSLOCK 0x58 -#define PC_SCRLOCK 0x7E - -#define PC_INSERT 0x70 | EXT -#define PC_DELETE 0x71 | EXT -#define PC_HOME 0x6C | EXT -#define PC_END 0x69 | EXT -#define PC_PGUP 0x7D | EXT -#define PC_PGDOWN 0x7A | EXT -#define PC_BKSPACE 0x66 -#define PC_ENTER 0x5A -#define PC_UP 0x75 | EXT -#define PC_DOWN 0x72 | EXT -#define PC_LEFT 0x6B | EXT -#define PC_RIGHT 0x74 | EXT - -#define PC_NUMLOCK 0x77 -#define PC_KP_DIVIS 0x4A | EXT -#define PC_KP_MULT 0x7C -#define PC_KP_MINUS 0x7B -#define PC_KP_PLUS 0x79 -#define PC_KP_ENTER 0x5A | EXT -#define PC_KP_DOT 0x71 -#define PC_KP_0 0x70 -#define PC_KP_1 0x69 -#define PC_KP_2 0x72 -#define PC_KP_3 0x7A -#define PC_KP_4 0x6B -#define PC_KP_5 0x73 -#define PC_KP_6 0x74 -#define PC_KP_7 0x6C -#define PC_KP_8 0x75 -#define PC_KP_9 0x7D - -// Localized keyboards start to differenciate from here - -// Localized keyboard ES (Spain) -#define PC_BACKSLA 0x0E -#define PC_APOSTRO 0x4E -#define PC_OPNBANG 0x55 -#define PC_GRAVEAC 0x54 -#define PC_PLUS 0x5B -#define PC_EGNE 0x4C -#define PC_ACUTEAC 0x52 -#define PC_CEDILLA 0x5D -#define PC_LESS 0x61 -#define PC_COMMA 0x41 -#define PC_DOT 0x49 -#define PC_MINUS 0x4A - -#define MAP(pc,sp,rj,mu) { \ - rom[(pc)*4] = (((sp)>>8)&0xFF); \ - rom[(pc)*4+1] = (((sp))&0xFF); \ - rom[(pc)*4+2] = (rj); \ - rom[(pc)*4+3] = (mu); \ - } - -#define MAPANY(pc,sp,rj,mu) { \ - MAP(pc,sp,rj,mu); \ - MAP(MD1|pc,sp,rj,mu); \ - MAP(MD2|pc,sp,rj,mu); \ - MAP(MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|pc,sp,rj,mu); \ - MAP(MD1|MD3|pc,sp,rj,mu); \ - MAP(MD2|MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|MD3|pc,sp,rj,mu); \ - } - -#define CLEANMAP { \ - int i; \ - for (i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - rom[i] = 0; \ - } -#define SAVEMAPHEX(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"w"); \ - for(i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - fprintf(f,"%.2X\n",rom[i]); \ - fclose(f); \ - } - -#define SAVEMAPBIN(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"wb"); \ - fwrite (rom, 1, sizeof(rom), f); \ - fclose(f); \ - } - -int main() -{ - BYTE rom[16384]; - - CLEANMAP; - - MAPANY(PC_LSHIFT,SP_CAPS,0,0); - MAPANY(PC_RSHIFT,SP_CAPS,0,0); - MAPANY(PC_LCTRL,SP_SYMBOL,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_RCTRL,SP_SYMBOL,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_LALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - MAPANY(PC_RALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - - // Basic mapping: each key from PC is mapped to a key in the Spectrum - MAPANY(PC_1,SP_1,0,0); - MAPANY(PC_2,SP_2,0,0); - MAPANY(PC_3,SP_3,0,0); - MAPANY(PC_4,SP_4,0,0); - MAPANY(PC_5,SP_5,0,0); - MAPANY(PC_6,SP_6,0,0); - MAPANY(PC_7,SP_7,0,0); - MAPANY(PC_8,SP_8,0,0); - MAPANY(PC_9,SP_9,0,0); - MAPANY(PC_0,SP_0,0,0); - - MAPANY(PC_Q,SP_Q,0,0); - MAPANY(PC_W,SP_W,0,0); - MAPANY(PC_E,SP_E,0,0); - MAPANY(PC_R,SP_R,0,0); - MAPANY(PC_T,SP_T,0,0); - MAPANY(PC_Y,SP_Y,0,0); - MAPANY(PC_U,SP_U,0,0); - MAPANY(PC_I,SP_I,0,0); - MAPANY(PC_O,SP_O,0,0); - MAPANY(PC_P,SP_P,0,0); - MAPANY(PC_A,SP_A,0,0); - MAPANY(PC_S,SP_S,0,0); - MAPANY(PC_D,SP_D,0,0); - MAPANY(PC_F,SP_F,0,0); - MAPANY(PC_G,SP_G,0,0); - MAPANY(PC_H,SP_H,0,0); - MAPANY(PC_J,SP_J,0,0); - MAPANY(PC_K,SP_K,0,0); - MAPANY(PC_L,SP_L,0,0); - MAPANY(PC_Z,SP_Z,0,0); - MAPANY(PC_X,SP_X,0,0); - MAPANY(PC_C,SP_C,0,0); - MAPANY(PC_V,SP_V,0,0); - MAPANY(PC_B,SP_B,0,0); - MAPANY(PC_N,SP_N,0,0); - MAPANY(PC_M,SP_M,0,0); - - MAPANY(PC_SPACE,SP_SPACE,0,0); - MAPANY(PC_ENTER,SP_ENTER,0,0); - MAPANY(PC_ESC,SP_BREAK,0,0); - MAPANY(PC_CPSLOCK,SP_CPSLOCK,0,0); - MAPANY(PC_TAB,SP_EXTEND,0,0); - MAP(PC_BKSPACE,SP_DELETE,0,0); - MAPANY(PC_UP,SP_UP,0,0); - MAPANY(PC_DOWN,SP_DOWN,0,0); - MAPANY(PC_LEFT,SP_LEFT,0,0); - MAPANY(PC_RIGHT,SP_RIGHT,0,0); - MAPANY(PC_F2,SP_EDIT,0,0); - MAPANY(PC_F3,SP_TRUE,0,0); - MAPANY(PC_F4,SP_INVERSE,0,0); - MAP(PC_F5|MD2|MD3,0,NMI,0); // Ctrl-Alt-F5 for NMI - MAPANY(PC_F10,SP_GRAPH,0,0); // F10 habilita el modo gráfico. Esto es para Antonio, para la BIOS - MAP(PC_DELETE|MD2|MD3,0,URESET,0); // - MAP(PC_KP_DOT|MD2|MD3,0,URESET,0); // Ctrl-Alt-Del for user reset - MAP(PC_BKSPACE|MD2|MD3,0,MRESET,0); // Ctrl-Alt-BkSpace for master reset - - //keypad - MAPANY(PC_KP_1,SP_1,0,0); - MAPANY(PC_KP_2,SP_2,0,0); - MAPANY(PC_KP_3,SP_3,0,0); - MAPANY(PC_KP_4,SP_4,0,0); - MAPANY(PC_KP_5,SP_5,0,0); - MAPANY(PC_KP_6,SP_6,0,0); - MAPANY(PC_KP_7,SP_7,0,0); - MAPANY(PC_KP_8,SP_8,0,0); - MAPANY(PC_KP_9,SP_9,0,0); - MAPANY(PC_KP_0,SP_0,0,0); - MAPANY(PC_KP_DIVIS,SP_SLASH,0,0); - MAPANY(PC_KP_MULT,SP_STAR,0,0); - MAPANY(PC_KP_MINUS,SP_MINUS,0,0); - MAPANY(PC_KP_PLUS,SP_PLUS,0,0); - MAPANY(PC_KP_ENTER,SP_ENTER,0,0); - MAPANY(PC_KP_DOT,SP_DOT,0,0); - - MAPANY(PC_BACKSLA,SP_COLON,0,0); - MAPANY(PC_APOSTRO,SP_DOLLAR,0,0); - MAPANY(PC_OPNBANG,SP_EQUAL,0,0); - MAPANY(PC_GRAVEAC,SP_PAROPEN,0,0); - MAPANY(PC_PLUS,SP_PARCLOS,0,0); - MAPANY(PC_EGNE,SP_SEMICOL,0,0); - MAPANY(PC_ACUTEAC,SP_QUOTE,0,0); - MAPANY(PC_COMMA,SP_COMMA,0,0); - MAPANY(PC_DOT,SP_DOT,0,0); - MAPANY(PC_MINUS,SP_SLASH,0,0); - - MAPANY(PC_HOME,0,JOYUP,0); - MAPANY(PC_END,0,JOYDOWN,0); - MAPANY(PC_DELETE,0,JOYLEFT,0); - MAPANY(PC_PGDOWN,0,JOYRIGHT,0); - -// MAP(PC_F12,0,0,USER1); // Evento de usuario 1 - - // End of mapping. Save .HEX file for Verilog - SAVEMAPHEX("keyb_av_hex.txt"); - // And map file for loading from ESXDOS - SAVEMAPBIN("keymaps\\AV"); -} diff --git a/cores/Spectrum/genkeybmap_es.c b/cores/Spectrum/genkeybmap_es.c deleted file mode 100644 index 3e9daf2..0000000 --- a/cores/Spectrum/genkeybmap_es.c +++ /dev/null @@ -1,492 +0,0 @@ -#include -#include - -typedef unsigned char BYTE; -/* - 8 8 3 5 3 5 -AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX - -AAA = semifila del teclado a modificar | esta información está -DDDDD = dato (AND negado con lo que haya) de esa semifila | repetida para dos teclas -MRN = Master reset, Reset de usuario, NMI -JJJJJ = estado del joystick al pulsar tecla. Posiciones UDLRX -MMM = la tecla es un modificador -XXXXX = Reservado para uso futuro - -Ej: en la dirección de memoria correspondiente al código de la tecla ESC, -que correspondería a la pulsación simultánea de CAPS SHIFT+SPACE, pondríamos: -00000001 11100001 000 00000 000 00000 -Esto es: se activan las semifilas 0 y 7, y en cada una, se activa el bit 0 - -256 codigos + E0 = 512 codigos -SHIFT, CTRL, ALT = 8 combinaciones - -512*8=4096 direcciones x 32 bits = 16384 bytes -En el core se dispondrá como una memoria de 16384x8 bits - -Cada tecla ocupará cuatro direcciones consecutivas. -D+0 : tecla1 (o 0 si no la hay) -D+1 : tecla2 (o 0 si no la hay) -D+2 : señales de reset y joystick, 0 si no hay -D+3 : modificadores y señales de usuario, 0 si no hay -*/ - -// You shouldn't have to touch these defs unless your Spectrum has a different keyboard -// layout (because, for example, you are using a different ROM - -#define SP_1 0x61 -#define SP_2 0x62 -#define SP_3 0x64 -#define SP_4 0x68 -#define SP_5 0x70 - -#define SP_0 0x81 -#define SP_9 0x82 -#define SP_8 0x84 -#define SP_7 0x88 -#define SP_6 0x90 - -#define SP_Q 0x41 -#define SP_W 0x42 -#define SP_E 0x44 -#define SP_R 0x48 -#define SP_T 0x50 - -#define SP_P 0xA1 -#define SP_O 0xA2 -#define SP_I 0xA4 -#define SP_U 0xA8 -#define SP_Y 0xB0 - -#define SP_A 0x21 -#define SP_S 0x22 -#define SP_D 0x24 -#define SP_F 0x28 -#define SP_G 0x30 - -#define SP_ENTER 0xC1 -#define SP_L 0xC2 -#define SP_K 0xC4 -#define SP_J 0xC8 -#define SP_H 0xD0 - -#define SP_CAPS 0x01 -#define SP_Z 0x02 -#define SP_X 0x04 -#define SP_C 0x08 -#define SP_V 0x10 - -#define SP_SPACE 0xE1 -#define SP_SYMBOL 0xE2 -#define SP_M 0xE4 -#define SP_N 0xE8 -#define SP_B 0xF0 - -#define SP_BANG (SP_SYMBOL<<8) | SP_1 -#define SP_AT (SP_SYMBOL<<8) | SP_2 -#define SP_HASH (SP_SYMBOL<<8) | SP_3 -#define SP_DOLLAR (SP_SYMBOL<<8) | SP_4 -#define SP_PERCEN (SP_SYMBOL<<8) | SP_5 -#define SP_AMP (SP_SYMBOL<<8) | SP_6 -#define SP_APOSTRO (SP_SYMBOL<<8) | SP_7 -#define SP_PAROPEN (SP_SYMBOL<<8) | SP_8 -#define SP_PARCLOS (SP_SYMBOL<<8) | SP_9 -#define SP_UNDERSC (SP_SYMBOL<<8) | SP_0 -#define SP_LESS (SP_SYMBOL<<8) | SP_R -#define SP_LESSEQ (SP_SYMBOL<<8) | SP_Q -#define SP_GREATER (SP_SYMBOL<<8) | SP_T -#define SP_GREATEQ (SP_SYMBOL<<8) | SP_E -#define SP_NOTEQ (SP_SYMBOL<<8) | SP_W -#define SP_BRAOPEN (SP_SYMBOL<<8) | SP_Y -#define SP_BRACLOS (SP_SYMBOL<<8) | SP_U -#define SP_SEMICOL (SP_SYMBOL<<8) | SP_O -#define SP_QUOTE (SP_SYMBOL<<8) | SP_P -#define SP_TILDE (SP_SYMBOL<<8) | SP_A -#define SP_PIPE (SP_SYMBOL<<8) | SP_S -#define SP_BACKSLA (SP_SYMBOL<<8) | SP_D -#define SP_CUROPEN (SP_SYMBOL<<8) | SP_F -#define SP_CURCLOS (SP_SYMBOL<<8) | SP_G -#define SP_CARET (SP_SYMBOL<<8) | SP_H -#define SP_MINUS (SP_SYMBOL<<8) | SP_J -#define SP_PLUS (SP_SYMBOL<<8) | SP_K -#define SP_EQUAL (SP_SYMBOL<<8) | SP_L -#define SP_COLON (SP_SYMBOL<<8) | SP_Z -#define SP_POUND (SP_SYMBOL<<8) | SP_X -#define SP_QUEST (SP_SYMBOL<<8) | SP_C -#define SP_SLASH (SP_SYMBOL<<8) | SP_V -#define SP_STAR (SP_SYMBOL<<8) | SP_B -#define SP_COMMA (SP_SYMBOL<<8) | SP_N -#define SP_DOT (SP_SYMBOL<<8) | SP_M - -#define SP_EXTEND (SP_CAPS<<8) | SP_SYMBOL -#define SP_EDIT (SP_CAPS<<8) | SP_1 -#define SP_CPSLOCK (SP_CAPS<<8) | SP_2 -#define SP_TRUE (SP_CAPS<<8) | SP_3 -#define SP_INVERSE (SP_CAPS<<8) | SP_4 -#define SP_LEFT (SP_CAPS<<8) | SP_5 -#define SP_DOWN (SP_CAPS<<8) | SP_6 -#define SP_UP (SP_CAPS<<8) | SP_7 -#define SP_RIGHT (SP_CAPS<<8) | SP_8 -#define SP_GRAPH (SP_CAPS<<8) | SP_9 -#define SP_DELETE (SP_CAPS<<8) | SP_0 -#define SP_BREAK (SP_CAPS<<8) | SP_SPACE - -// END of Spectrum keys definitions - -// Definitions for additional signals generated by the keyboard core -// AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX -#define MODIFIER1 0x20 -#define MODIFIER2 0x40 -#define MODIFIER3 0x80 - -#define MRESET 0x80 -#define URESET 0x40 -#define NMI 0x20 - -#define JOYUP 0x10 -#define JOYDOWN 0x08 -#define JOYLEFT 0x04 -#define JOYRIGHT 0x02 -#define JOYFIRE 0x01 - -#define USER5 0x10 -#define USER4 0x08 -#define USER3 0x04 -#define USER2 0x02 -#define USER1 0x01 -// End of additional signals - -// A key can be pressed with up to three key modifiers -// which generates 8 combinations for each key -#define EXT 0x100 -#define MD1 0x200 -#define MD2 0x400 -#define MD3 0x800 - -// Scan code 2 list. First, non localized keys -#define PC_A 0x1C -#define PC_B 0x32 -#define PC_C 0x21 -#define PC_D 0x23 -#define PC_E 0x24 -#define PC_F 0x2B -#define PC_G 0x34 -#define PC_H 0x33 -#define PC_I 0x43 -#define PC_J 0x3B -#define PC_K 0x42 -#define PC_L 0x4B -#define PC_M 0x3A -#define PC_N 0x31 -#define PC_O 0x44 -#define PC_P 0x4D -#define PC_Q 0x15 -#define PC_R 0x2D -#define PC_S 0x1B -#define PC_T 0x2C -#define PC_U 0x3C -#define PC_V 0x2A -#define PC_W 0x1D -#define PC_X 0x22 -#define PC_Y 0x35 -#define PC_Z 0x1A - -#define PC_0 0x45 -#define PC_1 0x16 -#define PC_2 0x1E -#define PC_3 0x26 -#define PC_4 0x25 -#define PC_5 0x2E -#define PC_6 0x36 -#define PC_7 0x3D -#define PC_8 0x3E -#define PC_9 0x46 - -#define PC_F1 0x05 -#define PC_F2 0x06 -#define PC_F3 0x04 -#define PC_F4 0x0C -#define PC_F5 0x03 -#define PC_F6 0x0B -#define PC_F7 0x83 -#define PC_F8 0x0A -#define PC_F9 0x01 -#define PC_F10 0x09 -#define PC_F11 0x78 -#define PC_F12 0x07 - -#define PC_ESC 0x76 -#define PC_SPACE 0x29 -#define PC_LCTRL 0x14 -#define PC_RCTRL 0x14 | EXT -#define PC_LSHIFT 0x12 -#define PC_RSHIFT 0x59 -#define PC_LALT 0x11 -#define PC_RALT 0x11 | EXT -#define PC_LWIN 0x1F | EXT -#define PC_RWIN 0x27 | EXT -#define PC_APPS 0x2F | EXT - -#define PC_TAB 0x0D -#define PC_CPSLOCK 0x58 -#define PC_SCRLOCK 0x7E - -#define PC_INSERT 0x70 | EXT -#define PC_DELETE 0x71 | EXT -#define PC_HOME 0x6C | EXT -#define PC_END 0x69 | EXT -#define PC_PGUP 0x7D | EXT -#define PC_PGDOWN 0x7A | EXT -#define PC_BKSPACE 0x66 -#define PC_ENTER 0x5A -#define PC_UP 0x75 | EXT -#define PC_DOWN 0x72 | EXT -#define PC_LEFT 0x6B | EXT -#define PC_RIGHT 0x74 | EXT - -#define PC_NUMLOCK 0x77 -#define PC_KP_DIVIS 0x4A | EXT -#define PC_KP_MULT 0x7C -#define PC_KP_MINUS 0x7B -#define PC_KP_PLUS 0x79 -#define PC_KP_ENTER 0x5A | EXT -#define PC_KP_DOT 0x71 -#define PC_KP_0 0x70 -#define PC_KP_1 0x69 -#define PC_KP_2 0x72 -#define PC_KP_3 0x7A -#define PC_KP_4 0x6B -#define PC_KP_5 0x73 -#define PC_KP_6 0x74 -#define PC_KP_7 0x6C -#define PC_KP_8 0x75 -#define PC_KP_9 0x7D - -// Localized keyboards start to differenciate from here - -// Localized keyboard ES (Spain) -#define PC_BACKSLA 0x0E -#define PC_APOSTRO 0x4E -#define PC_OPNBANG 0x55 -#define PC_GRAVEAC 0x54 -#define PC_PLUS 0x5B -#define PC_EGNE 0x4C -#define PC_ACUTEAC 0x52 -#define PC_CEDILLA 0x5D -#define PC_LESS 0x61 -#define PC_COMMA 0x41 -#define PC_DOT 0x49 -#define PC_MINUS 0x4A - -#define MAP(pc,sp,rj,mu) { \ - rom[(pc)*4] = (((sp)>>8)&0xFF); \ - rom[(pc)*4+1] = (((sp))&0xFF); \ - rom[(pc)*4+2] = (rj); \ - rom[(pc)*4+3] = (mu); \ - } - -#define MAPANY(pc,sp,rj,mu) { \ - MAP(pc,sp,rj,mu); \ - MAP(MD1|pc,sp,rj,mu); \ - MAP(MD2|pc,sp,rj,mu); \ - MAP(MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|pc,sp,rj,mu); \ - MAP(MD1|MD3|pc,sp,rj,mu); \ - MAP(MD2|MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|MD3|pc,sp,rj,mu); \ - } - -#define CLEANMAP { \ - int i; \ - for (i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - rom[i] = 0; \ - } -#define SAVEMAPHEX(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"w"); \ - for(i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - fprintf(f,"%.2X\n",rom[i]); \ - fclose(f); \ - } - -#define SAVEMAPBIN(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"wb"); \ - fwrite (rom, 1, sizeof(rom), f); \ - fclose(f); \ - } - - -int main() -{ - BYTE rom[16384]; - - CLEANMAP; - - MAPANY(PC_LSHIFT,0,0,MODIFIER1); // MD1 is SHIFT - MAPANY(PC_RSHIFT,0,0,MODIFIER1); // MD1 is SHIFT - MAPANY(PC_LCTRL,0,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_RCTRL,0,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_LALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - MAPANY(PC_RALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - - MAPANY(PC_LWIN,SP_CAPS,0,0); // CAPS SHIFT - MAPANY(PC_RWIN,SP_SYMBOL,0,0); // SYMBOL SHIFT - MAPANY(PC_APPS,SP_SYMBOL,0,0); // SYMBOL SHIFT - - // Basic mapping: each key from PC is mapped to a key in the Spectrum - MAP(PC_1,SP_1,0,0); - MAP(PC_2,SP_2,0,0); - MAP(PC_3,SP_3,0,0); - MAP(PC_4,SP_4,0,0); - MAP(PC_5,SP_5,0,0); - MAP(PC_6,SP_6,0,0); - MAP(PC_7,SP_7,0,0); - MAP(PC_8,SP_8,0,0); - MAP(PC_9,SP_9,0,0); - MAP(PC_0,SP_0,0,0); - - MAP(PC_Q,SP_Q,0,0); - MAP(PC_W,SP_W,0,0); - MAP(PC_E,SP_E,0,0); - MAP(PC_R,SP_R,0,0); - MAP(PC_T,SP_T,0,0); - MAP(PC_Y,SP_Y,0,0); - MAP(PC_U,SP_U,0,0); - MAP(PC_I,SP_I,0,0); - MAP(PC_O,SP_O,0,0); - MAP(PC_P,SP_P,0,0); - MAP(PC_A,SP_A,0,0); - MAP(PC_S,SP_S,0,0); - MAP(PC_D,SP_D,0,0); - MAP(PC_F,SP_F,0,0); - MAP(PC_G,SP_G,0,0); - MAP(PC_H,SP_H,0,0); - MAP(PC_J,SP_J,0,0); - MAP(PC_K,SP_K,0,0); - MAP(PC_L,SP_L,0,0); - MAP(PC_Z,SP_Z,0,0); - MAP(PC_X,SP_X,0,0); - MAP(PC_C,SP_C,0,0); - MAP(PC_V,SP_V,0,0); - MAP(PC_B,SP_B,0,0); - MAP(PC_N,SP_N,0,0); - MAP(PC_M,SP_M,0,0); - - MAP(MD1|PC_Q,SP_CAPS<<8|SP_Q,0,0); - MAP(MD1|PC_W,SP_CAPS<<8|SP_W,0,0); - MAP(MD1|PC_E,SP_CAPS<<8|SP_E,0,0); - MAP(MD1|PC_R,SP_CAPS<<8|SP_R,0,0); - MAP(MD1|PC_T,SP_CAPS<<8|SP_T,0,0); - MAP(MD1|PC_Y,SP_CAPS<<8|SP_Y,0,0); - MAP(MD1|PC_U,SP_CAPS<<8|SP_U,0,0); - MAP(MD1|PC_I,SP_CAPS<<8|SP_I,0,0); - MAP(MD1|PC_O,SP_CAPS<<8|SP_O,0,0); - MAP(MD1|PC_P,SP_CAPS<<8|SP_P,0,0); - MAP(MD1|PC_A,SP_CAPS<<8|SP_A,0,0); - MAP(MD1|PC_S,SP_CAPS<<8|SP_S,0,0); - MAP(MD1|PC_D,SP_CAPS<<8|SP_D,0,0); - MAP(MD1|PC_F,SP_CAPS<<8|SP_F,0,0); - MAP(MD1|PC_G,SP_CAPS<<8|SP_G,0,0); - MAP(MD1|PC_H,SP_CAPS<<8|SP_H,0,0); - MAP(MD1|PC_J,SP_CAPS<<8|SP_J,0,0); - MAP(MD1|PC_K,SP_CAPS<<8|SP_K,0,0); - MAP(MD1|PC_L,SP_CAPS<<8|SP_L,0,0); - MAP(MD1|PC_Z,SP_CAPS<<8|SP_Z,0,0); - MAP(MD1|PC_X,SP_CAPS<<8|SP_X,0,0); - MAP(MD1|PC_C,SP_CAPS<<8|SP_C,0,0); - MAP(MD1|PC_V,SP_CAPS<<8|SP_V,0,0); - MAP(MD1|PC_B,SP_CAPS<<8|SP_B,0,0); - MAP(MD1|PC_N,SP_CAPS<<8|SP_N,0,0); - MAP(MD1|PC_M,SP_CAPS<<8|SP_M,0,0); - - MAPANY(PC_SPACE,SP_SPACE,0,0); - MAPANY(PC_ENTER,SP_ENTER,0,0); - - //Complex mapping. This is for the spanish keyboard although many - //combos can be used with any other PC keyboard - MAPANY(PC_ESC,SP_BREAK,0,0); - MAPANY(PC_CPSLOCK,SP_CPSLOCK,0,0); - MAPANY(PC_TAB,SP_EXTEND,0,0); - MAP(PC_BKSPACE,SP_DELETE,0,0); - MAPANY(PC_UP,SP_UP,0,0); - MAPANY(PC_DOWN,SP_DOWN,0,0); - MAPANY(PC_LEFT,SP_LEFT,0,0); - MAPANY(PC_RIGHT,SP_RIGHT,0,0); - MAPANY(PC_F2,SP_EDIT,0,0); - - MAP(PC_F5|MD2|MD3,0,NMI,0); // Ctrl-Alt-F5 for NMI - MAP(PC_F10,SP_GRAPH,0,0); // F10 habilita el modo gráfico. Esto es para Antonio, para la BIOS - MAP(PC_DELETE|MD2|MD3,0,URESET,0); // - MAP(PC_KP_DOT|MD2|MD3,0,URESET,0); // Ctrl-Alt-Del for user reset - MAP(PC_BKSPACE|MD2|MD3,0,MRESET,0); // Ctrl-Alt-BkSpace for master reset - - //keypad - MAPANY(PC_KP_DIVIS,SP_SLASH,0,0); - MAPANY(PC_KP_MULT,SP_STAR,0,0); - MAPANY(PC_KP_MINUS,SP_MINUS,0,0); - MAPANY(PC_KP_PLUS,SP_PLUS,0,0); - MAPANY(PC_KP_ENTER,SP_ENTER,0,0); - - // a 8-way keyboard joystick on the keypad - MAPANY(PC_KP_7,0,JOYUP|JOYLEFT,0); - MAPANY(PC_KP_8,0,JOYUP,0); - MAPANY(PC_KP_9,0,JOYUP|JOYRIGHT,0); - MAPANY(PC_KP_4,0,JOYLEFT,0); - MAPANY(PC_KP_5,0,JOYDOWN,0); - MAPANY(PC_KP_6,0,JOYRIGHT,0); - MAPANY(PC_KP_1,0,JOYDOWN|JOYLEFT,0); - MAPANY(PC_KP_2,0,JOYDOWN,0); - MAPANY(PC_KP_3,0,JOYDOWN|JOYRIGHT,0); - - //Some shift+key mappings for the ES keyboard - MAP(MD1|PC_1,SP_BANG,0,0); - MAP(MD1|PC_2,SP_QUOTE,0,0); - MAP(MD1|PC_3,SP_HASH,0,0); - MAP(MD1|PC_4,SP_DOLLAR,0,0); - MAP(MD1|PC_5,SP_PERCEN,0,0); - MAP(MD1|PC_6,SP_AMP,0,0); - MAP(MD1|PC_7,SP_SLASH,0,0); - MAP(MD1|PC_8,SP_PAROPEN,0,0); - MAP(MD1|PC_9,SP_PARCLOS,0,0); - MAP(MD1|PC_0,SP_EQUAL,0,0); - MAP(PC_APOSTRO,SP_APOSTRO,0,0); - MAP(MD1|PC_APOSTRO,SP_QUEST,0,0); - MAP(PC_GRAVEAC,SP_POUND,0,0); - MAP(MD1|PC_GRAVEAC,SP_CARET,0,0); - MAP(PC_PLUS,SP_PLUS,0,0); - MAP(MD1|PC_PLUS,SP_STAR,0,0); - MAP(PC_ACUTEAC,SP_CUROPEN,0,0); - MAP(MD1|PC_ACUTEAC,SP_CUROPEN,0,0); - MAP(PC_ACUTEAC,SP_CUROPEN,0,0); - MAP(MD1|PC_ACUTEAC,SP_CUROPEN,0,0); - MAP(PC_CEDILLA,SP_CURCLOS,0,0); - MAP(MD1|PC_CEDILLA,SP_QUOTE,0,0); - MAP(PC_COMMA,SP_COMMA,0,0); - MAP(MD1|PC_COMMA,SP_SEMICOL,0,0); - MAP(PC_DOT,SP_DOT,0,0); - MAP(MD1|PC_DOT,SP_COLON,0,0); - MAP(PC_MINUS,SP_MINUS,0,0); - MAP(MD1|PC_MINUS,SP_UNDERSC,0,0); - MAP(PC_BACKSLA,SP_BACKSLA,0,0); - MAP(MD1|PC_BACKSLA,SP_BACKSLA,0,0); - MAP(PC_EGNE,SP_TILDE,0,0); - MAP(PC_LESS,SP_LESS,0,0); - MAP(MD1|PC_LESS,SP_GREATER,0,0); - MAP(MD2|PC_LESS,SP_LESSEQ,0,0); - MAP(MD2|MD1|PC_LESS,SP_GREATEQ,0,0); - MAP(MD3|PC_LESS,SP_NOTEQ,0,0); - MAP(MD3|MD1|PC_LESS,SP_NOTEQ,0,0); - MAP(MD3|MD2|PC_LESS,SP_NOTEQ,0,0); - MAP(MD3|MD2|MD1|PC_LESS,SP_NOTEQ,0,0); - - MAP(PC_F12,0,0,USER1); // Evento de usuario 1 - MAP(PC_F2|MD2,0,0,USER2); // Evento de usuario 2 = Core 2 (Ctrl+F2) - - // End of mapping. Save .HEX file for Verilog - SAVEMAPHEX("keyb_es_hex.txt"); - // And map file for loading from ESXDOS - SAVEMAPBIN("keymaps\\ES"); -} diff --git a/cores/Spectrum/genkeybmap_us.c b/cores/Spectrum/genkeybmap_us.c deleted file mode 100644 index 1655c70..0000000 --- a/cores/Spectrum/genkeybmap_us.c +++ /dev/null @@ -1,482 +0,0 @@ -#include -#include - -typedef unsigned char BYTE; -/* - 8 8 3 5 3 5 -AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX - -AAA = semifila del teclado a modificar | esta información está -DDDDD = dato (AND negado con lo que haya) de esa semifila | repetida para dos teclas -MRN = Master reset, Reset de usuario, NMI -JJJJJ = estado del joystick al pulsar tecla. Posiciones UDLRX -MMM = la tecla es un modificador -XXXXX = Reservado para uso futuro - -Ej: en la dirección de memoria correspondiente al código de la tecla ESC, -que correspondería a la pulsación simultánea de CAPS SHIFT+SPACE, pondríamos: -00000001 11100001 000 00000 000 00000 -Esto es: se activan las semifilas 0 y 7, y en cada una, se activa el bit 0 - -256 codigos + E0 = 512 codigos -SHIFT, CTRL, ALT = 8 combinaciones - -512*8=4096 direcciones x 32 bits = 16384 bytes -En el core se dispondrá como una memoria de 16384x8 bits - -Cada tecla ocupará cuatro direcciones consecutivas. -D+0 : tecla1 (o 0 si no la hay) -D+1 : tecla2 (o 0 si no la hay) -D+2 : señales de reset y joystick, 0 si no hay -D+3 : modificadores y señales de usuario, 0 si no hay -*/ - -// You shouldn't have to touch these defs unless your Spectrum has a different keyboard -// layout (because, for example, you are using a different ROM - -#define SP_1 0x61 -#define SP_2 0x62 -#define SP_3 0x64 -#define SP_4 0x68 -#define SP_5 0x70 - -#define SP_0 0x81 -#define SP_9 0x82 -#define SP_8 0x84 -#define SP_7 0x88 -#define SP_6 0x90 - -#define SP_Q 0x41 -#define SP_W 0x42 -#define SP_E 0x44 -#define SP_R 0x48 -#define SP_T 0x50 - -#define SP_P 0xA1 -#define SP_O 0xA2 -#define SP_I 0xA4 -#define SP_U 0xA8 -#define SP_Y 0xB0 - -#define SP_A 0x21 -#define SP_S 0x22 -#define SP_D 0x24 -#define SP_F 0x28 -#define SP_G 0x30 - -#define SP_ENTER 0xC1 -#define SP_L 0xC2 -#define SP_K 0xC4 -#define SP_J 0xC8 -#define SP_H 0xD0 - -#define SP_CAPS 0x01 -#define SP_Z 0x02 -#define SP_X 0x04 -#define SP_C 0x08 -#define SP_V 0x10 - -#define SP_SPACE 0xE1 -#define SP_SYMBOL 0xE2 -#define SP_M 0xE4 -#define SP_N 0xE8 -#define SP_B 0xF0 - -#define SP_BANG (SP_SYMBOL<<8) | SP_1 -#define SP_AT (SP_SYMBOL<<8) | SP_2 -#define SP_HASH (SP_SYMBOL<<8) | SP_3 -#define SP_DOLLAR (SP_SYMBOL<<8) | SP_4 -#define SP_PERCEN (SP_SYMBOL<<8) | SP_5 -#define SP_AMP (SP_SYMBOL<<8) | SP_6 -#define SP_APOSTRO (SP_SYMBOL<<8) | SP_7 -#define SP_PAROPEN (SP_SYMBOL<<8) | SP_8 -#define SP_PARCLOS (SP_SYMBOL<<8) | SP_9 -#define SP_UNDERSC (SP_SYMBOL<<8) | SP_0 -#define SP_LESS (SP_SYMBOL<<8) | SP_R -#define SP_LESSEQ (SP_SYMBOL<<8) | SP_Q -#define SP_GREATER (SP_SYMBOL<<8) | SP_T -#define SP_GREATEQ (SP_SYMBOL<<8) | SP_E -#define SP_NOTEQ (SP_SYMBOL<<8) | SP_W -#define SP_BRAOPEN (SP_SYMBOL<<8) | SP_Y -#define SP_BRACLOS (SP_SYMBOL<<8) | SP_U -#define SP_SEMICOL (SP_SYMBOL<<8) | SP_O -#define SP_QUOTE (SP_SYMBOL<<8) | SP_P -#define SP_TILDE (SP_SYMBOL<<8) | SP_A -#define SP_PIPE (SP_SYMBOL<<8) | SP_S -#define SP_BACKSLA (SP_SYMBOL<<8) | SP_D -#define SP_CUROPEN (SP_SYMBOL<<8) | SP_F -#define SP_CURCLOS (SP_SYMBOL<<8) | SP_G -#define SP_CARET (SP_SYMBOL<<8) | SP_H -#define SP_MINUS (SP_SYMBOL<<8) | SP_J -#define SP_PLUS (SP_SYMBOL<<8) | SP_K -#define SP_EQUAL (SP_SYMBOL<<8) | SP_L -#define SP_COLON (SP_SYMBOL<<8) | SP_Z -#define SP_POUND (SP_SYMBOL<<8) | SP_X -#define SP_QUEST (SP_SYMBOL<<8) | SP_C -#define SP_SLASH (SP_SYMBOL<<8) | SP_V -#define SP_STAR (SP_SYMBOL<<8) | SP_B -#define SP_COMMA (SP_SYMBOL<<8) | SP_N -#define SP_DOT (SP_SYMBOL<<8) | SP_M - -#define SP_EXTEND (SP_CAPS<<8) | SP_SYMBOL -#define SP_EDIT (SP_CAPS<<8) | SP_1 -#define SP_CPSLOCK (SP_CAPS<<8) | SP_2 -#define SP_TRUE (SP_CAPS<<8) | SP_3 -#define SP_INVERSE (SP_CAPS<<8) | SP_4 -#define SP_LEFT (SP_CAPS<<8) | SP_5 -#define SP_DOWN (SP_CAPS<<8) | SP_6 -#define SP_UP (SP_CAPS<<8) | SP_7 -#define SP_RIGHT (SP_CAPS<<8) | SP_8 -#define SP_GRAPH (SP_CAPS<<8) | SP_9 -#define SP_DELETE (SP_CAPS<<8) | SP_0 -#define SP_BREAK (SP_CAPS<<8) | SP_SPACE - -// END of Spectrum keys definitions - -// Definitions for additional signals generated by the keyboard core -// AAADDDDD AAADDDDD MRN JJJJJ MMM XXXXX -#define MODIFIER1 0x20 -#define MODIFIER2 0x40 -#define MODIFIER3 0x80 - -#define MRESET 0x80 -#define URESET 0x40 -#define NMI 0x20 - -#define JOYUP 0x10 -#define JOYDOWN 0x08 -#define JOYLEFT 0x04 -#define JOYRIGHT 0x02 -#define JOYFIRE 0x01 - -#define USER1 0x10 -#define USER2 0x08 -#define USER3 0x04 -#define USER4 0x02 -#define USER5 0x01 -// End of additional signals - -// A key can be pressed with up to three key modifiers -// which generates 8 combinations for each key -#define EXT 0x100 -#define MD1 0x200 -#define MD2 0x400 -#define MD3 0x800 - -#define MAP(pc,sp,rj,mu) { \ - rom[(pc)*4] = (((sp)>>8)&0xFF); \ - rom[(pc)*4+1] = (((sp))&0xFF); \ - rom[(pc)*4+2] = (rj); \ - rom[(pc)*4+3] = (mu); \ - } - -#define MAPANY(pc,sp,rj,mu) { \ - MAP(pc,sp,rj,mu); \ - MAP(MD1|pc,sp,rj,mu); \ - MAP(MD2|pc,sp,rj,mu); \ - MAP(MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|pc,sp,rj,mu); \ - MAP(MD1|MD3|pc,sp,rj,mu); \ - MAP(MD2|MD3|pc,sp,rj,mu); \ - MAP(MD1|MD2|MD3|pc,sp,rj,mu); \ - } - -#define CLEANMAP { \ - int i; \ - for (i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - rom[i] = 0; \ - } -#define SAVEMAPHEX(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"w"); \ - for(i=0;i<(sizeof(rom)/sizeof(rom[0]));i++) \ - fprintf(f,"%.2X\n",rom[i]); \ - fclose(f); \ - } - -#define SAVEMAPBIN(name) { \ - FILE *f; \ - int i; \ - f=fopen(name,"wb"); \ - fwrite (rom, 1, sizeof(rom), f); \ - fclose(f); \ - } - -// --------------- YOU MAY CUSTOMIZE FROM HERE ------------------------ - -// Scan code 2 list. First, non localized keys -#define PC_A 0x1C -#define PC_B 0x32 -#define PC_C 0x21 -#define PC_D 0x23 -#define PC_E 0x24 -#define PC_F 0x2B -#define PC_G 0x34 -#define PC_H 0x33 -#define PC_I 0x43 -#define PC_J 0x3B -#define PC_K 0x42 -#define PC_L 0x4B -#define PC_M 0x3A -#define PC_N 0x31 -#define PC_O 0x44 -#define PC_P 0x4D -#define PC_Q 0x15 -#define PC_R 0x2D -#define PC_S 0x1B -#define PC_T 0x2C -#define PC_U 0x3C -#define PC_V 0x2A -#define PC_W 0x1D -#define PC_X 0x22 -#define PC_Y 0x35 -#define PC_Z 0x1A - -#define PC_0 0x45 // also ) -#define PC_1 0x16 // also ! -#define PC_2 0x1E // also @ -#define PC_3 0x26 // also # -#define PC_4 0x25 // also $ -#define PC_5 0x2E // also % -#define PC_6 0x36 // also ^ -#define PC_7 0x3D // also & -#define PC_8 0x3E // also * -#define PC_9 0x46 // also ( - -#define PC_F1 0x05 -#define PC_F2 0x06 -#define PC_F3 0x04 -#define PC_F4 0x0C -#define PC_F5 0x03 -#define PC_F6 0x0B -#define PC_F7 0x83 -#define PC_F8 0x0A -#define PC_F9 0x01 -#define PC_F10 0x09 -#define PC_F11 0x78 -#define PC_F12 0x07 - -#define PC_ESC 0x76 -#define PC_SPACE 0x29 -#define PC_LCTRL 0x14 -#define PC_RCTRL 0x14 | EXT -#define PC_LSHIFT 0x12 -#define PC_RSHIFT 0x59 -#define PC_LALT 0x11 -#define PC_RALT 0x11 | EXT -#define PC_LWIN 0x1F | EXT -#define PC_RWIN 0x27 | EXT -#define PC_APPS 0x2F | EXT - -#define PC_TAB 0x0D -#define PC_CPSLOCK 0x58 -#define PC_SCRLOCK 0x7E - -#define PC_INSERT 0x70 | EXT -#define PC_DELETE 0x71 | EXT -#define PC_HOME 0x6C | EXT -#define PC_END 0x69 | EXT -#define PC_PGUP 0x7D | EXT -#define PC_PGDOWN 0x7A | EXT -#define PC_BKSPACE 0x66 -#define PC_ENTER 0x5A -#define PC_UP 0x75 | EXT -#define PC_DOWN 0x72 | EXT -#define PC_LEFT 0x6B | EXT -#define PC_RIGHT 0x74 | EXT - -#define PC_NUMLOCK 0x77 -#define PC_KP_DIVIS 0x4A | EXT -#define PC_KP_MULT 0x7C -#define PC_KP_MINUS 0x7B -#define PC_KP_PLUS 0x79 -#define PC_KP_ENTER 0x5A | EXT -#define PC_KP_DOT 0x71 -#define PC_KP_0 0x70 -#define PC_KP_1 0x69 -#define PC_KP_2 0x72 -#define PC_KP_3 0x7A -#define PC_KP_4 0x6B -#define PC_KP_5 0x73 -#define PC_KP_6 0x74 -#define PC_KP_7 0x6C -#define PC_KP_8 0x75 -#define PC_KP_9 0x7D - -// Localized keyboards usually start to differenciate from here - -// Localized keyboard US -#define PC_GRAVEAC 0x0E // also ~ -#define PC_MINUS 0x4E // also _ -#define PC_EQUAL 0x55 // also + -#define PC_BRAOPEN 0x54 // also { -#define PC_BRACLOS 0x5B // also } -#define PC_BACKSLA 0x5D // also | -#define PC_SEMICOL 0x4C // also : -#define PC_APOSTRO 0x52 // also " -#define PC_COMMA 0x41 // also < -#define PC_DOT 0x49 // also > -#define PC_SLASH 0x4A // also ? - - -int main() -{ - BYTE rom[16384]; - - CLEANMAP; - - MAPANY(PC_LSHIFT,0,0,MODIFIER1); // MD1 is SHIFT - MAPANY(PC_RSHIFT,0,0,MODIFIER1); // MD1 is SHIFT - MAPANY(PC_LCTRL,0,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_RCTRL,0,0,MODIFIER2); // MD2 is CTRL - MAPANY(PC_LALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - MAPANY(PC_RALT,0,JOYFIRE,MODIFIER3); // MD3 is ALT. Also is FIRE for keyboard joystick - - MAPANY(PC_LWIN,SP_CAPS,0,0); // CAPS SHIFT - MAPANY(PC_RWIN,SP_SYMBOL,0,0); // SYMBOL SHIFT - - // Basic mapping: each key from PC is mapped to a key in the Spectrum - MAP(PC_1,SP_1,0,0); - MAP(PC_2,SP_2,0,0); - MAP(PC_3,SP_3,0,0); - MAP(PC_4,SP_4,0,0); - MAP(PC_5,SP_5,0,0); - MAP(PC_6,SP_6,0,0); - MAP(PC_7,SP_7,0,0); - MAP(PC_8,SP_8,0,0); - MAP(PC_9,SP_9,0,0); - MAP(PC_0,SP_0,0,0); - - MAP(PC_Q,SP_Q,0,0); - MAP(PC_W,SP_W,0,0); - MAP(PC_E,SP_E,0,0); - MAP(PC_R,SP_R,0,0); - MAP(PC_T,SP_T,0,0); - MAP(PC_Y,SP_Y,0,0); - MAP(PC_U,SP_U,0,0); - MAP(PC_I,SP_I,0,0); - MAP(PC_O,SP_O,0,0); - MAP(PC_P,SP_P,0,0); - MAP(PC_A,SP_A,0,0); - MAP(PC_S,SP_S,0,0); - MAP(PC_D,SP_D,0,0); - MAP(PC_F,SP_F,0,0); - MAP(PC_G,SP_G,0,0); - MAP(PC_H,SP_H,0,0); - MAP(PC_J,SP_J,0,0); - MAP(PC_K,SP_K,0,0); - MAP(PC_L,SP_L,0,0); - MAP(PC_Z,SP_Z,0,0); - MAP(PC_X,SP_X,0,0); - MAP(PC_C,SP_C,0,0); - MAP(PC_V,SP_V,0,0); - MAP(PC_B,SP_B,0,0); - MAP(PC_N,SP_N,0,0); - MAP(PC_M,SP_M,0,0); - - // a letter key with shift (MD1) is like pressing CAPS SHIFT + letter - MAP(MD1|PC_Q,SP_CAPS<<8|SP_Q,0,0); - MAP(MD1|PC_W,SP_CAPS<<8|SP_W,0,0); - MAP(MD1|PC_E,SP_CAPS<<8|SP_E,0,0); - MAP(MD1|PC_R,SP_CAPS<<8|SP_R,0,0); - MAP(MD1|PC_T,SP_CAPS<<8|SP_T,0,0); - MAP(MD1|PC_Y,SP_CAPS<<8|SP_Y,0,0); - MAP(MD1|PC_U,SP_CAPS<<8|SP_U,0,0); - MAP(MD1|PC_I,SP_CAPS<<8|SP_I,0,0); - MAP(MD1|PC_O,SP_CAPS<<8|SP_O,0,0); - MAP(MD1|PC_P,SP_CAPS<<8|SP_P,0,0); - MAP(MD1|PC_A,SP_CAPS<<8|SP_A,0,0); - MAP(MD1|PC_S,SP_CAPS<<8|SP_S,0,0); - MAP(MD1|PC_D,SP_CAPS<<8|SP_D,0,0); - MAP(MD1|PC_F,SP_CAPS<<8|SP_F,0,0); - MAP(MD1|PC_G,SP_CAPS<<8|SP_G,0,0); - MAP(MD1|PC_H,SP_CAPS<<8|SP_H,0,0); - MAP(MD1|PC_J,SP_CAPS<<8|SP_J,0,0); - MAP(MD1|PC_K,SP_CAPS<<8|SP_K,0,0); - MAP(MD1|PC_L,SP_CAPS<<8|SP_L,0,0); - MAP(MD1|PC_Z,SP_CAPS<<8|SP_Z,0,0); - MAP(MD1|PC_X,SP_CAPS<<8|SP_X,0,0); - MAP(MD1|PC_C,SP_CAPS<<8|SP_C,0,0); - MAP(MD1|PC_V,SP_CAPS<<8|SP_V,0,0); - MAP(MD1|PC_B,SP_CAPS<<8|SP_B,0,0); - MAP(MD1|PC_N,SP_CAPS<<8|SP_N,0,0); - MAP(MD1|PC_M,SP_CAPS<<8|SP_M,0,0); - - MAPANY(PC_SPACE,SP_SPACE,0,0); - MAPANY(PC_ENTER,SP_ENTER,0,0); - - //Complex mapping. This is for the US keyboard although many - //combos can be used with any other PC keyboard - MAPANY(PC_ESC,SP_BREAK,0,0); - MAPANY(PC_CPSLOCK,SP_CPSLOCK,0,0); - MAPANY(PC_TAB,SP_EXTEND,0,0); - MAP(PC_BKSPACE,SP_DELETE,0,0); - MAPANY(PC_UP,SP_UP,0,0); - MAPANY(PC_DOWN,SP_DOWN,0,0); - MAPANY(PC_LEFT,SP_LEFT,0,0); - MAPANY(PC_RIGHT,SP_RIGHT,0,0); - MAPANY(PC_F2,SP_EDIT,0,0); - - MAP(PC_F5|MD2|MD3,0,NMI,0); // Ctrl-Alt-F5 for NMI - MAP(PC_F10,SP_GRAPH,0,0); // F10 habilita el modo gráfico. Esto es para Antonio, para la BIOS - MAP(PC_DELETE|MD2|MD3,0,URESET,0); // - MAP(PC_KP_DOT|MD2|MD3,0,URESET,0); // Ctrl-Alt-Del for user reset - MAP(PC_BKSPACE|MD2|MD3,0,MRESET,0); // Ctrl-Alt-BkSpace for master reset - - //keypad - MAPANY(PC_KP_DIVIS,SP_SLASH,0,0); - MAPANY(PC_KP_MULT,SP_STAR,0,0); - MAPANY(PC_KP_MINUS,SP_MINUS,0,0); - MAPANY(PC_KP_PLUS,SP_PLUS,0,0); - MAPANY(PC_KP_ENTER,SP_ENTER,0,0); - - // a 8-way keyboard joystick on the keypad - MAPANY(PC_KP_7,0,JOYUP|JOYLEFT,0); - MAPANY(PC_KP_8,0,JOYUP,0); - MAPANY(PC_KP_9,0,JOYUP|JOYRIGHT,0); - MAPANY(PC_KP_4,0,JOYLEFT,0); - MAPANY(PC_KP_5,0,JOYDOWN,0); - MAPANY(PC_KP_6,0,JOYRIGHT,0); - MAPANY(PC_KP_1,0,JOYDOWN|JOYLEFT,0); - MAPANY(PC_KP_2,0,JOYDOWN,0); - MAPANY(PC_KP_3,0,JOYDOWN|JOYRIGHT,0); - - //Some keys and shift+key mappings for the US keyboard - MAP(MD1|PC_1,SP_BANG,0,0); - MAP(MD1|PC_2,SP_AT,0,0); - MAP(MD1|PC_3,SP_HASH,0,0); - MAP(MD1|PC_4,SP_DOLLAR,0,0); - MAP(MD1|PC_5,SP_PERCEN,0,0); - MAP(MD1|PC_6,SP_CARET,0,0); - MAP(MD1|PC_7,SP_AMP,0,0); - MAP(MD1|PC_8,SP_STAR,0,0); - MAP(MD1|PC_9,SP_PAROPEN,0,0); - MAP(MD1|PC_0,SP_PARCLOS,0,0); - MAP(PC_MINUS,SP_MINUS,0,0); - MAP(MD1|PC_MINUS,SP_UNDERSC,0,0); - MAP(PC_EQUAL,SP_EQUAL,0,0); - MAP(MD1|PC_EQUAL,SP_PLUS,0,0); - MAP(PC_BRAOPEN,SP_BRAOPEN,0,0); - MAP(MD1|PC_BRAOPEN,SP_CUROPEN,0,0); - MAP(PC_BRACLOS,SP_BRACLOS,0,0); - MAP(MD1|PC_BRACLOS,SP_BRACLOS,0,0); - MAP(PC_BACKSLA,SP_BACKSLA,0,0); - MAP(MD1|PC_BACKSLA,SP_PIPE,0,0); - MAP(PC_APOSTRO,SP_APOSTRO,0,0); - MAP(MD1|PC_APOSTRO,SP_QUOTE,0,0); - MAP(PC_COMMA,SP_COMMA,0,0); - MAP(MD1|PC_COMMA,SP_LESS,0,0); - MAP(PC_DOT,SP_DOT,0,0); - MAP(MD1|PC_DOT,SP_GREATER,0,0); - MAP(PC_SLASH,SP_SLASH,0,0); - MAP(MD1|PC_SLASH,SP_QUEST,0,0); - - MAP(PC_F12,0,0,USER1); // Evento de usuario 1 - MAP(PC_F2|MD2,0,0,USER2); // Evento de usuario 2 = Core 2 (Ctrl+F2) - - // End of mapping. Save .HEX file for Verilog - //SAVEMAPHEX("keyb_us_hex.txt"); - // And map file for loading from ESXDOS - SAVEMAPBIN("keymaps\\US"); -} diff --git a/cores/Spectrum/keyb_av_hex.txt b/cores/Spectrum/keyb_av_hex.txt deleted file mode 100644 index 8fb89cd..0000000 --- a/cores/Spectrum/keyb_av_hex.txt +++ /dev/null @@ -1,16384 +0,0 @@ -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -01 -81 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -20 -00 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 -01 -64 -00 -00 -00 -00 -00 -00 -01 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -68 -00 -00 -01 -E2 -00 -00 -E2 -02 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -80 -00 -01 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -00 -41 -00 -00 -00 -61 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -22 -00 -00 -00 -21 -00 -00 -00 -42 -00 -00 -00 -62 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -08 -00 -00 -00 -04 -00 -00 -00 -24 -00 -00 -00 -44 -00 -00 -00 -68 -00 -00 -00 -64 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E1 -00 -00 -00 -10 -00 -00 -00 -28 -00 -00 -00 -50 -00 -00 -00 -48 -00 -00 -00 -70 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E8 -00 -00 -00 -F0 -00 -00 -00 -D0 -00 -00 -00 -30 -00 -00 -00 -B0 -00 -00 -00 -90 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E4 -00 -00 -00 -C8 -00 -00 -00 -A8 -00 -00 -00 -88 -00 -00 -00 -84 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E8 -00 -00 -00 -C4 -00 -00 -00 -A4 -00 -00 -00 -A2 -00 -00 -00 -81 -00 -00 -00 -82 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -E4 -00 -00 -E2 -10 -00 -00 -00 -C2 -00 -00 -E2 -A2 -00 -00 -00 -A1 -00 -00 -E2 -68 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -A1 -00 -00 -00 -00 -00 -00 -E2 -84 -00 -00 -E2 -C2 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -62 -00 -00 -00 -01 -00 -00 -00 -C1 -00 -00 -E2 -82 -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 -61 -00 -00 -00 -00 -00 -00 -00 -68 -00 -00 -00 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -81 -00 -00 -E2 -E4 -00 -00 -00 -62 -00 -00 -00 -70 -00 -00 -00 -90 -00 -00 -00 -84 -00 -00 -01 -E1 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -C4 -00 -00 -00 -64 -00 -00 -E2 -C8 -00 -00 -E2 -F0 -00 -00 -00 -82 -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 -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 -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 -01 -80 -00 -00 -00 -00 -00 -00 -00 -00 -00 -E2 -00 -40 -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 -E2 -10 -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 -C1 -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 -08 -00 -00 -00 -00 -00 -01 -70 -00 -00 -00 -00 -10 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -01 -90 -00 -00 -00 -00 -00 -00 -01 -84 -00 -00 -01 -88 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -02 -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 -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 -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 diff --git a/cores/Spectrum/make.bat b/cores/Spectrum/make.bat index 82eb9a1..7a18687 100644 --- a/cores/Spectrum/make.bat +++ b/cores/Spectrum/make.bat @@ -1,6 +1,6 @@ -call xst -filter iseconfig/filter.filter -intstyle ise -ifn tld_zxuno.xst -ofn tld_zxuno.syr -call ngdbuild -filter iseconfig/filter.filter -intstyle ise -dd _ngo -nt timestamp -uc pines_zxuno.ucf -p xc6slx9-tqg144-2 tld_zxuno.ngc tld_zxuno.ngd -call map -filter iseconfig/filter.filter -intstyle ise -w -ol high -xe n -mt 2 -p xc6slx9-tqg144-2 -logic_opt off -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -ir off -pr off -lc off -power off -o tld_zxuno_map.ncd tld_zxuno.ngd tld_zxuno.pcf -call par -filter iseconfig/filter.filter -intstyle ise -w -ol high -xe n -mt 4 tld_zxuno_map.ncd tld_zxuno.ncd tld_zxuno.pcf -call trce -filter iseconfig/filter.filter -intstyle ise -v 3 -s 2 -n 3 -fastpaths -xml tld_zxuno.twx tld_zxuno.ncd -o tld_zxuno.twr tld_zxuno.pcf -ucf pines_zxuno.ucf -call bitgen -filter iseconfig/filter.filter -intstyle ise -w -g Binary:no -g Compress -g CRC:Enable -g Reset_on_err:No -g ConfigRate:2 -g ProgPin:PullUp -g TckPin:PullUp -g TdiPin:PullUp -g TdoPin:PullUp -g TmsPin:PullUp -g UnusedPin:PullDown -g UserID:0xFFFFFFFF -g ExtMasterCclk_en:Yes -g ExtMasterCclk_divide:50 -g SPI_buswidth:1 -g TIMER_CFG:0xFFFF -g multipin_wakeup:No -g StartUpClk:CClk -g DONE_cycle:4 -g GTS_cycle:5 -g GWE_cycle:6 -g LCK_cycle:NoWait -g Security:None -g DonePipe:No -g DriveDone:No -g en_sw_gsr:No -g drive_awake:No -g sw_clk:Startupclk -g sw_gwe_cycle:5 -g sw_gts_cycle:4 tld_zxuno.ncd +call xst -intstyle ise -ifn tld_zxuno.xst -ofn tld_zxuno.syr +call ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc pines_zxuno.ucf -p xc6slx9-tqg144-2 tld_zxuno.ngc tld_zxuno.ngd +call map -intstyle ise -w -ol high -xe n -mt 2 -p xc6slx9-tqg144-2 -logic_opt off -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -ir off -pr off -lc off -power off -o tld_zxuno_map.ncd tld_zxuno.ngd tld_zxuno.pcf +call par -intstyle ise -w -ol high -xe n -mt 4 tld_zxuno_map.ncd tld_zxuno.ncd tld_zxuno.pcf +call trce -intstyle ise -v 3 -s 2 -n 3 -fastpaths -xml tld_zxuno.twx tld_zxuno.ncd -o tld_zxuno.twr tld_zxuno.pcf -ucf pines_zxuno.ucf +call bitgen -intstyle ise -w -g Binary:no -g Compress -g CRC:Enable -g Reset_on_err:No -g ConfigRate:2 -g ProgPin:PullUp -g TckPin:PullUp -g TdiPin:PullUp -g TdoPin:PullUp -g TmsPin:PullUp -g UnusedPin:PullDown -g UserID:0xFFFFFFFF -g ExtMasterCclk_en:Yes -g ExtMasterCclk_divide:50 -g SPI_buswidth:1 -g TIMER_CFG:0xFFFF -g multipin_wakeup:No -g StartUpClk:CClk -g DONE_cycle:4 -g GTS_cycle:5 -g GWE_cycle:6 -g LCK_cycle:NoWait -g Security:None -g DonePipe:No -g DriveDone:No -g en_sw_gsr:No -g drive_awake:No -g sw_clk:Startupclk -g sw_gwe_cycle:5 -g sw_gts_cycle:4 tld_zxuno.ncd diff --git a/cores/Spectrum/pantalla_ulatest3.hex b/cores/Spectrum/pantalla_ulatest3.hex deleted file mode 100644 index 5c16417..0000000 --- a/cores/Spectrum/pantalla_ulatest3.hex +++ /dev/null @@ -1,16384 +0,0 @@ -00 -01 -02 -03 -04 -05 -06 -07 -08 -09 -0A -0B -0C -0D -0E -0F -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -1A -1B -1C -1D -1E -1F -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 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -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 -42 -40 -3C -00 -10 -00 -00 -10 -00 -3C -00 -20 -00 -00 -02 -7C -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 -18 -08 -3C -3C -3C -00 -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -00 -18 -08 -3C -3C -7E -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -E7 -00 -F7 -E7 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -08 -7E -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -C3 -00 -F7 -C3 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -7E -3C -00 -00 -7E -7E -00 -81 -81 -00 -C3 -F7 -00 -F7 -F7 -00 -C3 -81 -00 -F7 -81 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -3C -18 -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -81 -00 -F7 -81 -00 -81 -81 -00 -7E -7E -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 -42 -40 -42 -00 -38 -38 -38 -38 -00 -42 -00 -20 -44 -00 -02 -42 -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 -28 -18 -42 -42 -42 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -28 -18 -42 -42 -02 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -B9 -00 -E7 -B9 -00 -B9 -D7 -00 -E7 -D7 -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -18 -40 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BD -00 -E7 -BD -00 -B9 -BD -00 -E7 -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -40 -42 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -E7 -00 -E7 -E7 -00 -B9 -BF -00 -E7 -BF -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -40 -28 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BF -00 -E7 -BF -00 -B9 -FD -00 -E7 -FD -00 -BF -BF -00 -40 -40 -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 -42 -40 -42 -00 -10 -44 -40 -10 -00 -0C -00 -3C -44 -00 -02 -7C -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 -08 -28 -0C -02 -42 -00 -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -00 -08 -28 -0C -0C -04 -00 -00 -7C -7C -00 -83 -83 -00 -B5 -B5 -00 -D7 -B5 -00 -B5 -F7 -00 -D7 -F7 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -28 -7C -00 -00 -7C -7C -00 -83 -83 -00 -B5 -FD -00 -D7 -FD -00 -B5 -F3 -00 -D7 -F3 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -7C -0C -00 -00 -7C -7C -00 -83 -83 -00 -B5 -D7 -00 -D7 -D7 -00 -B5 -83 -00 -D7 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -7C -08 -00 -00 -7C -7C -00 -83 -83 -00 -B5 -83 -00 -D7 -83 -00 -B5 -FB -00 -D7 -FB -00 -83 -83 -00 -7C -7C -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 -42 -40 -7E -00 -10 -78 -38 -10 -00 -02 -00 -22 -44 -00 -42 -42 -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 -08 -48 -02 -3C -3E -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -08 -48 -02 -02 -08 -00 -00 -40 -40 -00 -BF -BF -00 -AD -AD -00 -B7 -AD -00 -AD -F7 -00 -B7 -F7 -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -48 -02 -00 -00 -40 -40 -00 -BF -BF -00 -AD -C3 -00 -B7 -C3 -00 -AD -FD -00 -B7 -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -02 -02 -00 -00 -40 -40 -00 -BF -BF -00 -AD -B7 -00 -B7 -B7 -00 -AD -FD -00 -B7 -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -42 -08 -00 -00 -40 -40 -00 -BF -BF -00 -AD -BD -00 -B7 -BD -00 -AD -F7 -00 -B7 -F7 -00 -BF -BF -00 -40 -40 -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 -42 -40 -42 -00 -10 -40 -04 -10 -00 -42 -00 -22 -3C -00 -42 -42 -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 -08 -7E -42 -40 -02 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -08 -7E -42 -42 -10 -00 -00 -40 -40 -00 -BF -BF -00 -9D -9D -00 -81 -9D -00 -9D -F7 -00 -81 -F7 -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -7E -42 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BF -00 -81 -BF -00 -9D -BD -00 -81 -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -42 -42 -00 -00 -40 -40 -00 -BF -BF -00 -9D -81 -00 -81 -81 -00 -9D -BD -00 -81 -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -42 -08 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BD -00 -81 -BD -00 -9D -EF -00 -81 -EF -00 -BF -BF -00 -40 -40 -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 -3C -7E -42 -00 -0C -3C -78 -0C -00 -3C -00 -3C -04 -00 -3C -7C -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 -3E -08 -3C -7E -3C -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -3E -08 -3C -3C -10 -00 -00 -40 -40 -00 -BF -BF -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -C1 -00 -F7 -C1 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -08 -3C -00 -00 -40 -40 -00 -BF -BF -00 -C3 -81 -00 -F7 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C3 -F7 -00 -F7 -F7 -00 -C3 -C3 -00 -F7 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -3C -3E -00 -00 -40 -40 -00 -BF -BF -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -EF -00 -F7 -EF -00 -BF -BF -00 -40 -40 -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 -38 -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 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -18 -08 -3C -3C -3C -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -C3 -00 -F7 -C3 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -7E -7E -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -83 -00 -F7 -83 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -3C -7E -00 -00 -7E -7E -00 -81 -81 -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -87 -00 -F7 -87 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -3C -3C -3C -00 -00 -7E -7E -00 -81 -81 -00 -C3 -81 -00 -F7 -81 -00 -C3 -81 -00 -F7 -81 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -3C -18 -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -E7 -00 -81 -E7 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -3C -3C -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -C3 -00 -81 -C3 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -18 -7E -00 -00 -7E -7E -00 -81 -81 -00 -E7 -F7 -00 -81 -F7 -00 -E7 -81 -00 -81 -81 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -3C -7E -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -81 -00 -81 -81 -00 -81 -81 -00 -7E -7E -00 -00 -28 -18 -42 -40 -42 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BD -00 -E7 -BD -00 -B9 -BD -00 -E7 -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -02 -02 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BD -00 -E7 -BD -00 -B9 -BD -00 -E7 -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -42 -40 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BD -00 -E7 -BD -00 -B9 -BB -00 -E7 -BB -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -42 -42 -42 -00 -00 -40 -40 -00 -BF -BF -00 -B9 -BF -00 -E7 -BF -00 -B9 -BF -00 -E7 -BF -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -46 -28 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -B9 -00 -BF -B9 -00 -D7 -D7 -00 -BF -D7 -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -46 -42 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BD -00 -BF -BD -00 -D7 -BD -00 -BF -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -28 -02 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -E7 -00 -BF -E7 -00 -D7 -BF -00 -BF -BF -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -42 -40 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BF -00 -BF -BF -00 -D7 -FD -00 -BF -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -28 -0C -7C -42 -00 -00 -7C -7C -00 -83 -83 -00 -B5 -C3 -00 -D7 -C3 -00 -B5 -BD -00 -D7 -BD -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -04 -04 -00 -00 -7C -7C -00 -83 -83 -00 -B5 -BD -00 -D7 -BD -00 -B5 -83 -00 -D7 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -3C -7C -00 -00 -7C -7C -00 -83 -83 -00 -B5 -BF -00 -D7 -BF -00 -B5 -BD -00 -D7 -BD -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -0C -42 -0C -00 -00 -7C -7C -00 -83 -83 -00 -B5 -83 -00 -D7 -83 -00 -B5 -83 -00 -D7 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -4A -08 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -B5 -00 -83 -B5 -00 -F7 -F7 -00 -83 -F7 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -4A -42 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -FD -00 -83 -FD -00 -F7 -F3 -00 -83 -F3 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -08 -04 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -D7 -00 -83 -D7 -00 -F7 -83 -00 -83 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -02 -7C -00 -00 -7C -7C -00 -83 -83 -00 -F7 -83 -00 -83 -83 -00 -F7 -FB -00 -83 -FB -00 -83 -83 -00 -7C -7C -00 -00 -08 -48 -02 -42 -3E -00 -00 -40 -40 -00 -BF -BF -00 -AD -BD -00 -B7 -BD -00 -AD -C1 -00 -B7 -C1 -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -08 -08 -00 -00 -40 -40 -00 -BF -BF -00 -AD -81 -00 -B7 -81 -00 -AD -BD -00 -B7 -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -42 -02 -00 -00 -40 -40 -00 -BF -BF -00 -AD -BF -00 -B7 -BF -00 -AD -BD -00 -B7 -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -02 -3E -02 -00 -00 -40 -40 -00 -BF -BF -00 -AD -BF -00 -B7 -BF -00 -AD -BF -00 -B7 -BF -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -52 -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -AD -00 -FD -AD -00 -F7 -F7 -00 -FD -F7 -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -52 -3E -00 -00 -40 -40 -00 -BF -BF -00 -F7 -C3 -00 -FD -C3 -00 -F7 -FD -00 -FD -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -08 -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -B7 -00 -FD -B7 -00 -F7 -FD -00 -FD -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -3C -02 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -FD -BD -00 -F7 -F7 -00 -FD -F7 -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -42 -02 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BD -00 -81 -BD -00 -9D -FD -00 -81 -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -10 -10 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BD -00 -81 -BD -00 -9D -BD -00 -81 -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -42 -42 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BD -00 -81 -BD -00 -9D -BB -00 -81 -BB -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -42 -02 -42 -00 -00 -40 -40 -00 -BF -BF -00 -9D -BF -00 -81 -BF -00 -9D -BF -00 -81 -BF -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -62 -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -9D -00 -BD -9D -00 -F7 -F7 -00 -BD -F7 -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -62 -02 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BF -00 -BD -BF -00 -F7 -BD -00 -BD -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -08 -10 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -81 -00 -BD -81 -00 -F7 -BD -00 -BD -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -40 -42 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -BD -BD -00 -F7 -EF -00 -BD -EF -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -C3 -00 -F7 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -10 -10 -00 -00 -40 -40 -00 -BF -BF -00 -C3 -BD -00 -F7 -BD -00 -C3 -83 -00 -F7 -83 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C3 -C3 -00 -F7 -C3 -00 -C3 -87 -00 -F7 -87 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -3C -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C3 -81 -00 -F7 -81 -00 -C3 -BF -00 -F7 -BF -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -3C -3E -00 -00 -40 -40 -00 -BF -BF -00 -C1 -C3 -00 -C3 -C3 -00 -C1 -C1 -00 -C3 -C1 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C1 -81 -00 -C3 -81 -00 -C1 -C3 -00 -C3 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -3E -10 -00 -00 -40 -40 -00 -BF -BF -00 -C1 -F7 -00 -C3 -F7 -00 -C1 -C3 -00 -C3 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -7E -3C -00 -00 -40 -40 -00 -BF -BF -00 -C1 -C3 -00 -C3 -C3 -00 -C1 -EF -00 -C3 -EF -00 -BF -BF -00 -40 -40 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -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 -18 -08 -08 -3C -3C -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -C3 -00 -81 -C3 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -08 -18 -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -83 -00 -81 -83 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -08 -3C -00 -00 -7E -7E -00 -81 -81 -00 -E7 -C3 -00 -81 -C3 -00 -E7 -87 -00 -81 -87 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -7E -7E -00 -00 -7E -7E -00 -81 -81 -00 -E7 -81 -00 -81 -81 -00 -E7 -81 -00 -81 -81 -00 -81 -81 -00 -7E -7E -00 -00 -18 -08 -08 -3C -7E -00 -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -00 -18 -08 -08 -7E -3C -00 -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -00 -7E -7E -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 -18 -08 -3C -7E -7E -00 -00 -10 -00 -00 -00 -10 -00 -7E -7E -7E -7E -00 -00 -00 -00 -00 -10 -00 -7E -7E -7E -7E -00 -00 -00 -00 -28 -18 -18 -42 -42 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BD -00 -BF -BD -00 -D7 -BD -00 -BF -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -18 -28 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BD -00 -BF -BD -00 -D7 -BD -00 -BF -BD -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -18 -42 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BD -00 -BF -BD -00 -D7 -BB -00 -BF -BB -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -40 -02 -00 -00 -40 -40 -00 -BF -BF -00 -D7 -BF -00 -BF -BF -00 -D7 -BF -00 -BF -BF -00 -BF -BF -00 -40 -40 -00 -00 -28 -18 -18 -40 -40 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -28 -18 -18 -02 -42 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -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 -28 -18 -42 -40 -40 -00 -00 -00 -78 -38 -1C -38 -00 -40 -40 -40 -40 -00 -1C -78 -38 -1C -38 -00 -40 -40 -40 -40 -00 -00 -00 -00 -08 -28 -28 -0C -0C -00 -00 -7C -7C -00 -83 -83 -00 -F7 -C3 -00 -83 -C3 -00 -F7 -BD -00 -83 -BD -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -28 -08 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -BD -00 -83 -BD -00 -F7 -83 -00 -83 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -28 -42 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -BF -00 -83 -BF -00 -F7 -BD -00 -83 -BD -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -7C -04 -00 -00 -7C -7C -00 -83 -83 -00 -F7 -83 -00 -83 -83 -00 -F7 -83 -00 -83 -83 -00 -83 -83 -00 -7C -7C -00 -00 -08 -28 -28 -7C -7C -00 -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -00 -08 -28 -28 -04 -0C -00 -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -00 -7C -7C -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 -08 -28 -0C -7C -7C -00 -00 -30 -44 -44 -20 -10 -10 -7C -7C -7C -7C -00 -20 -44 -44 -20 -10 -10 -7C -7C -7C -7C -00 -00 -00 -00 -08 -48 -48 -02 -02 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -FD -BD -00 -F7 -C1 -00 -FD -C1 -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -48 -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -81 -00 -FD -81 -00 -F7 -BD -00 -FD -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -48 -3E -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BF -00 -FD -BF -00 -F7 -BD -00 -FD -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -02 -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BF -00 -FD -BF -00 -F7 -BF -00 -FD -BF -00 -BF -BF -00 -40 -40 -00 -00 -08 -48 -48 -42 -02 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -08 -48 -48 -08 -02 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -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 -08 -48 -02 -02 -02 -00 -00 -10 -44 -44 -20 -10 -00 -40 -40 -40 -40 -00 -20 -44 -44 -20 -10 -00 -40 -40 -40 -40 -00 -00 -00 -00 -08 -7E -7E -42 -42 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -BD -BD -00 -F7 -FD -00 -BD -FD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -7E -08 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -BD -BD -00 -F7 -BD -00 -BD -BD -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -7E -02 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BD -00 -BD -BD -00 -F7 -BB -00 -BD -BB -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -42 -10 -00 -00 -40 -40 -00 -BF -BF -00 -F7 -BF -00 -BD -BF -00 -F7 -BF -00 -BD -BF -00 -BF -BF -00 -40 -40 -00 -00 -08 -7E -7E -42 -42 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -08 -7E -7E -10 -42 -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -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 -08 -7E -42 -42 -42 -00 -00 -10 -78 -44 -20 -10 -00 -40 -40 -40 -40 -00 -20 -78 -44 -20 -10 -00 -40 -40 -40 -40 -00 -00 -00 -00 -3E -08 -08 -3C -3C -00 -00 -40 -40 -00 -BF -BF -00 -C1 -C3 -00 -C3 -C3 -00 -C1 -C3 -00 -C3 -C3 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -08 -3E -00 -00 -40 -40 -00 -BF -BF -00 -C1 -BD -00 -C3 -BD -00 -C1 -83 -00 -C3 -83 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -08 -3C -00 -00 -40 -40 -00 -BF -BF -00 -C1 -C3 -00 -C3 -C3 -00 -C1 -87 -00 -C3 -87 -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -3C -10 -00 -00 -40 -40 -00 -BF -BF -00 -C1 -81 -00 -C3 -81 -00 -C1 -BF -00 -C3 -BF -00 -BF -BF -00 -40 -40 -00 -00 -3E -08 -08 -3C -3C -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -00 -3E -08 -08 -10 -3C -00 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -00 -40 -40 -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 -3E -08 -3C -3C -3C -00 -00 -38 -40 -38 -20 -0C -10 -40 -40 -40 -40 -00 -1C -40 -38 -20 -0C -10 -40 -40 -40 -7E -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -00 -FF -FF -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 -40 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -40 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -4A -4B -4C -4D -4E -4F -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -5A -5B -5C -5D -5E -5F -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -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 -00 -00 -00 -00 -00 -00 -00 -00 -FF -00 -00 -00 -FF -00 -23 -0D -0D -23 -05 -00 -00 -00 -16 -01 -01 -00 -06 -00 -0B -00 -01 -00 -01 -00 -06 -00 -10 -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 -3C -40 -00 -FF -CC -01 -F9 -BF -00 -00 -00 -34 -08 -FF -35 -08 -01 -38 -00 -00 -E3 -60 -35 -61 -B6 -5C -B6 -5C -CB -5C -80 -60 -CA -5C -71 -61 -74 -61 -7F -60 -BB -6C -76 -61 -76 -61 -7B -61 -00 -92 -5C -10 -02 -00 -00 -00 -00 -00 -00 -75 -EA -88 -1A -00 -00 -12 -14 -00 -58 -FF -00 -00 -21 -00 -5B -21 -16 -CE -40 -00 -58 -13 -12 -21 -16 -01 -38 -00 -38 -00 -00 -00 -00 -03 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -01 -04 -03 -05 -05 -00 -00 -00 -14 -35 -05 -05 -00 -00 -00 -00 -00 -FF -BF -FF -FF -F4 -09 -A8 -10 -4B -F4 -09 -C4 -15 -53 -81 -0F -C4 -15 -52 -F4 -09 -C4 -15 -50 -80 -00 -00 -12 -00 -EA -55 -4C -41 -20 -74 -65 -73 -74 -20 -33 -0E -00 -00 -03 -00 -00 -0D -00 -00 -18 -00 -EA -28 -61 -64 -61 -70 -74 -65 -64 -20 -74 -6F -20 -31 -32 -38 -0E -00 -00 -80 -00 -00 -29 -0D -00 -00 -12 -00 -EA -62 -79 -20 -4A -61 -6E -20 -42 -6F -62 -72 -6F -77 -73 -6B -69 -0D -00 -00 -0D -00 -EA -6C -69 -63 -65 -6E -73 -65 -20 -47 -50 -4C -0D -00 -0A -13 -00 -F1 -69 -70 -6F -72 -74 -3D -36 -35 -35 -33 -35 -0E -00 -00 -FF -FF -00 -0D -00 -0B -15 -00 -F1 -63 -70 -6F -72 -74 -3D -69 -70 -6F -72 -74 -2D -31 -0E -00 -00 -01 -00 -00 -0D -00 -0C -36 -00 -F5 -AC -31 -0E -00 -00 -01 -00 -00 -2C -30 -0E -00 -00 -00 -00 -00 -3B -D9 -31 -0E -00 -00 -01 -00 -00 -3B -22 -20 -20 -20 -20 -20 -20 -20 -20 -55 -4C -41 -20 -74 -65 -73 -74 -20 -33 -20 -62 -79 -20 -4A -42 -22 -0D -00 -0D -1D -00 -F1 -66 -74 -3D -33 -32 -37 -36 -38 -0E -00 -00 -00 -80 -00 -2B -C0 -34 -39 -31 -35 -32 -0E -00 -00 -00 -C0 -00 -0D -00 -0E -1E -00 -F5 -23 -30 -0E -00 -00 -00 -00 -00 -3B -AC -31 -0E -00 -00 -01 -00 -00 -2C -38 -0E -00 -00 -08 -00 -00 -3B -66 -74 -0D -00 -0F -14 -00 -EB -61 -3D -30 -0E -00 -00 -00 -00 -00 -CC -33 -31 -0E -00 -00 -1F -00 -00 -0D -00 -10 -11 -00 -F4 -31 -36 -33 -38 -34 -0E -00 -00 -00 -40 -00 -2B -61 -2C -61 -0D -00 -11 -1A -00 -F4 -32 -32 -35 -32 -38 -0E -00 -00 -00 -58 -00 -2B -61 -2C -36 -34 -0E -00 -00 -40 -00 -00 -2B -61 -0D -00 -12 -03 -00 -F3 -61 -0D -00 -13 -13 -00 -F1 -73 -74 -61 -72 -74 -3D -31 -34 -33 -32 -39 -0E -00 -00 -F9 -37 -00 -0D -00 -14 -23 -00 -FA -66 -74 -3E -37 -30 -30 -30 -30 -0E -91 -08 -B8 -00 -00 -CB -F1 -73 -74 -61 -72 -74 -3D -31 -34 -33 -35 -35 -0E -00 -00 -13 -38 -00 -0D -00 -15 -10 -00 -F1 -74 -24 -3D -22 -22 -3A -F1 -76 -3D -69 -70 -6F -72 -74 -0D -00 -16 -0C -00 -ED -32 -30 -30 -30 -0E -00 -00 -D0 -07 -00 -0D -00 -17 -28 -00 -F5 -23 -30 -0E -00 -00 -00 -00 -00 -3B -AC -31 -0E -00 -00 -01 -00 -00 -2C -38 -0E -00 -00 -08 -00 -00 -3B -22 -69 -70 -6F -72 -74 -3A -22 -3B -74 -24 -3B -0D -00 -18 -10 -00 -F1 -74 -24 -3D -22 -22 -3A -F1 -76 -3D -63 -70 -6F -72 -74 -0D -00 -19 -0C -00 -ED -32 -30 -30 -30 -0E -00 -00 -D0 -07 -00 -0D -00 -1A -17 -00 -F5 -23 -30 -0E -00 -00 -00 -00 -00 -3B -22 -20 -63 -70 -6F -72 -74 -3A -22 -3B -74 -24 -0D -00 -64 -09 -00 -F1 -74 -3D -73 -74 -61 -72 -74 -0D -00 -65 -14 -00 -EB -6C -3D -33 -0E -00 -00 -03 -00 -00 -CC -32 -31 -0E -00 -00 -15 -00 -00 -0D -00 -66 -0E -00 -F5 -AC -6C -2C -31 -0E -00 -00 -01 -00 -00 -3B -74 -0D -00 -67 -1C -00 -EB -63 -3D -38 -0E -00 -00 -08 -00 -00 -CC -33 -30 -0E -00 -00 -1E -00 -00 -CD -33 -0E -00 -00 -03 -00 -00 -0D -00 -68 -07 -00 -F5 -AC -6C -2C -63 -3B -0D -00 -69 -1D -00 -F5 -23 -30 -0E -00 -00 -00 -00 -00 -3B -AC -31 -0E -00 -00 -01 -00 -00 -2C -31 -0E -00 -00 -01 -00 -00 -3B -74 -0D -00 -6A -0A -00 -F1 -76 -3D -C0 -72 -65 -61 -64 -70 -0D -00 -6B -0A -00 -F1 -69 -3D -C0 -63 -6F -6E -74 -70 -0D -00 -6C -07 -00 -F1 -74 -24 -3D -22 -22 -0D -00 -6D -0C -00 -ED -32 -31 -30 -30 -0E -00 -00 -34 -08 -00 -0D -00 -6E -07 -00 -F5 -DD -69 -3B -74 -24 -0D -00 -6F -0D -00 -F1 -74 -3D -74 -2B -31 -0E -00 -00 -01 -00 -00 -0D -00 -70 -03 -00 -F3 -63 -0D -00 -71 -03 -00 -F3 -6C -0D -00 -72 -0B -00 -EC -31 -30 -30 -0E -00 -00 -64 -00 -00 -0D -07 -D0 -13 -00 -F1 -75 -3D -BA -28 -76 -2F -34 -30 -39 -36 -0E -00 -00 -00 -10 -00 -29 -0D -07 -D1 -0C -00 -ED -32 -32 -30 -30 -0E -00 -00 -98 -08 -00 -0D -07 -D2 -12 -00 -F1 -76 -3D -76 -2D -34 -30 -39 -36 -0E -00 -00 -00 -10 -00 -2A -75 -0D -07 -D3 -12 -00 -F1 -75 -3D -BA -28 -76 -2F -32 -35 -36 -0E -00 -00 -00 -01 -00 -29 -0D -07 -D4 -0C -00 -ED -32 -32 -30 -30 -0E -00 -00 -98 -08 -00 -0D -07 -D5 -11 -00 -F1 -76 -3D -76 -2D -32 -35 -36 -0E -00 -00 -00 -01 -00 -2A -75 -0D -08 -34 -11 -00 -F1 -75 -3D -BA -28 -76 -2F -31 -36 -0E -00 -00 -10 -00 -00 -29 -0D -08 -35 -0C -00 -ED -32 -32 -30 -30 -0E -00 -00 -98 -08 -00 -0D -08 -36 -10 -00 -F1 -75 -3D -76 -2D -31 -36 -0E -00 -00 -10 -00 -00 -2A -75 -0D -08 -98 -25 -00 -F1 -74 -24 -3D -74 -24 -2B -22 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -41 -42 -43 -44 -45 -46 -22 -28 -75 -2B -31 -0E -00 -00 -01 -00 -00 -29 -0D -08 -99 -02 -00 -FE -0D -23 -28 -0D -00 -FD -34 -39 -31 -35 -31 -0E -00 -00 -FF -BF -00 -0D -23 -29 -05 -00 -EF -22 -22 -AF -0D -23 -2A -02 -00 -F7 -0D -A9 -70 -6F -72 -F4 -00 -00 -FF -FF -00 -A3 -70 -6F -72 -F4 -00 -00 -FE -FF -00 -B2 -65 -61 -64 -F0 -00 -00 -4D -C0 -00 -A3 -6F -6E -74 -F0 -00 -00 -70 -C0 -00 -A6 -F4 -91 -08 -80 -00 -00 -E1 -00 -00 -20 -00 -00 -00 -00 -1F -00 -00 -00 -00 -01 -00 -00 -0F -00 -02 -B3 -74 -61 -72 -F4 -00 -00 -F9 -37 -00 -76 -00 -00 -04 -00 -00 -75 -00 -00 -00 -00 -00 -74 -00 -00 -13 -38 -00 -EC -00 -00 -06 -00 -00 -00 -00 -15 -00 -00 -00 -00 -01 -00 -00 -65 -00 -02 -E3 -00 -00 -0E -00 -00 -00 -00 -1E -00 -00 -00 -00 -03 -00 -00 -67 -00 -02 -69 -00 -00 -01 -00 -00 -54 -00 -00 -80 -EF -22 -22 -0D -80 -00 -00 -98 -08 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 diff --git a/cores/Spectrum/testcontenida.asm b/cores/Spectrum/testcontenida.asm deleted file mode 100644 index f09c39a..0000000 --- a/cores/Spectrum/testcontenida.asm +++ /dev/null @@ -1,43 +0,0 @@ - org 0 - di - ld sp,32768 - ld hl,Codigo - ld de,16384 - ld bc,LCodigo -Espera1: in a,(255) - cp 255 - jr nz,Espera1 -Espera2: in a,(255) - cp 255 - jr z,Espera2 - ldir -Otra: call 16384 - jp Otra - -Codigo: in a,(255) - cp 255 - jr z,Codigo - out (254),a - out (254),a - nop - out (254),a - out (254),a - nop - ld bc,40feh - out (c),a - out (c),a - out (c),a - out (c),a - out (c),a - out (c),a - dec c - out (c),a - out (c),a - out (c),a - out (c),a - out (c),a - out (c),a - ret -LCodigo equ $-Codigo - - end diff --git a/cores/Spectrum/testcontenida.bin b/cores/Spectrum/testcontenida.bin deleted file mode 100644 index 438c8b3..0000000 Binary files a/cores/Spectrum/testcontenida.bin and /dev/null differ diff --git a/cores/Spectrum/testcontenida_hex.txt b/cores/Spectrum/testcontenida_hex.txt deleted file mode 100644 index 57453bf..0000000 --- a/cores/Spectrum/testcontenida_hex.txt +++ /dev/null @@ -1,78 +0,0 @@ -F3 -31 -00 -80 -21 -21 -00 -11 -00 -40 -01 -2D -00 -DB -FF -FE -FF -20 -FA -DB -FF -FE -FF -28 -FA -ED -B0 -CD -00 -40 -C3 -1B -00 -DB -FF -FE -FF -28 -FA -D3 -FE -D3 -FE -00 -D3 -FE -D3 -FE -00 -01 -FE -40 -ED -79 -ED -79 -ED -79 -ED -79 -ED -79 -ED -79 -0D -ED -79 -ED -79 -ED -79 -ED -79 -ED -79 -ED -79 -C9 diff --git a/cores/Spectrum/testflashspi.tap b/cores/Spectrum/testflashspi.tap deleted file mode 100644 index d77f302..0000000 Binary files a/cores/Spectrum/testflashspi.tap and /dev/null differ diff --git a/cores/Spectrum/testmmc.tap b/cores/Spectrum/testmmc.tap deleted file mode 100644 index 4d70459..0000000 Binary files a/cores/Spectrum/testmmc.tap and /dev/null differ diff --git a/cores/Spectrum/testnmi.asm b/cores/Spectrum/testnmi.asm deleted file mode 100644 index e0690b4..0000000 --- a/cores/Spectrum/testnmi.asm +++ /dev/null @@ -1,84 +0,0 @@ - org 28000 -Main di - ld bc,7ffdh - ld a,16+6 ;pagina 6 de RAM - out (c),a - ld hl,Rom - ld de,0c000h ;Copiar ROM NMI a esta dirección - ld bc,LRom - ldir - ld bc,7ffdh - ld a,16 ;Restablecemos página 0 de RAM - out (c),a - ei - ret - -Rom ;Esto se ejecuta a partir de C000h. - ;Guardar puntero de pila, establecer pila privada y guardar registros - ld (OldSP-Rom+0c000h),sp - ld sp,Stack-Rom+0c000h - push af - push bc - push de - push hl - - ;Salvaguarda zona de atributos - ld hl,22528 - ld de,Buffer-Rom+0c000h - ld bc,768 - ldir - - ;Pon el banner de PAUSE - ld hl,Banner-Rom+0c000h - ld de,22528+32*8+1 - ld b,7 -BucBanner push bc - ld bc,29 - ldir - inc de - inc de - inc de - pop bc - djnz BucBanner - - ;Espera una tecla para terminar pausa -BucWaitKey xor a - in a,(254) - and 31 - cp 31 - jr z,BucWaitKey - - ;Restaura zona de atributos - ld hl,Buffer-Rom+0c000h - ld de,22528 - ld bc,768 - ldir - - ;Restablecer registros y puntero de pila anterior - pop hl - pop de - pop bc - pop af - ld sp,(OldSP-Rom+0c000h) - - ;Saltar a direccion de fin de NMI - jp 0069h - -Banner db 000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 - db 000,255,255,255,000,000,000,255,255,255,000,000,255,000,000,000,255,000,000,255,255,255,000,000,255,255,255,255,000 - db 000,255,000,000,255,000,255,000,000,000,255,000,255,000,000,000,255,000,255,000,000,000,000,000,255,000,000,000,000 - db 000,255,255,255,000,000,255,255,255,255,255,000,255,000,000,000,255,000,000,255,255,255,000,000,255,255,255,255,000 - db 000,255,000,000,000,000,255,000,000,000,255,000,255,000,000,000,255,000,000,000,000,000,255,000,255,000,000,000,000 - db 000,255,000,000,000,000,255,000,000,000,255,000,000,255,255,255,000,000,000,255,255,255,000,000,255,255,255,255,000 - db 000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 - -OldSP dw 0 - - ds 16 ;16 bytes de pila -Stack equ $ - -Buffer equ $ - -LRom equ $-Rom - end Main - diff --git a/cores/Spectrum/testrom.asm b/cores/Spectrum/testrom.asm deleted file mode 100644 index c8720f0..0000000 --- a/cores/Spectrum/testrom.asm +++ /dev/null @@ -1,185 +0,0 @@ -ZXUNOREGADDR equ 0fc3bh -ZXUNOREGDATA equ 0fd3bh -MASTERCONF equ 0 -MASTERMAPPER equ 1 -FLASHSPI equ 2 -FLASHCS equ 3 - -; Selecciona un registro ZXUno de forma que los siguientes IN/OUTs a (C) -; se hagan en el registro deseado -select macro dir - ld bc,ZXUNOREGADDR - ld a,dir - out (c),a - inc b - endm - -; Escribe "dato" en el registro ZXUno de direccion "dir" -wreg macro dir,dato - ld bc,ZXUNOREGADDR - ld a,dir - out (c),a - inc b - ld a,dato - out (c),a - endm - -; Lee un byte desde el registro ZXUno cuya dirección es "dir" y lo almacena en "dest" (un registro de 8 bits) -rreg macro dir,dest - ld bc,ZXUNOREGADDR - ld a,dir - out (c),a - inc b - in dest,(c) - endm - -;-------------------------------------------------------------------------- - - org 32768 -Main di - ld sp,49151 ;stack fuera de la pagina de memoria que tocaremos - - ; Borramos la pantalla shadow, ya que Open SE IV parece que no la borra - wreg MASTERMAPPER,7 ;paginamos la pantalla shadow - call BorraBloque - - ; Elige uno, para probar - ;------------------------------------------------- ROM de 48K con DIVMMC (se copia la interna) - wreg MASTERMAPPER,11 ;Donde estaría la ROM 3 - ld hl,0 - ld de,49152 - ld bc,16384 - ldir - ld bc,1ffdh - ld a,2 - out (c),a - ld b,7fh - ld a,10h - out (c),a - call CopiaESXDOS - wreg MASTERCONF,010b ;Fin del modo boot. La nueva ROM está en su sitio y activada. DIVMMC está activado. - jp 0 ;Vamonos a ella. - ;------------------------------------------------- ROM del +3 con DIVMMC -; call CopiaPlus3 -; call CopiaESXDOS -; wreg MASTERCONF,2 ;Fin del modo boot. La nueva ROM está en su sitio y activada. DIVMMC está activado -; jp 0 ;Vamonos a ella. - ;------------------------------------------------- ROM SE IV con DIVMMC, sin NMI en DIVMMC -; call CopiaOpenSE -; ld bc,1ffdh -; ld a,2 -; out (c),a -; ld b,7fh -; ld a,10h -; out (c),a -; call CopiaESXDOS -; wreg MASTERCONF,110b ;Fin del modo boot. La nueva ROM está en su sitio y activada. DIVMMC está activado pero sin NMI -; jp 0 ;Vamonos a ella. - ;------------------------------------------------- - -CopiaESXDOS wreg MASTERMAPPER,16 ;Borramos los 128KB de la RAM del DIVMMC (bancos 16 a 23) - call BorraBloque - wreg MASTERMAPPER,17 - call BorraBloque - wreg MASTERMAPPER,18 - call BorraBloque - wreg MASTERMAPPER,19 - call BorraBloque - wreg MASTERMAPPER,20 - call BorraBloque - wreg MASTERMAPPER,21 - call BorraBloque - wreg MASTERMAPPER,22 - call BorraBloque - wreg MASTERMAPPER,23 - call BorraBloque - - wreg MASTERMAPPER,12 ;En los primeros 8KB del bloque 12 está la ROM del DIVMMC (ESXDOS) - - wreg FLASHCS,0 ;linea CS de la flash a nivel bajo. Necesario antes de emitir comandos SPI - wreg FLASHSPI,3 ;comando de lectura de la flash - ld a,04h ; - out (c),a ; Dirección donde se encuentra - ld a,80h ; la ROM del ESXDOS en la flash: 048000h - out (c),a ; - ld a,00h ; - out (c),a ; A partir de aqui leemos secuencialmente - - in a,(c) ; Primera lectura que se descarta... - ld hl,49152 - ld de,8192 ; son solo 8K a copiar - call BucCopia - - wreg FLASHCS,1 - ret - -CopiaPlus3 wreg MASTERMAPPER,8 ;primera página de RAM que se convertirá en ROM (la 8) - wreg FLASHCS,0 ;linea CS de la flash a nivel bajo. Necesario antes de emitir comandos SPI - wreg FLASHSPI,3 ;comando de lectura de la flash - ld a,03h ; - out (c),a ; Dirección donde se encuentra - ld a,00h ; la ROM en la flash: 030000h - out (c),a ; - ld a,00h ; - out (c),a ; A partir de aqui leemos secuencialmente - - in a,(c) ; Primera lectura que se descarta... - - call CopiaBloque ;copia 16K de la flash a la página 8 - - wreg MASTERMAPPER,9 - select FLASHSPI - - call CopiaBloque ;copia 16K de la flash a la página 9 - - wreg MASTERMAPPER,10 - select FLASHSPI - - call CopiaBloque ;etc... - - wreg MASTERMAPPER,11 - select FLASHSPI - - call CopiaBloque - - wreg FLASHCS,1 ;Deseleccionar flash - ret - - -CopiaOpenSE wreg MASTERMAPPER,11 ;Solo copiamos la ROM 1 de la SE Basic, como ROM 3. - wreg FLASHCS,0 ;linea CS de la flash a nivel bajo - wreg FLASHSPI,3 ;comando de lectura de la flash - ld a,04h ; - out (c),a ; Dirección donde se encuentra - ld a,40h ; la ROM en la flash: 044000h - out (c),a ; - ld a,00h ; - out (c),a ; A partir de aqui leemos secuencialmente - - in a,(c) ; Primera lectura que se descarta... - - call CopiaBloque - - wreg FLASHCS,1 ;Deseleccionar flash - ret - -CopiaBloque ld hl,49152 - ld de,16384 -BucCopia in a,(c) ;leemos de la flash... - ld (hl),a ;...a memoria - inc hl - dec de - ld a,d - or e - jr nz,BucCopia - ret - - -BorraBloque ld hl,49152 - ld de,49153 - ld bc,16383 - ld (hl),l - ldir - ret - - end Main diff --git a/cores/Spectrum/testrom.tap b/cores/Spectrum/testrom.tap deleted file mode 100644 index 1f1c262..0000000 Binary files a/cores/Spectrum/testrom.tap and /dev/null differ diff --git a/cores/Spectrum/timings_pentagon128.png b/cores/Spectrum/timings_pentagon128.png deleted file mode 100644 index 1921e87..0000000 Binary files a/cores/Spectrum/timings_pentagon128.png and /dev/null differ diff --git a/cores/Spectrum/tld_zxuno.prj b/cores/Spectrum/tld_zxuno.prj index ad1fb09..1dcb0cc 100644 --- a/cores/Spectrum/tld_zxuno.prj +++ b/cores/Spectrum/tld_zxuno.prj @@ -6,21 +6,32 @@ vhdl work "T80.vhd" vhdl work "YM2149_linmix.vhd" vhdl work "T80a.vhd" verilog work "spi.v" +verilog work "scancode_to_speccy.v" verilog work "rom.v" -verilog work "pal_sync_generator_sinclair.v" -vhdl work "mapa_teclado_es.vhd" +verilog work "ps2_port.v" +verilog work "ps2mouse_to_kmouse.v" +verilog work "pll_drp.v" +verilog work "pal_sync_generator.v" verilog work "lut.v" verilog work "dp_memory.v" verilog work "zxunoregs.v" verilog work "ula_radas.v" verilog work "tv80_to_t80_wrapper.v" verilog work "turbosound.v" -vhdl work "ps2k_mcleod.vhd" +verilog work "scratch_register.v" +verilog work "scandoubler_ctrl.v" +verilog work "ps2_mouse_kempston.v" +verilog work "ps2_keyb.v" +verilog work "pll_top.v" +verilog work "nmievents.v" +verilog work "multiboot.v" verilog work "memory.v" verilog work "joystick_protocols.v" verilog work "flash_spi.v" verilog work "coreid.v" +verilog work "control_rasterint.v" verilog work "audio_management.v" verilog work "zxuno.v" -verilog work "relojes_pll.v" +verilog work "vga_scandoubler.v" +verilog work "cuatro_relojes.v" verilog work "tld_zxuno.v" diff --git a/cores/Spectrum/tld_zxuno.xst b/cores/Spectrum/tld_zxuno.xst index cabdc88..81f8d78 100644 --- a/cores/Spectrum/tld_zxuno.xst +++ b/cores/Spectrum/tld_zxuno.xst @@ -1,19 +1,18 @@ -set -tmpdir "xst/projnav.tmp" +set -tmpdir "projnav.tmp" set -xsthdpdir "xst" run -ifn tld_zxuno.prj --ifmt mixed +-infer_ramb8 No -ofn tld_zxuno -ofmt NGC --p xc6slx9-3-tqg144 +-p xc6slx9-2-tqg144 -top tld_zxuno -opt_mode Speed --opt_level 2 +-opt_level 1 -power NO -iuc NO --lso tld_zxuno.lso --keep_hierarchy NO --netlist_hierarchy as_optimized +-keep_hierarchy No +-netlist_hierarchy As_Optimized -rtlview Yes -glob_opt AllClockNets -read_cores YES @@ -21,25 +20,24 @@ run -cross_clock_analysis NO -hierarchy_separator / -bus_delimiter <> --case maintain +-case Maintain -slice_utilization_ratio 100 -bram_utilization_ratio 100 -dsp_utilization_ratio 100 --lc auto --reduce_control_sets auto --fsm_extract YES -fsm_encoding Auto --safe_implementation No --fsm_style lut +-lc Auto +-reduce_control_sets Auto +-fsm_extract NO +-fsm_style LUT -ram_extract Yes -ram_style Auto -rom_extract Yes -shreg_extract YES -rom_style Auto -auto_bram_packing NO --resource_sharing NO +-resource_sharing YES -async_to_sync YES -shreg_min_size 2 --use_dsp48 auto +-use_dsp48 Auto -iobuf YES -max_fanout 100000 -bufg 16 @@ -49,6 +47,6 @@ run -use_clock_enable Auto -use_sync_set Auto -use_sync_reset Auto --iob auto +-iob Auto -equivalent_register_removal YES -slice_utilization_ratio_maxmargin 5