]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3300b5
authorToni Wilen <twilen@winuae.net>
Wed, 10 Feb 2016 16:31:18 +0000 (18:31 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 10 Feb 2016 16:31:18 +0000 (18:31 +0200)
17 files changed:
expansion.cpp
filesys.cpp
filesys_bootrom.cpp
include/autoconf.h
include/custom.h
include/memory.h
include/traps.h
memory.cpp
od-win32/direct3d.cpp
od-win32/mman.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gui.cpp
od-win32/win32gui.h
od-win32/winuaechangelog.txt
ppc/ppc.cpp
traps.cpp

index b2f8227439b7f9e12dd389f3f449e3647a2593f1..77f30d0497d9d6c1c2ad1b9df0149d91b2f1034b 100644 (file)
@@ -1001,8 +1001,7 @@ static addrbank *expamem_init_catweasel (int devnum)
 #ifdef FILESYS
 
 /*
-* Filesystem device ROM
-* This is very simple, the Amiga shouldn't be doing things with it.
+* Filesystem device ROM/RAM space
 */
 
 DECLARE_MEMORY_FUNCTIONS(filesys);
@@ -1016,6 +1015,11 @@ addrbank filesys_bank = {
 
 static uae_u32 filesys_start; /* Determined by the OS */
 
+static bool filesys_write(uaecptr addr)
+{
+       return addr >= 0x4000;
+}
+
 static uae_u32 REGPARAM2 filesys_lget (uaecptr addr)
 {
        uae_u8 *m;
@@ -1050,22 +1054,38 @@ static uae_u32 REGPARAM2 filesys_bget (uaecptr addr)
        return filesys_bank.baseaddr[addr];
 }
 
-static void REGPARAM2 filesys_lput (uaecptr addr, uae_u32 l)
+
+static void REGPARAM2 filesys_bput(uaecptr addr, uae_u32 b)
 {
-       write_log (_T("filesys_lput called PC=%08x\n"), M68K_GETPC);
+       addr -= filesys_start & 65535;
+       addr &= 65535;
+       if (!filesys_write(addr))
+               return;
+       filesys_bank.baseaddr[addr] = b;
 }
 
-static void REGPARAM2 filesys_wput (uaecptr addr, uae_u32 w)
+static void REGPARAM2 filesys_lput (uaecptr addr, uae_u32 l)
 {
-       write_log (_T("filesys_wput called PC=%08x\n"), M68K_GETPC);
+       addr -= filesys_start & 65535;
+       addr &= 65535;
+       if (!filesys_write(addr))
+               return;
+       filesys_bank.baseaddr[addr + 0] = l >> 24;
+       filesys_bank.baseaddr[addr + 1] = l >> 16;
+       filesys_bank.baseaddr[addr + 2] = l >> 8;
+       filesys_bank.baseaddr[addr + 3] = l >> 0;
 }
 
-static void REGPARAM2 filesys_bput (uaecptr addr, uae_u32 b)
+static void REGPARAM2 filesys_wput (uaecptr addr, uae_u32 w)
 {
-#if EXP_DEBUG
-       write_log (_T("filesys_bput %x %x\n"), addr, b);
-#endif
+       addr -= filesys_start & 65535;
+       addr &= 65535;
+       if (!filesys_write(addr))
+               return;
+       filesys_bank.baseaddr[addr + 0] = w >> 8;
+       filesys_bank.baseaddr[addr + 1] = w & 0xff;
 }
+
 static int REGPARAM2 filesys_check(uaecptr addr, uae_u32 size)
 {
        addr -= filesys_bank.start & 65535;
@@ -1087,59 +1107,45 @@ DECLARE_MEMORY_FUNCTIONS(uaeboard);
 addrbank uaeboard_bank = {
        uaeboard_lget, uaeboard_wget, uaeboard_bget,
        uaeboard_lput, uaeboard_wput, uaeboard_bput,
-       default_xlate, default_check, NULL, _T("uaeboard"), _T("UAE Board"),
+       uaeboard_xlate, uaeboard_check, NULL, _T("uaeboard"), _T("UAE Board"),
        dummy_lgeti, dummy_wgeti,
        ABFLAG_IO | ABFLAG_SAFE | ABFLAG_PPCIOSPACE, S_READ, S_WRITE
 };
 
-static uae_u32 uaeboard_start; /* Determined by the OS */
-#define UAEBOARD_RAM_SIZE 16384
-#define UAEBOARD_RAM_OFFSET (65536 - UAEBOARD_RAM_SIZE)
-#define UAEBOARD_IO_INTERFACE (UAEBOARD_RAM_OFFSET - 16)
-static uae_u8 uaeboard_io_state;
-static uae_u32 uaeboard_io_size, uaeboard_mem_ptr, uaeboard_mem_use;
+uae_u32 uaeboard_base; /* Determined by the OS */
+static uae_u32 uaeboard_ram_start;
+#define UAEBOARD_WRITEOFFSET 0x4000
+
+uaecptr uaeboard_alloc_ram(uae_u32 size)
+{
+       size += 7;
+       size &= ~7;
+       uaecptr p = uaeboard_ram_start + uaeboard_base;
+       memset(uaeboard_bank.baseaddr + uaeboard_ram_start, 0, size);
+       uaeboard_ram_start += size;
+       return p;
+}
+
+static bool uaeboard_write(uaecptr addr)
+{
+       if (addr >= UAEBOARD_WRITEOFFSET)
+               return true;
+       return false;
+}
 
 static uae_u32 REGPARAM2 uaeboard_wget(uaecptr addr)
 {
        uae_u8 *m;
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
-       if (addr == 0x200 || addr == 0x201) {
-               mousehack_wakeup();
-       }
        m = uaeboard_bank.baseaddr + addr;
-#if EXP_DEBUG
-       write_log(_T("uaeboard_wget %x %x\n"), addr, do_get_mem_word((uae_u16 *)m));
-#endif
        uae_u16 v = do_get_mem_word((uae_u16 *)m);
-
-       if (addr >= UAEBOARD_IO_INTERFACE) {
-               if (uaeboard_io_state & 16) {
-                       uaeboard_mem_ptr &= (UAEBOARD_RAM_SIZE - 1);
-                       if (uaeboard_mem_ptr + uaeboard_io_size > UAEBOARD_RAM_SIZE)
-                               uaeboard_mem_ptr = 0;
-                       if (addr == UAEBOARD_IO_INTERFACE + 8) {
-                               uaeboard_io_state |= 32;
-                               uaeboard_mem_use = uaeboard_mem_ptr + UAEBOARD_RAM_OFFSET;
-                               v = uaeboard_mem_use >> 16;
-                       } else if (addr == UAEBOARD_IO_INTERFACE + 8 + 2) {
-                               uaeboard_io_state |= 64;
-                               uaeboard_mem_use = uaeboard_mem_ptr + UAEBOARD_RAM_OFFSET;
-                               v = uaeboard_mem_use >> 0;
-                       }
-                       if ((uaeboard_io_state & (32 | 64 | 128)) == (32 | 64)) {
-                               uaeboard_mem_ptr += uaeboard_io_size;
-                               uaeboard_io_state |= 128;
-                       }
-               }
-       }
-
        return v;
 }
 
 static uae_u32 REGPARAM2 uaeboard_lget(uaecptr addr)
 {
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
        uae_u32 v = uaeboard_wget(addr) << 16;
        v |= uaeboard_wget(addr + 2);
@@ -1148,109 +1154,63 @@ static uae_u32 REGPARAM2 uaeboard_lget(uaecptr addr)
 
 static uae_u32 REGPARAM2 uaeboard_bget(uaecptr addr)
 {
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
-       if (addr == 0x200 || addr == 0x201) {
-               mousehack_wakeup();
-       } else if (addr == UAEBOARD_IO_INTERFACE) {
-               uaeboard_bank.baseaddr[UAEBOARD_IO_INTERFACE] = uaeboard_io_state == 0;
-               if (!uaeboard_io_state) {
-                       // mark allocated
-                       uaeboard_io_state = 1;
-               }
-       } else if (addr == UAEBOARD_IO_INTERFACE + 2) {
-               if (uaeboard_io_state & 8) {
-                       uaeboard_bank.baseaddr[addr] = 1;
-                       uaeboard_io_state |= 16;
-               }
-       } else if (addr == uaeboard_mem_use) {
-               uaeboard_bank.baseaddr[addr] = 1;
-       }
-#if EXP_DEBUG
-       write_log(_T("uaeboard_bget %x %x\n"), addr, uaeboard_bank.baseaddr[addr]);
-#endif
        return uaeboard_bank.baseaddr[addr];
 }
 
 static void REGPARAM2 uaeboard_wput(uaecptr addr, uae_u32 w)
 {
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
-       if (addr >= 0x200 + 0x20 && addr < 0x200 + 0x24) {
-               mousehack_write(addr - 0x200, w);
-       } else if (addr >= UAEBOARD_IO_INTERFACE) {
-               uae_u8 *m = uaeboard_bank.baseaddr + addr;
-               put_word_host(m, w);
-               if (uaeboard_io_state) {
-                       if (addr == UAEBOARD_IO_INTERFACE + 4)
-                               uaeboard_io_state |= 2;
-                       if (addr == UAEBOARD_IO_INTERFACE + 6)
-                               uaeboard_io_state |= 4;
-                       if (uaeboard_io_state == (1 | 2 | 4)) {
-                               uae_u32 *m2 = (uae_u32 *)(uaeboard_bank.baseaddr + UAEBOARD_IO_INTERFACE + 4);
-                               // size received
-                               uaeboard_io_state |= 8;
-                               uaeboard_io_size = do_get_mem_long(m2);
-                       }
-               }
-               // writing command byte executes it
-               if (addr == uaeboard_mem_use) {
-                       w &= 0xffff;
-                       if (w != 0xffff && w != 0) {
-                               uae_u8 *m2 = uaeboard_bank.baseaddr + addr;
-                               put_long_host(m2 + 4, uaeboard_demux((uae_u32*)m2));
-                       }
-               }
-       } else if (addr >= 0x2000 && addr <= 0x3000) {
-               uae_u8 *m = uaeboard_bank.baseaddr + addr;
-               put_word_host(m, w);
-       }
-#if EXP_DEBUG
-       write_log(_T("uaeboard_wput %08x = %04x PC=%08x\n"), addr, w, M68K_GETPC);
-#endif
+       if (!uaeboard_write(addr))
+               return;
+       uae_u8 *m = uaeboard_bank.baseaddr + addr;
+       put_word_host(m, w);
 }
 
 static void REGPARAM2 uaeboard_lput(uaecptr addr, uae_u32 l)
 {
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
-       if (addr >= 0x200 + 0x20 && addr < 0x200 + 0x24) {
-               mousehack_write(addr - 0x200, l >> 16);
-               mousehack_write(addr - 0x200 + 2, l);
-       } else if (addr >= UAEBOARD_IO_INTERFACE) {
-               uaeboard_wput(addr, l >> 16);
-               uaeboard_wput(addr + 2, l);
-       }
-#if EXP_DEBUG
-       write_log(_T("uaeboard_lput %08x = %08x PC=%08x\n"), addr, l, M68K_GETPC);
-#endif
+       if (!uaeboard_write(addr))
+               return;
+       uaeboard_wput(addr, l >> 16);
+       uaeboard_wput(addr + 2, l);
 }
 
 static void REGPARAM2 uaeboard_bput(uaecptr addr, uae_u32 b)
 {
-       addr -= uaeboard_start & 65535;
+       addr -= uaeboard_base & 65535;
        addr &= 65535;
-       if (addr == uaeboard_mem_use) {
-               uaeboard_io_size = 0;
-               uaeboard_mem_use = 0;
-               uaeboard_io_state = 0;
-       }
-       if (addr >= UAEBOARD_RAM_OFFSET || (addr >= 0x2000 && addr <= 0x3000)) {
-               uaeboard_bank.baseaddr[addr] = b;
-       }
-#if EXP_DEBUG
-       write_log(_T("uaeboard_bput %x %x\n"), addr, b);
-#endif
+       if (!uaeboard_write(addr))
+               return;
+       uaeboard_bank.baseaddr[addr] = b;
+}
+
+static int REGPARAM2 uaeboard_check(uaecptr addr, uae_u32 size)
+{
+       addr -= uaeboard_base & 65535;
+       addr &= 65535;
+       return (addr + size) <= uaeboard_bank.allocated;
+}
+static uae_u8 *REGPARAM2 uaeboard_xlate(uaecptr addr)
+{
+       addr -= uaeboard_base & 65535;
+       addr &= 65535;
+       return filesys_bank.baseaddr + addr;
 }
 
 static addrbank *expamem_map_uaeboard(void)
 {
-       uaeboard_start = expamem_z2_pointer;
-       map_banks_z2(&uaeboard_bank, uaeboard_start >> 16, 1);
+       uaeboard_base = expamem_z2_pointer;
+       uaeboard_ram_start = UAEBOARD_WRITEOFFSET;
+       map_banks_z2(&uaeboard_bank, uaeboard_base >> 16, 1);
        if (currprefs.uaeboard > 1)
-               map_banks_z2(&rtarea_bank, (uaeboard_start + 65536) >> 16, 1);
+               map_banks_z2(&rtarea_bank, (uaeboard_base + 65536) >> 16, 1);
        return &uaeboard_bank;
 }
+
 static addrbank* expamem_init_uaeboard(int devnum)
 {
        bool ks12 = ks12orolder();
@@ -1320,19 +1280,6 @@ static addrbank* expamem_init_uaeboard(int devnum)
 
        memcpy(p, expamem, 0x100);
 
-       p += 0x100;
-
-       p[0] = 0x00;
-       p[1] = 0x00;
-       p[2] = 0x02;
-       p[3] = 0x00;
-
-       p[4] = (uae_u8)(UAEBOARD_IO_INTERFACE >> 24);
-       p[5] = (uae_u8)(UAEBOARD_IO_INTERFACE >> 16);
-       p[6] = (uae_u8)(UAEBOARD_IO_INTERFACE >> 8);
-       p[7] = (uae_u8)(UAEBOARD_IO_INTERFACE >> 0);
-       uaeboard_io_state = 0;
-
        return NULL;
 }
 
@@ -2441,12 +2388,10 @@ void expansion_init (void)
        allocate_expamem ();
 
 #ifdef FILESYS
-       if (currprefs.uaeboard < 2) {
-               filesys_bank.allocated = 0x10000;
-               if (!mapped_malloc (&filesys_bank)) {
-                       write_log (_T("virtual memory exhausted (filesysory)!\n"));
-                       exit (0);
-               }
+       filesys_bank.allocated = 0x10000;
+       if (!mapped_malloc (&filesys_bank)) {
+               write_log (_T("virtual memory exhausted (filesysory)!\n"));
+               exit (0);
        }
 #endif
        if (currprefs.uaeboard) {
index 34725a1ed2a1ec43567129726abfc94f7d45b0d1..3f13c6306e5ae67611c1f0cc33272ebadd94123c 100644 (file)
@@ -1302,6 +1302,7 @@ typedef struct _unit {
 
        /* Amiga stuff */
        uaecptr dosbase;
+       /* volume points to our IO board, always 1:1 mapping */
        uaecptr volume;
        uaecptr port;   /* Our port */
        uaecptr locklist;
@@ -1369,20 +1370,22 @@ static uae_u32 a_uniq, key_uniq;
 
 static void readdpacket(TrapContext *ctx, dpacket *packet, uaecptr pck)
 {
+       // Read enough to get also all 64-bit fields
        packet->packet_addr = pck;
-       trap_get_bytes(ctx, packet->packet_data, pck, 48);
+       trap_get_bytes(ctx, packet->packet_data, pck, dp_Max);
 }
 static void writedpacket(TrapContext *ctx, dpacket *packet)
 {
-       trap_put_bytes(ctx, packet->packet_data, packet->packet_addr, 48);
+       // 32 = saves both 32-bit and 64-bit RESx fields
+       trap_put_bytes(ctx, packet->packet_data + 12, packet->packet_addr + 12, 32 - 12);
 }
 
 static void set_quadp(TrapContext *ctx, uaecptr p, uae_s64 v)
 {
        if (!trap_valid_address(ctx, p, 8))
                return;
-       put_long(p, v >> 32);
-       put_long(p + 4, (uae_u64)v);
+       trap_put_long(ctx, p, v >> 32);
+       trap_put_long(ctx, p + 4, (uae_u64)v);
 }
 static uae_u64 get_quadp(TrapContext *ctx, uaecptr p)
 {
@@ -1419,8 +1422,7 @@ static int flush_cache (Unit *unit, int num);
 
 static TCHAR *char1(TrapContext *ctx, uaecptr addr)
 {
-       static uae_char buf[1024];
-       static TCHAR bufx[1024];
+       uae_char buf[1024];
 
 #if TRAPMD
        trap_get_string(ctx, (uae_u8*)buf, addr, sizeof(buf));
@@ -1431,13 +1433,12 @@ static TCHAR *char1(TrapContext *ctx, uaecptr addr)
                addr++;
        } while (buf[i++] && i < sizeof (buf));
 #endif
-       return au_fs_copy (bufx, sizeof (bufx) / sizeof (TCHAR), buf);
+       return au_fs(buf);
 }
 
 static TCHAR *bstr1(TrapContext *ctx, uaecptr addr)
 {
-       static TCHAR bufx[257];
-       static uae_char buf[257];
+       uae_char buf[257];
        int n = trap_get_byte(ctx, addr);
 
        addr++;
@@ -1448,7 +1449,7 @@ static TCHAR *bstr1(TrapContext *ctx, uaecptr addr)
                buf[i] = trap_get_byte(ctx, addr);
 #endif
        buf[n] = 0;
-       return au_fs_copy (bufx, sizeof (bufx) / sizeof (TCHAR), buf);
+       return au_fs(buf);
 }
 
 static TCHAR *bstr(TrapContext *ctx, Unit *unit, uaecptr addr)
@@ -1469,14 +1470,9 @@ static TCHAR *bstr(TrapContext *ctx, Unit *unit, uaecptr addr)
 }
 static TCHAR *cstr(TrapContext *ctx, Unit *unit, uaecptr addr)
 {
-       int i;
        uae_char buf[257];
 
-       for (i = 0;;i++,addr++) {
-               buf[i] = trap_get_byte(ctx, addr);
-               if (!buf[i])
-                       break;
-       }
+       trap_get_string(ctx, buf, addr, sizeof buf);
        au_fs_copy (unit->tmpbuf3, sizeof (unit->tmpbuf3) / sizeof (TCHAR), buf);
        return unit->tmpbuf3;
 }
@@ -1685,14 +1681,20 @@ static uae_s64 key_seek(Key *k, uae_s64 offset, int whence)
        return fs_lseek64 (k->fd, offset, whence);
 }
 
-static void set_highcyl(TrapContext *ctx, UnitInfo *ui, uae_u32 blocks)
+static void set_highcyl(uaecptr volume, uae_u32 blocks)
 {
-       uaecptr startup = trap_get_long(ctx, ui->devicenode + 7 * 4) << 2;
-       uaecptr env = trap_get_long(ctx, startup + 8) << 2;
-       trap_put_long(ctx, env + 10 * 4, blocks);
+       put_long(volume + 184 - 32, blocks);
+#if 0
+       // FIXME!
+       if (trap_is_indirect())
+               return;
+       uaecptr startup = get_long(ui->devicenode + 7 * 4) << 2;
+       uaecptr env = get_long(startup + 8) << 2;
+       put_long(env + 10 * 4, blocks);
+#endif
 }
 
-static void set_volume_name(TrapContext *ctx, Unit *unit, struct mytimeval *tv)
+static void set_volume_name(Unit *unit, struct mytimeval *tv)
 {
        int namelen;
        int i;
@@ -1700,16 +1702,16 @@ static void set_volume_name(TrapContext *ctx, Unit *unit, struct mytimeval *tv)
 
        s = ua_fs (unit->ui.volname, -1);
        namelen = strlen (s);
-       trap_put_byte(ctx, unit->volume + 44, namelen);
+       put_byte(unit->volume + 44, namelen);
        for (i = 0; i < namelen; i++)
-               trap_put_byte(ctx, unit->volume + 45 + i, s[i]);
-       trap_put_byte(ctx, unit->volume + 45 + namelen, 0);
+               put_byte(unit->volume + 45 + i, s[i]);
+       put_byte(unit->volume + 45 + namelen, 0);
        if (tv && (tv->tv_sec || tv->tv_usec)) {
                int days, mins, ticks;
                timeval_to_amiga (tv, &days, &mins, &ticks, 50);
-               trap_put_long(ctx, unit->volume + 16, days);
-               trap_put_long(ctx, unit->volume + 20, mins);
-               trap_put_long(ctx, unit->volume + 24, ticks);
+               put_long(unit->volume + 16, days);
+               put_long(unit->volume + 20, mins);
+               put_long(unit->volume + 24, ticks);
        }
        xfree (s);
        unit->rootnode.aname = unit->ui.volname;
@@ -1717,11 +1719,11 @@ static void set_volume_name(TrapContext *ctx, Unit *unit, struct mytimeval *tv)
        unit->rootnode.mountcount = unit->mountcount;
 }
 
-static int filesys_isvolume(TrapContext *ctx, Unit *unit)
+static int filesys_isvolume(Unit *unit)
 {
        if (!unit->volume)
                return 0;
-       return trap_get_byte(ctx, unit->volume + 44) || unit->ui.unknown_media;
+       return get_byte(unit->volume + 44) || unit->ui.unknown_media;
 }
 
 static void clear_exkeys (Unit *unit)
@@ -1770,21 +1772,6 @@ static void filesys_delayed_change (Unit *u, int frames, const TCHAR *rootdir, c
                write_log (_T("FILESYS: delayed insert %d: '%s' ('%s')\n"), u->unit, volume ? volume : _T("<none>"), rootdir);
 }
 
-static uae_u32 filesys_eject_cb(TrapContext *ctx, void *ud)
-{
-       UnitInfo *ui = (UnitInfo*)ud;
-       Unit *u = ui->self;
-
-       if (!filesys_isvolume(ctx, u))
-               return 0;
-       u->mount_changed = -1;
-       u->mountcount++;
-       write_log(_T("FILESYS: volume '%s' removal request\n"), u->ui.volname);
-       // -1 = remove, -2 = remove + remove device node
-       trap_put_byte(ctx, u->volume + 172 - 32, ui->unit_type == UNIT_CDFS ? -1 : -2);
-       uae_Signal(trap_get_long(ctx, u->volume + 176 - 32), 1 << 13);
-       return 1;
-}
 int filesys_eject(int nr)
 {
        UnitInfo *ui = &mountinfo.ui[nr];
@@ -1796,7 +1783,14 @@ int filesys_eject(int nr)
                return 0;
        if (!is_virtual (nr))
                return 0;
-       trap_callback(filesys_eject_cb, ui);
+       if (!filesys_isvolume(u))
+               return 0;
+       u->mount_changed = -1;
+       u->mountcount++;
+       write_log(_T("FILESYS: volume '%s' removal request\n"), u->ui.volname);
+       // -1 = remove, -2 = remove + remove device node
+       put_byte(u->volume + 172 - 32, ui->unit_type == UNIT_CDFS ? -1 : -2);
+       uae_Signal(get_long(u->volume + 176 - 32), 1 << 13);
        return 1;
 }
 
@@ -1807,8 +1801,6 @@ static int heartbeat_task;
 // This uses filesystem process to reduce resource usage
 void setsystime (void)
 {
-       TrapContext *ctx = NULL;
-
        if (!currprefs.tod_hack || !rtarea_bank.baseaddr)
                return;
        heartbeat = get_long_host(rtarea_bank.baseaddr + RTAREA_HEARTBEAT);
@@ -1822,9 +1814,9 @@ static void setsystime_vblank (void)
        TrapContext *ctx = NULL;
 
        for (u = units; u; u = u->next) {
-               if (is_virtual(u->unit) && filesys_isvolume(ctx, u)) {
-                       trap_put_byte(ctx, u->volume + 173 - 32, trap_get_byte(ctx, u->volume + 173 - 32) | 1);
-                       uae_Signal(trap_get_long(ctx, u->volume + 176 - 32), 1 << 13);
+               if (is_virtual(u->unit) && filesys_isvolume(u)) {
+                       put_byte(u->volume + 173 - 32, get_byte(u->volume + 173 - 32) | 1);
+                       uae_Signal(get_long(u->volume + 176 - 32), 1 << 13);
                        break;
                }
        }
@@ -1859,9 +1851,9 @@ static void debugger_boot(void)
        TrapContext *ctx = NULL;
 
        for (u = units; u; u = u->next) {
-               if (is_virtual(u->unit) && filesys_isvolume(ctx, u)) {
-                       trap_put_byte(ctx, u->volume + 173 - 32, trap_get_byte(ctx, u->volume + 173 - 32) | 2);
-                       uae_Signal(trap_get_long(ctx, u->volume + 176 - 32), 1 << 13);
+               if (is_virtual(u->unit) && filesys_isvolume(u)) {
+                       put_byte(u->volume + 173 - 32, get_byte(u->volume + 173 - 32) | 2);
+                       uae_Signal(get_long(u->volume + 176 - 32), 1 << 13);
                        break;
                }
        }
@@ -1881,7 +1873,7 @@ int filesys_insert (int nr, const TCHAR *volume, const TCHAR *rootdir, bool read
        if (nr < 0) {
                for (u = units; u; u = u->next) {
                        if (is_virtual (u->unit)) {
-                               if (!filesys_isvolume(ctx, u) && mountinfo.ui[u->unit].canremove)
+                               if (!filesys_isvolume(u) && mountinfo.ui[u->unit].canremove)
                                        break;
                        }
                }
@@ -1908,7 +1900,7 @@ int filesys_insert (int nr, const TCHAR *volume, const TCHAR *rootdir, bool read
                return -1;
        if (!is_virtual(nr))
                return 0;
-       if (filesys_isvolume(ctx, u)) {
+       if (filesys_isvolume(u)) {
                filesys_delayed_change (u, 50, rootdir, volume, readonly, flags);
                return -1;
        }
@@ -1921,13 +1913,13 @@ int filesys_insert (int nr, const TCHAR *volume, const TCHAR *rootdir, bool read
 
        write_log (_T("filesys_insert %d done!\n"), nr);
 
-       trap_put_byte(ctx, u->volume + 172 - 32, -3); // wait for insert
-       uae_Signal (trap_get_long(ctx, u->volume + 176 - 32), 1 << 13);
+       put_byte(u->volume + 172 - 32, -3); // wait for insert
+       uae_Signal (get_long(u->volume + 176 - 32), 1 << 13);
 
        return 100 + nr;
 }
 
-static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode)
+static uae_u32 filesys_media_change_reply (int mode)
 {
        int nr;
        UnitInfo *ui = NULL;
@@ -1985,7 +1977,7 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode)
                                if (!u->ui.cdfs_superblock)
                                        return 0;
                                struct isofs_info ii;
-                               set_highcyl(ctx, ui, 0);
+                               set_highcyl(u->volume, 0);
                                bool r = isofs_mediainfo (ui->cdfs_superblock, &ii);
                                if (r && ii.media) {
                                        u->ui.unknown_media = ii.unknown_media;
@@ -1993,7 +1985,7 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode)
                                                u->ui.volname = ui->volname = my_strdup (ii.volumename);
                                                ctime.tv_sec = ii.creation;
                                                ctime.tv_usec = 0;
-                                               set_highcyl(ctx, ui, ii.blocks);
+                                               set_highcyl(u->volume, ii.blocks);
 #ifdef RETROPLATFORM
                                                rp_cd_image_change (ui->cddevno, ii.devname);
 #endif
@@ -2015,7 +2007,7 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode)
                                write_log (_T("FILESYS: inserted unreadable volume NR=%d RO=%d\n"), nr, u->mount_readonly);
                        } else {
                                write_log (_T("FILESYS: inserted volume NR=%d RO=%d '%s' ('%s')\n"), nr, u->mount_readonly, ui->volname, u->mount_rootdir);
-                               set_volume_name(ctx, u, &ctime);
+                               set_volume_name(u, &ctime);
                                if (u->mount_flags >= 0)
                                        ui->volflags = u->volflags = u->ui.volflags = u->mount_flags;
                                if (uci != NULL) {
@@ -2027,8 +2019,8 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode)
                                        if (uci != NULL)
                                                uci->ci.readonly = u->mount_readonly;
                                }
-                               trap_put_byte(ctx, u->volume + 44, 0);
-                               trap_put_byte(ctx, u->volume + 172 - 32, 1);
+                               put_byte(u->volume + 44, 0);
+                               put_byte(u->volume + 172 - 32, 1);
                        }
                
                        xfree (u->mount_volume);
@@ -2067,7 +2059,7 @@ int filesys_media_change (const TCHAR *rootdir, int inserted, struct uaedev_conf
                        ui = &mountinfo.ui[u->unit];
                        // inserted == 2: drag&drop insert, do not replace existing normal drives
                        if (inserted < 2 && ui->rootdir && !memcmp (ui->rootdir, rootdir, _tcslen (rootdir)) && _tcslen (rootdir) + 3 >= _tcslen (ui->rootdir)) {
-                               if (filesys_isvolume(ctx, u) && inserted) {
+                               if (filesys_isvolume(u) && inserted) {
                                        if (uci)ctx, 
                                                filesys_delayed_change (u, 50, rootdir, uci->ci.volname, uci->ci.readonly, 0);
                                        return 0;
@@ -2112,7 +2104,7 @@ int filesys_media_change (const TCHAR *rootdir, int inserted, struct uaedev_conf
 
                /* new volume inserted and it was previously mounted? */
                if (nr >= 0) {
-                       if (!filesys_isvolume(ctx, u)) /* not going to mount twice */
+                       if (!filesys_isvolume(u)) /* not going to mount twice */
                                return filesys_insert(nr, volptr, rootdir, false, -1);
                        return 0;
                }
@@ -2241,12 +2233,12 @@ bool filesys_do_disk_change (int cdunitnum, bool insert)
        if (!ui->cd_open)
                return false;
        if (insert) {
-               if (filesys_isvolume(ctx, u))
+               if (filesys_isvolume(u))
                        return false;
                filesys_insert (nr, NULL, _T("/"), true, MYVOLUMEINFO_CDFS | MYVOLUMEINFO_READONLY);
                return true;
        } else {
-               if (!filesys_isvolume(ctx, u))
+               if (!filesys_isvolume(u))
                        return false;
                filesys_eject (nr);
                return true;
@@ -3064,7 +3056,7 @@ static Unit *startup_create_unit(TrapContext *ctx, UnitInfo *uinfo, int num)
 }
 
 
-static bool mount_cd(TrapContext *ctx, UnitInfo *uinfo, int nr, struct mytimeval *ctime, uae_u64 *uniq)
+static bool mount_cd(UnitInfo *uinfo, int nr, struct mytimeval *ctime, uae_u64 *uniq, uaecptr volume)
 {
        uinfo->cddevno = nr - cd_unit_offset;
        if (!sys_command_open (uinfo->cddevno)) {
@@ -3087,7 +3079,7 @@ static bool mount_cd(TrapContext *ctx, UnitInfo *uinfo, int nr, struct mytimeval
                                        ctime->tv_sec = ii.creation;
                                        ctime->tv_usec = 0;
                                }
-                               set_highcyl(ctx, uinfo, ii.totalblocks);
+                               set_highcyl(volume, ii.totalblocks);
 #ifdef RETROPLATFORM
                                rp_cd_image_change (uinfo->cddevno, ii.devname);
 #endif
@@ -3104,8 +3096,6 @@ static void *filesys_thread (void *unit_v);
 #endif
 static void filesys_start_thread (UnitInfo *ui, int nr)
 {
-       TrapContext *ctx = NULL;
-
        ui->unit_pipe = 0;
        ui->back_pipe = 0;
        ui->reset_state = FS_STARTUP;
@@ -3117,14 +3107,14 @@ static void filesys_start_thread (UnitInfo *ui, int nr)
        if (is_virtual (nr)) {
                ui->unit_pipe = xmalloc (smp_comm_pipe, 1);
                ui->back_pipe = xmalloc (smp_comm_pipe, 1);
-               init_comm_pipe (ui->unit_pipe, 300, 3);
+               init_comm_pipe (ui->unit_pipe, 400, 3);
                init_comm_pipe (ui->back_pipe, 100, 1);
                uae_start_thread (_T("filesys"), filesys_thread, (void *)ui, &ui->tid);
        }
 #endif
        if (isrestore ()) {
                if (ui->unit_type == UNIT_CDFS) {
-                       mount_cd(ctx, ui, nr, NULL, &ui->self->rootnode.uniq_external);
+                       mount_cd(ui, nr, NULL, &ui->self->rootnode.uniq_external, ui->self->volume);
                }
                startup_update_unit (ui->self, ui);
        }
@@ -3133,6 +3123,17 @@ static void filesys_start_thread (UnitInfo *ui, int nr)
 
 static uae_u32 REGPARAM2 startup_handler(TrapContext *ctx)
 {
+       uae_u32 mode = trap_get_dreg(ctx, 0);
+
+       if (mode == 1) {
+               uaecptr addr = 0;
+               if (currprefs.uaeboard > 1) {
+                       // return board ram instead of allocating normal RAM
+                       addr = uaeboard_alloc_ram(trap_get_dreg(ctx, 1));
+               }
+               return addr;
+       }
+
        /* Just got the startup packet. It's in D3. DosBase is in A2,
        * our allocated volume structure is in A3, A5 is a pointer to
        * our port. */
@@ -3142,7 +3143,7 @@ static uae_u32 REGPARAM2 startup_handler(TrapContext *ctx)
        uaecptr arg1 = trap_get_long(ctx, pkt + dp_Arg1);
        uaecptr arg2 = trap_get_long(ctx, pkt + dp_Arg2);
        uaecptr arg3 = trap_get_long(ctx, pkt + dp_Arg3);
-       uaecptr devnode;
+       uaecptr devnode, volume;
        int nr;
        Unit *unit;
        UnitInfo *uinfo;
@@ -3176,11 +3177,12 @@ static uae_u32 REGPARAM2 startup_handler(TrapContext *ctx)
        uinfo = mountinfo.ui + nr;
        //devnode = arg3 << 2;
        devnode = uinfo->devicenode;
+       volume = trap_get_areg(ctx, 3) + 32;
        cdays = 3800 + nr;
 
        if (uinfo->unit_type == UNIT_CDFS) {
                ed = ef = 0;
-               if (!mount_cd(ctx, uinfo, nr, &ctime, &uniq)) {
+               if (!mount_cd(uinfo, nr, &ctime, &uniq, volume)) {
                        trap_put_long(ctx, pkt + dp_Res1, DOS_FALSE);
                        trap_put_long(ctx, pkt + dp_Res2, ERROR_DEVICE_NOT_MOUNTED);
                        return 0;
@@ -3214,7 +3216,7 @@ static uae_u32 REGPARAM2 startup_handler(TrapContext *ctx)
        unit->dosbase = trap_get_areg(ctx, 2);
 
        /* make new volume */
-       unit->volume = trap_get_areg(ctx, 3) + 32;
+       unit->volume = volume;
        trap_put_long(ctx, unit->volume + 180 - 32, devnode);
 #ifdef UAE_FILESYS_THREADS
        unit->locklist = trap_get_areg(ctx, 3) + 8;
@@ -3238,7 +3240,7 @@ static uae_u32 REGPARAM2 startup_handler(TrapContext *ctx)
        if (!uinfo->wasisempty && !uinfo->unknown_media) {
                int isvirtual = unit->volflags & (MYVOLUMEINFO_ARCHIVE | MYVOLUMEINFO_CDFS);
                /* Set volume if non-empty */
-               set_volume_name(ctx, unit, &ctime);
+               set_volume_name(unit, &ctime);
                if (!isvirtual)
                        fsdb_clean_dir (&unit->rootnode);
        }
@@ -3272,7 +3274,7 @@ static void       do_info(TrapContext *ctx, Unit *unit, dpacket *packet, uaecptr info,
        if (unit->volflags & MYVOLUMEINFO_ARCHIVE) {
                ret = zfile_fs_usage_archive (unit->ui.rootdir, 0, &fsu);
                fs = true;
-               media = filesys_isvolume(ctx, unit) != 0;
+               media = filesys_isvolume(unit) != 0;
        } else if (unit->volflags & MYVOLUMEINFO_CDFS) {
                struct isofs_info ii;
                ret = isofs_mediainfo (unit->ui.cdfs_superblock, &ii) ? 0 : 1;
@@ -3290,7 +3292,7 @@ static void       do_info(TrapContext *ctx, Unit *unit, dpacket *packet, uaecptr info,
                if (ret)
                        err = dos_errno ();
                fs = true;
-               media = filesys_isvolume(ctx, unit) != 0;
+               media = filesys_isvolume(unit) != 0;
        }
        if (ret != 0) {
                PUT_PCK_RES1 (packet, DOS_FALSE);
@@ -3572,7 +3574,7 @@ static void action_add_notify(TrapContext *ctx, Unit *unit, dpacket *packet)
 
        TRACE((_T("ACTION_ADD_NOTIFY\n")));
 
-       name = my_strdup (char1(ctx, trap_get_long(ctx, nr + 4)));
+       name = char1(ctx, trap_get_long(ctx, nr + 4));
        flags = trap_get_long(ctx, nr + 12);
 
        if (!(flags & (NRF_SEND_MESSAGE | NRF_SEND_SIGNAL))) {
@@ -3643,9 +3645,9 @@ static void free_lock(TrapContext *ctx, Unit *unit, uaecptr lock)
        if (! lock)
                return;
 
-       uaecptr curlock = trap_get_long(ctx, unit->volume + 28);
+       uaecptr curlock = get_long(unit->volume + 28);
        if (lock == curlock << 2) {
-               trap_put_long(ctx, unit->volume + 28, trap_get_long(ctx, lock));
+               put_long(unit->volume + 28, trap_get_long(ctx, lock));
        } else {
                uaecptr current = curlock;
                uaecptr next = 0;
@@ -4157,7 +4159,7 @@ static void record_timeout(TrapContext *ctx, Unit *unit)
                                PUT_PCK_RES2 (lr->packet, ERROR_LOCK_TIMEOUT);
                                // mark packet as complete
                                trap_put_long(ctx, lr->msg + 4, 0xfffffffe);
-                               uae_Signal (trap_get_long(ctx, unit->volume + 176 - 32), 1 << 13);
+                               uae_Signal (get_long(unit->volume + 176 - 32), 1 << 13);
                                if (prev)
                                        prev->next = lr->next;
                                else
@@ -4678,9 +4680,9 @@ static uae_u32 REGPARAM2 fsmisc_helper(TrapContext *ctx)
        case 0:
        return exall_helper(ctx);
        case 1:
-       return filesys_media_change_reply (ctx, 0);
+       return filesys_media_change_reply (0);
        case 2:
-       return filesys_media_change_reply (ctx, 1);
+       return filesys_media_change_reply (1);
        case 3:
                uae_u32 t = getlocaltime ();
                uae_u32 secs = (uae_u32)t - (8 * 365 + 2) * 24 * 60 * 60;
@@ -4790,7 +4792,7 @@ static void populate_directory (Unit *unit, a_inode *base)
                unit->total_locked_ainos++;
        }
        TRACE3((_T("Populating directory, child %s, locked_children %d\n"),
-               base->child->nname, base->locked_children));
+               base->child ? base->child->nname : _T("<NULL>"), base->locked_children));
        for (;;) {
                uae_u64 uniq = 0;
                TCHAR fn[MAX_DPATH];
@@ -5214,7 +5216,7 @@ static void       action_read(TrapContext *ctx, Unit *unit, dpacket *packet)
                }
                PUT_PCK_RES1 (packet, actual);
                size = 0;
-       } else if (!trap_valid_address(ctx, addr, size)) {
+       } else {
                /* check if filesize < size */
                uae_s64 filesize, cur;
 
@@ -5251,10 +5253,8 @@ static void      action_read(TrapContext *ctx, Unit *unit, dpacket *packet)
                                PUT_PCK_RES1 (packet, 0);
                                PUT_PCK_RES2 (packet, dos_errno ());
                        } else {
-                               int i;
                                PUT_PCK_RES1 (packet, actual);
-                               for (i = 0; i < actual; i++)
-                                       trap_put_byte(ctx, addr + i, buf[i]);
+                               trap_put_bytes(ctx, buf, addr, actual);
                                k->file_pos += actual;
                        }
                        xfree (buf);
@@ -5262,14 +5262,21 @@ static void     action_read(TrapContext *ctx, Unit *unit, dpacket *packet)
                        size = 0;
                }
        }
+
        if (size) {
+
+               if (key_seek(k, k->file_pos, SEEK_SET) < 0) {
+                       PUT_PCK_RES1(packet, 0);
+                       PUT_PCK_RES2(packet, dos_errno());
+                       return;
+               }
+
                if (trap_is_indirect()) {
 
                        uae_u8 buf[RTAREA_TRAP_DATA_EXTRA_SIZE];
                        actual = 0;
-                       int sizecnt = size;
-                       while (sizecnt > 0) {
-                               int toread = sizecnt > RTAREA_TRAP_DATA_EXTRA_SIZE ? RTAREA_TRAP_DATA_EXTRA_SIZE : sizecnt;
+                       while (size > 0) {
+                               int toread = size > RTAREA_TRAP_DATA_EXTRA_SIZE ? RTAREA_TRAP_DATA_EXTRA_SIZE : size;
                                int read = fs_read(k->fd, buf, toread);
                                if (read < 0) {
                                        actual = -1;
@@ -5278,7 +5285,7 @@ static void       action_read(TrapContext *ctx, Unit *unit, dpacket *packet)
                                if (read == 0)
                                        break;
                                trap_put_bytes(ctx, buf, addr, read);
-                               sizecnt -= read;
+                               size -= read;
                                addr += read;
                                actual += read;
                                if (read < toread)
@@ -5289,13 +5296,6 @@ static void      action_read(TrapContext *ctx, Unit *unit, dpacket *packet)
 
                        /* normal fast read */
                        uae_u8 *realpt = get_real_address (addr);
-
-                       if (key_seek(k, k->file_pos, SEEK_SET) < 0) {
-                               PUT_PCK_RES1 (packet, 0);
-                               PUT_PCK_RES2 (packet, dos_errno ());
-                               return;
-                       }
-
                        actual = fs_read (k->fd, realpt, size);
 
                }
@@ -5341,11 +5341,19 @@ static void action_write(TrapContext *ctx, Unit *unit, dpacket *packet)
        }
 
        if (size == 0) {
+
                actual = 0;
                PUT_PCK_RES1 (packet, 0);
                PUT_PCK_RES2 (packet, 0);
+
        } else if (trap_valid_address(ctx, addr, size)) {
 
+               if (key_seek(k, k->file_pos, SEEK_SET) < 0) {
+                       PUT_PCK_RES1(packet, 0);
+                       PUT_PCK_RES2(packet, dos_errno());
+                       return;
+               }
+
                if (trap_is_indirect()) {
 
                        uae_u8 buf[RTAREA_TRAP_DATA_EXTRA_SIZE];
@@ -5371,13 +5379,6 @@ static void action_write(TrapContext *ctx, Unit *unit, dpacket *packet)
                } else {
 
                        uae_u8 *realpt = get_real_address (addr);
-
-                       if (key_seek(k, k->file_pos, SEEK_SET) < 0) {
-                               PUT_PCK_RES1 (packet, 0);
-                               PUT_PCK_RES2 (packet, dos_errno ());
-                               return;
-                       }
-
                        actual = fs_write (k->fd, realpt, size);
                }
 
@@ -5397,8 +5398,7 @@ static void action_write(TrapContext *ctx, Unit *unit, dpacket *packet)
                        return;
                }
 
-               for (i = 0; i < size; i++)
-                       buf[i] = trap_get_byte(ctx, addr + i);
+               trap_get_bytes(ctx, buf, addr, size);
 
                actual = fs_write (k->fd, buf, size);
                xfree (buf);
@@ -6093,7 +6093,7 @@ static void       action_rename_object(TrapContext *ctx, Unit *unit, dpacket *packet)
 
 static void    action_current_volume(TrapContext *ctx, Unit *unit, dpacket *packet)
 {
-       if (filesys_isvolume(ctx, unit))
+       if (filesys_isvolume(unit))
                PUT_PCK_RES1 (packet, unit->volume >> 2);
        else
                PUT_PCK_RES1 (packet, 0);
@@ -6114,7 +6114,7 @@ static void       action_rename_disk(TrapContext *ctx, Unit *unit, dpacket *packet)
        /* get volume name */
        xfree (unit->ui.volname);
        unit->ui.volname = bstr1(ctx, name);
-       set_volume_name(ctx, unit, 0);
+       set_volume_name(unit, 0);
 
        PUT_PCK_RES1 (packet, DOS_TRUE);
 }
@@ -6553,16 +6553,16 @@ static uae_u32 REGPARAM2 exter_int_helper(TrapContext *ctx)
                        uaecptr msg = trap_get_areg(ctx, 4);
                        unit->cmds_complete = unit->cmds_acked;
                        while (comm_pipe_has_data(unit->ui.back_pipe)) {
-                               uaecptr locks, lockend;
+                               uaecptr locks, lockend, lockv;
                                int cnt = 0;
                                locks = read_comm_pipe_int_blocking(unit->ui.back_pipe);
                                lockend = locks;
-                               while (trap_get_long(ctx, lockend) != 0) {
-                                       if (trap_get_long(ctx, lockend) == lockend) {
+                               while ((lockv = trap_get_long(ctx, lockend)) != 0) {
+                                       if (lockv == lockend) {
                                                write_log(_T("filesystem lock queue corrupted!\n"));
                                                break;
                                        }
-                                       lockend = trap_get_long(ctx, lockend);
+                                       lockend = lockv;
                                        cnt++;
                                }
                                TRACE3((_T("message_lock: %d %x %x %x\n"), cnt, locks, lockend, trap_get_areg(ctx, 3)));
@@ -7081,7 +7081,7 @@ static uae_u32 REGPARAM2 filesys_handler(TrapContext *ctx)
        dpacket packet;
        readdpacket(ctx, &packet, packet_addr);
 
-       if (! handle_packet(ctx, unit, &packet, 0, filesys_isvolume(ctx, unit))) {
+       if (! handle_packet(ctx, unit, &packet, 0, filesys_isvolume(unit))) {
 error:
                PUT_PCK_RES1 (&packet, DOS_FALSE);
                PUT_PCK_RES2 (&packet, ERROR_ACTION_NOT_KNOWN);
@@ -7876,9 +7876,8 @@ static TCHAR *device_dupfix (TrapContext *ctx, uaecptr expbase, TCHAR *devname)
        return my_strdup (newname);
 }
 
-static const TCHAR *dostypes (uae_u32 dostype)
+static const TCHAR *dostypes(TCHAR *dt, uae_u32 dostype)
 {
-       static TCHAR dt[32];
        int j;
 
        j = 0;
@@ -7905,6 +7904,7 @@ static void dump_partinfo (struct hardfiledata *hfd, uae_u8 *pp)
        int lowcyl, highcyl;
        uae_u32 block, flags;
        uae_u8 buf[512];
+       TCHAR dt[32];
 
        flags = rl (pp + 20);
        pp[37 + pp[36]] = 0;
@@ -7920,7 +7920,7 @@ static void dump_partinfo (struct hardfiledata *hfd, uae_u8 *pp)
        highcyl = rl (pp + 40);
        size = ((uae_u64)blocksize) * surfaces * spt * (highcyl - lowcyl + 1);
 
-       write_log (_T("Partition '%s' Dostype=%08X (%s) Flags: %08X\n"), s[0] ? s : _T("_NULL_"), dostype, dostypes (dostype), flags);
+       write_log (_T("Partition '%s' Dostype=%08X (%s) Flags: %08X\n"), s[0] ? s : _T("_NULL_"), dostype, dostypes (dt, dostype), flags);
        write_log (_T("BlockSize: %d, Surfaces: %d, SectorsPerBlock %d\n"),
                blocksize, surfaces, spb);
        write_log (_T("SectorsPerTrack: %d, Reserved: %d, LowCyl %d, HighCyl %d, Size %dM\n"),
@@ -7934,7 +7934,7 @@ static void dump_partinfo (struct hardfiledata *hfd, uae_u8 *pp)
        } else {
                block = lowcyl * surfaces * spt;
                if (hdf_read (hfd, buf, (uae_u64)blocksize * block, sizeof buf)) {
-                       write_log (_T("First block %d dostype: %08X (%s)\n"), block, rl (buf), dostypes (rl (buf)));
+                       write_log (_T("First block %d dostype: %08X (%s)\n"), block, rl (buf), dostypes (dt, rl (buf)));
                } else {
                        write_log (_T("First block %d read failed!\n"), block);
                }
@@ -7965,6 +7965,8 @@ static void dumprdbblock(const uae_u8 *buf, int block)
 
 static void dump_rdb (UnitInfo *uip, struct hardfiledata *hfd, uae_u8 *bufrdb, uae_u8 *buf, int readblocksize)
 {
+       TCHAR dt[32];
+
        write_log (_T("RDB: HostID: %08x Flags: %08x\n"),
                rl (bufrdb + 3 * 4), rl (bufrdb + 5 * 4));
        write_log (_T("RDB: BL: %d BH: %d LC: %d HC: %d CB: %d HB: %d\n"),
@@ -8016,7 +8018,7 @@ static void dump_rdb (UnitInfo *uip, struct hardfiledata *hfd, uae_u8 *bufrdb, u
                uae_u32 dostype = rl (buf + 32);
                int version = (buf[36] << 8) | buf[37];
                int revision = (buf[38] << 8) | buf[39];
-               write_log (_T("LSEG: %08x (%s) %d.%d\n"), dostype, dostypes (dostype), version, revision);
+               write_log (_T("LSEG: %08x (%s) %d.%d\n"), dostype, dostypes (dt, dostype), version, revision);
        }
 }
 
@@ -8025,6 +8027,7 @@ static void dump_rdb (UnitInfo *uip, struct hardfiledata *hfd, uae_u8 *bufrdb, u
 static int rdb_mount (TrapContext *ctx, UnitInfo *uip, int unit_no, int partnum, uaecptr parmpacket)
 {
        int lastblock = 63, blocksize, readblocksize, badblock, driveinitblock;
+       TCHAR dt[32];
        uae_u8 bufrdb[FILESYS_MAX_BLOCKSIZE], *buf = 0;
        uae_u8 *fsmem = 0;
        int rdblock, partblock, fileblock, lsegblock, i;
@@ -8202,7 +8205,7 @@ static int rdb_mount (TrapContext *ctx, UnitInfo *uip, int unit_no, int partnum,
        for (;;) {
                if (fileblock == -1) {
                        if (!fsnode)
-                               write_log (_T("RDB: FS %08X (%s) not in FileSystem.resource or in RDB\n"), dostype, dostypes (dostype));
+                               write_log (_T("RDB: FS %08X (%s) not in FileSystem.resource or in RDB\n"), dostype, dostypes (dt, dostype));
                        goto error;
                }
                if (!legalrdbblock (uip, fileblock)) {
@@ -8224,9 +8227,9 @@ static int rdb_mount (TrapContext *ctx, UnitInfo *uip, int unit_no, int partnum,
        newversion = (buf[36] << 8) | buf[37];
        newrevision = (buf[38] << 8) | buf[39];
 
-       write_log (_T("RDB: RDB filesystem %08X (%s) version %d.%d\n"), dostype, dostypes (dostype), newversion, newrevision);
+       write_log (_T("RDB: RDB filesystem %08X (%s) version %d.%d\n"), dostype, dostypes (dt, dostype), newversion, newrevision);
        if (fsnode) {
-               write_log (_T("RDB: %08X (%s) in FileSystem.resource version %d.%d\n"), dostype, dostypes (dostype), oldversion, oldrevision);
+               write_log (_T("RDB: %08X (%s) in FileSystem.resource version %d.%d\n"), dostype, dostypes (dt, dostype), oldversion, oldrevision);
        }
        if (newversion * 65536 + newrevision <= oldversion * 65536 + oldrevision && oldversion >= 0) {
                write_log (_T("RDB: FS in FileSystem.resource is newer or same, ignoring RDB filesystem\n"));
@@ -8323,6 +8326,7 @@ static int dofakefilesys (TrapContext *ctx, UnitInfo *uip, uaecptr parmpacket, s
 {
        int i, size;
        TCHAR tmp[MAX_DPATH];
+       TCHAR dt[32];
        uae_u8 buf[512];
        struct zfile *zf;
        int ver = -1, rev = -1;
@@ -8370,14 +8374,14 @@ static int dofakefilesys (TrapContext *ctx, UnitInfo *uip, uaecptr parmpacket, s
                autofs = true;
        }
        if (tmp[0] == 0) {
-               write_log (_T("RDB: no filesystem for dostype 0x%08X (%s)\n"), dostype, dostypes (dostype));
+               write_log (_T("RDB: no filesystem for dostype 0x%08X (%s)\n"), dostype, dostypes (dt, dostype));
                addfakefilesys(ctx, parmpacket, dostype, ver, rev, ci);
                if ((dostype & 0xffffff00) == 0x444f5300)
                        return FILESYS_HARDFILE;
                write_log (_T("RDB: mounted without filesys\n"));
                return FILESYS_HARDFILE;
        }
-       write_log (_T("RDB: fakefilesys, trying to load '%s', dostype 0x%08X (%s)\n"), tmp, dostype, dostypes (dostype));
+       write_log (_T("RDB: fakefilesys, trying to load '%s', dostype 0x%08X (%s)\n"), tmp, dostype, dostypes (dt, dostype));
        zf = zfile_fopen (tmp, _T("rb"), ZFD_NORMAL);
        if (!zf) {
                addfakefilesys(ctx, parmpacket, dostype, ver, rev, ci);
@@ -8395,7 +8399,7 @@ static int dofakefilesys (TrapContext *ctx, UnitInfo *uip, uaecptr parmpacket, s
                if (fsdostype == dostype) {
                        oldversion = trap_get_word(ctx, fsnode + 18);
                        oldrevision = trap_get_word(ctx, fsnode + 20);
-                       write_log (_T("RDB: %08X (%s) in FileSystem.resource version %d.%d\n"), dostype, dostypes (dostype), oldversion, oldrevision);
+                       write_log (_T("RDB: %08X (%s) in FileSystem.resource version %d.%d\n"), dostype, dostypes(dt, dostype), oldversion, oldrevision);
                        break;
                }
                fsnode = trap_get_long(ctx, fsnode);
@@ -8460,7 +8464,7 @@ static int dofakefilesys (TrapContext *ctx, UnitInfo *uip, uaecptr parmpacket, s
        trap_put_long(ctx, parmpacket + PP_FSSIZE, uip->rdb_filesyssize);
        trap_put_long(ctx, parmpacket + PP_ADDTOFSRES, oldversion < 0 ? -1 : 0);
        addfakefilesys(ctx, parmpacket, dostype, ver, rev, ci);
-       write_log (_T("RDB: faked RDB filesystem %08X (%s %d.%d) loaded. ADD2FS=%d\n"), dostype, dostypes (dostype), ver, rev, oldversion < 0 ? 1 : 0);
+       write_log (_T("RDB: faked RDB filesystem %08X (%s %d.%d) loaded. ADD2FS=%d\n"), dostype, dostypes (dt, dostype), ver, rev, oldversion < 0 ? 1 : 0);
        return FILESYS_HARDFILE;
 }
 
index 45c77e9c2d6e6e1ea20575cabde1f84b9e55494c..1965712ba214a7cc626bc9affb074b3d80201459 100644 (file)
@@ -1,32 +1,32 @@
  db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
- db(0x60); db(0x02); db(0x00); db(0x0b); db(0x60); db(0x00); db(0x0d); db(0x62);
- db(0x00); db(0x00); db(0x0a); db(0xc8); db(0x00); db(0x00); db(0x00); db(0xa8);
+ db(0x60); db(0x02); db(0x00); db(0x0b); db(0x60); db(0x00); db(0x0d); db(0x8c);
+ db(0x00); db(0x00); db(0x0a); db(0xf2); db(0x00); db(0x00); db(0x00); db(0xa8);
  db(0x00); db(0x00); db(0x03); db(0xe6); db(0x00); db(0x00); db(0x00); db(0x2c);
- db(0x00); db(0x00); db(0x05); db(0x4c); db(0x00); db(0x00); db(0x1b); db(0xd0);
- db(0x00); db(0x00); db(0x00); db(0x64); db(0x00); db(0x00); db(0x1c); db(0x2c);
- db(0x00); db(0x00); db(0x1c); db(0x7e); db(0x43); db(0xfa); db(0x20); db(0x4e);
+ db(0x00); db(0x00); db(0x05); db(0x4c); db(0x00); db(0x00); db(0x1c); db(0x18);
+ db(0x00); db(0x00); db(0x00); db(0x64); db(0x00); db(0x00); db(0x1c); db(0x74);
+ db(0x00); db(0x00); db(0x1c); db(0xc6); db(0x43); db(0xfa); db(0x20); db(0x96);
  db(0x4e); db(0xae); db(0xff); db(0xa0); db(0x20); db(0x40); db(0x20); db(0x28);
  db(0x00); db(0x16); db(0x20); db(0x40); db(0x4e); db(0x90); db(0x4e); db(0x75);
  db(0x00); db(0x00); db(0x00); db(0x07); db(0x00); db(0x00); db(0x00); db(0x00);
  db(0x00); db(0x00); db(0x00); db(0x07); db(0xe5); db(0x89); db(0x2e); db(0x01);
- db(0x60); db(0x00); db(0x0d); db(0x18); db(0x00); db(0x00); db(0x00); db(0x00);
+ db(0x60); db(0x00); db(0x0d); db(0x42); db(0x00); db(0x00); db(0x00); db(0x00);
  db(0x00); db(0x00); db(0x00); db(0x01); db(0x00); db(0x00); db(0x00); db(0x04);
  db(0x00); db(0x00); db(0x00); db(0x02); db(0x48); db(0xe7); db(0x3f); db(0x3e);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x20); db(0x2c);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); db(0x20); db(0x74);
  db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x22); db(0x00);
- db(0x30); db(0x3c); db(0x3f); db(0xf8); db(0x61); db(0x00); db(0x1e); db(0xe2);
- db(0x20); db(0x81); db(0x43); db(0xfa); db(0x20); db(0x04); db(0x70); db(0x00);
+ db(0x30); db(0x3c); db(0x3f); db(0xf8); db(0x61); db(0x00); db(0x1f); db(0x2a);
+ db(0x20); db(0x81); db(0x43); db(0xfa); db(0x20); db(0x4c); db(0x70); db(0x00);
  db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x22); db(0x00); db(0x30); db(0x3c);
- db(0x3f); db(0xf4); db(0x61); db(0x00); db(0x1e); db(0xcc); db(0x20); db(0x81);
- db(0x61); db(0x00); db(0x15); db(0x9e); db(0x61); db(0x00); db(0x19); db(0x64);
+ db(0x3f); db(0xf4); db(0x61); db(0x00); db(0x1f); db(0x14); db(0x20); db(0x81);
+ db(0x61); db(0x00); db(0x15); db(0xe4); db(0x61); db(0x00); db(0x19); db(0xac);
  db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x70); db(0x00); db(0x4e); db(0x75);
  db(0x48); db(0xe7); db(0xff); db(0xfe); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00); db(0x1e); db(0xaa);
+ db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00); db(0x1e); db(0xf2);
  db(0x2a); db(0x50); db(0x7a); db(0x00); db(0x70); db(0x00); db(0x0c); db(0x6e);
  db(0x00); db(0x21); db(0x00); db(0x14); db(0x65); db(0x1c); db(0x43); db(0xfa);
- db(0x1f); db(0xe3); db(0x70); db(0x24); db(0x7a); db(0x01); db(0x4e); db(0xae);
+ db(0x20); db(0x2b); db(0x70); db(0x24); db(0x7a); db(0x01); db(0x4e); db(0xae);
  db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x66); db(0x0c); db(0x43); db(0xfa);
- db(0x1f); db(0xd3); db(0x70); db(0x00); db(0x7a); db(0x00); db(0x4e); db(0xae);
+ db(0x20); db(0x1b); db(0x70); db(0x00); db(0x7a); db(0x00); db(0x4e); db(0xae);
  db(0xfd); db(0xd8); db(0x28); db(0x40); db(0xc9); db(0x4e); db(0x20); db(0x0e);
  db(0x67); db(0x3c); db(0x08); db(0x2d); db(0x00); db(0x04); db(0x01); db(0x13);
  db(0x66); db(0x34); db(0x4e); db(0xae); db(0xff); db(0xd0); db(0x4a); db(0x80);
@@ -43,7 +43,7 @@
  db(0xbc); db(0x6d); db(0x01); db(0x0e); db(0x64); db(0x32); db(0x2f); db(0x06);
  db(0x2e); db(0x2d); db(0x01); db(0x10); db(0x4a); db(0x45); db(0x67); db(0x04);
  db(0x08); db(0xc7); db(0x00); db(0x02); db(0x2f); db(0x0b); db(0x20); db(0x4b);
- db(0x61); db(0x00); db(0x09); db(0x66); db(0x26); db(0x5f); db(0x27); db(0x41);
+ db(0x61); db(0x00); db(0x09); db(0x90); db(0x26); db(0x5f); db(0x27); db(0x41);
  db(0x01); db(0xa4); db(0x0c); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe);
  db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46); db(0x48); db(0x46);
  db(0x60); db(0xd6); db(0x2c); db(0x1f); db(0x52); db(0x46); db(0x60); db(0xc8);
  db(0x00); db(0x22); db(0x00); db(0x14); db(0x65); db(0x6e); db(0x78); db(0x03);
  db(0x0c); db(0x6e); db(0x00); db(0x24); db(0x00); db(0x14); db(0x65); db(0x04);
  db(0x00); db(0x44); db(0x01); db(0x00); db(0x30); db(0x3c); db(0xff); db(0x80);
- db(0x61); db(0x00); db(0x1d); db(0xa6); db(0x4e); db(0x90); db(0x2a); db(0x00);
+ db(0x61); db(0x00); db(0x1d); db(0xee); db(0x4e); db(0x90); db(0x2a); db(0x00);
  db(0x20); db(0x49); db(0x20); db(0x01); db(0x67); db(0x0c); db(0x22); db(0x04);
- db(0x74); db(0xfb); db(0x43); db(0xfa); db(0x1f); db(0x05); db(0x4e); db(0xae);
+ db(0x74); db(0xfb); db(0x43); db(0xfa); db(0x1f); db(0x4d); db(0x4e); db(0xae);
  db(0xfd); db(0x96); db(0x43); db(0xf9); db(0x00); db(0x21); db(0x00); db(0x00);
  db(0x4e); db(0xae); db(0xfd); db(0xea); db(0x4a); db(0x80); db(0x66); db(0x18);
  db(0x22); db(0x04); db(0x74); db(0xf6); db(0x20); db(0x7c); db(0x00); db(0x20);
  db(0x00); db(0x00); db(0x20); db(0x05); db(0x90); db(0x88); db(0x65); db(0x08);
  db(0x67); db(0x06); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfd); db(0x96);
- db(0x41); db(0xfa); db(0x1e); db(0x2b); db(0x43); db(0xfa); db(0x00); db(0x54);
- db(0x70); db(0x0a); db(0x61); db(0x00); db(0x0e); db(0xbc); db(0x22); db(0x40);
+ db(0x41); db(0xfa); db(0x1e); db(0x73); db(0x43); db(0xfa); db(0x00); db(0x54);
+ db(0x70); db(0x0a); db(0x61); db(0x00); db(0x0f); db(0x02); db(0x22); db(0x40);
  db(0x72); db(0x01); db(0x30); db(0x3c); db(0xff); db(0x48); db(0x61); db(0x00);
- db(0x1d); db(0x50); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0xff);
+ db(0x1d); db(0x98); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0xff);
  db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x22); db(0x2c); db(0x78);
  db(0x00); db(0x04); db(0x24); db(0x00); db(0x28); db(0x01); db(0x26); db(0x09);
- db(0x24); db(0x48); db(0x43); db(0xfa); db(0x1e); db(0x50); db(0x70); db(0x00);
+ db(0x24); db(0x48); db(0x43); db(0xfa); db(0x1e); db(0x98); db(0x70); db(0x00);
  db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x67); db(0x14);
  db(0x2c); db(0x40); db(0x22); db(0x0a); db(0xe4); db(0x8b); db(0x4e); db(0xae);
  db(0xff); db(0x76); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04);
  db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x44); db(0x1c);
  db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x00);
  db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2);
- db(0x41); db(0xfa); db(0x1d); db(0xf4); db(0x43); db(0xfa); db(0x00); db(0x16);
+ db(0x41); db(0xfa); db(0x1e); db(0x3c); db(0x43); db(0xfa); db(0x00); db(0x16);
  db(0x70); db(0x0f); db(0x22); db(0x3c); db(0x00); db(0x00); db(0x1f); db(0x40);
  db(0x61); db(0x00); db(0xff); db(0xa8); db(0x60); db(0xdc); db(0x00); db(0x00);
  db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
  db(0x72); db(0x02); db(0x30); db(0x3c); db(0xff); db(0x48); db(0x61); db(0x00);
- db(0x1c); db(0xd8); db(0x4e); db(0x90); db(0x22); db(0x00); db(0x6b); db(0x04);
- db(0x61); db(0x00); db(0x0a); db(0x30); db(0x70); db(0x00); db(0x4e); db(0x75);
+ db(0x1d); db(0x20); db(0x4e); db(0x90); db(0x22); db(0x00); db(0x6b); db(0x04);
+ db(0x61); db(0x00); db(0x0a); db(0x5a); db(0x70); db(0x00); db(0x4e); db(0x75);
  db(0x2c); db(0x78); db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00);
  db(0x01); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x7e); db(0x00);
  db(0x20); db(0x3c); db(0x00); db(0x00); db(0xf0); db(0x00); db(0x61); db(0x00);
- db(0x1c); db(0xb0); db(0x22); db(0x48); db(0x20); db(0x3c); db(0x00); db(0x00);
- db(0x40); db(0x00); db(0x61); db(0x00); db(0x1c); db(0xa4); db(0x7c); db(0x03);
+ db(0x1c); db(0xf8); db(0x22); db(0x48); db(0x20); db(0x3c); db(0x00); db(0x00);
+ db(0x40); db(0x00); db(0x61); db(0x00); db(0x1c); db(0xec); db(0x7c); db(0x03);
  db(0x4a); db(0x29); db(0x00); db(0x03); db(0x67); db(0x48); db(0x0c); db(0x29);
  db(0x00); db(0xfe); db(0x00); db(0x07); db(0x66); db(0x40); db(0x52); db(0x87);
  db(0x49); db(0xe8); db(0x00); db(0x50); db(0x4b); db(0xe9); db(0x00); db(0x04);
  db(0x48); db(0xe7); db(0x03); db(0xce); db(0x38); db(0x15); db(0x4c); db(0xec);
  db(0x07); db(0x00); db(0x00); db(0x04); db(0x4c); db(0xec); db(0x00); db(0x07);
  db(0x00); db(0x04); db(0x0c); db(0x44); db(0x00); db(0x12); db(0x66); db(0x06);
- db(0x61); db(0x00); db(0x1b); db(0xe6); db(0x60); db(0x0a); db(0x0c); db(0x44);
- db(0x00); db(0x13); db(0x66); db(0x04); db(0x61); db(0x00); db(0x1b); db(0xf4);
+ db(0x61); db(0x00); db(0x1c); db(0x2e); db(0x60); db(0x0a); db(0x0c); db(0x44);
+ db(0x00); db(0x13); db(0x66); db(0x04); db(0x61); db(0x00); db(0x1c); db(0x3c);
  db(0x4c); db(0xdf); db(0x73); db(0xc0); db(0x29); db(0x40); db(0x00); db(0x04);
  db(0x1b); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x03); db(0xd0); db(0xfc);
  db(0x20); db(0x00); db(0xd2); db(0xfc); db(0x00); db(0x08); db(0x51); db(0xce);
  db(0x60); db(0x00); db(0xff); db(0x84); db(0x2c); db(0x78); db(0x00); db(0x04);
  db(0x20); db(0x3c); db(0x00); db(0x00); db(0x01); db(0x00); db(0x4e); db(0xae);
  db(0xfe); db(0xc2); db(0x7e); db(0x0a); db(0x30); db(0x3c); db(0xff); db(0x50);
- db(0x61); db(0x00); db(0x1c); db(0x26); db(0x20); db(0x07); db(0x4e); db(0x90);
+ db(0x61); db(0x00); db(0x1c); db(0x6e); db(0x20); db(0x07); db(0x4e); db(0x90);
  db(0x4a); db(0x80); db(0x67); db(0x00); db(0xff); db(0xe4); db(0x52); db(0x47);
  db(0x0c); db(0x40); db(0x00); db(0x01); db(0x6d); db(0x00); db(0xff); db(0xe6);
  db(0x6e); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0xdc);
  db(0x00); db(0x00); db(0x01); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0xbc);
  db(0x70); db(0x01); db(0x4a); db(0x40); db(0x4e); db(0x75); db(0x48); db(0xe7);
  db(0x00); db(0x20); db(0x4a); db(0x11); db(0x67); db(0x00); db(0x00); db(0xb4);
- db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x1b); db(0x6a);
+ db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x1b); db(0xb2);
  db(0x70); db(0x00); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
  db(0x00); db(0xa2); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x30); db(0x3c);
- db(0xff); db(0x50); db(0x61); db(0x00); db(0x1b); db(0x54); db(0x70); db(0x02);
+ db(0xff); db(0x50); db(0x61); db(0x00); db(0x1b); db(0x9c); db(0x70); db(0x02);
  db(0x4e); db(0x90); db(0x0c); db(0x40); db(0x00); db(0x01); db(0x6d); db(0x00);
  db(0x00); db(0x7c); db(0x6e); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0x92);
  db(0x60); db(0xe4); db(0x0c); db(0x40); db(0x00); db(0x02); db(0x6e); db(0x08);
  db(0x00); db(0x18); db(0x25); db(0x49); db(0x00); db(0x1a); db(0x20); db(0x69);
  db(0x00); db(0x10); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xfe); db(0x92);
  db(0x60); db(0x00); db(0xff); db(0x74); db(0x30); db(0x3c); db(0xff); db(0x50);
- db(0x61); db(0x00); db(0x1a); db(0xc6); db(0x70); db(0x04); db(0x4e); db(0x90);
+ db(0x61); db(0x00); db(0x1b); db(0x0e); db(0x70); db(0x04); db(0x4e); db(0x90);
  db(0x70); db(0x01); db(0x4c); db(0xdf); db(0x04); db(0x00); db(0x4e); db(0x75);
  db(0x48); db(0xe7); db(0xf0); db(0xf8); db(0x24); db(0x00); db(0x26); db(0x01);
  db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x12); db(0x61); db(0x00);
- db(0x1a); db(0xa8); db(0x20); db(0x02); db(0x24); db(0x03); db(0x4e); db(0x90);
+ db(0x1a); db(0xf0); db(0x20); db(0x02); db(0x24); db(0x03); db(0x4e); db(0x90);
  db(0x24); db(0x40); db(0x70); db(0x2a); db(0x22); db(0x3c); db(0x00); db(0x01);
  db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x28); db(0x40);
  db(0x47); db(0xec); db(0x00); db(0x16); db(0x22); db(0x4b); db(0x22); db(0xca);
  db(0x22); db(0xc2); db(0x22); db(0xc3); db(0x30); db(0x3c); db(0x3f); db(0xf4);
- db(0x61); db(0x00); db(0x1a); db(0x7e); db(0x22); db(0xc8); db(0x30); db(0x3c);
- db(0x3f); db(0xf0); db(0x61); db(0x00); db(0x1a); db(0x74); db(0x22); db(0xc8);
+ db(0x61); db(0x00); db(0x1a); db(0xc6); db(0x22); db(0xc8); db(0x30); db(0x3c);
+ db(0x3f); db(0xf0); db(0x61); db(0x00); db(0x1a); db(0xbc); db(0x22); db(0xc8);
  db(0x29); db(0x4b); db(0x00); db(0x0e); db(0x19); db(0x7c); db(0x00); db(0x02);
  db(0x00); db(0x08); db(0x19); db(0x7c); db(0x00); db(0xf6); db(0x00); db(0x09);
- db(0x41); db(0xfa); db(0x1b); db(0x0d); db(0x29); db(0x48); db(0x00); db(0x0a);
+ db(0x41); db(0xfa); db(0x1b); db(0x55); db(0x29); db(0x48); db(0x00); db(0x0a);
  db(0x41); db(0xfa); db(0x00); db(0x14); db(0x29); db(0x48); db(0x00); db(0x12);
  db(0x22); db(0x4c); db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58);
  db(0x4c); db(0xdf); db(0x1f); db(0x0f); db(0x4e); db(0x75); db(0x20); db(0x51);
  db(0x22); db(0x69); db(0x00); db(0x10); db(0x22); db(0xa8); db(0x00); db(0x44);
  db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xf1); db(0xe0);
  db(0x2e); db(0x00); db(0x20); db(0x3c); db(0x00); db(0x00); db(0xff); db(0xfc);
- db(0x61); db(0x00); db(0x1a); db(0x06); db(0x24); db(0x48); db(0x74); db(0x00);
+ db(0x61); db(0x00); db(0x1a); db(0x4e); db(0x24); db(0x48); db(0x74); db(0x00);
  db(0x08); db(0x07); db(0x00); db(0x00); db(0x67); db(0x10); db(0x41); db(0xfa);
- db(0x1a); db(0xd0); db(0x43); db(0xfa); db(0xfd); db(0xb8); db(0x70); db(0x14);
- db(0x61); db(0x00); db(0x0b); db(0x4e); db(0x24); db(0x00); db(0x76); db(0x00);
+ db(0x1b); db(0x18); db(0x43); db(0xfa); db(0xfd); db(0xb8); db(0x70); db(0x14);
+ db(0x61); db(0x00); db(0x0b); db(0x94); db(0x24); db(0x00); db(0x76); db(0x00);
  db(0x08); db(0x07); db(0x00); db(0x01); db(0x67); db(0x10); db(0x41); db(0xfa);
- db(0x1a); db(0xc6); db(0x43); db(0xfa); db(0xfd); db(0x14); db(0x70); db(0x19);
- db(0x61); db(0x00); db(0x0b); db(0x36); db(0x26); db(0x00); db(0x70); db(0x2a);
+ db(0x1b); db(0x0e); db(0x43); db(0xfa); db(0xfd); db(0x14); db(0x70); db(0x19);
+ db(0x61); db(0x00); db(0x0b); db(0x7c); db(0x26); db(0x00); db(0x70); db(0x2a);
  db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
  db(0xff); db(0x3a); db(0x22); db(0x40); db(0x41); db(0xe9); db(0x00); db(0x1a);
  db(0x20); db(0xca); db(0x20); db(0xce); db(0x20); db(0xc2); db(0x20); db(0x83);
- db(0x41); db(0xfa); db(0x1a); db(0x74); db(0x23); db(0x48); db(0x00); db(0x0a);
+ db(0x41); db(0xfa); db(0x1a); db(0xbc); db(0x23); db(0x48); db(0x00); db(0x0a);
  db(0x45); db(0xe9); db(0x00); db(0x1a); db(0x23); db(0x4a); db(0x00); db(0x0e);
  db(0x41); db(0xfa); db(0xfe); db(0x10); db(0x23); db(0x48); db(0x00); db(0x12);
  db(0x33); db(0x7c); db(0x02); db(0x14); db(0x00); db(0x08); db(0x70); db(0x03);
  db(0x4e); db(0xae); db(0xff); db(0x58); db(0x20); db(0x02); db(0x22); db(0x03);
  db(0x61); db(0x00); db(0xfe); db(0xd6); db(0x30); db(0x3c); db(0xff); db(0x38);
- db(0x72); db(0x04); db(0x61); db(0x00); db(0x19); db(0x84); db(0x4e); db(0x90);
- db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0x0b); db(0x36);
+ db(0x72); db(0x04); db(0x61); db(0x00); db(0x19); db(0xcc); db(0x4e); db(0x90);
+ db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0x0b); db(0x7c);
  db(0x4c); db(0xdf); db(0x07); db(0x8f); db(0x4e); db(0x75); db(0x48); db(0xe7);
  db(0xc0); db(0xf2); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x24); db(0x48);
  db(0x26); db(0x49); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0xbe);
  db(0x01); db(0xac); db(0x11); db(0xb1); db(0x00); db(0x00); db(0x00); db(0x0e);
  db(0x52); db(0x40); db(0x0c); db(0x40); db(0x00); db(0x8c); db(0x66); db(0xf2);
  db(0x20); db(0x0a); db(0xe4); db(0x88); db(0x21); db(0x40); db(0x00); db(0x36);
- db(0x22); db(0x48); db(0x41); db(0xfa); db(0x19); db(0xf2); db(0x23); db(0x48);
+ db(0x22); db(0x48); db(0x41); db(0xfa); db(0x1a); db(0x3a); db(0x23); db(0x48);
  db(0x00); db(0x0a); db(0x20); db(0x6b); db(0x01); db(0x9c); db(0x41); db(0xe8);
  db(0x00); db(0x12); db(0x4e); db(0xae); db(0xff); db(0x10); db(0x4c); db(0xdf);
  db(0x4f); db(0x03); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x7f); db(0x7e);
  db(0x48); db(0xe7); db(0x40); db(0xf2); db(0x26); db(0x48); db(0x2c); db(0x78);
  db(0x00); db(0x04); db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50);
  db(0x4a); db(0x90); db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a);
- db(0x45); db(0xfa); db(0x19); db(0x63); db(0x10); db(0x19); db(0x12); db(0x1a);
+ db(0x45); db(0xfa); db(0x19); db(0xab); db(0x10); db(0x19); db(0x12); db(0x1a);
  db(0xb0); db(0x01); db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x46);
  db(0x60); db(0xf2); db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20);
  db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
  db(0xff); db(0x3a); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08);
- db(0x00); db(0x08); db(0x41); db(0xfa); db(0x19); db(0x39); db(0x25); db(0x48);
- db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x18); db(0x92); db(0x25); db(0x48);
+ db(0x00); db(0x08); db(0x41); db(0xfa); db(0x19); db(0x81); db(0x25); db(0x48);
+ db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x18); db(0xda); db(0x25); db(0x48);
  db(0x00); db(0x0e); db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88);
  db(0x58); db(0x90); db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee);
  db(0x01); db(0x50); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a);
  db(0x00); db(0x14); db(0x67); db(0x0a); db(0x70); db(0x00); db(0x72); db(0x01);
  db(0x61); db(0x00); db(0xff); db(0xb2); db(0x4e); db(0x75); db(0x70); db(0x01);
  db(0x72); db(0x03); db(0x61); db(0x00); db(0xff); db(0xa8); db(0x4e); db(0x75);
- db(0x10); db(0x2b); db(0x00); db(0xac); db(0x6b); db(0x0a); db(0x70); db(0x01);
- db(0x72); db(0x03); db(0x61); db(0x00); db(0xff); db(0x98); db(0x4e); db(0x75);
- db(0x72); db(0x01); db(0x0c); db(0x00); db(0x00); db(0xfe); db(0x66); db(0x02);
- db(0x72); db(0x03); db(0x70); db(0x00); db(0x61); db(0x00); db(0xff); db(0x86);
- db(0x4e); db(0x75); db(0x20); db(0x6c); db(0x00); db(0x24); db(0x4a); db(0x90);
- db(0x67); db(0x0c); db(0x4a); db(0xa8); db(0x00); db(0x08); db(0x66); db(0x0a);
- db(0x4a); db(0xa8); db(0x00); db(0x0c); db(0x66); db(0x04); db(0x70); db(0x01);
- db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2a); db(0x48);
- db(0x24); db(0x6c); db(0x00); db(0x18); db(0x2e); db(0x15); db(0x7a); db(0x00);
- db(0x4a); db(0x87); db(0x67); db(0x70); db(0x20); db(0x0a); db(0x67); db(0x6c);
- db(0x7c); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x08); db(0x67); db(0x12);
- db(0x24); db(0x2a); db(0x00); db(0x04); db(0x2c); db(0x6b); db(0x00); db(0xa0);
- db(0x4e); db(0xae); db(0xfc); db(0x34); db(0x4a); db(0x80); db(0x66); db(0x02);
- db(0x50); db(0xc6); db(0x22); db(0x2d); db(0x00); db(0x0c); db(0x67); db(0x1c);
- db(0x20); db(0x41); db(0x22); db(0x4a); db(0x2f); db(0x0a); db(0x45); db(0xec);
- db(0x00); db(0x20); db(0x48); db(0x7a); db(0x00); db(0x08); db(0x2f); db(0x28);
- db(0x00); db(0x08); db(0x4e); db(0x75); db(0x24); db(0x5f); db(0x4a); db(0x80);
- db(0x66); db(0x02); db(0x50); db(0xc6); db(0x4a); db(0x06); db(0x67); db(0x24);
- db(0x20); db(0x2a); db(0x00); db(0x04); db(0x90); db(0x8a); db(0x4a); db(0x92);
- db(0x66); db(0x0a); db(0x20); db(0x05); db(0x67); db(0x10); db(0x20); db(0x40);
- db(0x42); db(0x90); db(0x60); db(0x0a); db(0x20); db(0x52); db(0x22); db(0x4a);
- db(0x22); db(0xd8); db(0x59); db(0x80); db(0x6a); db(0xfa); db(0x53); db(0x95);
- db(0x53); db(0x87); db(0x60); db(0x94); db(0x2a); db(0x0a); db(0x24); db(0x52);
- db(0x53); db(0x87); db(0x60); db(0x8c); db(0x4c); db(0xdf); db(0x7c); db(0xfc);
- db(0x20); db(0x6c); db(0x00); db(0x24); db(0x4a); db(0x90); db(0x4e); db(0x75);
- db(0x61); db(0x00); db(0xfc); db(0x76); db(0x21); db(0x40); db(0x01); db(0x9c);
- db(0x2f); db(0x08); db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00);
- db(0x14); db(0x88); db(0x2a); db(0x50); db(0x30); db(0x3c); db(0xff); db(0x28);
- db(0x61); db(0x00); db(0x14); db(0x7e); db(0x22); db(0x48); db(0x20); db(0x5f);
- db(0x42); db(0xa8); db(0x01); db(0x90); db(0x42); db(0xa8); db(0x01); db(0x94);
- db(0x4e); db(0x91); db(0x26); db(0x00); db(0x0c); db(0x43); db(0xff); db(0xfe);
- db(0x67); db(0x00); db(0xf7); db(0x1e); db(0x20); db(0x28); db(0x01); db(0x90);
- db(0x67); db(0x14); db(0x6b); db(0x12); db(0x2f); db(0x08); db(0x72); db(0x01);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x20); db(0x5f); db(0x21); db(0x40); db(0x01); db(0x94); db(0x4a); db(0x83);
- db(0x6a); db(0x0e); db(0x22); db(0x48); db(0x30); db(0x3c); db(0xff); db(0x20);
- db(0x61); db(0x00); db(0x14); db(0x3e); db(0x4e); db(0x90); db(0x60); db(0x26);
- db(0x2c); db(0x4c); db(0x2f); db(0x08); db(0x61); db(0x00); db(0x0f); db(0x9e);
- db(0x20); db(0x5f); db(0x22); db(0x48); db(0x26); db(0x40); db(0x30); db(0x3c);
- db(0xff); db(0x20); db(0x61); db(0x00); db(0x14); db(0x24); db(0x4e); db(0x90);
- db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x08); db(0x27); db(0x40);
- db(0x00); db(0x10); db(0x27); db(0x40); db(0x00); db(0x20); db(0x20); db(0x69);
- db(0x01); db(0x94); db(0x4a); db(0xa9); db(0x01); db(0x90); db(0x67); db(0x2c);
- db(0x20); db(0x08); db(0x67); db(0x32); db(0x61); db(0x00); db(0xfa); db(0xe6);
- db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29); db(0x01); db(0x90);
- db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf); db(0x03); db(0x01);
- db(0x42); db(0xa9); db(0x01); db(0x90); db(0x23); db(0x48); db(0x01); db(0x94);
- db(0x4a); db(0x80); db(0x67); db(0x0a); db(0x4a); db(0xa9); db(0x01); db(0x98);
- db(0x67); db(0x04); db(0x61); db(0x00); db(0xfa); db(0x62); db(0x4a); db(0x83);
- db(0x6b); db(0x00); db(0xf6); db(0x86); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x2f); db(0x09); db(0x43); db(0xfa); db(0x15); db(0x45); db(0x4e); db(0xae);
- db(0xfe); db(0xda); db(0x22); db(0x5f); db(0x22); db(0x00); db(0x30); db(0x3c);
- db(0xff); db(0x18); db(0x61); db(0x00); db(0x13); db(0xb4); db(0x4e); db(0x90);
- db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f); db(0x4a); db(0x80);
- db(0x66); db(0x24); db(0x27); db(0x7c); db(0x00); db(0x00); db(0x17); db(0x70);
- db(0x00); db(0x14); db(0x41); db(0xfa); db(0xf4); db(0x38); db(0x70); db(0xff);
- db(0x22); db(0x0c); db(0x66); db(0x06); db(0x41); db(0xfa); db(0xf4); db(0x76);
- db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x24); db(0x20); db(0x08);
- db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20); db(0x08); db(0x07);
- db(0x00); db(0x03); db(0x66); db(0x48); db(0x08); db(0x07); db(0x00); db(0x00);
- db(0x67); db(0x42); db(0x0c); db(0x03); db(0x00); db(0x80); db(0x67); db(0x3c);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x14); db(0x22); db(0x3c);
- db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x22); db(0x40); db(0x30); db(0x3c); db(0x10); db(0x00); db(0x80); db(0x03);
- db(0x33); db(0x40); db(0x00); db(0x08); db(0x23); db(0x6d); db(0x01); db(0x04);
- db(0x00); db(0x0a); db(0x23); db(0x4b); db(0x00); db(0x10); db(0x41); db(0xec);
- db(0x00); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x4e); db(0xae);
- db(0xfe); db(0xf2); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x72); db(0x00);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x76); db(0x00); db(0x24); db(0x49);
- db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41); db(0x08); db(0x07);
- db(0x00); db(0x01); db(0x67); db(0x08); db(0x08); db(0x07); db(0x00); db(0x02);
- db(0x67); db(0x02); db(0x72); db(0x01); db(0x70); db(0x80); db(0x2c); db(0x4c);
- db(0x61); db(0x00); db(0x0f); db(0x3a); db(0x08); db(0x07); db(0x00); db(0x01);
- db(0x67); db(0x6a); db(0x08); db(0x07); db(0x00); db(0x02); db(0x66); db(0x64);
- db(0x20); db(0x52); db(0x74); db(0x02); db(0x52); db(0x82); db(0x4a); db(0x30);
- db(0x28); db(0xfd); db(0x66); db(0xf8); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x06); db(0x82); db(0x00); db(0x00); db(0x10); db(0x04); db(0x20); db(0x02);
- db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80);
- db(0x67); db(0x42); db(0x20); db(0x52); db(0x24); db(0x40); db(0x22); db(0x4a);
- db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c); db(0x00); db(0x3a);
- db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x43); db(0xfa); db(0x13); db(0xea); db(0x4e); db(0xae); db(0xfe); db(0x68);
- db(0x2c); db(0x40); db(0x22); db(0x0a); db(0x26); db(0x0f); db(0x4f); db(0xea);
- db(0x10); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x52); db(0x2e); db(0x43);
- db(0x26); db(0x01); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a); db(0x20); db(0x02);
- db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x22); db(0x03); db(0x70); db(0x00);
- db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2c); db(0x01);
- db(0x7e); db(0x06); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa);
- db(0x13); db(0xdb); db(0x70); db(0x24); db(0x4e); db(0xae); db(0xfd); db(0xd8);
- db(0x4a); db(0x80); db(0x66); db(0x0e); db(0x08); db(0x87); db(0x00); db(0x02);
- db(0x43); db(0xfa); db(0x13); db(0xc9); db(0x70); db(0x00); db(0x4e); db(0xae);
- db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
- db(0x02); db(0x38); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40); db(0x4a); db(0x80);
- db(0x67); db(0x2c); db(0x21); db(0x4c); db(0x01); db(0xa8); db(0x48); db(0xe7);
- db(0x00); db(0x8a); db(0x61); db(0x00); db(0xfd); db(0xbc); db(0x4c); db(0xdf);
- db(0x51); db(0x00); db(0x0c); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe);
- db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46); db(0x48); db(0x46);
- db(0x60); db(0xe4); db(0x22); db(0x48); db(0x20); db(0x3c); db(0x00); db(0x00);
- db(0x02); db(0x38); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x22); db(0x4c);
- db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x7c); db(0xfc);
- db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00);
- db(0x12); db(0x20); db(0x70); db(0x03); db(0x4e); db(0x90); db(0x22); db(0x6b);
- db(0x00); db(0xa8); db(0x23); db(0x40); db(0x00); db(0x20); db(0x67); db(0x16);
- db(0x70); db(0x00); db(0x23); db(0x40); db(0x00); db(0x24); db(0x33); db(0x7c);
- db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01);
- db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75);
- db(0x7e); db(0x00); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x93); db(0xc9);
- db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8);
- db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x13); db(0x00); db(0x4e); db(0xae);
- db(0xfe); db(0x68); db(0x24); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
- db(0x00); db(0xb9); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x7c); db(0x00);
- db(0x26); db(0x86); db(0x27); db(0x46); db(0x00); db(0x04); db(0x27); db(0x46);
- db(0x00); db(0x08); db(0x27); db(0x4a); db(0x00); db(0xa0); db(0x50); db(0xeb);
- db(0x00); db(0x9e); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
- db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x11); db(0xb8);
- db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0xc8);
- db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x11); db(0xb5);
- db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0xb8);
- db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00); db(0x26); db(0x07);
- db(0x66); db(0x12); db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x80);
- db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40);
- db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x30); db(0x3c); db(0xff); db(0x40);
- db(0x61); db(0x00); db(0x11); db(0x6e); db(0x70); db(0x00); db(0x4e); db(0x90);
- db(0x24); db(0x00); db(0x70); db(0x01); db(0x61); db(0x00); db(0xf9); db(0xb8);
- db(0x08); db(0x02); db(0x00); db(0x01); db(0x67); db(0x06); db(0x70); db(0x01);
- db(0x61); db(0x00); db(0xfb); db(0x20); db(0x60); db(0x00); db(0x01); db(0x44);
- db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40);
- db(0x4a); db(0x80); db(0x66); db(0x10); db(0x70); db(0x00); db(0x12); db(0x2d);
- db(0x00); db(0x0f); db(0x03); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d);
- db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x08); db(0x2b); db(0x00); db(0x00);
- db(0x00); db(0xad); db(0x67); db(0x0a); db(0x61); db(0x00); db(0xff); db(0x04);
- db(0x08); db(0xab); db(0x00); db(0x00); db(0x00); db(0xad); db(0x08); db(0x2b);
- db(0x00); db(0x01); db(0x00); db(0xad); db(0x67); db(0x0a); db(0x61); db(0x00);
- db(0x0c); db(0x26); db(0x08); db(0xab); db(0x00); db(0x01); db(0x00); db(0xad);
- db(0x4a); db(0x2b); db(0x00); db(0xac); db(0x67); db(0x24); db(0x30); db(0x3c);
- db(0xff); db(0x58); db(0x61); db(0x00); db(0x11); db(0x04); db(0x70); db(0x01);
- db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00);
- db(0xfb); db(0x98); db(0x42); db(0x2b); db(0x00); db(0xac); db(0x30); db(0x3c);
- db(0xff); db(0x58); db(0x61); db(0x00); db(0x10); db(0xec); db(0x70); db(0x02);
- db(0x4e); db(0x90); db(0x20); db(0x0c); db(0x67); db(0x56); db(0x0c); db(0x6c);
- db(0x00); db(0x26); db(0x00); db(0x12); db(0x66); db(0x4e); db(0x0c); db(0xac);
- db(0x40); db(0x00); db(0x00); db(0x00); db(0x00); db(0x14); db(0x66); db(0x44);
- db(0x0c); db(0x6c); db(0x12); db(0x34); db(0x00); db(0x18); db(0x66); db(0x3c);
- db(0x20); db(0x6c); db(0x00); db(0x1a); db(0x20); db(0x28); db(0x00); db(0x0c);
- db(0x02); db(0x80); db(0x80); db(0x00); db(0x00); db(0x08); db(0x0c); db(0x80);
- db(0x80); db(0x00); db(0x00); db(0x08); db(0x66); db(0x1a); db(0x02); db(0xa8);
- db(0x7f); db(0xff); db(0xff); db(0xff); db(0x00); db(0x0c); db(0x20); db(0x68);
- db(0x00); db(0x10); db(0x22); db(0x4c); db(0x12); db(0xbc); db(0x00); db(0x08);
- db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0x00); db(0xff); db(0x4a);
- db(0x22); db(0x4c); db(0x70); db(0x26); db(0x4e); db(0xae); db(0xff); db(0x2e);
- db(0x60); db(0x00); db(0xff); db(0x3e); db(0x74); db(0xfe); db(0x20); db(0x0c);
- db(0x67); db(0x14); db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x66); db(0x42);
- db(0x74); db(0xff); db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00);
- db(0x10); db(0x78); db(0x70); db(0x01); db(0x4e); db(0x90); db(0x45); db(0xeb);
- db(0x00); db(0x04); db(0x20); db(0x52); db(0x20); db(0x08); db(0x67); db(0x00);
- db(0xff); db(0x18); db(0x22); db(0x50); db(0x20); db(0x40); db(0x20); db(0x28);
- db(0x00); db(0x04); db(0xb4); db(0x80); db(0x66); db(0x16); db(0x48); db(0xe7);
- db(0x00); db(0xc0); db(0x28); db(0x68); db(0x00); db(0x0a); db(0x61); db(0x4a);
- db(0x53); db(0x85); db(0x4c); db(0xdf); db(0x03); db(0x00); db(0x24); db(0x89);
- db(0x20); db(0x49); db(0x60); db(0xd8); db(0x24); db(0x48); db(0x20); db(0x49);
- db(0x60); db(0xd2); db(0x0c); db(0x85); db(0x00); db(0x00); db(0x00); db(0x14);
- db(0x65); db(0x00); db(0x00); db(0x0a); db(0x70); db(0x01); db(0x29); db(0x40);
- db(0x00); db(0x04); db(0x60); db(0x12); db(0x61); db(0x5e); db(0x30); db(0x3c);
- db(0xff); db(0x30); db(0x61); db(0x00); db(0x10); db(0x24); db(0x4e); db(0x90);
- db(0x4a); db(0x80); db(0x67); db(0x0e); db(0x52); db(0x85); db(0x28); db(0xab);
- db(0x00); db(0x04); db(0x27); db(0x4c); db(0x00); db(0x04); db(0x60); db(0x00);
- db(0xfe); db(0xc0); db(0x28); db(0x43); db(0x61); db(0x04); db(0x60); db(0x00);
- db(0xfe); db(0xb8); db(0x0c); db(0xac); db(0x00); db(0x00); db(0x00); db(0x1f);
- db(0x00); db(0x08); db(0x66); db(0x04); db(0x61); db(0x00); db(0xfa); db(0x80);
- db(0x0c); db(0xac); db(0x00); db(0x00); db(0x04); db(0x09); db(0x00); db(0x08);
- db(0x66); db(0x14); db(0x61); db(0x00); db(0xfa); db(0xae); db(0x66); db(0x0e);
- db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00); db(0x0f); db(0xe2);
- db(0x70); db(0x00); db(0x4e); db(0x90); db(0x60); db(0xec); db(0x22); db(0x54);
- db(0x20); db(0x6c); db(0x00); db(0x04); db(0x29); db(0x4d); db(0x00); db(0x04);
- db(0x4e); db(0xee); db(0xfe); db(0x92); db(0x2f); db(0x05); db(0x7a); db(0xfc);
- db(0x24); db(0x53); db(0x2e); db(0x0a); db(0x22); db(0x0a); db(0x67); db(0x00);
- db(0x00); db(0x0c); db(0x52); db(0x85); db(0x67); db(0x1e); db(0x22); db(0x4a);
- db(0x24); db(0x52); db(0x60); db(0xf0); db(0x52); db(0x85); db(0x67); db(0x3c);
- db(0x24); db(0x47); db(0x70); db(0x18); db(0x72); db(0x01); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x52); db(0x46); db(0x24); db(0x40); db(0x24); db(0x87);
- db(0x2e); db(0x0a); db(0x60); db(0xe8); db(0x20); db(0x12); db(0x67); db(0x24);
- db(0x20); db(0x40); db(0x20); db(0x10); db(0x67); db(0x1e); db(0x20); db(0x40);
- db(0x20); db(0x10); db(0x67); db(0x18); db(0x70); db(0x00); db(0x22); db(0x80);
- db(0x22); db(0x4a); db(0x24); db(0x51); db(0x70); db(0x18); db(0x4e); db(0xae);
- db(0xff); db(0x2e); db(0x06); db(0x86); db(0x00); db(0x01); db(0x00); db(0x00);
- db(0x20); db(0x0a); db(0x66); db(0xec); db(0x26); db(0x87); db(0x2a); db(0x1f);
- db(0x4e); db(0x75); db(0x20); db(0x88); db(0x58); db(0x90); db(0x42); db(0xa8);
- db(0x00); db(0x04); db(0x21); db(0x48); db(0x00); db(0x08); db(0x4e); db(0x75);
- db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x91); db(0xc8);
- db(0x24); db(0x00); db(0x6b); db(0x32); db(0x70); db(0x22); db(0x22); db(0x3c);
- db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
- db(0x91); db(0xc8); db(0x24); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x1e);
- db(0x15); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x08); db(0x15); db(0x42);
- db(0x00); db(0x0f); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
- db(0x25); db(0x40); db(0x00); db(0x10); db(0x41); db(0xea); db(0x00); db(0x14);
- db(0x61); db(0x00); db(0xff); db(0xb0); db(0x20); db(0x4a); db(0x20); db(0x08);
- db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7);
- db(0x20); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4a); db(0x80);
- db(0x67); db(0x24); db(0x24); db(0x40); db(0x24); db(0x01); db(0x66); db(0x02);
- db(0x74); db(0x30); db(0x20); db(0x02); db(0x22); db(0x3c); db(0x00); db(0x01);
+ db(0x20); db(0x2b); db(0x00); db(0xb8); db(0x0c); db(0x80); db(0xff); db(0xff);
+ db(0xff); db(0xff); db(0x67); db(0x18); db(0x20); db(0x6b); db(0x00); db(0xb4);
+ db(0x20); db(0x68); db(0x00); db(0x1c); db(0xd1); db(0xc8); db(0xd1); db(0xc8);
+ db(0x20); db(0x68); db(0x00); db(0x08); db(0xd1); db(0xc8); db(0xd1); db(0xc8);
+ db(0x21); db(0x40); db(0x00); db(0x28); db(0x4e); db(0x75); db(0x61); db(0x00);
+ db(0xff); db(0xd8); db(0x10); db(0x2b); db(0x00); db(0xac); db(0x6b); db(0x0a);
+ db(0x70); db(0x01); db(0x72); db(0x03); db(0x61); db(0x00); db(0xff); db(0x6e);
+ db(0x4e); db(0x75); db(0x72); db(0x01); db(0x0c); db(0x00); db(0x00); db(0xfe);
+ db(0x66); db(0x02); db(0x72); db(0x03); db(0x70); db(0x00); db(0x61); db(0x00);
+ db(0xff); db(0x5c); db(0x4e); db(0x75); db(0x20); db(0x6c); db(0x00); db(0x24);
+ db(0x4a); db(0x90); db(0x67); db(0x0c); db(0x4a); db(0xa8); db(0x00); db(0x08);
+ db(0x66); db(0x0a); db(0x4a); db(0xa8); db(0x00); db(0x0c); db(0x66); db(0x04);
+ db(0x70); db(0x01); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e);
+ db(0x2a); db(0x48); db(0x24); db(0x6c); db(0x00); db(0x18); db(0x2e); db(0x15);
+ db(0x7a); db(0x00); db(0x4a); db(0x87); db(0x67); db(0x70); db(0x20); db(0x0a);
+ db(0x67); db(0x6c); db(0x7c); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x08);
+ db(0x67); db(0x12); db(0x24); db(0x2a); db(0x00); db(0x04); db(0x2c); db(0x6b);
+ db(0x00); db(0xa0); db(0x4e); db(0xae); db(0xfc); db(0x34); db(0x4a); db(0x80);
+ db(0x66); db(0x02); db(0x50); db(0xc6); db(0x22); db(0x2d); db(0x00); db(0x0c);
+ db(0x67); db(0x1c); db(0x20); db(0x41); db(0x22); db(0x4a); db(0x2f); db(0x0a);
+ db(0x45); db(0xec); db(0x00); db(0x20); db(0x48); db(0x7a); db(0x00); db(0x08);
+ db(0x2f); db(0x28); db(0x00); db(0x08); db(0x4e); db(0x75); db(0x24); db(0x5f);
+ db(0x4a); db(0x80); db(0x66); db(0x02); db(0x50); db(0xc6); db(0x4a); db(0x06);
+ db(0x67); db(0x24); db(0x20); db(0x2a); db(0x00); db(0x04); db(0x90); db(0x8a);
+ db(0x4a); db(0x92); db(0x66); db(0x0a); db(0x20); db(0x05); db(0x67); db(0x10);
+ db(0x20); db(0x40); db(0x42); db(0x90); db(0x60); db(0x0a); db(0x20); db(0x52);
+ db(0x22); db(0x4a); db(0x22); db(0xd8); db(0x59); db(0x80); db(0x6a); db(0xfa);
+ db(0x53); db(0x95); db(0x53); db(0x87); db(0x60); db(0x94); db(0x2a); db(0x0a);
+ db(0x24); db(0x52); db(0x53); db(0x87); db(0x60); db(0x8c); db(0x4c); db(0xdf);
+ db(0x7c); db(0xfc); db(0x20); db(0x6c); db(0x00); db(0x24); db(0x4a); db(0x90);
+ db(0x4e); db(0x75); db(0x61); db(0x00); db(0xfc); db(0x4c); db(0x21); db(0x40);
+ db(0x01); db(0x9c); db(0x2f); db(0x08); db(0x30); db(0x3c); db(0xff); db(0xec);
+ db(0x61); db(0x00); db(0x14); db(0xa6); db(0x2a); db(0x50); db(0x30); db(0x3c);
+ db(0xff); db(0x28); db(0x61); db(0x00); db(0x14); db(0x9c); db(0x22); db(0x48);
+ db(0x20); db(0x5f); db(0x42); db(0xa8); db(0x01); db(0x90); db(0x42); db(0xa8);
+ db(0x01); db(0x94); db(0x4e); db(0x91); db(0x26); db(0x00); db(0x0c); db(0x43);
+ db(0xff); db(0xfe); db(0x67); db(0x00); db(0xf6); db(0xf4); db(0x20); db(0x28);
+ db(0x01); db(0x90); db(0x67); db(0x14); db(0x6b); db(0x12); db(0x2f); db(0x08);
+ db(0x72); db(0x01); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x20); db(0x5f); db(0x21); db(0x40); db(0x01); db(0x94);
+ db(0x4a); db(0x83); db(0x6a); db(0x0e); db(0x22); db(0x48); db(0x30); db(0x3c);
+ db(0xff); db(0x20); db(0x61); db(0x00); db(0x14); db(0x5c); db(0x4e); db(0x90);
+ db(0x60); db(0x26); db(0x2c); db(0x4c); db(0x2f); db(0x08); db(0x61); db(0x00);
+ db(0x0f); db(0xbc); db(0x20); db(0x5f); db(0x22); db(0x48); db(0x26); db(0x40);
+ db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00); db(0x14); db(0x42);
+ db(0x4e); db(0x90); db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x08);
+ db(0x27); db(0x40); db(0x00); db(0x10); db(0x27); db(0x40); db(0x00); db(0x20);
+ db(0x20); db(0x69); db(0x01); db(0x94); db(0x4a); db(0xa9); db(0x01); db(0x90);
+ db(0x67); db(0x2c); db(0x20); db(0x08); db(0x67); db(0x32); db(0x61); db(0x00);
+ db(0xfa); db(0xbc); db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29);
+ db(0x01); db(0x90); db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf);
+ db(0x03); db(0x01); db(0x42); db(0xa9); db(0x01); db(0x90); db(0x23); db(0x48);
+ db(0x01); db(0x94); db(0x4a); db(0x80); db(0x67); db(0x0a); db(0x4a); db(0xa9);
+ db(0x01); db(0x98); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfa); db(0x38);
+ db(0x4a); db(0x83); db(0x6b); db(0x00); db(0xf6); db(0x5c); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x2f); db(0x09); db(0x43); db(0xfa); db(0x15); db(0x63);
+ db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x22); db(0x5f); db(0x22); db(0x00);
+ db(0x30); db(0x3c); db(0xff); db(0x18); db(0x61); db(0x00); db(0x13); db(0xd2);
+ db(0x4e); db(0x90); db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f);
+ db(0x4a); db(0x80); db(0x66); db(0x24); db(0x27); db(0x7c); db(0x00); db(0x00);
+ db(0x17); db(0x70); db(0x00); db(0x14); db(0x41); db(0xfa); db(0xf4); db(0x0e);
+ db(0x70); db(0xff); db(0x22); db(0x0c); db(0x66); db(0x06); db(0x41); db(0xfa);
+ db(0xf4); db(0x4c); db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x24);
+ db(0x20); db(0x08); db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20);
+ db(0x08); db(0x07); db(0x00); db(0x03); db(0x66); db(0x48); db(0x08); db(0x07);
+ db(0x00); db(0x00); db(0x67); db(0x42); db(0x0c); db(0x03); db(0x00); db(0x80);
+ db(0x67); db(0x3c); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x14);
+ db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x22); db(0x40); db(0x30); db(0x3c); db(0x10); db(0x00);
+ db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08); db(0x23); db(0x6d);
+ db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b); db(0x00); db(0x10);
+ db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x7c);
+ db(0x4e); db(0xae); db(0xfe); db(0xf2); db(0x4e); db(0xae); db(0xff); db(0x76);
+ db(0x72); db(0x00); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x76); db(0x00);
+ db(0x24); db(0x49); db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41);
+ db(0x08); db(0x07); db(0x00); db(0x01); db(0x67); db(0x08); db(0x08); db(0x07);
+ db(0x00); db(0x02); db(0x67); db(0x02); db(0x72); db(0x01); db(0x70); db(0x80);
+ db(0x2c); db(0x4c); db(0x61); db(0x00); db(0x0f); db(0x58); db(0x08); db(0x07);
+ db(0x00); db(0x01); db(0x67); db(0x6a); db(0x08); db(0x07); db(0x00); db(0x02);
+ db(0x66); db(0x64); db(0x20); db(0x52); db(0x74); db(0x02); db(0x52); db(0x82);
+ db(0x4a); db(0x30); db(0x28); db(0xfd); db(0x66); db(0xf8); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x06); db(0x82); db(0x00); db(0x00); db(0x10); db(0x04);
+ db(0x20); db(0x02); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x4a); db(0x80); db(0x67); db(0x42); db(0x20); db(0x52); db(0x24); db(0x40);
+ db(0x22); db(0x4a); db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c);
+ db(0x00); db(0x3a); db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x43); db(0xfa); db(0x14); db(0x08); db(0x4e); db(0xae);
+ db(0xfe); db(0x68); db(0x2c); db(0x40); db(0x22); db(0x0a); db(0x26); db(0x0f);
+ db(0x4f); db(0xea); db(0x10); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x52);
+ db(0x2e); db(0x43); db(0x26); db(0x01); db(0x22); db(0x4e); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a);
+ db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x22); db(0x03);
+ db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e);
+ db(0x2c); db(0x01); db(0x7e); db(0x06); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x43); db(0xfa); db(0x13); db(0xf9); db(0x70); db(0x24); db(0x4e); db(0xae);
+ db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x66); db(0x0e); db(0x08); db(0x87);
+ db(0x00); db(0x02); db(0x43); db(0xfa); db(0x13); db(0xe7); db(0x70); db(0x00);
+ db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c);
+ db(0x00); db(0x00); db(0x02); db(0x38); db(0x22); db(0x3c); db(0x00); db(0x01);
  db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40);
- db(0x11); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x08); db(0x31); db(0x42);
- db(0x00); db(0x12); db(0x21); db(0x4a); db(0x00); db(0x0e); db(0x4a); db(0x80);
- db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7);
- db(0x30); db(0x22); db(0x24); db(0x48); db(0x24); db(0x00); db(0x26); db(0x01);
- db(0x2c); db(0x78); db(0x00); db(0x04); db(0x61); db(0x00); db(0xff); db(0x6a);
- db(0x22); db(0x03); db(0x61); db(0x00); db(0xff); db(0xb2); db(0x67); db(0x18);
- db(0x20); db(0x4a); db(0x22); db(0x40); db(0x24); db(0x40); db(0x20); db(0x02);
- db(0x72); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x22); db(0x00);
- db(0x70); db(0x00); db(0x4a); db(0x81); db(0x66); db(0x02); db(0x20); db(0x0a);
- db(0x4a); db(0x80); db(0x4c); db(0xdf); db(0x44); db(0x0c); db(0x4e); db(0x75);
- db(0x48); db(0xe7); db(0x38); db(0x32); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x28); db(0x00); db(0x24); db(0x08); db(0x26); db(0x09); db(0x20); db(0x3c);
- db(0x00); db(0x00); db(0x08); db(0x5c); db(0x22); db(0x3c); db(0x00); db(0x01);
- db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80);
- db(0x67); db(0x00); db(0x00); db(0x34); db(0x24); db(0x40); db(0x15); db(0x7c);
- db(0x00); db(0x01); db(0x00); db(0x08); db(0x15); db(0x44); db(0x00); db(0x09);
- db(0x25); db(0x42); db(0x00); db(0x0a); db(0x47); db(0xea); db(0x00); db(0x5c);
- db(0x25); db(0x4b); db(0x00); db(0x3a); db(0x47); db(0xeb); db(0x08); db(0x00);
- db(0x25); db(0x4b); db(0x00); db(0x3e); db(0x25); db(0x4b); db(0x00); db(0x36);
- db(0x22); db(0x4a); db(0x24); db(0x43); db(0x97); db(0xcb); db(0x24); db(0x09);
- db(0x4e); db(0xae); db(0xfe); db(0xe6); db(0x20); db(0x02); db(0x4c); db(0xdf);
- db(0x4c); db(0x1c); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x0e); db(0xe0);
- db(0x43); db(0xfa); db(0x01); db(0x30); db(0x70); db(0x13); db(0x61); db(0x00);
- db(0xff); db(0x98); db(0x4e); db(0x75); db(0x22); db(0x6d); db(0x02); db(0x0c);
- db(0x33); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x1c); db(0x13); db(0x7c);
+ db(0x4a); db(0x80); db(0x67); db(0x2c); db(0x21); db(0x4c); db(0x01); db(0xa8);
+ db(0x48); db(0xe7); db(0x00); db(0x8a); db(0x61); db(0x00); db(0xfd); db(0xbc);
+ db(0x4c); db(0xdf); db(0x51); db(0x00); db(0x0c); db(0x80); db(0xff); db(0xff);
+ db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46);
+ db(0x48); db(0x46); db(0x60); db(0xe4); db(0x22); db(0x48); db(0x20); db(0x3c);
+ db(0x00); db(0x00); db(0x02); db(0x38); db(0x4e); db(0xae); db(0xff); db(0x2e);
+ db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf);
+ db(0x7c); db(0xfc); db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x58);
+ db(0x61); db(0x00); db(0x12); db(0x3e); db(0x70); db(0x03); db(0x4e); db(0x90);
+ db(0x22); db(0x6b); db(0x00); db(0xa8); db(0x23); db(0x40); db(0x00); db(0x20);
+ db(0x67); db(0x16); db(0x70); db(0x00); db(0x23); db(0x40); db(0x00); db(0x24);
+ db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x13); db(0x7c);
  db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38);
- db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x25); db(0x69); db(0x00); db(0x20);
- db(0x00); db(0x0e); db(0x25); db(0x69); db(0x00); db(0x24); db(0x00); db(0x12);
- db(0x22); db(0x6d); db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01);
- db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75);
- db(0x42); db(0xaa); db(0x00); db(0x0e); db(0x42); db(0xaa); db(0x00); db(0x12);
- db(0x22); db(0x6d); db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01);
- db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75);
- db(0x48); db(0xe7); db(0xf8); db(0xfe); db(0x2a); db(0x48); db(0x95); db(0xca);
- db(0x97); db(0xcb); db(0x99); db(0xcc); db(0x78); db(0x00); db(0x2c); db(0x6d);
- db(0x00); db(0x18); db(0x20); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x28);
- db(0x00); db(0x3c); db(0x67); db(0x5c); db(0x20); db(0x40); db(0x41); db(0xe8);
- db(0x00); db(0x2c); db(0x28); db(0x48); db(0x4e); db(0xae); db(0xfc); db(0xe8);
- db(0x72); db(0xff); db(0x74); db(0xff); db(0xb2); db(0x80); db(0x67); db(0x48);
- db(0x26); db(0x00); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x41); db(0xed);
- db(0x00); db(0xc0); db(0x70); db(0x66); db(0x4e); db(0xae); db(0xff); db(0x7c);
- db(0x41); db(0xed); db(0x00); db(0xc0); db(0x38); db(0x28); db(0x00); db(0x64);
- db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x91); db(0xc8); db(0x43); db(0xed);
- db(0x00); db(0x38); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58);
- db(0x22); db(0x3c); db(0x80); db(0x00); db(0x10); db(0x00); db(0x24); db(0x03);
- db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x72); db(0xff); db(0x74); db(0xff);
- db(0x4a); db(0x80); db(0x6b); db(0x0c); db(0x45); db(0xed); db(0x00); db(0x38);
- db(0x22); db(0x2a); db(0x00); db(0x32); db(0x24); db(0x2a); db(0x00); db(0x36);
- db(0x20); db(0x2c); db(0x00); db(0x1c); db(0xb8); db(0x6d); db(0x00); db(0x2c);
- db(0x66); db(0x12); db(0xb0); db(0xad); db(0x00); db(0x28); db(0x66); db(0x0c);
- db(0xb2); db(0xad); db(0x00); db(0x20); db(0x66); db(0x06); db(0xb4); db(0xad);
- db(0x00); db(0x24); db(0x67); db(0x40); db(0x2b); db(0x40); db(0x00); db(0x28);
- db(0x2b); db(0x41); db(0x00); db(0x20); db(0x2b); db(0x42); db(0x00); db(0x24);
- db(0x3b); db(0x44); db(0x00); db(0x2c); db(0x91); db(0xc8); db(0x43); db(0xed);
- db(0x00); db(0x90); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58);
- db(0x22); db(0x3c); db(0x80); db(0x00); db(0x00); db(0x00); db(0x24); db(0x03);
- db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x4a); db(0x80); db(0x6b); db(0x04);
- db(0x47); db(0xed); db(0x00); db(0x90); db(0x34); db(0x2d); db(0x00); db(0x2c);
- db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x01); db(0x61); db(0x00);
- db(0x0d); db(0x18); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0x1f);
- db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x3e); db(0x2e);
- db(0x00); db(0x14); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
- db(0x7c); db(0x00); db(0x01); db(0xc6); db(0x93); db(0xc9); db(0x4e); db(0xae);
- db(0xfe); db(0xda); db(0x24); db(0x40); db(0x70); db(0x14); db(0x22); db(0x4a);
- db(0x4e); db(0xae); db(0xfe); db(0xd4); db(0x70); db(0x00); db(0x30); db(0x3c);
- db(0x02); db(0x14); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x30); db(0x3c);
- db(0x3e); db(0x00); db(0x61); db(0x00); db(0x0c); db(0xd4); db(0x2b); db(0x48);
- db(0x02); db(0x10); db(0x28); db(0x48); db(0x47); db(0xed); db(0x00); db(0x16);
- db(0x27); db(0x4e); db(0x00); db(0x10); db(0x27); db(0x4a); db(0x00); db(0x08);
- db(0x27); db(0x46); db(0x00); db(0x0c); db(0x70); db(0xff); db(0x37); db(0x40);
- db(0x00); db(0x00); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x05);
- db(0x61); db(0x00); db(0x0c); db(0xae); db(0x20); db(0x0c); db(0x4e); db(0x90);
- db(0x43); db(0xed); db(0x00); db(0x00); db(0x13); db(0x7c); db(0x00); db(0x02);
- db(0x00); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x05); db(0x00); db(0x09);
- db(0x41); db(0xfa); db(0x0d); db(0x34); db(0x23); db(0x48); db(0x00); db(0x0a);
- db(0x41); db(0xfa); db(0x03); db(0x14); db(0x23); db(0x48); db(0x00); db(0x12);
- db(0x23); db(0x4d); db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae);
- db(0xff); db(0x58); db(0x20); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0xc2);
- db(0x70); db(0x00); db(0x53); db(0xab); db(0x00); db(0x1c); db(0x6a); db(0x06);
- db(0x70); db(0x0a); db(0x27); db(0x40); db(0x00); db(0x1c); db(0x4a); db(0xab);
- db(0x00); db(0x14); db(0x66); db(0x22); db(0x4a); db(0xab); db(0x00); db(0x1c);
- db(0x66); db(0xe0); db(0x43); db(0xfa); db(0x0d); db(0x84); db(0x70); db(0x00);
- db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x14);
- db(0x67); db(0xd0); db(0x22); db(0x00); db(0x30); db(0x3c); db(0x3f); db(0xf4);
- db(0x61); db(0x00); db(0x0c); db(0x46); db(0x20); db(0x81); db(0x4a); db(0xab);
- db(0x00); db(0x18); db(0x66); db(0x24); db(0x4a); db(0xab); db(0x00); db(0x1c);
- db(0x66); db(0xb8); db(0x43); db(0xfa); db(0x0d); db(0x6e); db(0x70); db(0x00);
- db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18);
- db(0x67); db(0x00); db(0xff); db(0xa8); db(0x22); db(0x00); db(0x30); db(0x3c);
- db(0x3f); db(0xf8); db(0x61); db(0x00); db(0x0c); db(0x1c); db(0x20); db(0x81);
- db(0x4a); db(0xad); db(0x02); db(0x08); db(0x66); db(0x3a); db(0x4a); db(0xab);
- db(0x00); db(0x1c); db(0x66); db(0x8e); db(0x4e); db(0xae); db(0xff); db(0x7c);
- db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x0c); db(0x10);
+ db(0x4e); db(0x75); db(0x7e); db(0x00); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40);
+ db(0x4b); db(0xe8); db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x13); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0x68); db(0x24); db(0x40); db(0x22); db(0x3c);
+ db(0x00); db(0x00); db(0x00); db(0xbc); db(0x30); db(0x3c); db(0xff); db(0x40);
+ db(0x61); db(0x00); db(0x11); db(0xee); db(0x70); db(0x01); db(0x4e); db(0x90);
+ db(0x4a); db(0x80); db(0x66); db(0x0c); db(0x20); db(0x01); db(0x22); db(0x3c);
+ db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x26); db(0x40); db(0x7c); db(0x00); db(0x26); db(0x86); db(0x27); db(0x46);
+ db(0x00); db(0x04); db(0x27); db(0x46); db(0x00); db(0x08); db(0x27); db(0x4a);
+ db(0x00); db(0xa0); db(0x50); db(0xeb); db(0x00); db(0x9e); db(0x70); db(0xff);
+ db(0x27); db(0x40); db(0x00); db(0xb8); db(0x93); db(0xc9); db(0x4e); db(0xae);
+ db(0xfe); db(0xda); db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa);
+ db(0x11); db(0xbe); db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00);
+ db(0x02); db(0xcc); db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa);
+ db(0x11); db(0xbb); db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00);
+ db(0x02); db(0xbc); db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00);
+ db(0x26); db(0x07); db(0x66); db(0x12); db(0x20); db(0x4d); db(0x4e); db(0xae);
+ db(0xfe); db(0x80); db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x8c);
+ db(0x28); db(0x40); db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x30); db(0x3c);
+ db(0xff); db(0x40); db(0x61); db(0x00); db(0x11); db(0x74); db(0x70); db(0x00);
+ db(0x4e); db(0x90); db(0x24); db(0x00); db(0x61); db(0x00); db(0xfb); db(0xc2);
+ db(0x70); db(0x01); db(0x61); db(0x00); db(0xf9); db(0x72); db(0x08); db(0x02);
+ db(0x00); db(0x01); db(0x67); db(0x06); db(0x70); db(0x01); db(0x61); db(0x00);
+ db(0xfa); db(0xda); db(0x60); db(0x00); db(0x01); db(0x44); db(0x20); db(0x4d);
+ db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x4a); db(0x80);
+ db(0x66); db(0x10); db(0x70); db(0x00); db(0x12); db(0x2d); db(0x00); db(0x0f);
+ db(0x03); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae);
+ db(0xfe); db(0xc2); db(0x08); db(0x2b); db(0x00); db(0x00); db(0x00); db(0xad);
+ db(0x67); db(0x0a); db(0x61); db(0x00); db(0xfe); db(0xe8); db(0x08); db(0xab);
+ db(0x00); db(0x00); db(0x00); db(0xad); db(0x08); db(0x2b); db(0x00); db(0x01);
+ db(0x00); db(0xad); db(0x67); db(0x0a); db(0x61); db(0x00); db(0x0c); db(0x28);
+ db(0x08); db(0xab); db(0x00); db(0x01); db(0x00); db(0xad); db(0x4a); db(0x2b);
+ db(0x00); db(0xac); db(0x67); db(0x24); db(0x30); db(0x3c); db(0xff); db(0x58);
+ db(0x61); db(0x00); db(0x11); db(0x06); db(0x70); db(0x01); db(0x4e); db(0x90);
+ db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfb); db(0x78);
+ db(0x42); db(0x2b); db(0x00); db(0xac); db(0x30); db(0x3c); db(0xff); db(0x58);
+ db(0x61); db(0x00); db(0x10); db(0xee); db(0x70); db(0x02); db(0x4e); db(0x90);
+ db(0x20); db(0x0c); db(0x67); db(0x56); db(0x0c); db(0x6c); db(0x00); db(0x26);
+ db(0x00); db(0x12); db(0x66); db(0x4e); db(0x0c); db(0xac); db(0x40); db(0x00);
+ db(0x00); db(0x00); db(0x00); db(0x14); db(0x66); db(0x44); db(0x0c); db(0x6c);
+ db(0x12); db(0x34); db(0x00); db(0x18); db(0x66); db(0x3c); db(0x20); db(0x6c);
+ db(0x00); db(0x1a); db(0x20); db(0x28); db(0x00); db(0x0c); db(0x02); db(0x80);
+ db(0x80); db(0x00); db(0x00); db(0x08); db(0x0c); db(0x80); db(0x80); db(0x00);
+ db(0x00); db(0x08); db(0x66); db(0x1a); db(0x02); db(0xa8); db(0x7f); db(0xff);
+ db(0xff); db(0xff); db(0x00); db(0x0c); db(0x20); db(0x68); db(0x00); db(0x10);
+ db(0x22); db(0x4c); db(0x12); db(0xbc); db(0x00); db(0x08); db(0x4e); db(0xae);
+ db(0xfe); db(0x92); db(0x60); db(0x00); db(0xff); db(0x4a); db(0x22); db(0x4c);
+ db(0x70); db(0x26); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x60); db(0x00);
+ db(0xff); db(0x3e); db(0x74); db(0xfe); db(0x20); db(0x0c); db(0x67); db(0x14);
+ db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x66); db(0x42); db(0x74); db(0xff);
+ db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x10); db(0x7a);
+ db(0x70); db(0x01); db(0x4e); db(0x90); db(0x45); db(0xeb); db(0x00); db(0x04);
+ db(0x20); db(0x52); db(0x20); db(0x08); db(0x67); db(0x00); db(0xff); db(0x18);
+ db(0x22); db(0x50); db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x04);
+ db(0xb4); db(0x80); db(0x66); db(0x16); db(0x48); db(0xe7); db(0x00); db(0xc0);
+ db(0x28); db(0x68); db(0x00); db(0x0a); db(0x61); db(0x4a); db(0x53); db(0x85);
+ db(0x4c); db(0xdf); db(0x03); db(0x00); db(0x24); db(0x89); db(0x20); db(0x49);
+ db(0x60); db(0xd8); db(0x24); db(0x48); db(0x20); db(0x49); db(0x60); db(0xd2);
+ db(0x0c); db(0x85); db(0x00); db(0x00); db(0x00); db(0x14); db(0x65); db(0x00);
+ db(0x00); db(0x0a); db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x04);
+ db(0x60); db(0x12); db(0x61); db(0x5e); db(0x30); db(0x3c); db(0xff); db(0x30);
+ db(0x61); db(0x00); db(0x10); db(0x26); db(0x4e); db(0x90); db(0x4a); db(0x80);
+ db(0x67); db(0x0e); db(0x52); db(0x85); db(0x28); db(0xab); db(0x00); db(0x04);
+ db(0x27); db(0x4c); db(0x00); db(0x04); db(0x60); db(0x00); db(0xfe); db(0xc0);
+ db(0x28); db(0x43); db(0x61); db(0x04); db(0x60); db(0x00); db(0xfe); db(0xb8);
+ db(0x0c); db(0xac); db(0x00); db(0x00); db(0x00); db(0x1f); db(0x00); db(0x08);
+ db(0x66); db(0x04); db(0x61); db(0x00); db(0xfa); db(0x3a); db(0x0c); db(0xac);
+ db(0x00); db(0x00); db(0x04); db(0x09); db(0x00); db(0x08); db(0x66); db(0x14);
+ db(0x61); db(0x00); db(0xfa); db(0x92); db(0x66); db(0x0e); db(0x30); db(0x3c);
+ db(0xff); db(0x58); db(0x61); db(0x00); db(0x0f); db(0xe4); db(0x70); db(0x00);
+ db(0x4e); db(0x90); db(0x60); db(0xec); db(0x22); db(0x54); db(0x20); db(0x6c);
+ db(0x00); db(0x04); db(0x29); db(0x4d); db(0x00); db(0x04); db(0x4e); db(0xee);
+ db(0xfe); db(0x92); db(0x2f); db(0x05); db(0x7a); db(0xfc); db(0x24); db(0x53);
+ db(0x2e); db(0x0a); db(0x22); db(0x0a); db(0x67); db(0x00); db(0x00); db(0x0c);
+ db(0x52); db(0x85); db(0x67); db(0x1e); db(0x22); db(0x4a); db(0x24); db(0x52);
+ db(0x60); db(0xf0); db(0x52); db(0x85); db(0x67); db(0x3c); db(0x24); db(0x47);
+ db(0x70); db(0x18); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x52); db(0x46); db(0x24); db(0x40); db(0x24); db(0x87); db(0x2e); db(0x0a);
+ db(0x60); db(0xe8); db(0x20); db(0x12); db(0x67); db(0x24); db(0x20); db(0x40);
+ db(0x20); db(0x10); db(0x67); db(0x1e); db(0x20); db(0x40); db(0x20); db(0x10);
+ db(0x67); db(0x18); db(0x70); db(0x00); db(0x22); db(0x80); db(0x22); db(0x4a);
+ db(0x24); db(0x51); db(0x70); db(0x18); db(0x4e); db(0xae); db(0xff); db(0x2e);
+ db(0x06); db(0x86); db(0x00); db(0x01); db(0x00); db(0x00); db(0x20); db(0x0a);
+ db(0x66); db(0xec); db(0x26); db(0x87); db(0x2a); db(0x1f); db(0x4e); db(0x75);
+ db(0x20); db(0x88); db(0x58); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04);
+ db(0x21); db(0x48); db(0x00); db(0x08); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0x20); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0xff);
+ db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x91); db(0xc8); db(0x24); db(0x00);
+ db(0x6b); db(0x32); db(0x70); db(0x22); db(0x22); db(0x3c); db(0x00); db(0x01);
+ db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x91); db(0xc8);
+ db(0x24); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x1e); db(0x15); db(0x7c);
+ db(0x00); db(0x04); db(0x00); db(0x08); db(0x15); db(0x42); db(0x00); db(0x0f);
+ db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x25); db(0x40);
+ db(0x00); db(0x10); db(0x41); db(0xea); db(0x00); db(0x14); db(0x61); db(0x00);
+ db(0xff); db(0xb0); db(0x20); db(0x4a); db(0x20); db(0x08); db(0x4c); db(0xdf);
+ db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4a); db(0x80); db(0x67); db(0x24);
+ db(0x24); db(0x40); db(0x24); db(0x01); db(0x66); db(0x02); db(0x74); db(0x30);
+ db(0x20); db(0x02); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
+ db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40); db(0x11); db(0x7c);
+ db(0x00); db(0x0a); db(0x00); db(0x08); db(0x31); db(0x42); db(0x00); db(0x12);
+ db(0x21); db(0x4a); db(0x00); db(0x0e); db(0x4a); db(0x80); db(0x4c); db(0xdf);
+ db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x30); db(0x22);
+ db(0x24); db(0x48); db(0x24); db(0x00); db(0x26); db(0x01); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x61); db(0x00); db(0xff); db(0x6a); db(0x22); db(0x03);
+ db(0x61); db(0x00); db(0xff); db(0xb2); db(0x67); db(0x18); db(0x20); db(0x4a);
+ db(0x22); db(0x40); db(0x24); db(0x40); db(0x20); db(0x02); db(0x72); db(0x00);
+ db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x22); db(0x00); db(0x70); db(0x00);
+ db(0x4a); db(0x81); db(0x66); db(0x02); db(0x20); db(0x0a); db(0x4a); db(0x80);
+ db(0x4c); db(0xdf); db(0x44); db(0x0c); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0x38); db(0x32); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x28); db(0x00);
+ db(0x24); db(0x08); db(0x26); db(0x09); db(0x20); db(0x3c); db(0x00); db(0x00);
+ db(0x08); db(0x5c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
+ db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00);
+ db(0x00); db(0x34); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x01);
+ db(0x00); db(0x08); db(0x15); db(0x44); db(0x00); db(0x09); db(0x25); db(0x42);
+ db(0x00); db(0x0a); db(0x47); db(0xea); db(0x00); db(0x5c); db(0x25); db(0x4b);
+ db(0x00); db(0x3a); db(0x47); db(0xeb); db(0x08); db(0x00); db(0x25); db(0x4b);
+ db(0x00); db(0x3e); db(0x25); db(0x4b); db(0x00); db(0x36); db(0x22); db(0x4a);
+ db(0x24); db(0x43); db(0x97); db(0xcb); db(0x24); db(0x09); db(0x4e); db(0xae);
+ db(0xfe); db(0xe6); db(0x20); db(0x02); db(0x4c); db(0xdf); db(0x4c); db(0x1c);
+ db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x0e); db(0xe2); db(0x43); db(0xfa);
+ db(0x01); db(0x30); db(0x70); db(0x13); db(0x61); db(0x00); db(0xff); db(0x98);
+ db(0x4e); db(0x75); db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x33); db(0x7c);
+ db(0x00); db(0x0a); db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01);
+ db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6d);
+ db(0x02); db(0x0c); db(0x25); db(0x69); db(0x00); db(0x20); db(0x00); db(0x0e);
+ db(0x25); db(0x69); db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6d);
+ db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x42); db(0xaa);
+ db(0x00); db(0x0e); db(0x42); db(0xaa); db(0x00); db(0x12); db(0x22); db(0x6d);
+ db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0xf8); db(0xfe); db(0x2a); db(0x48); db(0x95); db(0xca); db(0x97); db(0xcb);
+ db(0x99); db(0xcc); db(0x78); db(0x00); db(0x2c); db(0x6d); db(0x00); db(0x18);
+ db(0x20); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x28); db(0x00); db(0x3c);
+ db(0x67); db(0x5c); db(0x20); db(0x40); db(0x41); db(0xe8); db(0x00); db(0x2c);
+ db(0x28); db(0x48); db(0x4e); db(0xae); db(0xfc); db(0xe8); db(0x72); db(0xff);
+ db(0x74); db(0xff); db(0xb2); db(0x80); db(0x67); db(0x48); db(0x26); db(0x00);
+ db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x41); db(0xed); db(0x00); db(0xc0);
+ db(0x70); db(0x66); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xed);
+ db(0x00); db(0xc0); db(0x38); db(0x28); db(0x00); db(0x64); db(0x2c); db(0x6d);
+ db(0x00); db(0x18); db(0x91); db(0xc8); db(0x43); db(0xed); db(0x00); db(0x38);
+ db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58); db(0x22); db(0x3c);
+ db(0x80); db(0x00); db(0x10); db(0x00); db(0x24); db(0x03); db(0x4e); db(0xae);
+ db(0xfd); db(0x0c); db(0x72); db(0xff); db(0x74); db(0xff); db(0x4a); db(0x80);
+ db(0x6b); db(0x0c); db(0x45); db(0xed); db(0x00); db(0x38); db(0x22); db(0x2a);
+ db(0x00); db(0x32); db(0x24); db(0x2a); db(0x00); db(0x36); db(0x20); db(0x2c);
+ db(0x00); db(0x1c); db(0xb8); db(0x6d); db(0x00); db(0x2c); db(0x66); db(0x12);
+ db(0xb0); db(0xad); db(0x00); db(0x28); db(0x66); db(0x0c); db(0xb2); db(0xad);
+ db(0x00); db(0x20); db(0x66); db(0x06); db(0xb4); db(0xad); db(0x00); db(0x24);
+ db(0x67); db(0x40); db(0x2b); db(0x40); db(0x00); db(0x28); db(0x2b); db(0x41);
+ db(0x00); db(0x20); db(0x2b); db(0x42); db(0x00); db(0x24); db(0x3b); db(0x44);
+ db(0x00); db(0x2c); db(0x91); db(0xc8); db(0x43); db(0xed); db(0x00); db(0x90);
+ db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58); db(0x22); db(0x3c);
+ db(0x80); db(0x00); db(0x00); db(0x00); db(0x24); db(0x03); db(0x4e); db(0xae);
+ db(0xfd); db(0x0c); db(0x4a); db(0x80); db(0x6b); db(0x04); db(0x47); db(0xed);
+ db(0x00); db(0x90); db(0x34); db(0x2d); db(0x00); db(0x2c); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x01); db(0x61); db(0x00); db(0x0d); db(0x1a);
+ db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0x1f); db(0x4e); db(0x75);
+ db(0x2c); db(0x78); db(0x00); db(0x04); db(0x3e); db(0x2e); db(0x00); db(0x14);
+ db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x7c); db(0x00);
+ db(0x01); db(0xc6); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
+ db(0x24); db(0x40); db(0x70); db(0x14); db(0x22); db(0x4a); db(0x4e); db(0xae);
+ db(0xfe); db(0xd4); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x02); db(0x14);
+ db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x30); db(0x3c); db(0x3e); db(0x00);
+ db(0x61); db(0x00); db(0x0c); db(0xd6); db(0x2b); db(0x48); db(0x02); db(0x10);
+ db(0x28); db(0x48); db(0x47); db(0xed); db(0x00); db(0x16); db(0x27); db(0x4e);
+ db(0x00); db(0x10); db(0x27); db(0x4a); db(0x00); db(0x08); db(0x27); db(0x46);
+ db(0x00); db(0x0c); db(0x70); db(0xff); db(0x37); db(0x40); db(0x00); db(0x00);
+ db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x05); db(0x61); db(0x00);
+ db(0x0c); db(0xb0); db(0x20); db(0x0c); db(0x4e); db(0x90); db(0x43); db(0xed);
+ db(0x00); db(0x00); db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08);
+ db(0x13); db(0x7c); db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa);
+ db(0x0d); db(0x36); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa);
+ db(0x03); db(0x14); db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4d);
+ db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58);
+ db(0x20); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x70); db(0x00);
+ db(0x53); db(0xab); db(0x00); db(0x1c); db(0x6a); db(0x06); db(0x70); db(0x0a);
+ db(0x27); db(0x40); db(0x00); db(0x1c); db(0x4a); db(0xab); db(0x00); db(0x14);
+ db(0x66); db(0x22); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xe0);
+ db(0x43); db(0xfa); db(0x0d); db(0x86); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x14); db(0x67); db(0xd0);
+ db(0x22); db(0x00); db(0x30); db(0x3c); db(0x3f); db(0xf4); db(0x61); db(0x00);
+ db(0x0c); db(0x48); db(0x20); db(0x81); db(0x4a); db(0xab); db(0x00); db(0x18);
+ db(0x66); db(0x24); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xb8);
+ db(0x43); db(0xfa); db(0x0d); db(0x70); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18); db(0x67); db(0x00);
+ db(0xff); db(0xa8); db(0x22); db(0x00); db(0x30); db(0x3c); db(0x3f); db(0xf8);
+ db(0x61); db(0x00); db(0x0c); db(0x1e); db(0x20); db(0x81); db(0x4a); db(0xad);
+ db(0x02); db(0x08); db(0x66); db(0x3a); db(0x4a); db(0xab); db(0x00); db(0x1c);
+ db(0x66); db(0x8e); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee);
+ db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x0c); db(0x12); db(0x4e); db(0xae);
+ db(0xfe); db(0xec); db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76);
+ db(0x4a); db(0x82); db(0x67); db(0x00); db(0xff); db(0x74); db(0x41); db(0xfa);
+ db(0x0b); db(0xfe); db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00);
+ db(0xfd); db(0x0c); db(0x2b); db(0x40); db(0x02); db(0x08); db(0x67); db(0x00);
+ db(0x02); db(0x38); db(0x60); db(0x00); db(0xff); db(0x5c); db(0x4a); db(0xad);
+ db(0x02); db(0x0c); db(0x66); db(0x48); db(0x4a); db(0xab); db(0x00); db(0x1c);
+ db(0x66); db(0x00); db(0xff); db(0x4e); db(0x4e); db(0xae); db(0xff); db(0x7c);
+ db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x0b); db(0xdd);
  db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00); db(0x4e); db(0xae);
- db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x00); db(0xff); db(0x74);
- db(0x41); db(0xfa); db(0x0b); db(0xfc); db(0x70); db(0x00); db(0x72); db(0x00);
- db(0x61); db(0x00); db(0xfd); db(0x0c); db(0x2b); db(0x40); db(0x02); db(0x08);
- db(0x67); db(0x00); db(0x02); db(0x38); db(0x60); db(0x00); db(0xff); db(0x5c);
- db(0x4a); db(0xad); db(0x02); db(0x0c); db(0x66); db(0x48); db(0x4a); db(0xab);
- db(0x00); db(0x1c); db(0x66); db(0x00); db(0xff); db(0x4e); db(0x4e); db(0xae);
- db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa);
- db(0x0b); db(0xdb); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00);
- db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x00);
- db(0xff); db(0x32); db(0x41); db(0xfa); db(0x0b); db(0xc7); db(0x70); db(0x00);
- db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0xca); db(0x2b); db(0x40);
- db(0x02); db(0x0c); db(0x67); db(0x00); db(0x01); db(0xf6); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x00); db(0x61); db(0x00); db(0x0b); db(0x92);
- db(0x4e); db(0x90); db(0x60); db(0x00); db(0xff); db(0x0e); db(0x0c); db(0x47);
- db(0x00); db(0x24); db(0x65); db(0x18); db(0x0c); db(0x47); db(0x00); db(0x32);
- db(0x64); db(0x12); db(0x53); db(0xab); db(0x00); db(0x34); db(0x6a); db(0x0c);
- db(0x20); db(0x4b); db(0x61); db(0x00); db(0xfd); db(0x8c); db(0x70); db(0x32);
- db(0x27); db(0x40); db(0x00); db(0x34); db(0x22); db(0x6d); db(0x02); db(0x08);
- db(0x45); db(0xed); db(0x01); db(0x3c); db(0x33); db(0x7c); db(0x00); db(0x0b);
- db(0x00); db(0x1c); db(0x23); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x16);
- db(0x00); db(0x24); db(0x23); db(0x4a); db(0x00); db(0x28); db(0x10); db(0x2c);
- db(0x00); db(0x00); db(0x0c); db(0x47); db(0x00); db(0x27); db(0x65); db(0x00);
- db(0x01); db(0x52); db(0x08); db(0x00); db(0x00); db(0x01); db(0x67); db(0x00);
- db(0x01); db(0x4a); db(0x41); db(0xed); db(0x01); db(0x68); db(0x25); db(0x48);
- db(0x00); db(0x0a); db(0x15); db(0x7c); db(0x00); db(0x13); db(0x00); db(0x04);
- db(0x15); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x05); db(0x42); db(0x90);
- db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0xa8); db(0x00); db(0x08);
- db(0x42); db(0x68); db(0x00); db(0x0c); db(0x42); db(0x6a); db(0x00); db(0x06);
- db(0x61); db(0x00); db(0x01); db(0x72); db(0x31); db(0x6c); db(0x00); db(0x0a);
- db(0x00); db(0x0e); db(0x42); db(0x68); db(0x00); db(0x10); db(0x31); db(0x6c);
- db(0x00); db(0x0c); db(0x00); db(0x12); db(0x42); db(0x68); db(0x00); db(0x14);
- db(0x31); db(0x6c); db(0x00); db(0x04); db(0x00); db(0x16); db(0x42); db(0x68);
- db(0x00); db(0x18); db(0x31); db(0x6c); db(0x00); db(0x06); db(0x00); db(0x1a);
- db(0x43); db(0xed); db(0x01); db(0x88); db(0x21); db(0x49); db(0x00); db(0x1c);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x06); db(0x30); db(0x2c);
- db(0x00); db(0x20); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x07); db(0x22); db(0xec);
- db(0x00); db(0x22); db(0x70); db(0x00); db(0x30); db(0x2c); db(0x00); db(0x10);
- db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x09);
- db(0x22); db(0xc0); db(0x30); db(0x2c); db(0x00); db(0x12); db(0x6b); db(0x08);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x0a); db(0x22); db(0xc0);
- db(0x30); db(0x2c); db(0x00); db(0x08); db(0x6b); db(0x14); db(0x22); db(0xfc);
- db(0x80); db(0x03); db(0xa0); db(0x02); db(0x22); db(0xc0); db(0x30); db(0x2c);
- db(0x00); db(0x0e); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x01);
- db(0x22); db(0xc0); db(0x30); db(0x2c); db(0x00); db(0x14); db(0x6b); db(0x10);
- db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x03); db(0x30); db(0x2c);
- db(0x00); db(0x1a); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0);
- db(0x30); db(0x2c); db(0x00); db(0x16); db(0x6b); db(0x10); db(0x22); db(0xfc);
- db(0x80); db(0x03); db(0xa0); db(0x04); db(0x30); db(0x2c); db(0x00); db(0x1c);
+ db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x00); db(0xff); db(0x32);
+ db(0x41); db(0xfa); db(0x0b); db(0xc9); db(0x70); db(0x00); db(0x72); db(0x00);
+ db(0x61); db(0x00); db(0xfc); db(0xca); db(0x2b); db(0x40); db(0x02); db(0x0c);
+ db(0x67); db(0x00); db(0x01); db(0xf6); db(0x30); db(0x3c); db(0xff); db(0x38);
+ db(0x72); db(0x00); db(0x61); db(0x00); db(0x0b); db(0x94); db(0x4e); db(0x90);
+ db(0x60); db(0x00); db(0xff); db(0x0e); db(0x0c); db(0x47); db(0x00); db(0x24);
+ db(0x65); db(0x18); db(0x0c); db(0x47); db(0x00); db(0x32); db(0x64); db(0x12);
+ db(0x53); db(0xab); db(0x00); db(0x34); db(0x6a); db(0x0c); db(0x20); db(0x4b);
+ db(0x61); db(0x00); db(0xfd); db(0x8c); db(0x70); db(0x32); db(0x27); db(0x40);
+ db(0x00); db(0x34); db(0x22); db(0x6d); db(0x02); db(0x08); db(0x45); db(0xed);
+ db(0x01); db(0x3c); db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c);
+ db(0x23); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24);
+ db(0x23); db(0x4a); db(0x00); db(0x28); db(0x10); db(0x2c); db(0x00); db(0x00);
+ db(0x0c); db(0x47); db(0x00); db(0x27); db(0x65); db(0x00); db(0x01); db(0x52);
+ db(0x08); db(0x00); db(0x00); db(0x01); db(0x67); db(0x00); db(0x01); db(0x4a);
+ db(0x41); db(0xed); db(0x01); db(0x68); db(0x25); db(0x48); db(0x00); db(0x0a);
+ db(0x15); db(0x7c); db(0x00); db(0x13); db(0x00); db(0x04); db(0x15); db(0x7c);
+ db(0x00); db(0x03); db(0x00); db(0x05); db(0x42); db(0x90); db(0x42); db(0xa8);
+ db(0x00); db(0x04); db(0x42); db(0xa8); db(0x00); db(0x08); db(0x42); db(0x68);
+ db(0x00); db(0x0c); db(0x42); db(0x6a); db(0x00); db(0x06); db(0x61); db(0x00);
+ db(0x01); db(0x72); db(0x31); db(0x6c); db(0x00); db(0x0a); db(0x00); db(0x0e);
+ db(0x42); db(0x68); db(0x00); db(0x10); db(0x31); db(0x6c); db(0x00); db(0x0c);
+ db(0x00); db(0x12); db(0x42); db(0x68); db(0x00); db(0x14); db(0x31); db(0x6c);
+ db(0x00); db(0x04); db(0x00); db(0x16); db(0x42); db(0x68); db(0x00); db(0x18);
+ db(0x31); db(0x6c); db(0x00); db(0x06); db(0x00); db(0x1a); db(0x43); db(0xed);
+ db(0x01); db(0x88); db(0x21); db(0x49); db(0x00); db(0x1c); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x06); db(0x30); db(0x2c); db(0x00); db(0x20);
+ db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x07); db(0x22); db(0xec); db(0x00); db(0x22);
+ db(0x70); db(0x00); db(0x30); db(0x2c); db(0x00); db(0x10); db(0x6b); db(0x08);
+ db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x09); db(0x22); db(0xc0);
+ db(0x30); db(0x2c); db(0x00); db(0x12); db(0x6b); db(0x08); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x0a); db(0x22); db(0xc0); db(0x30); db(0x2c);
+ db(0x00); db(0x08); db(0x6b); db(0x14); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x02); db(0x22); db(0xc0); db(0x30); db(0x2c); db(0x00); db(0x0e);
+ db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x01); db(0x22); db(0xc0);
+ db(0x30); db(0x2c); db(0x00); db(0x14); db(0x6b); db(0x10); db(0x22); db(0xfc);
+ db(0x80); db(0x03); db(0xa0); db(0x03); db(0x30); db(0x2c); db(0x00); db(0x1a);
  db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x2c);
- db(0x00); db(0x18); db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03);
- db(0xa0); db(0x05); db(0x30); db(0x2c); db(0x00); db(0x1e); db(0x48); db(0xc0);
- db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x70); db(0x00); db(0x30); db(0x2c);
- db(0x00); db(0x26); db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03);
- db(0xa0); db(0x08); db(0x22); db(0xc0); db(0x42); db(0x91); db(0x61); db(0x00);
- db(0xfc); db(0x40); db(0x36); db(0x3c); db(0x00); db(0x68); db(0x74); db(0x01);
- db(0x28); db(0x2c); db(0x00); db(0x22); db(0x20); db(0x04); db(0xc0); db(0x82);
- db(0x22); db(0x2b); db(0x00); db(0x04); db(0xc2); db(0x82); db(0xb2); db(0x80);
- db(0x67); db(0x22); db(0x42); db(0x92); db(0x35); db(0x7c); db(0x02); db(0x00);
- db(0x00); db(0x04); db(0x42); db(0xaa); db(0x00); db(0x0a); db(0x32); db(0x03);
- db(0x4a); db(0x00); db(0x66); db(0x04); db(0x08); db(0xc1); db(0x00); db(0x07);
- db(0x35); db(0x41); db(0x00); db(0x06); db(0x42); db(0x6a); db(0x00); db(0x08);
- db(0x61); db(0x00); db(0xfc); db(0x06); db(0x52); db(0x43); db(0xd4); db(0x42);
- db(0x0c); db(0x42); db(0x00); db(0x08); db(0x66); db(0xc6); db(0x27); db(0x44);
- db(0x00); db(0x04); db(0x10); db(0x2c); db(0x00); db(0x00); db(0x08); db(0x00);
- db(0x00); db(0x00); db(0x67); db(0x00); db(0xfd); db(0x6e); db(0x42); db(0x92);
- db(0x35); db(0x7c); db(0x04); db(0x00); db(0x00); db(0x04); db(0x42); db(0x6a);
- db(0x00); db(0x06); db(0x61); db(0x00); db(0x00); db(0x38); db(0x20); db(0x6b);
- db(0x00); db(0x14); db(0x30); db(0x2c); db(0x00); db(0x28); db(0x32); db(0x28);
- db(0x00); db(0x30); db(0xd2); db(0x41); db(0x90); db(0x41); db(0x6a); db(0x02);
- db(0x70); db(0x00); db(0x35); db(0x40); db(0x00); db(0x0a); db(0x30); db(0x2c);
- db(0x00); db(0x2a); db(0x32); db(0x28); db(0x00); db(0x2e); db(0xd2); db(0x41);
- db(0x90); db(0x41); db(0x6a); db(0x02); db(0x70); db(0x00); db(0x35); db(0x40);
- db(0x00); db(0x0c); db(0x61); db(0x00); db(0xfb); db(0x78); db(0x60); db(0x00);
- db(0xfd); db(0x2a); db(0x4e); db(0x75); db(0x22); db(0x2c); db(0x00); db(0x22);
- db(0x70); db(0x00); db(0x08); db(0x01); db(0x00); db(0x00); db(0x67); db(0x04);
- db(0x08); db(0xc0); db(0x00); db(0x0e); db(0x08); db(0x01); db(0x00); db(0x01);
- db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x08); db(0x01);
- db(0x00); db(0x02); db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0c);
- db(0x35); db(0x40); db(0x00); db(0x08); db(0x4e); db(0x75); db(0x4a); db(0xa9);
- db(0x02); db(0x08); db(0x67); db(0x18); db(0x4a); db(0xa9); db(0x02); db(0x0c);
- db(0x67); db(0x12); db(0x20); db(0x69); db(0x02); db(0x10); db(0x30); db(0x28);
- db(0x00); db(0x02); db(0xb0); db(0x69); db(0x00); db(0x16); db(0x67); db(0x18);
- db(0x33); db(0x40); db(0x00); db(0x16); db(0x2f); db(0x09); db(0x2c); db(0x69);
- db(0x00); db(0x26); db(0x20); db(0x29); db(0x00); db(0x22); db(0x22); db(0x69);
- db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x22); db(0x5f);
- db(0x53); db(0x69); db(0x00); db(0x46); db(0x6a); db(0x10); db(0x33); db(0x7c);
- db(0x00); db(0x32); db(0x00); db(0x46); db(0x30); db(0x3c); db(0xff); db(0xff);
- db(0x61); db(0x00); db(0x09); db(0x36); db(0x50); db(0xd0); db(0x41); db(0xf9);
- db(0x00); db(0xdf); db(0xf0); db(0x00); db(0x70); db(0x00); db(0x4e); db(0x75);
- db(0x48); db(0xe7); db(0x00); db(0x06); db(0x30); db(0x3c); db(0xff); db(0x38);
- db(0x72); db(0x11); db(0x61); db(0x00); db(0x09); db(0x1c); db(0x4e); db(0x90);
- db(0x08); db(0x00); db(0x00); db(0x00); db(0x67); db(0x42); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88);
- db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0x40);
- db(0x2a); db(0x40); db(0x2b); db(0x4e); db(0x00); db(0x14); db(0x30); db(0x3c);
- db(0xff); db(0x38); db(0x72); db(0x0e); db(0x61); db(0x00); db(0x08); db(0xea);
- db(0x20); db(0x0d); db(0x4e); db(0x90); db(0x41); db(0xfa); db(0x09); db(0x6a);
- db(0x43); db(0xfa); db(0x01); db(0x12); db(0x70); db(0xf6); db(0x22); db(0x3c);
- db(0x00); db(0x00); db(0x27); db(0x10); db(0x61); db(0x00); db(0xeb); db(0x8c);
- db(0x70); db(0x00); db(0x4c); db(0xdf); db(0x60); db(0x00); db(0x4e); db(0x75);
- db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0a); db(0x61); db(0x00);
- db(0x08); db(0xc0); db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x61); db(0xf0);
- db(0x20); db(0x0d); db(0x67); db(0x1c); db(0x2c); db(0x6d); db(0x00); db(0x14);
- db(0x20); db(0x2d); db(0x00); db(0x18); db(0x67); db(0x06); db(0x22); db(0x40);
- db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x20); db(0x3c);
- db(0x00); db(0x00); db(0x00); db(0x88); db(0x4e); db(0xae); db(0xff); db(0x2e);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x3e);
- db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x08); db(0xf8);
- db(0x22); db(0x08); db(0x24); db(0x3c); db(0x00); db(0x00); db(0x03); db(0xed);
- db(0x4e); db(0xae); db(0xff); db(0xe2); db(0x28); db(0x00); db(0x67); db(0x4c);
- db(0x45); db(0xed); db(0x00); db(0x68); db(0x42); db(0x92); db(0x34); db(0xaa);
- db(0x00); db(0x02); db(0x24); db(0x0a); db(0x54); db(0x82); db(0x76); db(0x02);
- db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80);
- db(0x66); db(0x32); db(0x0c); db(0x92); db(0x50); db(0x4e); db(0x54); db(0x52);
- db(0x66); db(0xe4); db(0x24); db(0x0a); db(0x76); db(0x04); db(0x22); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0xd6); db(0x24); db(0x0a); db(0x76); db(0x20);
- db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80);
- db(0x66); db(0x12); db(0x4a); db(0x6a); db(0x00); db(0x10); db(0x66); db(0xc4);
- db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x10); db(0x61); db(0x00);
- db(0x08); db(0x30); db(0x4e); db(0x90); db(0x22); db(0x04); db(0x67); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0xdc); db(0x4c); db(0xdf); db(0x7c); db(0x1c);
- db(0x4e); db(0x75); db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa);
- db(0x08); db(0x70); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae);
- db(0xff); db(0xac); db(0x22); db(0x00); db(0x67); db(0x34); db(0x4e); db(0xae);
- db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x45); db(0xed);
- db(0x00); db(0x38); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6);
- db(0x15); db(0x40); db(0x00); db(0x14); db(0x41); db(0xfa); db(0x08); db(0x60);
- db(0x24); db(0x88); db(0x25); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x12);
- db(0x00); db(0x0c); db(0x25); db(0x6d); db(0x00); db(0x08); db(0x00); db(0x10);
- db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x22); db(0x0a); db(0x4e); db(0xae);
- db(0xfc); db(0x88); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x4e); db(0x75);
+ db(0x00); db(0x16); db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03);
+ db(0xa0); db(0x04); db(0x30); db(0x2c); db(0x00); db(0x1c); db(0x48); db(0xc0);
+ db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x2c); db(0x00); db(0x18);
+ db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x05);
+ db(0x30); db(0x2c); db(0x00); db(0x1e); db(0x48); db(0xc0); db(0xe1); db(0x80);
+ db(0x22); db(0xc0); db(0x70); db(0x00); db(0x30); db(0x2c); db(0x00); db(0x26);
+ db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x08);
+ db(0x22); db(0xc0); db(0x42); db(0x91); db(0x61); db(0x00); db(0xfc); db(0x40);
+ db(0x36); db(0x3c); db(0x00); db(0x68); db(0x74); db(0x01); db(0x28); db(0x2c);
+ db(0x00); db(0x22); db(0x20); db(0x04); db(0xc0); db(0x82); db(0x22); db(0x2b);
+ db(0x00); db(0x04); db(0xc2); db(0x82); db(0xb2); db(0x80); db(0x67); db(0x22);
+ db(0x42); db(0x92); db(0x35); db(0x7c); db(0x02); db(0x00); db(0x00); db(0x04);
+ db(0x42); db(0xaa); db(0x00); db(0x0a); db(0x32); db(0x03); db(0x4a); db(0x00);
+ db(0x66); db(0x04); db(0x08); db(0xc1); db(0x00); db(0x07); db(0x35); db(0x41);
+ db(0x00); db(0x06); db(0x42); db(0x6a); db(0x00); db(0x08); db(0x61); db(0x00);
+ db(0xfc); db(0x06); db(0x52); db(0x43); db(0xd4); db(0x42); db(0x0c); db(0x42);
+ db(0x00); db(0x08); db(0x66); db(0xc6); db(0x27); db(0x44); db(0x00); db(0x04);
+ db(0x10); db(0x2c); db(0x00); db(0x00); db(0x08); db(0x00); db(0x00); db(0x00);
+ db(0x67); db(0x00); db(0xfd); db(0x6e); db(0x42); db(0x92); db(0x35); db(0x7c);
+ db(0x04); db(0x00); db(0x00); db(0x04); db(0x42); db(0x6a); db(0x00); db(0x06);
+ db(0x61); db(0x00); db(0x00); db(0x38); db(0x20); db(0x6b); db(0x00); db(0x14);
+ db(0x30); db(0x2c); db(0x00); db(0x28); db(0x32); db(0x28); db(0x00); db(0x30);
+ db(0xd2); db(0x41); db(0x90); db(0x41); db(0x6a); db(0x02); db(0x70); db(0x00);
+ db(0x35); db(0x40); db(0x00); db(0x0a); db(0x30); db(0x2c); db(0x00); db(0x2a);
+ db(0x32); db(0x28); db(0x00); db(0x2e); db(0xd2); db(0x41); db(0x90); db(0x41);
+ db(0x6a); db(0x02); db(0x70); db(0x00); db(0x35); db(0x40); db(0x00); db(0x0c);
+ db(0x61); db(0x00); db(0xfb); db(0x78); db(0x60); db(0x00); db(0xfd); db(0x2a);
+ db(0x4e); db(0x75); db(0x22); db(0x2c); db(0x00); db(0x22); db(0x70); db(0x00);
+ db(0x08); db(0x01); db(0x00); db(0x00); db(0x67); db(0x04); db(0x08); db(0xc0);
+ db(0x00); db(0x0e); db(0x08); db(0x01); db(0x00); db(0x01); db(0x67); db(0x04);
+ db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x08); db(0x01); db(0x00); db(0x02);
+ db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0c); db(0x35); db(0x40);
+ db(0x00); db(0x08); db(0x4e); db(0x75); db(0x4a); db(0xa9); db(0x02); db(0x08);
+ db(0x67); db(0x18); db(0x4a); db(0xa9); db(0x02); db(0x0c); db(0x67); db(0x12);
+ db(0x20); db(0x69); db(0x02); db(0x10); db(0x30); db(0x28); db(0x00); db(0x02);
+ db(0xb0); db(0x69); db(0x00); db(0x16); db(0x67); db(0x18); db(0x33); db(0x40);
+ db(0x00); db(0x16); db(0x2f); db(0x09); db(0x2c); db(0x69); db(0x00); db(0x26);
+ db(0x20); db(0x29); db(0x00); db(0x22); db(0x22); db(0x69); db(0x00); db(0x1e);
+ db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x22); db(0x5f); db(0x53); db(0x69);
+ db(0x00); db(0x46); db(0x6a); db(0x10); db(0x33); db(0x7c); db(0x00); db(0x32);
+ db(0x00); db(0x46); db(0x30); db(0x3c); db(0xff); db(0xff); db(0x61); db(0x00);
+ db(0x09); db(0x38); db(0x50); db(0xd0); db(0x41); db(0xf9); db(0x00); db(0xdf);
+ db(0xf0); db(0x00); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0x00); db(0x06); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x11);
+ db(0x61); db(0x00); db(0x09); db(0x1e); db(0x4e); db(0x90); db(0x08); db(0x00);
+ db(0x00); db(0x00); db(0x67); db(0x42); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88); db(0x22); db(0x3c);
+ db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0x40); db(0x2a); db(0x40);
+ db(0x2b); db(0x4e); db(0x00); db(0x14); db(0x30); db(0x3c); db(0xff); db(0x38);
+ db(0x72); db(0x0e); db(0x61); db(0x00); db(0x08); db(0xec); db(0x20); db(0x0d);
+ db(0x4e); db(0x90); db(0x41); db(0xfa); db(0x09); db(0x6c); db(0x43); db(0xfa);
+ db(0x01); db(0x14); db(0x70); db(0xf6); db(0x22); db(0x3c); db(0x00); db(0x00);
+ db(0x27); db(0x10); db(0x61); db(0x00); db(0xeb); db(0x46); db(0x70); db(0x00);
+ db(0x4c); db(0xdf); db(0x60); db(0x00); db(0x4e); db(0x75); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x0a); db(0x61); db(0x00); db(0x08); db(0xc2);
+ db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x61); db(0xf0); db(0x20); db(0x0d);
+ db(0x67); db(0x1c); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x2d);
+ db(0x00); db(0x18); db(0x67); db(0x06); db(0x22); db(0x40); db(0x4e); db(0xae);
+ db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x20); db(0x3c); db(0x00); db(0x00);
+ db(0x00); db(0x88); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00);
+ db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x3e); db(0x2c); db(0x6d);
+ db(0x00); db(0x18); db(0x41); db(0xfa); db(0x08); db(0xfa); db(0x22); db(0x08);
+ db(0x24); db(0x3c); db(0x00); db(0x00); db(0x03); db(0xed); db(0x4e); db(0xae);
+ db(0xff); db(0xe2); db(0x28); db(0x00); db(0x67); db(0x4c); db(0x45); db(0xed);
+ db(0x00); db(0x68); db(0x42); db(0x92); db(0x34); db(0xaa); db(0x00); db(0x02);
+ db(0x24); db(0x0a); db(0x54); db(0x82); db(0x76); db(0x02); db(0x22); db(0x04);
+ db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80); db(0x66); db(0x32);
+ db(0x0c); db(0x92); db(0x50); db(0x4e); db(0x54); db(0x52); db(0x66); db(0xe4);
+ db(0x24); db(0x0a); db(0x76); db(0x04); db(0x22); db(0x04); db(0x4e); db(0xae);
+ db(0xff); db(0xd6); db(0x24); db(0x0a); db(0x76); db(0x20); db(0x22); db(0x04);
+ db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80); db(0x66); db(0x12);
+ db(0x4a); db(0x6a); db(0x00); db(0x10); db(0x66); db(0xc4); db(0x30); db(0x3c);
+ db(0xff); db(0x38); db(0x72); db(0x10); db(0x61); db(0x00); db(0x08); db(0x32);
+ db(0x4e); db(0x90); db(0x22); db(0x04); db(0x67); db(0x04); db(0x4e); db(0xae);
+ db(0xff); db(0xdc); db(0x4c); db(0xdf); db(0x7c); db(0x1c); db(0x4e); db(0x75);
+ db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x08); db(0x72);
+ db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac);
+ db(0x22); db(0x00); db(0x67); db(0x34); db(0x4e); db(0xae); db(0xff); db(0xa6);
+ db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x45); db(0xed); db(0x00); db(0x38);
+ db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x15); db(0x40);
+ db(0x00); db(0x14); db(0x41); db(0xfa); db(0x08); db(0x62); db(0x24); db(0x88);
+ db(0x25); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x12); db(0x00); db(0x0c);
+ db(0x25); db(0x6d); db(0x00); db(0x08); db(0x00); db(0x10); db(0x2c); db(0x6d);
+ db(0x00); db(0x18); db(0x22); db(0x0a); db(0x4e); db(0xae); db(0xfc); db(0x88);
+ db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x4e); db(0x75); db(0x00); db(0x00);
  db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
  db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0d); db(0x61); db(0x00);
  db(0x07); db(0xc0); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00);
- db(0xfe); db(0xfe); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14);
+ db(0xfe); db(0xfc); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14);
  db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x2b); db(0x40);
  db(0x00); db(0x08); db(0x43); db(0xfa); db(0x08); db(0xc0); db(0x70); db(0x00);
  db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2b); db(0x40); db(0x00); db(0x18);
- db(0x67); db(0x00); db(0xfe); db(0xdc); db(0x2c); db(0x40); db(0x72); db(0x32);
+ db(0x67); db(0x00); db(0xfe); db(0xda); db(0x2c); db(0x40); db(0x72); db(0x32);
  db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x07); db(0xc6);
  db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac);
  db(0x4a); db(0x80); db(0x67); db(0xea); db(0x22); db(0x00); db(0x4e); db(0xae);
  db(0xff); db(0xa6); db(0x72); db(0x32); db(0x4e); db(0xae); db(0xff); db(0x3a);
  db(0x41); db(0xfa); db(0x07); db(0xb0); db(0x22); db(0x08); db(0x74); db(0xfe);
  db(0x4e); db(0xae); db(0xff); db(0xac); db(0x4a); db(0x80); db(0x67); db(0x00);
- db(0xfe); db(0xa6); db(0x22); db(0x00); db(0x4e); db(0xae); db(0xff); db(0xa6);
- db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x61); db(0x00); db(0xf7); db(0xf2);
+ db(0xfe); db(0xa4); db(0x22); db(0x00); db(0x4e); db(0xae); db(0xff); db(0xa6);
+ db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x61); db(0x00); db(0xf7); db(0xf0);
  db(0x72); db(0x00); db(0x32); db(0x3c); db(0x00); db(0x34); db(0x61); db(0x00);
- db(0xf8); db(0x36); db(0x28); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x00);
- db(0xfe); db(0x86); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
+ db(0xf8); db(0x34); db(0x28); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x00);
+ db(0xfe); db(0x84); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d);
  db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x72); db(0x00); db(0x20); db(0x2d);
  db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x07); db(0x89); db(0x22); db(0x4c);
  db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x4a); db(0x80); db(0x66); db(0xe2);
  db(0x20); db(0x6c); db(0x00); db(0x14); db(0x0c); db(0x68); db(0x00); db(0x25);
- db(0x00); db(0x14); db(0x64); db(0x0c); db(0x61); db(0x00); db(0xfe); db(0x4a);
+ db(0x00); db(0x14); db(0x64); db(0x0c); db(0x61); db(0x00); db(0xfe); db(0x48);
  db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x60); db(0xf8);
- db(0x61); db(0x00); db(0xfe); db(0xe8); db(0x41); db(0xed); db(0x00); db(0x1c);
+ db(0x61); db(0x00); db(0xfe); db(0xe6); db(0x41); db(0xed); db(0x00); db(0x1c);
  db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40);
  db(0x00); db(0x24); db(0x39); db(0x7c); db(0x00); db(0x0c); db(0x00); db(0x1c);
  db(0x2b); db(0x4d); db(0x00); db(0x2c); db(0x41); db(0xfa); db(0x01); db(0x60);
  db(0x00); db(0x00); db(0x66); db(0x1c); db(0x70); db(0x00); db(0x74); db(0x00);
  db(0x14); db(0x2d); db(0x00); db(0x4c); db(0x05); db(0xc0); db(0x08); db(0xc0);
  db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x05); db(0x00);
- db(0x67); db(0x06); db(0x61); db(0x00); db(0xfe); db(0x20); db(0x60); db(0xe4);
+ db(0x67); db(0x06); db(0x61); db(0x00); db(0xfe); db(0x1e); db(0x60); db(0xe4);
  db(0x20); db(0x2d); db(0x00); db(0x00); db(0x67); db(0x00); db(0x00); db(0x76);
  db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2b); db(0x40);
  db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0c);
  db(0x4c); db(0xdf); db(0x01); db(0x03); db(0x4e); db(0x75); db(0x2c); db(0x78);
  db(0x00); db(0x04); db(0x41); db(0xfa); db(0x05); db(0xfb); db(0x43); db(0xfa);
  db(0x00); db(0x14); db(0x70); db(0x0f); db(0x22); db(0x3c); db(0x00); db(0x00);
- db(0x1f); db(0x40); db(0x61); db(0x00); db(0xe7); db(0x96); db(0x4e); db(0x75);
+ db(0x1f); db(0x40); db(0x61); db(0x00); db(0xe7); db(0x4e); db(0x4e); db(0x75);
  db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
  db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x00); db(0x43); db(0xfa);
  db(0x05); db(0xe4); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x72); db(0x02);
  db(0xd8); db(0xfc); db(0x00); db(0x10); db(0x53); db(0x87); db(0x66); db(0xc2);
  db(0x4c); db(0xdf); db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x55); db(0x41);
  db(0x45); db(0x20); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x00);
- db(0x41); db(0xfa); db(0xe0); db(0x92); db(0x02); db(0x80); db(0x00); db(0x00);
+ db(0x41); db(0xfa); db(0xe0); db(0x4a); db(0x02); db(0x80); db(0x00); db(0x00);
  db(0xff); db(0xff); db(0xd1); db(0xc0); db(0x4e); db(0x75); db(0x69); db(0x6e);
  db(0x70); db(0x75); db(0x74); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69);
  db(0x63); db(0x65); db(0x00); db(0x74); db(0x69); db(0x6d); db(0x65); db(0x72);
index 69de74059877896866ad2e3dc78e430ce15874d0..0ccae101fbf4c7682235fe7264ccdb4d45afa010 100644 (file)
@@ -53,6 +53,9 @@
 #define RTAREA_TRAP_SEND_STATUS (RTAREA_TRAP_STATUS + RTAREA_TRAP_STATUS_SIZE * RTAREA_TRAP_DATA_NUM)
 #define RTAREA_TRAP_SEND_DATA (RTAREA_TRAP_DATA + RTAREA_TRAP_DATA_SLOT_SIZE * RTAREA_TRAP_DATA_NUM)
 
+#define UAEBOARD_DATAREGION_START 0x4000
+#define UAEBOARD_DATAREGION_SIZE 0xc000
+
 extern uae_u32 addr (int);
 extern void db (uae_u8);
 extern void dw (uae_u16);
@@ -138,6 +141,7 @@ extern void expansion_clear (void);
 extern void expansion_autoconfig_put(int, uae_u8);
 extern uaecptr expansion_startaddress(uaecptr addr, uae_u32 size);
 extern bool expansion_is_next_board_fastram(void);
+extern uaecptr uaeboard_alloc_ram(uae_u32);
 
 extern void uaegfx_install_code (uaecptr);
 
index ebc1a2f44fd64d8d4f17319ee96de5366c50c769..27e591484df1d519df1698320d9a49e42fb159a5 100644 (file)
@@ -44,8 +44,7 @@ extern void init_row_map (void);
 extern void init_hz_normal (void);
 extern void init_custom (void);
 
-extern bool picasso_requested_on;
-extern bool picasso_on;
+extern bool picasso_requested_on, picasso_requested_forced_on, picasso_on;
 extern void set_picasso_hack_rate (int hz);
 
 /* Set to 1 to leave out the current frame in average frame time calculation.
index 724877623b2cd803cbfb3092715c75409cf035cf..910431ead210bc9427674cbee673143fc350e9e2 100644 (file)
@@ -66,6 +66,7 @@ extern uae_u16 kickstart_version;
 extern int uae_boot_rom_type;
 extern int uae_boot_rom_size;
 extern uaecptr rtarea_base;
+extern uaecptr uaeboard_base;
 
 extern uae_u8* baseaddr[];
 
index a48fb7c9eae9620f2a3e531513978b4cbbb9dc25..2b8edab9e29fa133bc5f2107feb13467b9e30b93 100644 (file)
@@ -101,6 +101,9 @@ void trap_reset(void);
 typedef uae_u32 (*TRAP_CALLBACK)(TrapContext*, void*);
 void trap_callback(TRAP_CALLBACK, void*);
 
+void trap_memcpyha_safe(TrapContext *ctx, uaecptr dst, const uae_u8 *src, int size);
+void trap_memcpyah_safe(TrapContext *ctx, uae_u8 *dst, uaecptr src, int size);
+
 TrapContext *alloc_host_main_trap_context(void);
 void free_host_trap_context(TrapContext*);
 
index 3a7dcef4624d3fbfde8a294263441c9d8967319f..e6c68263fda2da8d4e4879c2ce14768aa78d50cf 100644 (file)
@@ -3099,19 +3099,19 @@ uae_u8 *save_rom (int first, int *len, uae_u8 *dstptr)
 
 /* memory helpers */
 
-void memcpyha_safe (uaecptr dst, const uae_u8 *src, int size)
+void memcpyha_safe(uaecptr dst, const uae_u8 *src, int size)
 {
        if (!addr_valid (_T("memcpyha"), dst, size))
                return;
        while (size--)
                put_byte (dst++, *src++);
 }
-void memcpyha (uaecptr dst, const uae_u8 *src, int size)
+void memcpyha(uaecptr dst, const uae_u8 *src, int size)
 {
        while (size--)
                put_byte (dst++, *src++);
 }
-void memcpyah_safe (uae_u8 *dst, uaecptr src, int size)
+void memcpyah_safe(uae_u8 *dst, uaecptr src, int size)
 {
        if (!addr_valid (_T("memcpyah"), src, size))
                return;
index 1571df9a18899d8f191c580351480f5aabbf3563..5e46223db9565ee258930268aee6d24cda4ad7fd 100644 (file)
@@ -99,6 +99,7 @@ static LPDIRECT3DTEXTURE9 lpPostTempTexture;
 #define SHADER_POST 0
 static struct shaderdata shaders[MAX_SHADERS];
 
+static IDirect3DSurface9 *screenshotsurface;
 static D3DFORMAT tformat;
 static int d3d_enabled, d3d_ex;
 static IDirect3D9 *d3d;
@@ -2168,6 +2169,9 @@ static int restoredeviceobjects (void)
 static void D3D_free2 (void)
 {
        invalidatedeviceobjects ();
+       if (screenshotsurface)
+               screenshotsurface->Release();
+       screenshotsurface = NULL;
        if (d3ddev) {
                d3ddev->Release ();
                d3ddev = NULL;
@@ -2616,6 +2620,11 @@ static const TCHAR *D3D_init2 (HWND ahwnd, int w_w, int w_h, int depth, int *fre
                        write_log (_T("%s: SetMaximumFrameLatency() failed: %s\n"), D3DHEAD, D3D_ErrorString (hr));
        }
 
+       hr = d3ddev->CreateOffscreenPlainSurface(w_w, w_h, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &screenshotsurface, NULL);
+       if (FAILED(hr)) {
+               write_log(_T("%s: CreateOffscreenPlainSurface failed: %s\n"), D3DHEAD, D3D_ErrorString(hr));
+       }
+
        return 0;
 }
 
index d5a8c46b4e67455a2221309e7df66d386042f7d6..0102d4fec3ea4ad80d4ed9cab1745947155f386e 100644 (file)
@@ -651,6 +651,12 @@ void *uae_shmat (addrbank *ab, int shmid, void *shmaddr, int shmflg)
                        got = true;
                        readonly = true;
                        readonlysize = RTAREA_TRAPS;
+               } else if (!_tcscmp(shmids[shmid].name, _T("uaeboard"))) {
+                       if (currprefs.uaeboard > 1)
+                               shmaddr = natmem_offset + rtarea_base - 65536;
+                       else
+                               shmaddr = natmem_offset + 0xe90000; // FIXME!
+                       got = true;
                } else if (!_tcscmp(shmids[shmid].name, _T("fmv_rom"))) {
                        got = true;
                        shmaddr = natmem_offset + 0x200000;
@@ -752,16 +758,6 @@ void *uae_shmat (addrbank *ab, int shmid, void *shmaddr, int shmflg)
                        got = true;
                        if (currprefs.bogomem_size <= 0x100000)
                                size += BARRIER;
-#if 0
-               } else if(!_tcscmp (shmids[shmid].name, _T("filesys"))) {
-                       static uae_u8 *filesysptr;
-                       if (filesysptr == NULL)
-                               filesysptr = xcalloc (uae_u8, size);
-                       result = filesysptr;
-                       shmids[shmid].attached = result;
-                       shmids[shmid].fake = true;
-                       return result;
-#endif
                } else if(!_tcscmp (shmids[shmid].name, _T("custmem1"))) {
                        shmaddr=natmem_offset + currprefs.custom_memory_addrs[0];
                        got = true;
index 4213f2436b3c3747545b2bd63e7c2c53b78e2096..96aa778cc38289f8749b43525ca7d58065029e17 100644 (file)
@@ -536,7 +536,13 @@ static void setcursorshape (void)
 
 static void releasecapture (void)
 {
-       //write_log (_T("releasecapture %d\n"), showcursor);
+       //write_log(_T("releasecapture %d\n"), showcursor);
+#if 0
+       CURSORINFO pci;
+       pci.cbSize = sizeof pci;
+       GetCursorInfo(&pci);
+       write_log(_T("PCI %08x %p %d %d\n"), pci.flags, pci.hCursor, pci.ptScreenPos.x, pci.ptScreenPos.y);
+#endif
        if (!showcursor)
                return;
        ClipCursor (NULL);
@@ -679,7 +685,6 @@ static void setmouseactive2 (int active, bool allowpause)
                                showcursor = 1;
                                updatemouseclip ();
                        }
-                       showcursor = 1;
                        setcursor (-30000, -30000);
                }
                inputdevice_acquire (TRUE);
@@ -1579,6 +1584,7 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam,
                        device_change_timer = 0;
                        KillTimer(hWnd, 4);
                        inputdevice_devicechange (&changed_prefs);
+                       inputdevice_copyjports(&changed_prefs, &workprefs);
                } else if (wParam == 1) {
 #ifdef PARALLEL_PORT
                        finishjob ();
index 5369bbcbf15528dc6c668413c35cf4c9f383daf0..83a71407941a9606978535445f292f4d2f50a317 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 1
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("4")
+#define WINUAEBETA _T("5")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2016, 2, 7)
+#define WINUAEDATE MAKEBD(2016, 2, 10)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 3118ce3a2b21ba188c37308c94931994f6d2886e..9474366080fe159241bfe63cde3e2e60b17d3ba6 100644 (file)
@@ -2058,7 +2058,7 @@ int target_cfgfile_load (struct uae_prefs *p, const TCHAR *filename, int type, i
        }
        type2 = type;
        if (type == 0 || type == 3) {
-               default_prefs (p, type);
+               default_prefs (p, true, type);
                write_log(_T("config reset\n"));
 #if 0
                if (isdefault == 0) {
@@ -6539,7 +6539,7 @@ static int *getp_da (HWND hDlg)
        case 6:
                p = &workprefs.gfx_threebitcolors;
                vmin = 0;
-               vmax = 2;
+               vmax = 3;
                da_mode_multiplier = 1;
                break;
        }
@@ -18765,7 +18765,7 @@ static int GetSettings (int all_options, HWND hwnd)
        allow_quit = all_options;
        pguiprefs = &currprefs;
        memset (&workprefs, 0, sizeof (struct uae_prefs));
-       default_prefs (&workprefs, 0);
+       default_prefs (&workprefs, false, 0);
 
        szNone = WIN32GUI_LoadUIString (IDS_NONE);
        prefs_to_gui (&changed_prefs);
@@ -19047,7 +19047,7 @@ int gui_init (void)
        int ret;
 
        read_rom_list ();
-       default_prefs(&workprefs, 0);
+       default_prefs(&workprefs, false, 0);
        prefs_to_gui(&changed_prefs);
        inputdevice_updateconfig(NULL, &workprefs);
        for (;;) {
index 1fa1da4ef051a9e70af6852a3dcd1912008b5210..c3fd90b5b87cf9983e07164e88a5e2c6e4e3eb16 100644 (file)
@@ -31,6 +31,8 @@ struct newresource
 #define GUI_INTERNAL_HEIGHT 600
 #define GUI_INTERNAL_FONT 8
 
+extern struct uae_prefs workprefs;
+
 extern struct newresource *scaleresource (struct newresource *res, HWND, int, int, DWORD);
 extern void freescaleresource (struct newresource*);
 extern void scaleresource_setmult (HWND hDlg, int w, int h, int fs);
index 13472a91c44558a69247256025f0950bce4e8fe8..13203199da785d7997ff1c639d0076d824e58829 100644 (file)
@@ -1,4 +1,21 @@
 
+Beta 5:
+
+- Game Ports mouse and joystick was always reset to defaults (b4)
+- Dark palette fix adjustment is now calculated before other adjustments (brightness, contrast, gamme)
+- Dark palette fix third option added, pre-converted Atari ST palette increased to full range, 12-bit EEE becomes
+  nearly full white, FCFCFC in 24-bit RGB space. (Not FFFFFF because palette would not be linear anymore)
+
+OS4 UAE expansion updates:
+
+- Directory filesystem random errors fixed.
+- Directory filesystem/CDFS CD on the fly insertion/removal supported! (It wasn't that difficult after all)
+- uaescsi.device supported.
+
+NOTE: Try not to change uaegfx resolution in OS4, it can cause mysterious crashes or side-effects. Fix coming later.
+
+TODO: bsdsocket.library and fixing random hangs.
+
 Beta 4:
 
 - Default game ports config without default.uae (Mouse + keyboard layout A) was not set. (b3)
index c4dc06382eed7aa156d2d1b28b748d2e76a19c1b..fd32188edba9aa336d226ec6cc538f5cb0024ab8 100644 (file)
@@ -489,9 +489,9 @@ void ppc_map_banks(uae_u32 start, uae_u32 size, const TCHAR *name, void *addr, b
        r.alias = remove ? 0xffffffff : 0;
        r.memory = addr;
 
-       // Map first half directly, it contains code only.
-       // Second half has dynamic data, it must not be direct mapped.
        if (r.start == rtarea_base && rtarea_base) {
+               // Map first half directly, it contains code only.
+               // Second half has dynamic data, it must not be direct mapped.
                r.memory = rtarea_bank.baseaddr;
                r.size = RTAREA_DATAREGION;
                ppc_map_region(&r);
@@ -500,6 +500,16 @@ void ppc_map_banks(uae_u32 start, uae_u32 size, const TCHAR *name, void *addr, b
                r.name = ua(name);
                r.alias = remove ? 0xffffffff : 0;
                r.memory = NULL;
+       } else if (r.start == uaeboard_base && uaeboard_base) {
+               // Opposite here, first half indirect, second half direct.
+               r.memory = NULL;
+               r.size = UAEBOARD_DATAREGION_START;
+               ppc_map_region(&r);
+               r.start = start + UAEBOARD_DATAREGION_START;
+               r.size = UAEBOARD_DATAREGION_SIZE;
+               r.name = ua(name);
+               r.alias = remove ? 0xffffffff : 0;
+               r.memory = uaeboard_bank.baseaddr + UAEBOARD_DATAREGION_START;
        }
        ppc_map_region(&r);
 }
index 5d7588c1e3de7e212edf5b5a53656f8cae8b2b23..09c40ff51a692e4b2c566c5930bdf09bb4c7a6a8 100644 (file)
--- a/traps.cpp
+++ b/traps.cpp
@@ -224,7 +224,7 @@ struct TrapContext
        uaecptr amiga_trap_data;
        uaecptr amiga_trap_status;
        /* do not ack automatically */
-       volatile int trap_background;
+       volatile uae_atomic trap_background;
        volatile bool trap_done;
        uae_u32 calllib_regs[16];
        uae_u8 calllib_reg_inuse[16];
@@ -392,9 +392,12 @@ void trap_background_set_complete(TrapContext *ctx)
                return;
        if (!ctx || !ctx->trap_background)
                return;
-       ctx->trap_background--;
+       atomic_dec(&ctx->trap_background);
        if (!ctx->trap_background) {
-               while (!ctx->trap_done);
+               if (!ctx->trap_done) {
+                       write_log(_T("trap_background_set_complete(%d) still waiting!?\n"), ctx->tindex);
+                       while (!ctx->trap_done);
+               }
                hardware_trap_ack(ctx);
        }
 }
@@ -885,7 +888,7 @@ void trap_set_background(TrapContext *ctx)
                return;
        if (!trap_is_indirect())
                return;
-       ctx->trap_background++;
+       atomic_inc(&ctx->trap_background);
 }
 
 bool trap_valid_address(TrapContext *ctx, uaecptr addr, uae_u32 size)
@@ -1338,3 +1341,20 @@ void trap_multi(TrapContext *ctx, struct trapmd *data, int items)
                }
        }
 }
+
+void trap_memcpyha_safe(TrapContext *ctx, uaecptr dst, const uae_u8 *src, int size)
+{
+       if (trap_is_indirect()) {
+               trap_put_bytes(ctx, src, dst, size);
+       } else {
+               memcpyha_safe(dst, src, size);
+       }
+}
+void trap_memcpyah_safe(TrapContext *ctx, uae_u8 *dst, uaecptr src, int size)
+{
+       if (trap_is_indirect()) {
+               trap_get_bytes(ctx, dst, src, size);
+       } else {
+               memcpyah_safe(dst, src, size);
+       }
+}
\ No newline at end of file