*Added support for all the currently new IOS stuff. Stole a few modules/plugins from WiiFlow here :P. (Tested Hermes 222 v5.1 base 38 and Waninkoko 249 base 57)

*Added support for older Hermes IOS too (rev 2 and rev 3)
*Changed Alternative Dol Browser to get the filelist (fst) with functions from libwbfs (like banner sounds) instead of from an emulated disk. This should fix all the weird crashes with it.
This commit is contained in:
dimok321 2010-10-01 15:01:19 +00:00
parent 8f94b1dde8
commit a4f3d16a56
36 changed files with 5435 additions and 1505 deletions

View File

@ -25,6 +25,7 @@ SOURCES := source \
source/libwbfs \
source/language \
source/mload \
source/mload/modules \
source/patches \
source/usbloader \
source/xml \

File diff suppressed because one or more lines are too long

View File

@ -1,124 +0,0 @@
/****************************************************************************
* USB Loader GX Team
* banner.c
*
* Dump opening.bnr thanks to Wiipower
***************************************************************************/
#include <gctypes.h>
#include <gccore.h>
#include <ogcsys.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <malloc.h>
#include "libfat/fat.h"
#include "fatmounter.h"
#include "usbloader/wdvd.h"
#include "usbloader/disc.h"
#include "banner.h"
#include "patches/fst.h"
#include "usbloader/fstfile.h"
s32 dump_banner(const u8* discid, const char * dest)
{
// Mount the disc
//Disc_SetWBFS(1, (u8*)discid);
Disc_SetUSB(discid);
Disc_Open();
u64 offset;
s32 ret;
ret = __Disc_FindPartition(&offset);
if (ret < 0) return ret;
ret = WDVD_OpenPartition(offset);
if (ret < 0)
{
//printf("ERROR: OpenPartition(0x%llx) %d\n", offset, ret);
return ret;
}
// Read where to find the fst.bin
u32 *buffer = memalign(32, 0x20);
if (buffer == NULL)
{
//Out of memory
return -1;
}
ret = WDVD_Read(buffer, 0x20, 0x420);
if (ret < 0) return ret;
// Read fst.bin
void *fstbuffer = memalign(32, buffer[2] * 4);
FST_ENTRY *fst = (FST_ENTRY *) fstbuffer;
if (fst == NULL)
{
//Out of memory
free(buffer);
return -1;
}
ret = WDVD_Read(fstbuffer, buffer[2] * 4, buffer[1] * 4);
if (ret < 0) return ret;
free(buffer);
// Search the fst.bin
u32 count = fst[0].filelen;
int i;
u32 index = 0;
for (i = 1; i < count; i++)
{
if (strstr(fstfiles(fst, i), "opening.bnr") != NULL)
{
index = i;
}
}
if (index == 0)
{
//opening.bnr not found
free(fstbuffer);
return -1;
}
// Load the .bnr
u8 *banner = memalign(32, fst[index].filelen);
if (banner == NULL)
{
//Out of memory
free(fstbuffer);
return -1;
}
ret = WDVD_Read((void *) banner, fst[index].filelen, fst[index].fileoffset * 4);
if (ret < 0) return ret;
WDVD_Reset();
WDVD_ClosePartition();
//fatInitDefault();
//SDCard_Init();
WDVD_SetUSBMode(NULL, 0);
FILE *fp = fopen(dest, "wb");
if (fp)
{
fwrite(banner, 1, fst[index].filelen, fp);
fclose(fp);
}
free(fstbuffer);
free(banner);
return 1;
}

View File

@ -1,22 +0,0 @@
/****************************************************************************
* USB Loader GX Team
* banner.h
*
* Dump opening.bnr thanks to Wiipower
***************************************************************************/
#ifndef BANNER_H
#define BANNER_H
#ifdef __cplusplus
extern "C"
{
#endif
s32 dump_banner(const u8 *discid, const char * dest);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -23,7 +23,6 @@
#include "libfat/fat.h"
#include "MD5.h"
#include "banner.h"
#include "openingbnr.h"
#include "FileOperations/fileops.h"

View File

@ -7,6 +7,7 @@
void aes_set_key(u8 *key);
void aes_decrypt(u8 *iv, u8 *inbuf, u8 *outbuf, unsigned long long len);
static u8 get_fst = 0;
static void _decrypt_title_key(u8 *tik, u8 *title_key)
{
@ -166,6 +167,12 @@ static void do_files(wiidisc_t*d)
partition_read(d, fst_offset, fst, fst_size, 0);
n_files = _be32(fst + 8);
if(get_fst && !d->extracted_buffer)
{
d->extracted_buffer = malloc(fst_size);
memcpy(d->extracted_buffer, fst, fst_size);
}
if (d->extract_pathname && *d->extract_pathname == 0)
{
// if empty pathname requested return fst
@ -312,6 +319,21 @@ u8 * wd_extract_file(wiidisc_t *d, partition_selector_t partition_type, char *pa
return retval;
}
u8 * wd_get_fst(wiidisc_t *d, partition_selector_t partition_type)
{
get_fst = 1;
u8 *retval = 0;
d->extract_pathname = 0;
d->extracted_buffer = 0;
d->part_sel = partition_type;
do_disc(d);
d->extract_pathname = 0;
d->part_sel = ALL_PARTITIONS;
retval = d->extracted_buffer;
d->extracted_buffer = 0;
return retval;
}
void wd_build_disc_usage(wiidisc_t *d, partition_selector_t selector, u8* usage_table)
{
d->sector_usage_table = usage_table;

View File

@ -56,6 +56,7 @@ extern "C"
// effectively remove not copied partition from the partition table.
void wd_fix_partition_table(wiidisc_t *d, partition_selector_t selector, u8* partition_table);
u8 * wd_get_fst(wiidisc_t *d, partition_selector_t partition_type);
#if 0
{

View File

@ -24,6 +24,7 @@
#include "themes/Theme_Downloader.h"
#include "usbloader/disc.h"
#include "usbloader/GameList.h"
#include "mload/mload_modules.h"
#include "xml/xml.h"
#include "audio.h"
#include "gecko.h"
@ -484,8 +485,11 @@ int MainMenu(int menu)
gprintf("\tDisc_wiiBoot\n");
ret = Disc_WiiBoot(Settings.dolpath, videoChoice, languageChoice, ocarinaChoice, viChoice, countrystrings,
alternatedol, alternatedoloffset, channel, fix002);
shadow_mload();
ret = Disc_WiiBoot(Settings.dolpath, videoChoice, languageChoice, ocarinaChoice, viChoice, countrystrings,
alternatedol, alternatedoloffset, channel, fix002);
if (ret < 0)
{
Sys_LoadMenu();

View File

@ -1,35 +1,27 @@
/* mload.c (for PPC) (c) 2009, Hermes
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "mload.h"
#include "dip_plugin.h"
#include <malloc.h>
#include "gecko.h"
static const char mload_fs[] ATTRIBUTE_ALIGN( 32 ) = "/dev/mload";
//static u32 patch_datas[8] ATTRIBUTE_ALIGN(32);
static const char mload_fs[] ATTRIBUTE_ALIGN(32) = "/dev/mload";
static s32 mload_fd = -1;
static s32 hid = -1;
//static data_elf my_data_elf;
//static int thread_id = -1;
//void *external_ehcmodule= NULL;
//int size_external_ehcmodule=0;
/*--------------------------------------------------------------------------------------------------------------*/
@ -39,40 +31,41 @@ int mload_init()
{
int n;
if (hid < 0) hid = iosCreateHeap(0x800);
if(hid<0) hid = iosCreateHeap(0x800);
if (hid < 0)
{
if (mload_fd >= 0) IOS_Close(mload_fd);
if(hid<0)
{
if(mload_fd>=0)
IOS_Close(mload_fd);
mload_fd = -1;
mload_fd=-1;
return hid;
}
return hid;
}
if (mload_fd >= 0)
{
return 0;
}
if(mload_fd>=0)
{
return 0;
}
for (n = 0; n < 20; n++) // try 5 seconds
{
mload_fd = IOS_Open(mload_fs, 0);
for(n=0;n<20;n++) // try 5 seconds
{
mload_fd=IOS_Open(mload_fs, 0);
if (mload_fd >= 0) break;
if(mload_fd>=0) break;
usleep(250 * 1000);
}
usleep(250*1000);
}
if (mload_fd < 0)
{
if(mload_fd<0)
{
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
}
if(hid>=0)
{
iosDestroyHeap(hid);
hid=-1;
}
}
return mload_fd;
}
@ -85,17 +78,17 @@ int mload_close()
{
int ret;
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
if(hid>=0)
{
iosDestroyHeap(hid);
hid=-1;
}
if (mload_fd < 0) return -1;
if(mload_fd<0) return -1;
ret = IOS_Close(mload_fd);
ret=IOS_Close(mload_fd);
mload_fd = -1;
mload_fd=-1;
return ret;
}
@ -108,12 +101,11 @@ int mload_get_thread_id()
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_MLOAD_THREAD_ID, ":");
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_MLOAD_THREAD_ID, ":");
return ret;
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -124,12 +116,11 @@ int mload_get_load_base(u32 *starlet_base, int *size)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_LOAD_BASE, ":ii", starlet_base, size);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_LOAD_BASE, ":ii",starlet_base, size);
return ret;
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -140,50 +131,44 @@ int mload_get_load_base(u32 *starlet_base, int *size)
int mload_module(void *addr, int len)
{
int ret;
void *buf = NULL;
void *buf=NULL;
if (mload_init() < 0) return -1;
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
if(mload_init()<0) return -1;
hid = iosCreateHeap(len + 0x800);
if(hid>=0)
{
iosDestroyHeap(hid);
hid=-1;
}
if (hid < 0) return hid;
hid = iosCreateHeap(len+0x800);
buf = iosAlloc(hid, len);
if(hid<0) return hid;
if (!buf)
{
ret = -1;
goto out;
}
buf= iosAlloc(hid, len);
memcpy(buf, addr, len);
if(!buf) {ret= -1;goto out;}
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_LOAD_MODULE, ":d", buf, len);
if (ret < 0) goto out;
memcpy(buf, addr,len);
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_RUN_MODULE, ":");
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_LOAD_MODULE, ":d", buf, len);
if (ret < 0)
{
ret = -666;
goto out;
}
if(ret<0) goto out;
out: if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
ret=IOS_IoctlvFormat(hid, mload_fd, MLOAD_RUN_MODULE, ":");
if(ret<0) {ret= -666;goto out;}
out:
if(hid>=0)
{
iosDestroyHeap(hid);
hid=-1;
}
return ret;
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -193,66 +178,67 @@ int mload_module(void *addr, int len)
int mload_elf(void *my_elf, data_elf *data_elf)
{
int n, m;
int n,m;
int p;
u8 *adr;
u32 elf = (u32) my_elf;
u32 elf=(u32) my_elf;
if (elf & 3) return -1; // aligned to 4 please!
if(elf & 3) return -1; // aligned to 4 please!
elfheader *head = (void *) elf;
elfheader *head=(void *) elf;
elfphentry *entries;
if (head->ident0 != 0x7F454C46) return -1;
if (head->ident1 != 0x01020161) return -1;
if (head->ident2 != 0x01000000) return -1;
if(head->ident0!=0x7F454C46) return -1;
if(head->ident1!=0x01020161) return -1;
if(head->ident2!=0x01000000) return -1;
p = head->phoff;
p=head->phoff;
data_elf->start = (void *) head->entry;
data_elf->start=(void *) head->entry;
for (n = 0; n < head->phnum; n++)
{
entries = (void *) (elf + p);
p += sizeof(elfphentry);
if (entries->type == 4)
for(n=0; n<head->phnum; n++)
{
adr = (void *) (elf + entries->offset);
entries=(void *) (elf+p);
p+=sizeof(elfphentry);
if (getbe32( 0 ) != 0) return -2; // bad info (sure)
for (m = 4; m < entries->memsz; m += 8)
if(entries->type == 4)
{
switch (getbe32( m ))
adr=(void *) (elf + entries->offset);
if(getbe32(0)!=0) return -2; // bad info (sure)
for(m=4; (u32)m < entries->memsz; m+=8)
{
switch(getbe32(m))
{
case 0x9:
data_elf->start = (void *) getbe32( m + 4 );
data_elf->start= (void *) getbe32(m+4);
break;
case 0x7D:
data_elf->prio = getbe32( m + 4 );
data_elf->prio= getbe32(m+4);
break;
case 0x7E:
data_elf->size_stack = getbe32( m + 4 );
data_elf->size_stack= getbe32(m+4);
break;
case 0x7F:
data_elf->stack = (void *) (getbe32( m + 4 ));
data_elf->stack= (void *) (getbe32(m+4));
break;
}
}
}
else
if(entries->type == 1 && entries->memsz != 0 && entries->vaddr!=0)
{
if(mload_memset((void *) entries->vaddr, 0, entries->memsz)<0) return -1;
if(mload_seek(entries->vaddr, SEEK_SET)<0) return -1;
if(mload_write((void *) (elf + entries->offset), entries->filesz)<0) return -1;
}
}
else if (entries->type == 1 && entries->memsz != 0 && entries->vaddr != 0)
{
if (mload_memset((void *) entries->vaddr, 0, entries->memsz) < 0) return -1;
if (mload_seek(entries->vaddr, SEEK_SET) < 0) return -1;
if (mload_write((void *) (elf + entries->offset), entries->filesz) < 0) return -1;
}
}
return 0;
}
@ -265,10 +251,9 @@ int mload_run_thread(void *starlet_addr, void *starlet_top_stack, int stack_size
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_RUN_THREAD, "iiii:", starlet_addr, starlet_top_stack, stack_size,
priority);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_RUN_THREAD, "iiii:", starlet_addr,starlet_top_stack, stack_size, priority);
return ret;
}
@ -279,13 +264,13 @@ int mload_run_thread(void *starlet_addr, void *starlet_top_stack, int stack_size
int mload_stop_thread(int id)
{
int ret;
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_STOP_THREAD, "i:", id);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_STOP_THREAD, "i:", id);
return ret;
return ret;
}
@ -297,12 +282,11 @@ int mload_continue_thread(int id)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_CONTINUE_THREAD, "i:", id);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_CONTINUE_THREAD, "i:", id);
return ret;
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -310,9 +294,9 @@ int mload_continue_thread(int id)
int mload_seek(int offset, int mode)
{
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
return IOS_Seek(mload_fd, offset, mode);
return IOS_Seek(mload_fd, offset, mode);
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -321,9 +305,9 @@ int mload_seek(int offset, int mode)
int mload_read(void* buf, u32 size)
{
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
return IOS_Read(mload_fd, buf, size);
return IOS_Read(mload_fd, buf, size);
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -332,9 +316,9 @@ int mload_read(void* buf, u32 size)
int mload_write(const void * buf, u32 size)
{
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
return IOS_Write(mload_fd, buf, size);
return IOS_Write(mload_fd, buf, size);
}
/*--------------------------------------------------------------------------------------------------------------*/
@ -345,9 +329,9 @@ int mload_memset(void *starlet_addr, int set, int len)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_MEMSET, "iii:", starlet_addr, set, len);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_MEMSET, "iii:", starlet_addr, set, len);
return ret;
}
@ -360,10 +344,10 @@ void * mload_get_ehci_data()
{
int ret;
if (mload_init() < 0) return NULL;
if(mload_init()<0) return NULL;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_EHCI_DATA, ":");
if (ret < 0) return NULL;
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_EHCI_DATA, ":");
if(ret<0) return NULL;
return (void *) ret;
}
@ -376,20 +360,22 @@ int mload_set_ES_ioctlv_vector(void *starlet_addr)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_SET_ES_IOCTLV, "i:", starlet_addr);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_SET_ES_IOCTLV, "i:", starlet_addr);
return ret;
}
int mload_getw(const void * addr, u32 *dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETW, "i:i", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETW, "i:i", addr, dat);
return ret;
}
@ -398,9 +384,9 @@ int mload_geth(const void * addr, u16 *dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETH, "i:h", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETH, "i:h", addr, dat);
return ret;
}
@ -409,9 +395,9 @@ int mload_getb(const void * addr, u8 *dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETB, "i:b", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GETB, "i:b", addr, dat);
return ret;
}
@ -420,9 +406,9 @@ int mload_setw(const void * addr, u32 dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETW, "ii:", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETW, "ii:", addr, dat);
return ret;
}
@ -431,9 +417,9 @@ int mload_seth(const void * addr, u16 dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETH, "ih:", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETH, "ih:", addr, dat);
return ret;
}
@ -442,9 +428,9 @@ int mload_setb(const void * addr, u8 dat)
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETB, "ib:", addr, dat);
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_SETB, "ib:", addr, dat);
return ret;
}
@ -458,14 +444,15 @@ int mload_get_log()
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_LOG, ":");
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_LOG, ":");
return ret;
}
/*--------------------------------------------------------------------------------------------------------------*/
// to get IOS base for dev/es to create the cIOS
@ -474,122 +461,71 @@ int mload_get_IOS_base()
{
int ret;
if (mload_init() < 0) return -1;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_IOS_BASE, ":");
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_IOS_BASE, ":");
return ret;
}
/*
int load_ehc_module()
{
int is_ios=0;
FILE *fp;
if(!external_ehcmodule)
{
int mload_get_version()
{
int ret;
if(mload_init()<0) return -1;
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_MLOAD_VERSION, ":");
return ret;
}
fp=fopen("SD:/apps/usbloader_gx/ehcmodule.elf","rb");
if(fp==NULL)
fp=fopen("SD:/apps/usbloadergx/ehcmodule.elf","rb");
/* IOS info structure */
typedef struct {
/* Syscall base */
u32 syscall;
if(fp!=NULL)
{
/* Module versions */
u32 dipVersion;
u32 esVersion;
u32 ffsVersion;
u32 iopVersion;
} iosInfo;
fseek(fp, 0, SEEK_END);
size_external_ehcmodule = ftell(fp);
external_ehcmodule = memalign(32, size_external_ehcmodule);
if(!external_ehcmodule)
{fclose(fp);}
else
{
fseek(fp, 0, SEEK_SET);
int wanin_mload_get_IOS_base()
{
int ret;
iosInfo ios;
memset(&ios, 0, sizeof(ios));
if(fread(external_ehcmodule,1, size_external_ehcmodule ,fp)!=size_external_ehcmodule)
{free(external_ehcmodule); external_ehcmodule=NULL;}
if(mload_init()<0) return -1;
fclose(fp);
}
}
}
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_IOS_BASE, ":d", &ios, sizeof(ios));
//gprintf("get_ios_base: %d %x\n", ret, ios.dipVersion);
if (ret == 0) {
switch(ios.dipVersion) {
case 0x48776F72: /* DIP: 07/11/08 14:34:26 */
return 37;
if(!external_ehcmodule)
{
if(mload_init()<0) return -1;
case 0x4888E14C: /* DIP: 07/24/08 20:08:44 */
return 38;
if (IOS_GetRevision() == 4) {
gprintf("Loading ehcmodule v4\n");
mload_elf((void *) ehcmodule_frag_v4_bin, &my_data_elf);
} else if (IOS_GetRevision() == 0) { // 0? Strange value for v5 ehcmodule
gprintf("Loading ehcmodule v5\n");
mload_elf((void *) ehcmodule_frag_v5_bin, &my_data_elf);
}
thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if(thread_id < 0) return -1;
}
else
{
if(mload_init()<0) return -1;
mload_elf((void *) external_ehcmodule, &my_data_elf);
thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if(thread_id<0) return -1;
}
usleep(350*1000);
case 0x4A262AF5: /* DIP: 06/03/09 07:49:09 */
return 57;
case 0x492ACA9D: /* DIP: 11/24/08 15:39:09 */
return 60;
}
}
return ret;
}
// Test for IOS
mload_seek(0x20207c84, SEEK_SET);
mload_read(patch_datas, 4);
if(patch_datas[0]==0x6e657665)
{
is_ios=38;
}
else
{
is_ios=36;
}
if(is_ios==36)
{
// IOS 36
memcpy(ios_36, dip_plugin, 4); // copy the entry_point
memcpy((void *) dip_plugin, ios_36, 4*10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,size_dip_plugin);
// enables DIP plugin
mload_seek(0x20209040, SEEK_SET);
mload_write(ios_36, 4);
}
if(is_ios==38)
{
// IOS 38
memcpy(ios_38, dip_plugin, 4); // copy the entry_point
memcpy((void *) dip_plugin, ios_38, 4*10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,size_dip_plugin);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_38, 4);
}
mload_close();
return 0;
}
int patch_cios_data() {
patch_datas[0]=*((u32 *) (dip_plugin+16*4));
mload_set_ES_ioctlv_vector((void *) patch_datas[0]);
return 1;
}
*/
int mload_set_gecko_debug()
{
int ret;
u32 log_mode = 2; // GECKO
if(mload_init()<0) return -1;
gprintf("Setting debug mode...");
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_SET_LOG_MODE, ":d", &log_mode, sizeof(log_mode));
gprintf("%d\n", ret);
return ret;
}

View File

@ -1,23 +1,24 @@
/* mload.c (for PPC) (c) 2009, Hermes
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __MLOAD_H__
#define __MLOAD_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -25,198 +26,208 @@
#include <gccore.h>
#include "unistd.h"
#define MLOAD_MLOAD_THREAD_ID 0x4D4C4400
#define MLOAD_GET_IOS_BASE 0x4D4C4401
#define MLOAD_LOAD_MODULE 0x4D4C4480
#define MLOAD_RUN_MODULE 0x4D4C4481
#define MLOAD_MLOAD_THREAD_ID 0x4D4C4400
#define MLOAD_GET_IOS_BASE 0x4D4C4401
#define MLOAD_GET_MLOAD_VERSION 0x4D4C4402
#define MLOAD_LOAD_MODULE 0x4D4C4480
#define MLOAD_RUN_MODULE 0x4D4C4481
#define MLOAD_RUN_THREAD 0x4D4C4482
#define MLOAD_STOP_THREAD 0x4D4C4484
#define MLOAD_STOP_THREAD 0x4D4C4484
#define MLOAD_CONTINUE_THREAD 0x4D4C4485
#define MLOAD_GET_LOAD_BASE 0x4D4C4490
#define MLOAD_MEMSET 0x4D4C4491
#define MLOAD_MEMSET 0x4D4C4491
#define MLOAD_GET_EHCI_DATA 0x4D4C44A0
#define MLOAD_GET_LOG 0x4D4C44A1
#define MLOAD_GET_EHCI_DATA 0x4D4C44A0
#define MLOAD_GET_LOG 0x4D4C44A1
#define MLOAD_SET_ES_IOCTLV 0x4D4C44B0
#define MLOAD_SET_ES_IOCTLV 0x4D4C44B0
#define MLOAD_GETW 0x4D4C44C0
#define MLOAD_GETH 0x4D4C44C1
#define MLOAD_GETB 0x4D4C44C2
#define MLOAD_SETW 0x4D4C44C3
#define MLOAD_SETH 0x4D4C44C4
#define MLOAD_SETB 0x4D4C44C5
#define MLOAD_GETW 0x4D4C44C0
#define MLOAD_GETH 0x4D4C44C1
#define MLOAD_GETB 0x4D4C44C2
#define MLOAD_SETW 0x4D4C44C3
#define MLOAD_SETH 0x4D4C44C4
#define MLOAD_SETB 0x4D4C44C5
#define MLOAD_SET_LOG_MODE 0x4D4C44D0
#define MLOAD_GET_LOG_BUFFER 0x4D4C44D1
#ifdef __cplusplus
extern "C"
{
extern "C" {
#endif
// from IOS ELF stripper of neimod
// from IOS ELF stripper of neimod
#define getbe32(x) ((adr[x]<<24) | (adr[x+1]<<16) | (adr[x+2]<<8) | (adr[x+3]))
typedef struct
{
u32 ident0;
u32 ident1;
u32 ident2;
u32 ident3;
u32 machinetype;
u32 version;
u32 entry;
u32 phoff;
u32 shoff;
u32 flags;
u16 ehsize;
u16 phentsize;
u16 phnum;
u16 shentsize;
u16 shnum;
u16 shtrndx;
} elfheader;
typedef struct
{
u32 ident0;
u32 ident1;
u32 ident2;
u32 ident3;
u32 machinetype;
u32 version;
u32 entry;
u32 phoff;
u32 shoff;
u32 flags;
u16 ehsize;
u16 phentsize;
u16 phnum;
u16 shentsize;
u16 shnum;
u16 shtrndx;
} elfheader;
typedef struct
{
u32 type;
u32 offset;
u32 vaddr;
u32 paddr;
u32 filesz;
u32 memsz;
u32 flags;
u32 align;
} elfphentry;
typedef struct
{
u32 type;
u32 offset;
u32 vaddr;
u32 paddr;
u32 filesz;
u32 memsz;
u32 flags;
u32 align;
} elfphentry;
typedef struct
{
void *start;
int prio;
void *stack;
int size_stack;
} data_elf;
/*--------------------------------------------------------------------------------------------------------------*/
// to init/test if the device is running
int mload_init();
/*--------------------------------------------------------------------------------------------------------------*/
// to close the device (remember call it when rebooting the IOS!)
int mload_close();
/*--------------------------------------------------------------------------------------------------------------*/
// to get the thread id of mload
int mload_get_thread_id();
/*--------------------------------------------------------------------------------------------------------------*/
// get the base and the size of the memory readable/writable to load modules
int mload_get_load_base(u32 *starlet_base, int *size);
/*--------------------------------------------------------------------------------------------------------------*/
// load and run a module from starlet (it need to allocate MEM2 to send the elf file)
// the module must be a elf made with stripios
int mload_module(void *addr, int len);
/*--------------------------------------------------------------------------------------------------------------*/
// load a module from the PPC
// the module must be a elf made with stripios
int mload_elf(void *my_elf, data_elf *data_elf);
/*--------------------------------------------------------------------------------------------------------------*/
// run one thread (you can use to load modules or binary files)
int mload_run_thread(void *starlet_addr, void *starlet_top_stack, int stack_size, int priority);
/*--------------------------------------------------------------------------------------------------------------*/
// stops one starlet thread
int mload_stop_thread(int id);
/*--------------------------------------------------------------------------------------------------------------*/
// continue one stopped starlet thread
int mload_continue_thread(int id);
/*--------------------------------------------------------------------------------------------------------------*/
// fix starlet address to read/write (uses SEEK_SET, etc as mode)
int mload_seek(int offset, int mode);
/*--------------------------------------------------------------------------------------------------------------*/
// read bytes from starlet (it update the offset)
int mload_read(void* buf, u32 size);
/*--------------------------------------------------------------------------------------------------------------*/
// write bytes from starlet (it update the offset)
int mload_write(const void * buf, u32 size);
/*--------------------------------------------------------------------------------------------------------------*/
// fill a block (similar to memset)
int mload_memset(void *starlet_addr, int set, int len);
/*--------------------------------------------------------------------------------------------------------------*/
// get the ehci datas ( ehcmodule.elf uses this address)
void * mload_get_ehci_data();
/*--------------------------------------------------------------------------------------------------------------*/
// set the dev/es ioctlv in routine
int mload_set_ES_ioctlv_vector(void *starlet_addr);
/*--------------------------------------------------------------------------------------------------------------*/
// to get log buffer
// this function return the size of the log buffer and prepare it to read with mload_read() the datas
int mload_get_log();
/*--------------------------------------------------------------------------------------------------------------*/
// to get IOS base for dev/es to create the cIOS
int mload_get_IOS_base();
/*--------------------------------------------------------------------------------------------------------------*/
int mload_getw(const void * addr, u32 *dat);
int mload_geth(const void * addr, u16 *dat);
int mload_getb(const void * addr, u8 *dat);
int mload_setw(const void * addr, u32 dat);
int mload_seth(const void * addr, u16 dat);
int mload_setb(const void * addr, u8 dat);
typedef struct
{
void *start;
int prio;
void *stack;
int size_stack;
} data_elf;
/*--------------------------------------------------------------------------------------------------------------*/
// to init/test if the device is running
int mload_init();
/*--------------------------------------------------------------------------------------------------------------*/
// to close the device (remember call it when rebooting the IOS!)
int mload_close();
/*--------------------------------------------------------------------------------------------------------------*/
// to get the thread id of mload
int mload_get_thread_id();
/*--------------------------------------------------------------------------------------------------------------*/
// get the base and the size of the memory readable/writable to load modules
int mload_get_load_base(u32 *starlet_base, int *size);
/*--------------------------------------------------------------------------------------------------------------*/
// load and run a module from starlet (it need to allocate MEM2 to send the elf file)
// the module must be a elf made with stripios
int mload_module(void *addr, int len);
/*--------------------------------------------------------------------------------------------------------------*/
// load a module from the PPC
// the module must be a elf made with stripios
int mload_elf(void *my_elf, data_elf *data_elf);
/*--------------------------------------------------------------------------------------------------------------*/
// run one thread (you can use to load modules or binary files)
int mload_run_thread(void *starlet_addr, void *starlet_top_stack, int stack_size, int priority);
/*--------------------------------------------------------------------------------------------------------------*/
// stops one starlet thread
int mload_stop_thread(int id);
/*--------------------------------------------------------------------------------------------------------------*/
// continue one stopped starlet thread
int mload_continue_thread(int id);
/*--------------------------------------------------------------------------------------------------------------*/
// fix starlet address to read/write (uses SEEK_SET, etc as mode)
int mload_seek(int offset, int mode);
/*--------------------------------------------------------------------------------------------------------------*/
// read bytes from starlet (it update the offset)
int mload_read(void* buf, u32 size);
/*--------------------------------------------------------------------------------------------------------------*/
// write bytes from starlet (it update the offset)
int mload_write(const void * buf, u32 size);
/*--------------------------------------------------------------------------------------------------------------*/
// fill a block (similar to memset)
int mload_memset(void *starlet_addr, int set, int len);
/*--------------------------------------------------------------------------------------------------------------*/
// get the ehci datas ( ehcmodule.elf uses this address)
void * mload_get_ehci_data();
/*--------------------------------------------------------------------------------------------------------------*/
// set the dev/es ioctlv in routine
int mload_set_ES_ioctlv_vector(void *starlet_addr);
/*--------------------------------------------------------------------------------------------------------------*/
// to get log buffer
// this function return the size of the log buffer and prepare it to read with mload_read() the datas
int mload_get_log();
/*--------------------------------------------------------------------------------------------------------------*/
// to get IOS base for dev/es to create the cIOS
int mload_get_IOS_base();
int mload_get_version();
/*--------------------------------------------------------------------------------------------------------------*/
int mload_getw(const void * addr, u32 *dat);
int mload_geth(const void * addr, u16 *dat);
int mload_getb(const void * addr, u8 *dat);
int mload_setw(const void * addr, u32 dat);
int mload_seth(const void * addr, u16 dat);
int mload_setb(const void * addr, u8 dat);
int wanin_mload_get_IOS_base();
int mload_set_gecko_debug();
#ifdef __cplusplus
}
}
#endif
#endif

View File

@ -1,514 +1,230 @@
#include "mload_modules.h"
#include "filelist.h"
#include "gecko.h"
#define ALIGNED(x) __attribute__((aligned(x)))
static u32 ios_36[16] ATTRIBUTE_ALIGN(32)=
{
0, // DI_EmulateCmd
0,
0x2022DDAC, // dvd_read_controlling_data
0x20201010+1, // handle_di_cmd_reentry (thumb)
0x20200b9c+1, // ios_shared_alloc_aligned (thumb)
0x20200b70+1, // ios_shared_free (thumb)
0x20205dc0+1, // ios_memcpy (thumb)
0x20200048+1, // ios_fatal_di_error (thumb)
0x20202b4c+1, // ios_doReadHashEncryptedState (thumb)
0x20203934+1, // ios_printf (thumb)
};
//#define DEBUG_MLOAD
static u32 ios_38[16] ATTRIBUTE_ALIGN(32)=
{
0, // DI_EmulateCmd
0,
0x2022cdac, // dvd_read_controlling_data
0x20200d38+1, // handle_di_cmd_reentry (thumb)
0x202008c4+1, // ios_shared_alloc_aligned (thumb)
0x20200898+1, // ios_shared_free (thumb)
0x20205b80+1, // ios_memcpy (thumb)
0x20200048+1, // ios_fatal_di_error (thumb)
0x20202874+1, // ios_doReadHashEncryptedState (thumb)
0x2020365c+1, // ios_printf (thumb)
};
/* Used for Hermes NAND emulation */
int global_mount;
int sd_ok = 0;
int ud_ok = 0;
static u32 ios_36[16] ATTRIBUTE_ALIGN( 32 ) = { 0, // DI_EmulateCmd
0, 0x2022DDAC, // dvd_read_controlling_data
0x20201010 + 1, // handle_di_cmd_reentry (thumb)
0x20200b9c + 1, // ios_shared_alloc_aligned (thumb)
0x20200b70 + 1, // ios_shared_free (thumb)
0x20205dc0 + 1, // ios_memcpy (thumb)
0x20200048 + 1, // ios_fatal_di_error (thumb)
0x20202b4c + 1, // ios_doReadHashEncryptedState (thumb)
0x20203934 + 1, // ios_printf (thumb)
};
static u32 ios_37[16] ATTRIBUTE_ALIGN(32)=
{
0, // DI_EmulateCmd
0,
0x2022DD60, // dvd_read_controlling_data
0x20200F04+1, // handle_di_cmd_reentry (thumb)
0x2020096C+1, // ios_shared_alloc_aligned (thumb)
0x2020093C+1, // ios_shared_free (thumb)
0x20205E54+1, // ios_memcpy (thumb)
0x20200048+1, // ios_fatal_di_error (thumb)
0x20202A70+1, // ios_doReadHashEncryptedState (thumb)
0x2020387C+1, // ios_printf (thumb)
};
static u32 ios_38[16] ATTRIBUTE_ALIGN( 32 ) = { 0, // DI_EmulateCmd
0, 0x2022cdac, // dvd_read_controlling_data
0x20200d38 + 1, // handle_di_cmd_reentry (thumb)
0x202008c4 + 1, // ios_shared_alloc_aligned (thumb)
0x20200898 + 1, // ios_shared_free (thumb)
0x20205b80 + 1, // ios_memcpy (thumb)
0x20200048 + 1, // ios_fatal_di_error (thumb)
0x20202874 + 1, // ios_doReadHashEncryptedState (thumb)
0x2020365c + 1, // ios_printf (thumb)
};
static u32 ios_57[16] ATTRIBUTE_ALIGN(32)=
{
0, // DI_EmulateCmd
0,
0x2022cd60, // dvd_read_controlling_data
0x20200f04+1, // handle_di_cmd_reentry (thumb)
0x2020096c+1, // ios_shared_alloc_aligned (thumb) // no usado
0x2020093C+1, // ios_shared_free (thumb) // no usado
0x20205EF0+1, // ios_memcpy (thumb)
0x20200048+1, // ios_fatal_di_error (thumb)
0x20202944+1, // ios_doReadHashEncryptedState (thumb)
0x20203750+1, // ios_printf (thumb)
};
static u32 ios_37[16] ATTRIBUTE_ALIGN( 32 ) = { 0, // DI_EmulateCmd
0, 0x2022DD60, // dvd_read_controlling_data
0x20200F04 + 1, // handle_di_cmd_reentry (thumb)
0x2020096C + 1, // ios_shared_alloc_aligned (thumb)
0x2020093C + 1, // ios_shared_free (thumb)
0x20205E54 + 1, // ios_memcpy (thumb)
0x20200048 + 1, // ios_fatal_di_error (thumb)
0x20202A70 + 1, // ios_doReadHashEncryptedState (thumb)
0x2020387C + 1, // ios_printf (thumb)
};
static u32 ios_60[16] ATTRIBUTE_ALIGN(32)=
{
0, // DI_EmulateCmd
0,
0x2022cd60, // dvd_read_controlling_data
0x20200f04+1, // handle_di_cmd_reentry (thumb)
0x2020096c+1, // ios_shared_alloc_aligned (thumb) // no usado
0x2020093C+1, // ios_shared_free (thumb) // no usado
0x20205e00+1, // ios_memcpy (thumb)
0x20200048+1, // ios_fatal_di_error (thumb)
0x20202944+1, // ios_doReadHashEncryptedState (thumb)
0x20203750+1, // ios_printf (thumb)
};
static u32 ios_57[16] ATTRIBUTE_ALIGN( 32 ) = { 0, // DI_EmulateCmd
0, 0x2022cd60, // dvd_read_controlling_data
0x20200f04 + 1, // handle_di_cmd_reentry (thumb)
0x2020096c + 1, // ios_shared_alloc_aligned (thumb) // no usado
0x2020093C + 1, // ios_shared_free (thumb) // no usado
0x20205EF0 + 1, // ios_memcpy (thumb)
0x20200048 + 1, // ios_fatal_di_error (thumb)
0x20202944 + 1, // ios_doReadHashEncryptedState (thumb)
0x20203750 + 1, // ios_printf (thumb)
};
static u32 ios_60[16] ATTRIBUTE_ALIGN( 32 ) = { 0, // DI_EmulateCmd
0, 0x2022cd60, // dvd_read_controlling_data
0x20200f04 + 1, // handle_di_cmd_reentry (thumb)
0x2020096c + 1, // ios_shared_alloc_aligned (thumb) // no usado
0x2020093C + 1, // ios_shared_free (thumb) // no usado
0x20205e00 + 1, // ios_memcpy (thumb)
0x20200048 + 1, // ios_fatal_di_error (thumb)
0x20202944 + 1, // ios_doReadHashEncryptedState (thumb)
0x20203750 + 1, // ios_printf (thumb)
};
u32 patch_datas[8] ATTRIBUTE_ALIGN( 32 );
data_elf my_data_elf;
void *external_ehcmodule = NULL;
int size_external_ehcmodule = 0;
static u32 patch_datas[8] ATTRIBUTE_ALIGN(32);
static int my_thread_id = 0;
static data_elf my_data_elf;
static u8 * dip_plugin = NULL;
static u32 dip_plugin_size = 0;
int load_ehc_module()
int load_modules(const u8 * ehcmodule, int ehcmodule_size, const u8 * dip, int dip_size)
{
int is_ios = 0;
#if 0
FILE *fp;
// WARNING!!!: load external module suspended
if ( sd_ok && !external_ehcmodule )
{
fp = fopen( "sd:/apps/usbloader_gx/ehcmodule.elf", "rb" );
if ( fp == NULL )
fp = fopen( "sd:/apps/usbloadergx/ehcmodule.elf", "rb" );
if ( fp != 0 )
{
fseek( fp, 0, SEEK_END );
size_external_ehcmodule = ftell( fp );
external_ehcmodule = memalign( 32, size_external_ehcmodule );
if ( !external_ehcmodule )
{ fclose( fp );}
else
{
fseek( fp, 0, SEEK_SET );
if ( fread( external_ehcmodule, 1, size_external_ehcmodule , fp ) != size_external_ehcmodule )
{ free( external_ehcmodule ); external_ehcmodule = NULL;}
fclose( fp );
}
}
}
#endif
/*
if(mload_init()<0) return -1;
mload_elf((void *) logmodule, &my_data_elf);
my_thread_id= mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if(my_thread_id<0) return -1;
*/
if (!external_ehcmodule)
{
#ifdef DEBUG_MLOAD
gprintf("before mload_init\n");
#endif
if (mload_init() < 0) return -1;
#ifdef DEBUG_MLOAD
gprintf("after mload_init\n");
#endif
if (IOS_GetRevision() == 4)
{
#ifdef DEBUG_MLOAD
gprintf("Loading ehcmodule v4\n");
#endif
mload_elf((void *) ehcmodule_frag_v4_bin, &my_data_elf);
}
else if (IOS_GetRevision() == 65535)
{
#ifdef DEBUG_MLOAD
gprintf("Loading ehcmodule v5\n");
#endif
mload_elf((void *) ehcmodule_frag_v5_bin, &my_data_elf);
}
else
{
return -2;
}
// mload_elf((void *) ehcmodule, &my_data_elf);
#ifdef DEBUG_MLOAD
gprintf("before mload_run_thread\n");
#endif
my_thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if (my_thread_id < 0) return -1;
//if(mload_module(ehcmodule, size_ehcmodule)<0) return -1;
}
else
{
//if(mload_module(external_ehcmodule, size_external_ehcmodule)<0) return -1;
if (mload_init() < 0) return -1;
mload_elf((void *) external_ehcmodule, &my_data_elf);
my_thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if (my_thread_id < 0) return -1;
}
usleep(350 * 1000);
// Test for IOS
#if 0
mload_seek( 0x20207c84, SEEK_SET );
mload_read( patch_datas, 32 );
if ( patch_datas[0] == 0x6e657665 )
{
is_ios = 38;
}
else
{
is_ios = 36;
}
#endif
is_ios = mload_get_IOS_base();
switch (is_ios)
{
case 36:
memcpy(ios_36, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_36, 4 * 10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, size_dip_plugin);
// enables DIP plugin
mload_seek(0x20209040, SEEK_SET);
mload_write(ios_36, 4);
break;
case 37:
memcpy(ios_37, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_37, 4 * 10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, size_dip_plugin);
// enables DIP plugin
mload_seek(0x20209030, SEEK_SET);
mload_write(ios_37, 4);
break;
case 38:
memcpy(ios_38, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_38, 4 * 10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, size_dip_plugin);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_38, 4);
break;
case 57:
memcpy(ios_57, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_57, 4 * 10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, size_dip_plugin);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_57, 4);
break;
case 60:
memcpy(ios_60, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_60, 4 * 10); // copy the adresses from the array
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, size_dip_plugin);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_60, 4);
break;
}
mload_close();
return 0;
}
#define IOCTL_FAT_MOUNTSD 0xF0
#define IOCTL_FAT_UMOUNTSD 0xF1
#define IOCTL_FAT_MOUNTUSB 0xF2
#define IOCTL_FAT_UMOUNTUSB 0xF3
#define IOCTL_FFS_MODE 0x80
int load_fatffs_module(u8 *discid)
{
static char fs[] ATTRIBUTE_ALIGN( 32 ) = "fat";
s32 hid = -1, fd = -1;
static char file_name[256] ALIGNED( 0x20 ) = "SD:";
int n;
char *p;
s32 ret;
p = &file_name[0];
if (mload_init() < 0) return -1;
mload_elf((void *) fatffs_module_bin, &my_data_elf);
my_thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if (my_thread_id < 0) return -1;
global_mount &= ~0xc;
if (discid)
{
sd_ok = ud_ok = 1;
/* Function get_fat_name not implemented, this should return the path to the save file */
// p=get_fat_name(discid);
p = NULL;
sd_ok = ud_ok = 0;
if (!p) return -1;
global_mount &= ~0xf;
// change 'ud:' by 'usb:'
if (p[0] == 'U')
{
global_mount |= 2;
file_name[0] = 'U';
file_name[1] = 'S';
file_name[2] = 'B';
memcpy(file_name + 3, (void *) p + 2, 253);
}
else
{
global_mount |= 1;
memcpy(file_name, (void *) p, 256);
}
// copy filename to dip_plugin filename area
mload_seek(*((u32 *) (dip_plugin + 14 * 4)), SEEK_SET); // offset 14 (filename Address - 256 bytes)
mload_write(file_name, sizeof(file_name));
mload_close();
}
else
{
if ((global_mount & 3) == 0) return 0;
if (global_mount & 1) p[0] = 's';
if (global_mount & 2) p[0] = 'u';
}
usleep(350 * 1000);
/* Create heap */
if (hid < 0)
{
hid = iosCreateHeap(0x100);
if (hid < 0) return -1;
}
/* Open USB device */
fd = IOS_Open(fs, 0);
if (fd < 0)
{
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
if(mload_init() < 0)
return -1;
}
n = 30; // try 20 times
while (n > 0)
{
if ((global_mount & 10) == 2)
{
ret = IOS_IoctlvFormat(hid, fd, IOCTL_FAT_MOUNTUSB, ":");
if (ret == 0) global_mount |= 8;
}
else
{
ret = IOS_IoctlvFormat(hid, fd, IOCTL_FAT_MOUNTSD, ":");
if (ret == 0)
{
global_mount |= 4;
}
}
dip_plugin = (u8 *) dip;
dip_plugin_size = dip_size;
if ((global_mount & 7) == 3 && ret == 0)
{
ret = IOS_IoctlvFormat(hid, fd, IOCTL_FAT_MOUNTSD, ":");
if (ret == 0) global_mount |= 4;
}
mload_elf((u8 *) ehcmodule, &my_data_elf);
my_thread_id= mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
if ((global_mount & 3) == ((global_mount >> 2) & 3) && (global_mount & 3))
{
ret = 0;
break;
}
else ret = -1;
if(my_thread_id < 0)
return -2;
usleep(350*1000);
//ret=IOS_IoctlvFormat(hid, fd, IOCTL_FAT_MOUNTSD, ":");
//if(ret==0) break;
usleep(500 * 1000);
n--;
}
// Test for IOS
int is_ios = mload_get_IOS_base();
u32 dip_address = 0x1377C000;
if (fd >= 0)
{
IOS_Close(fd);
fd = -1;
}
switch(is_ios)
{
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
case 36:
if (n == 0) return -1;
memcpy(ios_36, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_36, 4*10); // copy the adresses from the array
return 0;
}
mload_seek(dip_address, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin, dip_plugin_size);
int enable_ffs(int mode)
{
static char fs[] ATTRIBUTE_ALIGN( 32 ) = "fat";
s32 hid = -1, fd = -1;
s32 ret;
// enables DIP plugin
mload_seek(0x20209040, SEEK_SET);
mload_write(ios_36, 4);
break;
/* Create heap */
if (hid < 0)
{
hid = iosCreateHeap(0x100);
if (hid < 0) return -1;
}
case 37:
/* Open USB device */
fd = IOS_Open(fs, 0);
memcpy(ios_37, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_37, 4*10); // copy the adresses from the array
if (fd < 0)
{
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
return -1;
}
mload_seek(dip_address, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,dip_plugin_size);
ret = IOS_IoctlvFormat(hid, fd, IOCTL_FFS_MODE, "i:", mode);
// enables DIP plugin
mload_seek(0x20209030, SEEK_SET);
mload_write(ios_37, 4);
break;
if (fd >= 0)
{
IOS_Close(fd);
fd = -1;
}
case 38:
if (hid >= 0)
{
iosDestroyHeap(hid);
hid = -1;
}
memcpy(ios_38, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_38, 4*10); // copy the adresses from the array
return ret;
mload_seek(dip_address, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,dip_plugin_size);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_38, 4);
break;
case 57:
memcpy(ios_57, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_57, 4*10); // copy the adresses from the array
mload_seek(dip_address, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,dip_plugin_size);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_57, 4);
break;
case 60:
memcpy(ios_60, dip_plugin, 4); // copy the entry_point
memcpy(dip_plugin, ios_60, 4*10); // copy the adresses from the array
mload_seek(dip_address, SEEK_SET); // copy dip_plugin in the starlet
mload_write(dip_plugin,dip_plugin_size);
// enables DIP plugin
mload_seek(0x20208030, SEEK_SET);
mload_write(ios_60, 4);
break;
}
mload_close();
return 0;
}
void enable_ES_ioctlv_vector(void)
{
patch_datas[0] = *((u32 *) (dip_plugin + 16 * 4));
mload_set_ES_ioctlv_vector((void *) patch_datas[0]);
mload_init();
patch_datas[0]=*((u32 *) (dip_plugin+16*4));
mload_set_ES_ioctlv_vector((void *) patch_datas[0]);
mload_close();
}
void Set_DIP_BCA_Datas(u8 *bca_data)
{
// write in dip_plugin bca data area
mload_seek(*((u32 *) (dip_plugin + 15 * 4)), SEEK_SET); // offset 15 (bca_data area)
mload_write(bca_data, 64);
mload_close();
// write in dip_plugin bca data area
mload_init();
mload_seek(*((u32 *) (dip_plugin+15*4)), SEEK_SET); // offset 15 (bca_data area)
mload_write(bca_data, 64);
mload_close();
}
u8 *search_for_ehcmodule_cfg(u8 *p, int size)
{
int n;
int n;
for (n = 0; n < size; n++)
{
if (!memcmp((void *) &p[n], "EHC_CFG", 8) && p[n + 8] == 0x12 && p[n + 9] == 0x34 && p[n + 10] == 0x00 && p[n
+ 11] == 0x01)
{
return &p[n];
}
}
return NULL;
for(n=0;n<size;n++)
{
if(!memcmp((void *) &p[n],"EHC_CFG",8) && p[n+8]==0x12 && p[n+9]==0x34 && p[n+10]==0x00 && p[n+11]==0x01)
{
return &p[n];
}
}
return NULL;
}
void test_and_patch_for_port1()
void disableIOSReload(void)
{
// test for port 1
if (mload_init() < 0 || IOS_GetRevision() == 2)
return;
u8 * ehc_data = NULL;
if (IOS_GetRevision() == 4)
{
ehc_data = search_for_ehcmodule_cfg((void *) ehcmodule_frag_v4_bin, ehcmodule_frag_v4_bin_size);
}
else if (IOS_GetRevision() == 65535)
{
ehc_data = search_for_ehcmodule_cfg((void *) ehcmodule_frag_v5_bin, ehcmodule_frag_v5_bin_size);
}
if (ehc_data)
{
ehc_data += 12;
use_port1 = ehc_data[0];
}
if (use_port1)
// release port 0 and use port 1
{
u32 dat = 0;
u32 addr;
// get EHCI base registers
mload_getw((void *) 0x0D040000, &addr);
addr &= 0xff;
addr += 0x0D040000;
mload_getw((void *) (addr + 0x44), &dat);
if ((dat & 0x2001) == 1) mload_setw((void *) (addr + 0x44), 0x2000);
mload_getw((void *) (addr + 0x48), &dat);
if ((dat & 0x2000) == 0x2000) mload_setw((void *) (addr + 0x48), 0x1001);
}
patch_datas[0] = *((u32 *)(dip_plugin + 16 * 4));
mload_set_ES_ioctlv_vector((void *)patch_datas[0]);
mload_close();
}
//////////////////////////////////
bool shadow_mload()
{
int ios = IOS_GetVersion();
if(ios != 222 || ios != 223 || ios != 224)
return;
int v51 = (5 << 4) & 1;
if (IOS_GetRevision() >= 5 && mload_get_version() >= v51)
{
char fs[] ATTRIBUTE_ALIGN(32) = "/dev/mload/OFF";
// shadow /dev/mload supported in hermes cios v5.1char fs[] ATTRIBUTE_ALIGN(32) = "/dev/usb2";
IOS_Open(fs,0);
return true;
}
return false;
}

View File

@ -1,31 +1,23 @@
#ifndef _MLOAD_MODULES_H_
#define _MLOAD_MODULES_H_
#include "dip_plugin.h"
#include "mload.h"
#include "filelist.h"
#ifdef __cplusplus
extern "C"
{
extern "C" {
#endif
extern void *external_ehcmodule;
extern int size_external_ehcmodule;
extern int use_port1;
int load_ehc_module();
int load_fatffs_module(u8 *discid);
void enable_ES_ioctlv_vector(void);
void Set_DIP_BCA_Datas(u8 *bca_data);
void test_and_patch_for_port1();
int enable_ffs(int mode);
int load_modules(const u8 * ehcmodule, int ehcmodule_size, const u8 * dip_plugin, int dip_plugin_size);
void enable_ES_ioctlv_vector(void);
void Set_DIP_BCA_Datas(u8 *bca_data);
void disableIOSReload(void);
u8 *search_for_ehcmodule_cfg(u8 *p, int size);
bool shadow_mload();
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,140 @@
#define size_dip_plugin_2 3700
unsigned char dip_plugin_2[3700] __attribute__((aligned (32)))={
19, 119, 230, 81, 18, 52, 0, 1, 32, 34, 205, 172, 32, 32, 13, 57, 32, 32, 8, 197, 32, 32, 8, 153, 32, 32, 91, 129, 32,
32, 0, 73, 32, 32, 40, 117, 32, 32, 54, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19, 119, 235, 77, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 71, 120, 234, 0, 2, 143, 70, 192, 71,
120, 234, 0, 2, 159, 70, 192, 71, 120, 234, 0, 2, 175, 70, 192, 71, 120, 234, 0, 2, 167, 70, 192, 71, 120, 234, 0, 2,
141, 70, 192, 71, 120, 234, 0, 2, 127, 70, 192, 71, 120, 234, 0, 2, 165, 70, 192, 71, 120, 234, 0, 2, 161, 70, 192,
71, 120, 234, 0, 2, 167, 70, 192, 71, 120, 234, 0, 2, 167, 181, 0, 75, 7, 176, 137, 147, 0, 70, 104, 35, 0, 33, 0, 34,
0, 147, 1, 147, 2, 240, 0, 253, 93, 176, 9, 188, 2, 71, 8, 70, 192, 227, 0, 0, 0, 181, 16, 28, 3, 34, 32, 28, 12, 72,
13, 28, 25, 247, 255, 255, 206, 33, 32, 72, 11, 247, 255, 255, 198, 73, 10, 34, 1, 104, 11, 66, 19, 209, 253, 34, 32,
28, 32, 73, 6, 247, 255, 255, 192, 28, 32, 33, 32, 247, 255, 255, 184, 75, 4, 104, 24, 188, 16, 188, 2, 71, 8, 70, 192,
13, 0, 96, 0, 13, 0, 96, 28, 13, 0, 96, 32, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 10, 203, 70, 154, 75,
20, 176, 137, 37, 0, 28, 7, 28, 14, 70, 145, 70, 108, 70, 155, 70, 168, 70, 91, 96, 35, 70, 67, 96, 99, 96, 163, 70,
83, 96, 227, 28, 56, 70, 75, 28, 49, 97, 35, 247, 255, 255, 158, 70, 104, 28, 57, 28, 50, 240, 0, 253, 14, 53, 1, 40,
0, 209, 8, 176, 9, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 45, 15, 217, 223, 231, 243,
208, 0, 0, 0, 181, 112, 176, 136, 75, 8, 28, 6, 28, 13, 70, 108, 147, 0, 96, 97, 146, 2, 247, 255, 255, 125, 28, 49,
28, 42, 70, 104, 240, 0, 252, 237, 176, 8, 188, 112, 188, 2, 71, 8, 168, 0, 0, 0, 181, 240, 70, 95, 70, 86, 70, 77,
70, 68, 180, 240, 176, 143, 144, 4, 145, 3, 146, 2, 41, 0, 209, 0, 224, 126, 10, 82, 70, 145, 35, 128, 34, 0, 1, 27,
70, 147, 34, 255, 147, 1, 3, 210, 171, 6, 146, 0, 70, 152, 224, 7, 154, 3, 68, 179, 69, 90, 217, 62, 154, 5, 24, 179,
10, 219, 68, 153, 154, 3, 70, 91, 26, 214, 70, 74, 2, 83, 154, 2, 66, 154, 216, 87, 35, 0, 147, 5, 36, 0, 159, 4, 34,
128, 68, 95, 28, 56, 28, 49, 1, 18, 240, 0, 248, 103, 44, 0, 209, 47, 40, 0, 208, 45, 155, 0, 28, 6, 66, 152, 217, 1,
38, 255, 3, 246, 10, 242, 70, 146, 36, 0, 75, 43, 70, 66, 96, 19, 35, 0, 96, 83, 96, 147, 70, 83, 96, 211, 70, 75, 97,
19, 28, 56, 28, 49, 247, 255, 255, 34, 70, 64, 28, 57, 28, 50, 240, 0, 252, 146, 52, 1, 28, 5, 40, 0, 208, 192, 44,
15, 217, 230, 45, 0, 208, 188, 176, 15, 28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8,
154, 5, 25, 147, 154, 1, 66, 147, 217, 1, 155, 5, 26, 214, 32, 128, 1, 0, 33, 32, 247, 255, 254, 247, 28, 4, 40, 0,
208, 18, 33, 128, 1, 9, 70, 74, 247, 255, 255, 59, 28, 5, 40, 0, 208, 15, 28, 32, 247, 255, 254, 213, 231, 216, 26,
211, 0, 155, 28, 28, 147, 5, 30, 99, 65, 156, 231, 163, 37, 1, 66, 109, 231, 208, 37, 0, 231, 206, 154, 5, 28, 56, 24,
161, 28, 50, 247, 255, 254, 210, 28, 56, 28, 49, 247, 255, 254, 202, 231, 228, 70, 192, 208, 0, 0, 0, 181, 48, 28, 13,
28, 20, 6, 195, 209, 18, 75, 15, 66, 152, 217, 19, 33, 0, 75, 14, 24, 194, 75, 14, 66, 154, 216, 1, 75, 13, 26, 25,
66, 161, 211, 5, 28, 8, 66, 169, 216, 10, 30, 99, 67, 152, 224, 0, 32, 0, 188, 48, 188, 2, 71, 8, 35, 192, 4, 91, 26,
25, 231, 232, 28, 40, 30, 99, 67, 152, 231, 244, 1, 127, 255, 255, 240, 0, 0, 0, 3, 97, 127, 255, 19, 97, 128, 0, 181,
240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 70, 137, 176, 129, 73, 51, 34, 4, 28, 7, 240, 0, 250, 235, 40, 0, 209,
3, 35, 128, 0, 91, 69, 153, 208, 13, 75, 47, 70, 154, 120, 27, 43, 0, 209, 81, 176, 1, 188, 60, 70, 144, 70, 153, 70,
162, 70, 171, 188, 240, 188, 1, 71, 0, 74, 40, 35, 10, 70, 146, 112, 19, 38, 243, 75, 38, 74, 39, 37, 0, 70, 152, 70,
147, 224, 2, 53, 1, 66, 181, 210, 19, 25, 124, 28, 32, 70, 65, 34, 13, 240, 0, 250, 195, 40, 0, 209, 244, 70, 89, 34,
13, 28, 32, 247, 255, 254, 98, 53, 1, 28, 32, 33, 13, 247, 255, 254, 89, 66, 181, 211, 235, 34, 12, 66, 82, 68, 74,
70, 144, 42, 0, 208, 27, 75, 23, 37, 0, 78, 23, 70, 153, 224, 2, 53, 1, 69, 69, 210, 19, 25, 124, 28, 32, 28, 49, 34,
12, 240, 0, 250, 161, 40, 0, 209, 244, 70, 73, 34, 12, 28, 32, 247, 255, 254, 64, 53, 1, 28, 32, 33, 12, 247, 255, 254,
55, 69, 69, 211, 235, 70, 82, 120, 19, 59, 1, 112, 19, 231, 173, 70, 78, 62, 13, 46, 0, 209, 183, 231, 211, 70, 192,
19, 119, 235, 176, 19, 119, 238, 128, 19, 119, 235, 217, 19, 119, 235, 204, 19, 119, 235, 180, 19, 119, 235, 192, 181,
48, 28, 4, 72, 15, 28, 13, 104, 131, 104, 193, 176, 129, 24, 91, 24, 154, 105, 3, 43, 0, 209, 15, 104, 67, 43, 0, 209,
7, 28, 32, 28, 41, 247, 255, 254, 147, 176, 1, 188, 48, 188, 2, 71, 8, 28, 32, 28, 41, 247, 255, 254, 161, 231, 246,
28, 32, 28, 41, 240, 0, 250, 118, 231, 241, 70, 192, 19, 119, 238, 132, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 176, 129, 28, 4, 70, 139, 72, 48, 33, 1, 70, 145, 247, 255, 253, 248, 70, 130, 40, 0, 219, 74, 120, 35, 43, 0,
208, 80, 77, 43, 34, 0, 84, 171, 52, 1, 120, 35, 50, 1, 43, 0, 209, 249, 28, 87, 35, 10, 70, 72, 84, 171, 40, 0, 221,
45, 35, 15, 38, 0, 70, 152, 224, 24, 28, 122, 28, 81, 28, 59, 28, 79, 32, 48, 84, 232, 70, 88, 93, 131, 70, 64, 64,
3, 51, 48, 84, 171, 43, 57, 217, 1, 51, 7, 84, 171, 70, 67, 64, 51, 43, 15, 208, 16, 35, 32, 54, 1, 84, 107, 69, 177,
221, 16, 47, 252, 221, 228, 28, 58, 28, 41, 70, 80, 247, 255, 253, 200, 39, 3, 35, 0, 34, 1, 33, 2, 231, 222, 35, 10,
54, 1, 84, 107, 69, 177, 220, 238, 28, 32, 28, 57, 247, 255, 253, 166, 70, 80, 28, 41, 28, 58, 247, 255, 253, 181, 70,
80, 247, 255, 253, 154, 176, 1, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 1, 71, 0, 34, 0, 39, 1,
77, 2, 231, 179, 70, 192, 19, 119, 235, 232, 19, 119, 239, 32, 181, 240, 70, 71, 180, 128, 79, 33, 28, 4, 104, 59, 70,
152, 43, 0, 209, 17, 35, 1, 96, 59, 33, 32, 247, 255, 253, 142, 104, 227, 43, 8, 208, 12, 28, 32, 240, 0, 250, 241,
70, 67, 96, 59, 188, 4, 70, 144, 188, 240, 188, 2, 71, 8, 240, 0, 250, 232, 231, 247, 28, 33, 72, 20, 49, 12, 34, 4,
247, 255, 255, 110, 34, 32, 28, 33, 72, 17, 247, 255, 255, 105, 105, 163, 104, 24, 104, 89, 247, 255, 253, 110, 105,
163, 36, 197, 104, 27, 1, 164, 28, 32, 33, 8, 104, 93, 104, 30, 247, 255, 253, 100, 75, 9, 4, 45, 64, 30, 67, 53, 28,
32, 96, 37, 33, 8, 247, 255, 253, 75, 70, 67, 96, 59, 32, 0, 231, 208, 70, 192, 19, 119, 238, 172, 19, 119, 235, 248,
19, 119, 236, 4, 0, 0, 255, 255, 181, 16, 73, 21, 28, 4, 104, 139, 104, 202, 24, 154, 105, 11, 43, 0, 209, 18, 104,
75, 43, 0, 209, 11, 33, 32, 247, 255, 253, 183, 40, 0, 219, 3, 105, 162, 75, 13, 66, 154, 208, 10, 188, 16, 188, 2,
71, 8, 33, 32, 247, 255, 253, 193, 231, 242, 33, 32, 240, 0, 249, 151, 231, 238, 75, 7, 104, 27, 104, 26, 35, 1, 112,
19, 120, 83, 43, 0, 209, 236, 247, 255, 253, 12, 231, 233, 70, 192, 19, 119, 238, 132, 93, 28, 158, 163, 19, 119, 224,
8, 181, 240, 70, 87, 70, 70, 180, 192, 28, 4, 120, 0, 176, 129, 28, 14, 28, 23, 40, 224, 208, 24, 77, 133, 35, 0, 98,
43, 28, 3, 59, 112, 43, 143, 217, 13, 28, 32, 28, 49, 28, 58, 240, 0, 250, 122, 28, 4, 176, 1, 28, 32, 188, 12, 70,
144, 70, 154, 188, 240, 188, 2, 71, 8, 74, 123, 0, 155, 88, 211, 70, 159, 77, 120, 106, 43, 43, 0, 209, 2, 105, 43,
43, 0, 208, 230, 28, 48, 33, 0, 28, 58, 240, 0, 248, 240, 106, 43, 224, 143, 104, 107, 43, 0, 209, 2, 105, 43, 43, 0,
208, 217, 36, 0, 231, 221, 35, 1, 34, 37, 84, 171, 104, 43, 43, 0, 208, 0, 224, 173, 28, 32, 28, 58, 240, 0, 250, 76,
28, 4, 34, 0, 35, 37, 84, 234, 44, 0, 209, 204, 224, 46, 104, 235, 104, 169, 70, 154, 105, 43, 70, 136, 43, 0, 209,
0, 224, 176, 32, 0, 34, 0, 70, 67, 70, 81, 67, 11, 209, 2, 42, 0, 209, 0, 224, 176, 28, 3, 30, 90, 65, 147, 96, 107,
28, 48, 28, 57, 247, 255, 255, 105, 28, 4, 231, 176, 105, 43, 43, 0, 208, 167, 35, 2, 224, 85, 104, 97, 104, 162, 40,
208, 209, 0, 224, 144, 28, 48, 247, 255, 254, 122, 28, 4, 40, 0, 209, 160, 35, 37, 92, 235, 43, 0, 209, 156, 28, 48,
28, 57, 247, 255, 253, 243, 231, 151, 35, 36, 92, 234, 42, 0, 209, 179, 105, 41, 84, 234, 35, 37, 96, 42, 96, 106, 96,
170, 96, 234, 98, 42, 84, 234, 70, 136, 41, 0, 209, 0, 231, 128, 105, 108, 247, 255, 252, 148, 70, 64, 28, 41, 28, 34,
56, 1, 49, 24, 240, 0, 249, 19, 28, 4, 231, 122, 104, 107, 43, 0, 208, 93, 75, 60, 36, 160, 98, 43, 2, 36, 231, 114,
104, 107, 43, 0, 209, 3, 105, 43, 43, 0, 209, 0, 231, 101, 104, 99, 104, 162, 7, 155, 67, 19, 74, 53, 36, 0, 64, 19,
96, 235, 231, 98, 104, 99, 72, 51, 64, 24, 247, 255, 252, 128, 28, 4, 231, 91, 104, 98, 35, 36, 84, 234, 36, 0, 231,
86, 105, 43, 96, 51, 28, 48, 28, 57, 247, 255, 252, 69, 36, 0, 231, 78, 104, 99, 97, 43, 43, 0, 209, 40, 105, 99, 36,
0, 97, 107, 231, 70, 104, 43, 231, 238, 104, 99, 36, 0, 96, 43, 231, 64, 104, 171, 231, 232, 104, 99, 36, 0, 96, 171,
231, 58, 104, 107, 43, 0, 209, 3, 105, 43, 43, 0, 209, 0, 231, 45, 28, 48, 33, 0, 28, 58, 240, 0, 248, 55, 28, 48, 28,
57, 247, 255, 252, 31, 36, 0, 231, 40, 104, 97, 104, 162, 28, 48, 247, 255, 253, 250, 28, 4, 231, 79, 28, 40, 28, 33,
49, 8, 34, 6, 48, 24, 247, 255, 252, 19, 231, 206, 105, 43, 43, 0, 209, 158, 231, 15, 2, 201, 2, 82, 231, 107, 28, 58,
28, 32, 28, 49, 240, 0, 249, 135, 28, 2, 30, 83, 65, 154, 231, 71, 105, 43, 43, 0, 208, 0, 231, 74, 96, 106, 36, 0,
231, 2, 70, 192, 19, 119, 238, 132, 19, 119, 236, 12, 0, 5, 49, 0, 255, 255, 128, 0, 127, 255, 255, 255, 181, 240, 70,
87, 70, 78, 70, 69, 180, 224, 70, 128, 28, 14, 70, 148, 42, 0, 208, 51, 33, 3, 28, 2, 64, 10, 35, 4, 26, 155, 28, 24,
64, 8, 69, 96, 216, 49, 40, 0, 208, 49, 36, 0, 70, 67, 85, 30, 52, 1, 66, 160, 216, 250, 69, 132, 208, 32, 70, 99, 26,
27, 8, 159, 70, 153, 0, 187, 70, 154, 43, 0, 208, 17, 4, 51, 6, 50, 2, 49, 67, 26, 67, 10, 28, 21, 70, 67, 67, 53, 24,
26, 33, 0, 0, 139, 49, 1, 80, 213, 66, 185, 211, 250, 68, 84, 69, 209, 208, 6, 70, 67, 25, 24, 52, 1, 112, 6, 48, 1,
69, 164, 216, 250, 188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 1, 71, 0, 70, 96, 231, 203, 36, 0, 231, 211, 70,
192, 181, 48, 28, 5, 28, 12, 28, 16, 42, 0, 208, 12, 120, 42, 120, 11, 66, 154, 209, 12, 33, 0, 224, 3, 92, 106, 92,
99, 66, 154, 209, 6, 49, 1, 66, 136, 216, 248, 32, 0, 188, 48, 188, 2, 71, 8, 32, 1, 66, 64, 231, 249, 181, 112, 76,
17, 28, 6, 104, 32, 176, 130, 28, 13, 98, 2, 97, 6, 100, 1, 97, 65, 33, 68, 247, 255, 251, 123, 28, 48, 28, 41, 247,
255, 251, 119, 75, 10, 34, 2, 104, 24, 104, 35, 73, 9, 147, 0, 35, 1, 247, 255, 251, 134, 28, 41, 28, 4, 28, 48, 247,
255, 251, 121, 176, 2, 28, 32, 188, 112, 188, 2, 71, 8, 19, 119, 238, 176, 19, 119, 238, 180, 87, 70, 83, 2, 181, 240,
176, 133, 28, 4, 28, 15, 146, 3, 40, 1, 217, 5, 32, 1, 66, 64, 176, 5, 188, 240, 188, 2, 71, 8, 77, 38, 104, 43, 43,
0, 208, 65, 78, 37, 104, 48, 40, 0, 219, 1, 247, 255, 251, 67, 75, 35, 0, 162, 88, 208, 33, 1, 247, 255, 251, 77, 96,
48, 40, 0, 219, 232, 104, 40, 28, 57, 34, 6, 48, 32, 247, 255, 251, 60, 104, 40, 169, 3, 34, 4, 48, 64, 247, 255, 251,
54, 104, 42, 36, 4, 28, 19, 51, 32, 96, 19, 104, 42, 35, 6, 96, 83, 104, 42, 33, 68, 28, 19, 51, 64, 96, 147, 104, 43,
96, 220, 104, 40, 247, 255, 251, 32, 104, 43, 104, 48, 34, 2, 147, 0, 73, 14, 35, 0, 247, 255, 251, 48, 104, 42, 28,
19, 51, 32, 96, 19, 104, 43, 96, 92, 104, 42, 28, 19, 51, 64, 96, 147, 104, 43, 96, 220, 231, 181, 75, 7, 78, 3, 96,
43, 35, 1, 66, 91, 96, 51, 231, 188, 19, 119, 238, 176, 19, 119, 238, 180, 19, 119, 238, 108, 87, 70, 83, 1, 19, 119,
238, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 45, 64, 128, 229, 159, 112, 248, 229, 151, 112, 0, 235, 0, 0, 45,
232, 189, 64, 128, 225, 47, 255, 30, 233, 45, 64, 128, 229, 159, 112, 228, 229, 151, 112, 0, 235, 0, 0, 39, 232, 189,
64, 128, 225, 47, 255, 30, 233, 45, 64, 128, 229, 159, 112, 208, 229, 151, 112, 0, 235, 0, 0, 33, 232, 189, 64, 128,
225, 47, 255, 30, 233, 45, 64, 128, 229, 159, 112, 188, 229, 151, 112, 0, 235, 0, 0, 27, 232, 189, 64, 128, 225, 47,
255, 30, 233, 45, 64, 128, 229, 159, 112, 168, 229, 151, 112, 0, 235, 0, 0, 21, 232, 189, 64, 128, 225, 47, 255, 30,
233, 45, 64, 128, 229, 159, 112, 148, 229, 151, 112, 0, 235, 0, 0, 15, 232, 189, 64, 128, 225, 47, 255, 30, 230, 0,
8, 16, 225, 47, 255, 30, 230, 0, 7, 240, 225, 47, 255, 30, 230, 0, 3, 144, 225, 47, 255, 30, 230, 0, 3, 176, 225, 47,
255, 30, 230, 0, 3, 208, 225, 47, 255, 30, 230, 0, 3, 240, 225, 47, 255, 30, 230, 0, 4, 80, 225, 47, 255, 30, 225, 47,
255, 23, 180, 124, 181, 0, 247, 255, 252, 254, 188, 2, 188, 124, 71, 8, 181, 112, 176, 136, 104, 133, 28, 1, 75, 14,
71, 24, 70, 192, 70, 114, 28, 1, 32, 4, 223, 171, 71, 16, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 75, 8,
104, 27, 71, 24, 19, 119, 224, 16, 19, 119, 224, 20, 19, 119, 224, 24, 19, 119, 224, 28, 19, 119, 224, 32, 19, 119,
224, 36, 32, 16, 0, 213, 19, 119, 224, 12, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 0, 0, 1, 0, 44, 0,
0, 0, 72, 0, 2, 20, 60, 96, 128, 0, 44, 0, 0, 0, 64, 130, 2, 20, 60, 96, 128, 0, 4, 56, 96, 0, 1, 72, 0, 2, 68, 56,
97, 0, 24, 12, 56, 96, 0, 1, 72, 0, 2, 68, 56, 97, 0, 24, 0, 0, 47, 100, 101, 118, 47, 102, 97, 116, 47, 108, 111, 103,
0, 0, 0, 0, 69, 83, 95, 105, 111, 99, 116, 108, 118, 0, 0, 0, 100, 117, 109, 112, 0, 0, 0, 0, 19, 119, 230, 232, 19,
119, 230, 196, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119,
230, 116, 19, 119, 230, 116, 19, 119, 230, 186, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116,
19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 231, 30, 19, 119, 230, 116, 19,
119, 231, 80, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 231, 40, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119,
230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116,
19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19,
119, 230, 116, 19, 119, 231, 138, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 231, 40, 19, 119,
230, 116, 19, 119, 230, 116, 19, 119, 230, 180, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116,
19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19,
119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119,
230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116,
19, 119, 230, 116, 19, 119, 231, 40, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19,
119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 231, 154, 19, 119, 230, 116, 19, 119,
230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 154, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 232, 10, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116,
19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19,
119, 230, 116, 19, 119, 230, 116, 19, 119, 232, 2, 19, 119, 231, 254, 19, 119, 231, 246, 19, 119, 231, 242, 19, 119,
231, 226, 19, 119, 231, 210, 19, 119, 231, 200, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230,
116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 230, 116, 19, 119, 231, 186, 47, 100, 101, 118,
47, 117, 115, 98, 47, 101, 104, 99, 0, 0, 0, 0, 47, 100, 101, 118, 47, 115, 100, 105, 111, 47, 115, 100, 104, 99, 0,
0, 19, 119, 238, 76, 19, 119, 238, 92
};

View File

@ -0,0 +1,16 @@
#ifndef DIP_PLUGIN2_H_
#define DIP_PLUGIN2_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char dip_plugin_2[3700];
#define dip_plugin_2_size sizeof(dip_plugin_2)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,338 @@
#define size_dip_plugin_249 5340
unsigned char dip_plugin_249[5340] __attribute__((aligned (32)))={
0x7f, 0x45, 0x4c, 0x46, 0x01, 0x02, 0x01, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x13, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x34, 0x00, 0x20, 0x00, 0x05, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xa0,
0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xd4, 0x00, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x08, 0x13, 0x70, 0x00, 0x00,
0x13, 0x70, 0x00, 0x00, 0x00, 0x00, 0x12, 0xe4, 0x00, 0x00, 0x12, 0xe4, 0x00, 0xf0, 0x00, 0x05,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x13, 0xec, 0x13, 0x70, 0x20, 0x00,
0x13, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xbd, 0xc0, 0x00, 0xf0, 0x00, 0x06,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06,
0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x13, 0x70, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x13, 0x70, 0xdd, 0xc0, 0xe3, 0xa0, 0x00, 0x00, 0xe3, 0xa0, 0x10, 0x00,
0xe5, 0x9f, 0x30, 0x00, 0xe1, 0x2f, 0xff, 0x13, 0x13, 0x70, 0x03, 0x8d, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0xf0, 0xb0, 0x89, 0x1c, 0x0d, 0x1c, 0x06,
0x1c, 0x17, 0x46, 0x68, 0x22, 0x20, 0x21, 0x00, 0xf0, 0x01, 0xf9, 0x0e, 0x23, 0xa8, 0x06, 0x1b,
0x1c, 0x30, 0x1c, 0x29, 0x93, 0x00, 0x95, 0x01, 0x97, 0x02, 0xf0, 0x00, 0xed, 0x82, 0x1c, 0x31,
0x1c, 0x2a, 0x46, 0x68, 0xf0, 0x00, 0xf9, 0x0b, 0xb0, 0x09, 0xbd, 0xf0, 0xb5, 0xf0, 0xb0, 0x8d,
0x90, 0x01, 0x0a, 0xcb, 0x20, 0xa0, 0x27, 0xd0, 0x1c, 0x0d, 0x92, 0x03, 0x93, 0x02, 0x02, 0x00,
0x26, 0x00, 0xac, 0x04, 0x06, 0x3f, 0xe0, 0x13, 0x22, 0x20, 0x21, 0x00, 0x1c, 0x20, 0xf0, 0x01,
0xf8, 0xeb, 0x9b, 0x02, 0x98, 0x01, 0x60, 0xe3, 0x9b, 0x03, 0x1c, 0x29, 0x61, 0x23, 0x60, 0x27,
0xf0, 0x00, 0xed, 0x5e, 0x1c, 0x20, 0x99, 0x01, 0x1c, 0x2a, 0xf0, 0x00, 0xf8, 0xe8, 0x36, 0x01,
0x23, 0x0f, 0x42, 0xb3, 0xd3, 0x01, 0x28, 0x00, 0xd1, 0xe6, 0xb0, 0x0d, 0xbd, 0xf0, 0xb5, 0xf0,
0xb0, 0x83, 0x24, 0x80, 0x93, 0x01, 0x01, 0x24, 0x18, 0x53, 0x90, 0x00, 0x1c, 0x0f, 0x1c, 0x16,
0x42, 0xa3, 0xd8, 0x15, 0x1c, 0x20, 0x21, 0x20, 0xf0, 0x00, 0xe8, 0xa2, 0x1e, 0x05, 0xd0, 0x11,
0x1c, 0x21, 0x1c, 0x28, 0x9a, 0x01, 0xf7, 0xff, 0xff, 0xc1, 0x1e, 0x04, 0xd1, 0x04, 0x19, 0xa9,
0x98, 0x00, 0x1c, 0x3a, 0xf0, 0x01, 0xf8, 0x76, 0x1c, 0x28, 0xf0, 0x00, 0xe8, 0x9e, 0xe0, 0x03,
0x24, 0x65, 0xe0, 0x00, 0x24, 0x16, 0x42, 0x64, 0xb0, 0x03, 0x1c, 0x20, 0xbd, 0xf0, 0x00, 0x00,
0xb5, 0x10, 0x1c, 0x03, 0x1c, 0x0c, 0x48, 0x0a, 0x1c, 0x19, 0x22, 0x20, 0xf0, 0x01, 0xf8, 0x62,
0x4b, 0x08, 0x68, 0x1b, 0x07, 0xda, 0xd4, 0x09, 0x2c, 0x00, 0xd0, 0x04, 0x1c, 0x20, 0x49, 0x04,
0x22, 0x20, 0xf0, 0x01, 0xf8, 0x57, 0x4b, 0x04, 0x68, 0x18, 0xbd, 0x10, 0xe7, 0xfe, 0x46, 0xc0,
0x0d, 0x00, 0x60, 0x00, 0x0d, 0x00, 0x60, 0x1c, 0x0d, 0x00, 0x60, 0x20, 0xb5, 0x00, 0x23, 0xe3,
0xb0, 0x89, 0x06, 0x1b, 0x93, 0x00, 0x46, 0x68, 0x23, 0x00, 0x21, 0x00, 0x22, 0x00, 0x93, 0x01,
0x93, 0x02, 0xf0, 0x00, 0xf8, 0x8c, 0xb0, 0x09, 0xbd, 0x00, 0xb5, 0xf0, 0xb0, 0x87, 0x92, 0x02,
0x0a, 0x56, 0x23, 0xff, 0x22, 0x80, 0x01, 0x12, 0x03, 0xdb, 0x90, 0x05, 0x91, 0x04, 0x20, 0x00,
0x27, 0x00, 0x92, 0x00, 0x93, 0x03, 0xe0, 0x30, 0x9a, 0x04, 0x02, 0x73, 0x1b, 0xd4, 0x9a, 0x02,
0x25, 0x00, 0x42, 0x9a, 0xd9, 0x01, 0x1a, 0xd5, 0x00, 0xad, 0x9b, 0x05, 0x22, 0x80, 0x19, 0xdb,
0x1c, 0x18, 0x1c, 0x21, 0x01, 0x12, 0x93, 0x01, 0xf0, 0x00, 0xf8, 0x7e, 0x28, 0x00, 0xd0, 0x01,
0x2d, 0x00, 0xd0, 0x0b, 0x9a, 0x00, 0x19, 0x2b, 0x42, 0x93, 0xd9, 0x00, 0x1b, 0x54, 0x98, 0x01,
0x1c, 0x21, 0x1c, 0x2a, 0x1c, 0x33, 0xf7, 0xff, 0xff, 0x7a, 0xe0, 0x0a, 0x9b, 0x03, 0x1c, 0x04,
0x42, 0x98, 0xd9, 0x01, 0x24, 0xff, 0x03, 0xe4, 0x98, 0x01, 0x1c, 0x21, 0x1c, 0x32, 0xf7, 0xff,
0xff, 0x45, 0x19, 0x65, 0x0a, 0xed, 0x19, 0x76, 0x19, 0x3f, 0x9a, 0x04, 0x42, 0x97, 0xd3, 0xcb,
0xb0, 0x07, 0xbd, 0xf0, 0xb5, 0x08, 0xf7, 0xff, 0xff, 0x1f, 0xbd, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x7c,
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x13, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x68, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x0d,
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x54,
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x07, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x40, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x01,
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe1, 0x2f, 0xff, 0x17, 0xb5, 0xf0, 0x46, 0x57,
0x46, 0x46, 0xb4, 0xc0, 0x68, 0x05, 0x46, 0x8a, 0x4b, 0x09, 0x68, 0x1b, 0x47, 0x18, 0xb5, 0xf0,
0x46, 0x5f, 0x46, 0x56, 0x46, 0x4d, 0x46, 0x44, 0xb4, 0xf0, 0x4b, 0x06, 0x68, 0x1b, 0x47, 0x18,
0x13, 0x70, 0x21, 0x14, 0x13, 0x70, 0x21, 0x20, 0x13, 0x70, 0x21, 0x24, 0x13, 0x70, 0x21, 0x28,
0x13, 0x70, 0x21, 0x18, 0x13, 0x70, 0x21, 0x1c, 0xb5, 0x30, 0x1c, 0x03, 0x20, 0x00, 0x06, 0xdc,
0xd1, 0x17, 0x48, 0x0c, 0x24, 0x00, 0x42, 0x83, 0xd8, 0x02, 0x24, 0xc0, 0x04, 0x64, 0x1a, 0xe4,
0x20, 0xf0, 0x06, 0x00, 0x18, 0x1d, 0x48, 0x08, 0x42, 0x85, 0xd8, 0x01, 0x4c, 0x07, 0x1a, 0xe4,
0x20, 0x00, 0x42, 0x94, 0xd3, 0x03, 0x1c, 0x20, 0x42, 0x8c, 0xd9, 0x00, 0x1c, 0x08, 0x3a, 0x01,
0x43, 0x90, 0xbd, 0x30, 0x01, 0x7f, 0xff, 0xff, 0x03, 0x61, 0x7f, 0xff, 0x13, 0x61, 0x80, 0x00,
0xb5, 0x08, 0x21, 0x00, 0xf0, 0x00, 0xeb, 0xf4, 0x4b, 0x03, 0x60, 0x18, 0x1e, 0x43, 0x43, 0x03,
0x17, 0xdb, 0x40, 0x18, 0xbd, 0x08, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x00, 0xb5, 0x08, 0x4b, 0x05,
0x68, 0x18, 0x28, 0x00, 0xdb, 0x01, 0xf0, 0x00, 0xeb, 0xe8, 0x4a, 0x02, 0x23, 0x01, 0x42, 0x5b,
0x60, 0x13, 0xbd, 0x08, 0x13, 0x70, 0x20, 0x00, 0xb5, 0x70, 0x4c, 0x0a, 0x1c, 0x05, 0x1c, 0x0e,
0x68, 0x20, 0x00, 0x91, 0x22, 0x00, 0xf0, 0x00, 0xeb, 0xe4, 0x28, 0x00, 0xdb, 0x08, 0x68, 0x20,
0x1c, 0x29, 0x1c, 0x32, 0xf0, 0x00, 0xeb, 0xd4, 0x1e, 0x43, 0x43, 0x03, 0x17, 0xdb, 0x40, 0x18,
0xbd, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x00, 0xb5, 0x10, 0xf0, 0x00, 0xec, 0x32, 0xf0, 0x00,
0xec, 0x36, 0x1c, 0x04, 0x20, 0x01, 0x42, 0x40, 0xf0, 0x00, 0xec, 0x34, 0x4b, 0x04, 0x68, 0x58,
0xf0, 0x00, 0xf8, 0x22, 0x1c, 0x20, 0xf0, 0x00, 0xec, 0x2e, 0x20, 0x00, 0xbd, 0x10, 0x46, 0xc0,
0x13, 0x70, 0x21, 0x00, 0xb5, 0x08, 0x48, 0x05, 0xf0, 0x00, 0xfb, 0x32, 0x48, 0x04, 0x21, 0x00,
0x22, 0x00, 0xf0, 0x00, 0xfb, 0x23, 0x20, 0x00, 0xbd, 0x08, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x00,
0x13, 0x70, 0x03, 0x41, 0xb5, 0x08, 0x48, 0x03, 0xf0, 0x00, 0xeb, 0xea, 0xf7, 0xff, 0xff, 0xea,
0xbd, 0x08, 0x46, 0xc0, 0x13, 0x70, 0x20, 0xa8, 0xb5, 0x10, 0x4b, 0x41, 0x42, 0x98, 0xd0, 0x32,
0x42, 0x98, 0xd8, 0x03, 0x4b, 0x3f, 0x42, 0x98, 0xd1, 0x79, 0xe0, 0x06, 0x4b, 0x3e, 0x42, 0x98,
0xd0, 0x4f, 0x4b, 0x3e, 0x42, 0x98, 0xd1, 0x72, 0xe0, 0x4b, 0x48, 0x3d, 0x4c, 0x3d, 0x21, 0x04,
0x60, 0x04, 0xf0, 0x00, 0xeb, 0xea, 0x4b, 0x3c, 0x48, 0x3c, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00,
0xeb, 0xe4, 0x48, 0x3b, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0xde, 0x4b, 0x39, 0x48, 0x3a,
0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0xd8, 0x4b, 0x38, 0x4a, 0x39, 0x60, 0x1a, 0x4a, 0x39,
0x60, 0x5a, 0x4a, 0x39, 0x60, 0x9a, 0x4a, 0x39, 0x60, 0xda, 0x3a, 0x30, 0x61, 0x1a, 0x4a, 0x38,
0x61, 0x5a, 0x4a, 0x38, 0xe0, 0x4a, 0x48, 0x38, 0x4c, 0x2a, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00,
0xeb, 0xc4, 0x4b, 0x29, 0x48, 0x35, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0xbe, 0x48, 0x34,
0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0xb8, 0x4b, 0x26, 0x48, 0x32, 0x21, 0x04, 0x60, 0x03,
0xf0, 0x00, 0xeb, 0xb2, 0x4b, 0x25, 0x4a, 0x30, 0x60, 0x1a, 0x4a, 0x30, 0x60, 0x5a, 0x4a, 0x30,
0x60, 0x9a, 0x4a, 0x30, 0x60, 0xda, 0x3a, 0x2c, 0x61, 0x1a, 0x4a, 0x2f, 0x61, 0x5a, 0x4a, 0x2f,
0xe0, 0x24, 0x48, 0x17, 0x4c, 0x17, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0x9e, 0x4b, 0x16,
0x48, 0x16, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0x98, 0x48, 0x15, 0x21, 0x04, 0x60, 0x04,
0xf0, 0x00, 0xeb, 0x92, 0x4b, 0x13, 0x48, 0x14, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0x8c,
0x4b, 0x12, 0x4a, 0x23, 0x60, 0x1a, 0x4a, 0x13, 0x60, 0x5a, 0x4a, 0x13, 0x60, 0x9a, 0x4a, 0x13,
0x60, 0xda, 0x3a, 0x30, 0x61, 0x1a, 0x4a, 0x1f, 0x61, 0x5a, 0x4a, 0x1f, 0x61, 0x9a, 0xbd, 0x10,
0x48, 0x88, 0xe1, 0x4c, 0x48, 0x77, 0x6f, 0x72, 0x49, 0x2a, 0xca, 0x9d, 0x4a, 0x26, 0x2a, 0xf5,
0x20, 0x20, 0x04, 0x00, 0x4b, 0x00, 0x47, 0x18, 0x13, 0x70, 0x09, 0x45, 0x20, 0x20, 0x04, 0x04,
0x20, 0x20, 0x0e, 0xf8, 0x13, 0x70, 0x06, 0x55, 0x20, 0x20, 0x0e, 0xfc, 0x13, 0x70, 0x21, 0x14,
0x20, 0x20, 0x2a, 0x71, 0x20, 0x20, 0x04, 0x0d, 0x20, 0x20, 0x0f, 0x05, 0x20, 0x20, 0x09, 0x6d,
0x20, 0x20, 0x38, 0x7d, 0x20, 0x22, 0xdd, 0x60, 0x20, 0x20, 0x03, 0xb8, 0x20, 0x20, 0x03, 0xbc,
0x20, 0x20, 0x0d, 0x2c, 0x20, 0x20, 0x0d, 0x30, 0x20, 0x20, 0x28, 0x75, 0x20, 0x20, 0x03, 0xc5,
0x20, 0x20, 0x0d, 0x39, 0x20, 0x20, 0x08, 0xc5, 0x20, 0x20, 0x36, 0x5d, 0x20, 0x22, 0xcd, 0xac,
0x20, 0x20, 0x29, 0x45, 0x20, 0x20, 0x37, 0x51, 0x20, 0x22, 0xcd, 0x60, 0xb5, 0x00, 0x4b, 0x0b,
0x68, 0x5b, 0x2b, 0x01, 0xd0, 0x02, 0x2b, 0x02, 0xd1, 0x0c, 0xe0, 0x01, 0x4a, 0x08, 0xe0, 0x00,
0x4a, 0x08, 0x23, 0x00, 0x42, 0x90, 0xd3, 0x06, 0x4b, 0x04, 0x4a, 0x07, 0x61, 0x1a, 0x23, 0xa0,
0x02, 0x1b, 0xe0, 0x00, 0x23, 0x00, 0x1c, 0x18, 0xbd, 0x00, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30,
0x46, 0x09, 0x00, 0x00, 0x7e, 0xd3, 0x80, 0x00, 0x00, 0x05, 0x21, 0x00, 0xb5, 0x70, 0x1c, 0x04,
0x1c, 0x10, 0x1c, 0x0d, 0x1c, 0x16, 0xf7, 0xff, 0xff, 0xd9, 0x28, 0x00, 0xd1, 0x25, 0x4b, 0x13,
0x68, 0xd9, 0x68, 0x9a, 0x68, 0x1b, 0x18, 0x8a, 0x19, 0x92, 0x06, 0xd9, 0xd5, 0x04, 0x1c, 0x20,
0x1c, 0x29, 0xf0, 0x00, 0xfd, 0xd5, 0xe0, 0x18, 0x07, 0x19, 0xd5, 0x04, 0x1c, 0x20, 0x1c, 0x29,
0xf7, 0xff, 0xfe, 0xba, 0xe0, 0x11, 0x07, 0x59, 0xd5, 0x04, 0x1c, 0x20, 0x1c, 0x29, 0xf0, 0x00,
0xfb, 0x55, 0xe0, 0x0a, 0x07, 0xd9, 0xd5, 0x04, 0x1c, 0x20, 0x1c, 0x29, 0xf7, 0xff, 0xfd, 0xcd,
0xe0, 0x03, 0x1c, 0x20, 0x1c, 0x29, 0xf7, 0xff, 0xfe, 0x0d, 0xbd, 0x70, 0x13, 0x70, 0x21, 0x30,
0xb5, 0x10, 0x22, 0x00, 0x1c, 0x04, 0xf7, 0xff, 0xff, 0xc9, 0x28, 0x00, 0xdb, 0x0d, 0x69, 0xa2,
0x4b, 0x06, 0x42, 0x9a, 0xd1, 0x09, 0x4b, 0x06, 0x21, 0x01, 0x68, 0x1a, 0x70, 0x11, 0x68, 0x1b,
0x78, 0x5b, 0x2b, 0x00, 0xd1, 0x01, 0xf7, 0xff, 0xee, 0x00, 0xbd, 0x10, 0x5d, 0x1c, 0x9e, 0xa3,
0x13, 0x70, 0x21, 0x2c, 0xb5, 0x10, 0x20, 0x80, 0x01, 0x00, 0x21, 0x20, 0xf7, 0xff, 0xee, 0x00,
0x1e, 0x04, 0xd0, 0x0f, 0x21, 0x80, 0x22, 0xa0, 0x1c, 0x20, 0x01, 0x09, 0x05, 0xd2, 0xf7, 0xff,
0xff, 0xa5, 0x1e, 0x43, 0x41, 0x98, 0x23, 0x02, 0x1a, 0x18, 0x4b, 0x03, 0x60, 0x58, 0x1c, 0x20,
0xf7, 0xff, 0xed, 0xfa, 0xbd, 0x10, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30, 0x4b, 0x06, 0x21, 0x03,
0x68, 0x1a, 0x43, 0x8a, 0x60, 0x1a, 0x22, 0x00, 0x60, 0x9a, 0x60, 0xda, 0x60, 0x5a, 0x61, 0x1a,
0x61, 0x5a, 0x61, 0x9a, 0x47, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30, 0xb5, 0xf0, 0xb0, 0x83,
0x78, 0x03, 0x1c, 0x06, 0x1c, 0x0f, 0x92, 0x00, 0x2b, 0xe0, 0xd1, 0x00, 0xe0, 0xd4, 0x4c, 0xb4,
0x22, 0x00, 0x61, 0x22, 0x2b, 0xe4, 0xd1, 0x00, 0xe0, 0xb5, 0x2b, 0xe4, 0xd8, 0x2a, 0x2b, 0xa8,
0xd1, 0x00, 0xe0, 0x98, 0x2b, 0xa8, 0xd8, 0x10, 0x2b, 0x8a, 0xd0, 0x51, 0x2b, 0x8a, 0xd8, 0x05,
0x2b, 0x70, 0xd0, 0x60, 0x2b, 0x71, 0xd0, 0x00, 0xe1, 0x48, 0xe0, 0x81, 0x2b, 0x8d, 0xd1, 0x00,
0xe0, 0x89, 0x2b, 0xa4, 0xd0, 0x00, 0xe1, 0x41, 0xe0, 0xa4, 0x2b, 0xd9, 0xd1, 0x00, 0xe0, 0x8d,
0x2b, 0xd9, 0xd8, 0x06, 0x2b, 0xab, 0xd1, 0x00, 0xe0, 0x95, 0x2b, 0xd0, 0xd0, 0x00, 0xe1, 0x35,
0xe0, 0x79, 0x2b, 0xdb, 0xd1, 0x00, 0xe0, 0xa0, 0x2b, 0xdb, 0xd3, 0x7b, 0x2b, 0xe0, 0xd0, 0x00,
0xe1, 0x2c, 0xe0, 0xa1, 0x2b, 0xf6, 0xd1, 0x00, 0xe1, 0x1e, 0x2b, 0xf6, 0xd8, 0x12, 0x2b, 0xf2,
0xd1, 0x00, 0xe0, 0xaa, 0x2b, 0xf2, 0xd8, 0x06, 0x2b, 0xf0, 0xd1, 0x00, 0xe0, 0xa0, 0x2b, 0xf1,
0xd0, 0x00, 0xe1, 0x1b, 0xe0, 0x9f, 0x2b, 0xf4, 0xd1, 0x00, 0xe0, 0xad, 0x2b, 0xf4, 0xd9, 0x00,
0xe0, 0xbf, 0xe0, 0xa6, 0x2b, 0xf9, 0xd1, 0x00, 0xe0, 0xd7, 0x2b, 0xf9, 0xd8, 0x06, 0x2b, 0xf7,
0xd1, 0x00, 0xe0, 0xb9, 0x2b, 0xf8, 0xd0, 0x00, 0xe1, 0x08, 0xe0, 0xca, 0x2b, 0xfb, 0xd1, 0x00,
0xe0, 0xf3, 0x2b, 0xfb, 0xd2, 0x00, 0xe0, 0xed, 0x2b, 0xff, 0xd0, 0x00, 0xe0, 0xfe, 0xe0, 0xf6,
0x69, 0xa3, 0x25, 0x00, 0x2b, 0x00, 0xd0, 0x00, 0xe0, 0xff, 0xf7, 0xff, 0xff, 0x7f, 0x68, 0x22,
0x23, 0x1c, 0x42, 0x1a, 0xd1, 0x00, 0xe0, 0xf1, 0xf7, 0xff, 0xfc, 0xf8, 0x69, 0x62, 0x23, 0x04,
0x43, 0x13, 0x61, 0x63, 0xe0, 0xf1, 0x68, 0xa3, 0x68, 0xe2, 0x25, 0x00, 0x43, 0x1a, 0x92, 0x01,
0x68, 0x22, 0x23, 0x1c, 0x42, 0x1a, 0xd1, 0x09, 0x9a, 0x00, 0xf7, 0xff, 0xfd, 0x80, 0x1e, 0x05,
0xd0, 0x04, 0x4b, 0x73, 0x22, 0x01, 0x68, 0x19, 0x43, 0x0a, 0x60, 0x1a, 0x4b, 0x70, 0x68, 0x1a,
0x23, 0x1d, 0x40, 0x13, 0x9a, 0x01, 0x43, 0x1a, 0xd0, 0x04, 0x1c, 0x38, 0x99, 0x00, 0xf7, 0xff,
0xff, 0x1f, 0x1c, 0x05, 0x2d, 0x00, 0xd0, 0x00, 0xe0, 0xcf, 0xf7, 0xff, 0xff, 0x33, 0xe0, 0xcc,
0x68, 0x23, 0x07, 0x9a, 0xd4, 0x00, 0xe0, 0xc1, 0x68, 0x41, 0x68, 0x82, 0x1c, 0x38, 0xf7, 0xff,
0xfe, 0xdd, 0x1c, 0x05, 0xe0, 0xc1, 0x68, 0x71, 0x68, 0xb2, 0x2b, 0xd0, 0xd1, 0xf6, 0x02, 0xc9,
0x02, 0x52, 0xe7, 0xf3, 0x1c, 0x08, 0x22, 0x40, 0x99, 0x00, 0xe7, 0xf0, 0x68, 0x22, 0x23, 0x1d,
0x42, 0x1a, 0xd1, 0x00, 0xe0, 0xaa, 0x68, 0x43, 0x68, 0x82, 0x07, 0x9b, 0x43, 0x13, 0x0b, 0xdb,
0x03, 0xdb, 0x60, 0xe3, 0xe0, 0xa8, 0x68, 0x22, 0x23, 0x1d, 0x25, 0x00, 0x42, 0x1a, 0xd0, 0x00,
0xe0, 0xa3, 0xe0, 0x9b, 0x68, 0x22, 0x23, 0x1d, 0x42, 0x1a, 0xd1, 0x00, 0xe0, 0x96, 0x4a, 0x51,
0x4b, 0x4f, 0x25, 0xa0, 0x61, 0x1a, 0x02, 0x2d, 0xe0, 0x97, 0x68, 0x21, 0x23, 0x1c, 0x42, 0x19,
0xd1, 0x00, 0xe0, 0x8b, 0x60, 0x3a, 0xe0, 0x8f, 0x4b, 0x49, 0x22, 0x1c, 0x68, 0x19, 0x42, 0x11,
0xd1, 0x03, 0x69, 0x1b, 0x2b, 0x00, 0xd1, 0x00, 0xe0, 0x80, 0x4b, 0x45, 0x69, 0x1b, 0xe0, 0x6a,
0x68, 0x43, 0x60, 0xa3, 0xe0, 0x80, 0x68, 0xa3, 0xe0, 0x65, 0x68, 0x43, 0x2b, 0x00, 0xd0, 0x03,
0x68, 0x22, 0x23, 0x02, 0x43, 0x13, 0xe0, 0x02, 0x68, 0x23, 0x22, 0x02, 0x43, 0x93, 0x60, 0x23,
0xe0, 0x72, 0x68, 0x23, 0x22, 0x02, 0xe0, 0x2e, 0x68, 0x47, 0xf0, 0x00, 0xf9, 0xf1, 0x68, 0x23,
0x22, 0x04, 0x43, 0x93, 0x60, 0x23, 0x25, 0x00, 0x2f, 0x00, 0xd0, 0x66, 0x1c, 0x31, 0x1e, 0x78,
0x31, 0x08, 0xf0, 0x00, 0xf9, 0xb9, 0x1e, 0x05, 0xd1, 0x5f, 0x4b, 0x31, 0x22, 0x04, 0x68, 0x19,
0xe0, 0x3d, 0x68, 0x23, 0x22, 0x04, 0xe0, 0x16, 0x68, 0x46, 0xf7, 0xff, 0xfd, 0x37, 0x68, 0x23,
0x22, 0x08, 0x43, 0x93, 0x60, 0x23, 0x25, 0x00, 0x2e, 0x00, 0xd0, 0x4e, 0x1c, 0x30, 0xf0, 0x00,
0xe9, 0x9a, 0xf7, 0xff, 0xfd, 0x1d, 0x1e, 0x05, 0xd1, 0x47, 0x4b, 0x25, 0x22, 0x08, 0x68, 0x19,
0xe0, 0x25, 0x68, 0x23, 0x22, 0x08, 0x40, 0x13, 0xe0, 0x25, 0x68, 0x43, 0x68, 0x82, 0x93, 0x00,
0x92, 0x01, 0x68, 0xc6, 0xf0, 0x00, 0xfa, 0xc4, 0x68, 0x23, 0x22, 0x10, 0x43, 0x93, 0x60, 0x23,
0x9b, 0x01, 0x2b, 0x00, 0xd0, 0x30, 0x9a, 0x00, 0x2a, 0x00, 0xd0, 0x2d, 0x25, 0x00, 0x2e, 0x00,
0xd0, 0x2b, 0x1c, 0x18, 0xf0, 0x00, 0xe9, 0x76, 0x1c, 0x32, 0x1c, 0x01, 0x98, 0x00, 0xf0, 0x00,
0xfa, 0xd9, 0x60, 0x38, 0x28, 0x00, 0xdd, 0x20, 0x4b, 0x11, 0x22, 0x10, 0x68, 0x19, 0x43, 0x0a,
0x60, 0x1a, 0xe0, 0x1a, 0x68, 0x23, 0x60, 0x3b, 0xe0, 0x16, 0x4b, 0x0f, 0x60, 0x0b, 0x68, 0x23,
0x60, 0x4b, 0x68, 0x63, 0x60, 0x8b, 0xe0, 0x0f, 0x68, 0x43, 0x61, 0xa3, 0xe0, 0x0c, 0x68, 0x40,
0xf0, 0x00, 0xe9, 0x58, 0x1c, 0x39, 0xf7, 0xff, 0xfb, 0xeb, 0xe7, 0x42, 0x1c, 0x30, 0x1c, 0x39,
0x9a, 0x00, 0xf7, 0xff, 0xfc, 0x9c, 0xe7, 0x3c, 0x25, 0x00, 0xb0, 0x03, 0x1c, 0x28, 0xbd, 0xf0,
0x13, 0x70, 0x21, 0x30, 0x00, 0x05, 0x31, 0x00, 0x48, 0x45, 0x4c, 0x4f, 0xb5, 0x38, 0x1c, 0x03,
0x68, 0x1a, 0x68, 0xc0, 0x2a, 0x86, 0xd0, 0x19, 0x2a, 0x86, 0xd8, 0x04, 0x2a, 0x79, 0xd0, 0x07,
0x2a, 0x7a, 0xd1, 0x2d, 0xe0, 0x0b, 0x2a, 0x88, 0xd0, 0x1b, 0x2a, 0x95, 0xd1, 0x28, 0xe0, 0x20,
0x4a, 0x15, 0x20, 0x01, 0x68, 0x14, 0x22, 0x1c, 0x42, 0x14, 0xd1, 0x24, 0xe0, 0x20, 0x4a, 0x12,
0x24, 0x1c, 0x68, 0x15, 0x42, 0x25, 0xd0, 0x1b, 0x69, 0x53, 0xe0, 0x10, 0x4a, 0x0e, 0x20, 0x1c,
0x68, 0x14, 0x42, 0x04, 0xd0, 0x14, 0x69, 0x53, 0x21, 0x04, 0x43, 0x8b, 0x61, 0x53, 0x20, 0x01,
0xe0, 0x11, 0x4a, 0x09, 0x68, 0x14, 0x22, 0x1c, 0x42, 0x14, 0xd0, 0x09, 0x23, 0x02, 0x60, 0x03,
0xe7, 0xf5, 0x4a, 0x05, 0x68, 0x14, 0x22, 0x1c, 0x42, 0x14, 0xd0, 0x01, 0x23, 0x0a, 0xe7, 0xf6,
0x1c, 0x18, 0xf7, 0xff, 0xfc, 0x4b, 0xbd, 0x38, 0x13, 0x70, 0x21, 0x30, 0xb5, 0x38, 0x1c, 0x05,
0x1c, 0x0c, 0x1c, 0x13, 0x1c, 0x29, 0x1c, 0x22, 0x20, 0x10, 0xf0, 0x00, 0xe8, 0xf8, 0xbd, 0x38,
0xb5, 0x08, 0x1c, 0x01, 0x22, 0x00, 0x20, 0x12, 0x23, 0x00, 0xf0, 0x00, 0xe8, 0xf0, 0xbd, 0x08,
0xe6, 0x00, 0x00, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x00, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x70, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x00, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x00, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x01, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x01, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x70, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x01, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x01, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x02, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x02, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x70, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x02, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x02, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x70, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x04, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x04, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x70, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x04, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x04, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x05, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x05, 0x30, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x05, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x06, 0x90, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x07, 0xf0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x08, 0x10, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x09, 0xf0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x0a, 0x10, 0xe1, 0x2f, 0xff, 0x1e,
0xe1, 0xa0, 0x20, 0x0e, 0xe2, 0x90, 0x10, 0x00, 0xe3, 0xb0, 0x00, 0x04, 0xef, 0x00, 0x00, 0xab,
0xe1, 0x2f, 0xff, 0x12, 0x00, 0x00, 0x00, 0x00, 0xe5, 0x9f, 0xc0, 0x54, 0xe5, 0x9c, 0xc0, 0x00,
0xe1, 0xa0, 0x00, 0x00, 0xe7, 0x9c, 0xc1, 0x0b, 0xe1, 0xa0, 0x00, 0x00, 0xe1, 0x2f, 0xff, 0x1c,
0xe3, 0xa0, 0xb0, 0x3f, 0xea, 0xff, 0xff, 0xf7, 0xe3, 0xa0, 0xb0, 0x40, 0xea, 0xff, 0xff, 0xf5,
0xe3, 0xa0, 0x00, 0x00, 0xee, 0x07, 0x0f, 0x15, 0xe1, 0x2f, 0xff, 0x1e, 0xee, 0x13, 0x0f, 0x10,
0xe1, 0x2f, 0xff, 0x1e, 0xee, 0x03, 0x0f, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xef, 0x00, 0x00, 0xcc,
0xe1, 0x2f, 0xff, 0x1e, 0xe3, 0xc0, 0x01, 0x02, 0xe1, 0x2f, 0xff, 0x1e, 0xe3, 0x80, 0x01, 0x02,
0xe1, 0x2f, 0xff, 0x1e, 0x13, 0x70, 0x21, 0x00, 0xb5, 0x70, 0xb0, 0x82, 0x4b, 0x10, 0x00, 0x80,
0x58, 0xc0, 0x1c, 0x0e, 0x21, 0x01, 0xf7, 0xff, 0xef, 0x6c, 0x4b, 0x0e, 0x1c, 0x05, 0x60, 0x18,
0x28, 0x00, 0xdb, 0x11, 0x4c, 0x0c, 0x1c, 0x31, 0x1c, 0x20, 0x22, 0x06, 0xf0, 0x00, 0xfa, 0xe2,
0x23, 0x06, 0x64, 0x63, 0x64, 0x24, 0x1c, 0x28, 0x34, 0x40, 0x49, 0x08, 0x22, 0x01, 0x23, 0x00,
0x94, 0x00, 0xf7, 0xff, 0xef, 0x6e, 0x1c, 0x05, 0xb0, 0x02, 0x1c, 0x28, 0xbd, 0x70, 0x46, 0xc0,
0x13, 0x70, 0x20, 0xa0, 0x13, 0x70, 0x20, 0x04, 0x13, 0x70, 0x21, 0x60, 0x57, 0x46, 0x53, 0x01,
0xb5, 0x08, 0x4b, 0x05, 0x68, 0x18, 0x28, 0x00, 0xdb, 0x01, 0xf7, 0xff, 0xef, 0x46, 0x4a, 0x02,
0x23, 0x01, 0x42, 0x5b, 0x60, 0x13, 0xbd, 0x08, 0x13, 0x70, 0x20, 0x04, 0xb5, 0xf0, 0xb0, 0x83,
0x4c, 0x14, 0x23, 0x04, 0x60, 0x22, 0x1c, 0x26, 0x1c, 0x22, 0x32, 0x20, 0x36, 0x40, 0x64, 0x63,
0x64, 0xa2, 0x64, 0xe3, 0x62, 0x21, 0x65, 0x20, 0x65, 0x61, 0x64, 0x24, 0x1c, 0x07, 0x1c, 0x0d,
0x1c, 0x30, 0x21, 0x20, 0xf7, 0xff, 0xef, 0x68, 0x1c, 0x20, 0x21, 0x24, 0xf7, 0xff, 0xef, 0x64,
0x4b, 0x09, 0x49, 0x0a, 0x68, 0x18, 0x22, 0x02, 0x23, 0x01, 0x96, 0x00, 0xf7, 0xff, 0xef, 0x30,
0x1e, 0x04, 0xd1, 0x03, 0x1c, 0x38, 0x1c, 0x29, 0xf7, 0xff, 0xef, 0x52, 0xb0, 0x03, 0x1c, 0x20,
0xbd, 0xf0, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x60, 0x13, 0x70, 0x20, 0x04, 0x57, 0x46, 0x53, 0x02,
0xb5, 0x70, 0xb0, 0x82, 0x1c, 0x03, 0x48, 0x1c, 0x68, 0x04, 0x20, 0x00, 0x2c, 0x00, 0xdb, 0x31,
0x4e, 0x1a, 0x60, 0x33, 0x23, 0x04, 0x62, 0x73, 0x62, 0xf3, 0x6b, 0xb3, 0x60, 0x71, 0x43, 0x59,
0x1c, 0x34, 0x1d, 0x30, 0x34, 0x20, 0x62, 0x36, 0x62, 0xb0, 0x63, 0x32, 0x63, 0x71, 0x1c, 0x25,
0x36, 0x38, 0x68, 0x28, 0x68, 0x69, 0xf7, 0xff, 0xef, 0x30, 0x35, 0x08, 0x42, 0xb5, 0xd1, 0xf8,
0x4d, 0x0e, 0x21, 0x18, 0x35, 0x20, 0x1c, 0x28, 0xf7, 0xff, 0xef, 0x26, 0x4b, 0x0a, 0x49, 0x0c,
0x68, 0x18, 0x22, 0x02, 0x23, 0x01, 0x95, 0x00, 0xf7, 0xff, 0xee, 0xf2, 0x1c, 0x03, 0x20, 0x00,
0x2b, 0x00, 0xdb, 0x07, 0x68, 0x20, 0x68, 0x61, 0xf7, 0xff, 0xef, 0x12, 0x34, 0x08, 0x42, 0xb4,
0xd1, 0xf8, 0x20, 0x01, 0xb0, 0x02, 0xbd, 0x70, 0x13, 0x70, 0x20, 0x20, 0x13, 0x70, 0x21, 0xc0,
0x55, 0x4d, 0x53, 0x03, 0xb5, 0x30, 0xb0, 0x83, 0x4c, 0x0e, 0x25, 0x00, 0x68, 0x23, 0x2b, 0x00,
0xda, 0x14, 0x1c, 0x20, 0x30, 0x20, 0x21, 0x01, 0xf7, 0xff, 0xee, 0xba, 0x60, 0x20, 0x28, 0x00,
0xdb, 0x0a, 0x22, 0x00, 0x23, 0x00, 0x49, 0x08, 0x95, 0x00, 0xf7, 0xff, 0xee, 0xca, 0x4a, 0x07,
0x23, 0x80, 0x00, 0x9b, 0x63, 0x93, 0xe0, 0x01, 0x25, 0x0b, 0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28,
0xbd, 0x30, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x20, 0x55, 0x4d, 0x53, 0x01, 0x13, 0x70, 0x21, 0xc0,
0xb5, 0x30, 0xb0, 0x83, 0x4c, 0x0d, 0x25, 0x00, 0x68, 0x23, 0x2b, 0x00, 0xda, 0x13, 0x1c, 0x20,
0x30, 0x20, 0x21, 0x01, 0xf7, 0xff, 0xee, 0x94, 0x60, 0x20, 0x28, 0x00, 0xdb, 0x09, 0x23, 0x00,
0x21, 0x01, 0x22, 0x00, 0x95, 0x00, 0xf7, 0xff, 0xee, 0xa4, 0x23, 0x80, 0x00, 0x9b, 0x63, 0x23,
0xe0, 0x01, 0x25, 0x0b, 0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28, 0xbd, 0x30, 0x13, 0x70, 0x20, 0x60,
0xb5, 0x70, 0xb0, 0x82, 0x4c, 0x1c, 0x1c, 0x03, 0x68, 0x25, 0x20, 0x00, 0x2d, 0x00, 0xdb, 0x31,
0x4e, 0x1a, 0x60, 0x33, 0x23, 0x04, 0x62, 0x73, 0x62, 0xf3, 0x6b, 0x23, 0x60, 0x71, 0x43, 0x59,
0x1c, 0x34, 0x1d, 0x30, 0x34, 0x20, 0x62, 0x36, 0x62, 0xb0, 0x63, 0x32, 0x63, 0x71, 0x1c, 0x25,
0x36, 0x38, 0x68, 0x28, 0x68, 0x69, 0xf7, 0xff, 0xee, 0xa8, 0x35, 0x08, 0x42, 0xb5, 0xd1, 0xf8,
0x4d, 0x0e, 0x21, 0x18, 0x35, 0x20, 0x1c, 0x28, 0xf7, 0xff, 0xee, 0x9e, 0x4b, 0x0a, 0x21, 0x02,
0x68, 0x18, 0x22, 0x02, 0x23, 0x01, 0x95, 0x00, 0xf7, 0xff, 0xee, 0x6a, 0x1c, 0x03, 0x20, 0x00,
0x2b, 0x00, 0xdb, 0x07, 0x68, 0x20, 0x68, 0x61, 0xf7, 0xff, 0xee, 0x8a, 0x34, 0x08, 0x42, 0xb4,
0xd1, 0xf8, 0x20, 0x01, 0xb0, 0x02, 0xbd, 0x70, 0x13, 0x70, 0x20, 0x60, 0x13, 0x70, 0x22, 0x00,
0x4b, 0x02, 0x22, 0x00, 0x60, 0x1a, 0x60, 0x5a, 0x60, 0x9a, 0x47, 0x70, 0x13, 0x70, 0x22, 0x40,
0xb5, 0xf0, 0x48, 0x0f, 0x21, 0xa0, 0x68, 0x44, 0x23, 0x00, 0x30, 0x0c, 0x22, 0x00, 0x00, 0x89,
0x03, 0xd6, 0xe0, 0x01, 0x04, 0x2b, 0x0c, 0x1b, 0x00, 0x5d, 0x18, 0xed, 0x00, 0xad, 0x19, 0x65,
0x69, 0x6f, 0x68, 0xed, 0x19, 0x7d, 0x42, 0xae, 0xd3, 0x03, 0x68, 0x67, 0x1c, 0x5d, 0x42, 0xbd,
0xd3, 0xf0, 0x32, 0x01, 0x80, 0x03, 0x30, 0x02, 0x42, 0x8a, 0xd1, 0xe9, 0xbd, 0xf0, 0x46, 0xc0,
0x13, 0x70, 0x22, 0x40, 0xb5, 0xf8, 0x4b, 0x20, 0x1c, 0x06, 0x68, 0x1b, 0x1c, 0x0f, 0x1c, 0x15,
0x2b, 0x00, 0xd0, 0x01, 0xf7, 0xff, 0xff, 0xcc, 0x1e, 0x73, 0x2b, 0x01, 0xd8, 0x2e, 0x2d, 0x00,
0xd0, 0x2c, 0x4b, 0x1a, 0x42, 0x9d, 0xd8, 0x2b, 0x4c, 0x19, 0x2e, 0x01, 0xd1, 0x02, 0xf7, 0xff,
0xff, 0x39, 0xe0, 0x01, 0xf7, 0xff, 0xff, 0x5c, 0x4b, 0x15, 0x60, 0xe0, 0x68, 0xd8, 0x28, 0x00,
0xd1, 0x20, 0x4c, 0x11, 0x33, 0x10, 0x60, 0x63, 0x60, 0xa6, 0x1c, 0x38, 0x1c, 0x29, 0xf7, 0xff,
0xee, 0x30, 0x68, 0x66, 0x21, 0x00, 0x4a, 0x0d, 0x1c, 0x30, 0xf0, 0x00, 0xf9, 0xad, 0x1c, 0x2a,
0x1c, 0x39, 0x1c, 0x30, 0xf0, 0x00, 0xf9, 0x66, 0x1c, 0x38, 0x1c, 0x29, 0xf7, 0xff, 0xee, 0x24,
0xf7, 0xff, 0xff, 0xa6, 0x23, 0x01, 0x60, 0x23, 0x1c, 0x28, 0xe0, 0x03, 0x20, 0x01, 0xe0, 0x00,
0x20, 0x02, 0x42, 0x40, 0xbd, 0xf8, 0x46, 0xc0, 0x13, 0x70, 0x22, 0x40, 0x00, 0x00, 0xa4, 0x1c,
0x13, 0x70, 0x27, 0x40, 0xb5, 0xf0, 0xb0, 0x83, 0x4d, 0x33, 0x24, 0xa0, 0x0b, 0xcf, 0x00, 0xa4,
0x9e, 0x09, 0x62, 0xef, 0x42, 0xa7, 0xd9, 0x01, 0x4c, 0x30, 0x62, 0xec, 0x4d, 0x2e, 0x4f, 0x30,
0x6a, 0xec, 0x46, 0x9c, 0x00, 0x64, 0x19, 0x3c, 0x89, 0xa4, 0x63, 0x2c, 0x63, 0x6c, 0x00, 0x67,
0x68, 0x45, 0x19, 0x3f, 0x00, 0xbf, 0x95, 0x00, 0x19, 0xc7, 0x18, 0x55, 0x37, 0x0c, 0x95, 0x01,
0xe0, 0x35, 0x68, 0x3d, 0x42, 0x8d, 0xd8, 0x18, 0x68, 0xbb, 0x18, 0xeb, 0x42, 0x8b, 0xd9, 0x2c,
0x4f, 0x21, 0x1b, 0x4d, 0x46, 0x63, 0x63, 0x7c, 0x63, 0xbd, 0x60, 0x19, 0x00, 0x63, 0x19, 0x1c,
0x00, 0xa4, 0x19, 0x00, 0x69, 0x03, 0x99, 0x08, 0x18, 0xeb, 0x60, 0x0b, 0x69, 0x43, 0x20, 0x00,
0x1b, 0x5d, 0x60, 0x35, 0x42, 0x95, 0xd9, 0x2d, 0xe0, 0x15, 0x9b, 0x01, 0x42, 0x9d, 0xd2, 0x14,
0x4f, 0x15, 0x46, 0x63, 0x1a, 0x69, 0x63, 0x7c, 0x63, 0xb9, 0x60, 0x1d, 0x00, 0x63, 0x19, 0x1c,
0x00, 0xa4, 0x19, 0x00, 0x69, 0x03, 0x9c, 0x08, 0x1a, 0x52, 0x60, 0x23, 0x69, 0x43, 0x20, 0x00,
0x60, 0x33, 0x42, 0x93, 0xd9, 0x16, 0x60, 0x32, 0xe0, 0x14, 0x34, 0x01, 0x37, 0x0c, 0x9d, 0x00,
0x42, 0xac, 0xd3, 0xc6, 0x4d, 0x08, 0x18, 0x51, 0x68, 0x02, 0x46, 0x63, 0x63, 0x6c, 0x42, 0x91,
0xd8, 0x06, 0x60, 0x19, 0x99, 0x08, 0x23, 0x00, 0x60, 0x0b, 0x20, 0x00, 0x60, 0x33, 0xe0, 0x01,
0x20, 0x02, 0x42, 0x40, 0xb0, 0x03, 0xbd, 0xf0, 0x13, 0x70, 0xcb, 0x40, 0x00, 0x00, 0x02, 0x7f,
0x13, 0x70, 0x22, 0x40, 0xb5, 0xf0, 0xb0, 0x85, 0x1c, 0x07, 0x1c, 0x0e, 0x92, 0x02, 0x4d, 0x28,
0xe0, 0x43, 0x4a, 0x28, 0x4b, 0x28, 0x68, 0x50, 0x93, 0x00, 0x1c, 0x2b, 0x33, 0x44, 0x93, 0x01,
0x1c, 0x39, 0x9a, 0x02, 0x4b, 0x25, 0xf7, 0xff, 0xff, 0x7d, 0x64, 0xa8, 0x28, 0x00, 0xd1, 0x3d,
0x6b, 0xeb, 0x1b, 0xdb, 0x93, 0x03, 0x64, 0xeb, 0x2b, 0x00, 0xd0, 0x0b, 0x02, 0x5c, 0x1c, 0x30,
0x1c, 0x22, 0x21, 0x00, 0xf0, 0x00, 0xf9, 0x00, 0x9a, 0x03, 0x9b, 0x02, 0x18, 0xbf, 0x1a, 0x9b,
0x19, 0x36, 0x93, 0x02, 0x4c, 0x16, 0x6c, 0x61, 0x29, 0x00, 0xd0, 0x18, 0x4b, 0x15, 0x68, 0x9b,
0x2b, 0x01, 0xd1, 0x04, 0x6c, 0x20, 0x1c, 0x32, 0xf7, 0xff, 0xfe, 0x22, 0xe0, 0x03, 0x6c, 0x20,
0x1c, 0x32, 0xf7, 0xff, 0xfe, 0xa5, 0x4b, 0x0e, 0x64, 0xa0, 0x6c, 0x9a, 0x2a, 0x00, 0xd0, 0x11,
0x6c, 0x5b, 0x02, 0x5a, 0x18, 0xb6, 0x9a, 0x02, 0x18, 0xff, 0x1a, 0xd2, 0x92, 0x02, 0x4b, 0x08,
0x6c, 0x5a, 0x6c, 0xdb, 0x18, 0xd3, 0x2b, 0x00, 0xd0, 0x06, 0x9b, 0x02, 0x2b, 0x00, 0xd1, 0xb8,
0x20, 0x00, 0xe0, 0x03, 0x20, 0x03, 0xe0, 0x00, 0x20, 0x04, 0x42, 0x40, 0xb0, 0x05, 0xbd, 0xf0,
0x13, 0x70, 0xcb, 0x40, 0x13, 0x70, 0x22, 0x40, 0x13, 0x70, 0xcb, 0x80, 0x13, 0x70, 0xcb, 0x7c,
0xb5, 0xf8, 0x24, 0x7f, 0x1c, 0x0f, 0x1c, 0x1e, 0x09, 0xc1, 0x4b, 0x17, 0x40, 0x20, 0x24, 0x80,
0x00, 0x80, 0x00, 0xa4, 0x1a, 0x24, 0x65, 0x19, 0x65, 0x58, 0x65, 0x9c, 0x42, 0x94, 0xd9, 0x00,
0x65, 0x9a, 0x4a, 0x11, 0x23, 0x80, 0x6d, 0x90, 0x00, 0x9b, 0x42, 0x98, 0xd1, 0x01, 0x23, 0x00,
0x65, 0x93, 0x4c, 0x0d, 0x6d, 0xa3, 0x2b, 0x00, 0xd0, 0x10, 0x1c, 0x25, 0x35, 0x60, 0x1c, 0x08,
0x22, 0x01, 0x1c, 0x29, 0xf7, 0xff, 0xff, 0x7e, 0x4b, 0x08, 0x66, 0x18, 0x28, 0x00, 0xd1, 0x09,
0x6d, 0x61, 0x6d, 0xa2, 0x18, 0x69, 0x1c, 0x38, 0xf0, 0x00, 0xf8, 0x54, 0x4b, 0x02, 0x20, 0x00,
0x6d, 0x9b, 0x60, 0x33, 0xbd, 0xf8, 0x46, 0xc0, 0x13, 0x70, 0xcb, 0x40, 0x13, 0x70, 0xcd, 0x40,
0xb5, 0xf0, 0xb0, 0x83, 0x4c, 0x21, 0x91, 0x01, 0x1c, 0x06, 0x1c, 0x23, 0x1c, 0x10, 0x1c, 0x17,
0x33, 0x64, 0x1c, 0x31, 0x9a, 0x01, 0xf7, 0xff, 0xff, 0xbb, 0x1c, 0x05, 0x66, 0xa0, 0x28, 0x00,
0xd1, 0x31, 0x6e, 0x63, 0x08, 0x9a, 0x18, 0xbf, 0x9a, 0x01, 0x18, 0xf6, 0x96, 0x00, 0x1a, 0xd6,
0x4b, 0x17, 0x42, 0x9e, 0xd9, 0x11, 0x09, 0xf8, 0x0a, 0x72, 0x66, 0xe0, 0x67, 0x22, 0x99, 0x00,
0xf7, 0xff, 0xff, 0x48, 0x66, 0xa0, 0x28, 0x00, 0xd1, 0x19, 0x6f, 0x23, 0x01, 0xda, 0x18, 0xbf,
0x9a, 0x00, 0x02, 0x5b, 0x18, 0xd2, 0x1a, 0xf6, 0x92, 0x00, 0x2e, 0x00, 0xd0, 0x13, 0x4c, 0x0b,
0x1c, 0x38, 0x1c, 0x23, 0x33, 0x64, 0x99, 0x00, 0x1c, 0x32, 0xf7, 0xff, 0xff, 0x91, 0x1c, 0x05,
0x66, 0xa0, 0x28, 0x00, 0xd1, 0x07, 0x6e, 0x63, 0x42, 0x9e, 0xd1, 0x02, 0xe0, 0x03, 0x1c, 0x05,
0xe0, 0x01, 0x25, 0x05, 0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28, 0xbd, 0xf0, 0x13, 0x70, 0xcd, 0x40,
0x00, 0x00, 0x01, 0xff, 0xb5, 0xf0, 0x1c, 0x05, 0x1c, 0x0e, 0x1c, 0x14, 0x2a, 0x0f, 0xd9, 0x03,
0x1c, 0x0b, 0x43, 0x03, 0x07, 0x9f, 0xd0, 0x0a, 0x2c, 0x00, 0xd0, 0x05, 0x23, 0x00, 0x5c, 0xf2,
0x54, 0xea, 0x33, 0x01, 0x42, 0xa3, 0xd1, 0xfa, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0x1c, 0x15,
0x1c, 0x0c, 0x1c, 0x03, 0x68, 0x26, 0x60, 0x1e, 0x68, 0x66, 0x60, 0x5e, 0x68, 0xa6, 0x60, 0x9e,
0x68, 0xe6, 0x3d, 0x10, 0x60, 0xde, 0x34, 0x10, 0x33, 0x10, 0x2d, 0x0f, 0xd8, 0xf2, 0x3a, 0x10,
0x09, 0x17, 0x1c, 0x7e, 0x01, 0x3f, 0x01, 0x36, 0x1b, 0xd7, 0x19, 0x85, 0x1c, 0x3c, 0x19, 0x8e,
0x2f, 0x03, 0xd9, 0xd9, 0x1c, 0x34, 0x1c, 0x3b, 0x1c, 0x2a, 0xcc, 0x02, 0x3b, 0x04, 0xc2, 0x02,
0x2b, 0x03, 0xd8, 0xfa, 0x3f, 0x04, 0x08, 0xbc, 0x1c, 0x63, 0x00, 0x9b, 0x00, 0xa4, 0x18, 0xed,
0x18, 0xf6, 0x1b, 0x3c, 0xe7, 0xc8, 0x46, 0xc0, 0xb5, 0x70, 0x1c, 0x03, 0x07, 0x84, 0xd0, 0x0d,
0x2a, 0x00, 0xd0, 0x40, 0x06, 0x0d, 0x3a, 0x01, 0x0e, 0x2d, 0x24, 0x03, 0xe0, 0x02, 0x2a, 0x00,
0xd0, 0x39, 0x3a, 0x01, 0x70, 0x1d, 0x33, 0x01, 0x42, 0x23, 0xd1, 0xf8, 0x2a, 0x03, 0xd9, 0x29,
0x25, 0xff, 0x40, 0x0d, 0x02, 0x2c, 0x43, 0x25, 0x04, 0x2c, 0x1c, 0x1e, 0x43, 0x25, 0x2a, 0x0f,
0xd9, 0x12, 0x1c, 0x1c, 0x1c, 0x16, 0x3e, 0x10, 0x60, 0x25, 0x60, 0x65, 0x60, 0xa5, 0x60, 0xe5,
0x34, 0x10, 0x2e, 0x0f, 0xd8, 0xf7, 0x3a, 0x10, 0x09, 0x16, 0x36, 0x01, 0x01, 0x36, 0x19, 0x9e,
0x23, 0x0f, 0x40, 0x1a, 0x2a, 0x03, 0xd9, 0x0c, 0x1c, 0x34, 0x1c, 0x13, 0x3b, 0x04, 0xc4, 0x20,
0x2b, 0x03, 0xd8, 0xfb, 0x3a, 0x04, 0x08, 0x93, 0x33, 0x01, 0x00, 0x9b, 0x18, 0xf6, 0x23, 0x03,
0x40, 0x1a, 0x1c, 0x33, 0x2a, 0x00, 0xd0, 0x06, 0x06, 0x09, 0x0e, 0x0c, 0x21, 0x00, 0x54, 0x5c,
0x31, 0x01, 0x42, 0x8a, 0xd1, 0xfb, 0xbc, 0x70, 0xbc, 0x02, 0x47, 0x08, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x64, 0x65, 0x76,
0x2f, 0x75, 0x73, 0x62, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x64, 0x65, 0x76,
0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x70, 0x20, 0xd6,
0x13, 0x70, 0x20, 0xe0, 0x24, 0x49, 0x4f, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
0x20, 0x44, 0x49, 0x50, 0x50, 0x3a, 0x20, 0x53, 0x65, 0x70, 0x20, 0x20, 0x37, 0x20, 0x32, 0x30,
0x31, 0x30, 0x20, 0x31, 0x32, 0x3a, 0x32, 0x33, 0x3a, 0x31, 0x34, 0x20, 0x36, 0x34, 0x4d, 0x24,
0x0a, 0x00, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x75, 0x73, 0x62, 0x32, 0x00, 0x2f, 0x64, 0x65, 0x76,
0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00
};

View File

@ -0,0 +1,16 @@
#ifndef DIP_PLUGIN249_H_
#define DIP_PLUGIN249_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char dip_plugin_249[5340];
#define dip_plugin_249_size sizeof(dip_plugin_249)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,126 @@
#define size_dip_plugin_3 3352
unsigned char dip_plugin_3[3352] __attribute__((aligned (32)))={
19, 119, 229, 5, 18, 52, 0, 1, 32, 34, 205, 172, 32, 32, 13, 57, 32, 32, 8, 197, 32, 32, 8, 153, 32, 32, 91, 129, 32,
32, 0, 73, 32, 32, 40, 117, 32, 32, 54, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19, 119, 234, 29, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 71, 120, 234, 0, 2, 67, 70, 192, 71,
120, 234, 0, 2, 83, 70, 192, 71, 120, 234, 0, 2, 99, 70, 192, 71, 120, 234, 0, 2, 91, 70, 192, 71, 120, 234, 0, 2, 65,
70, 192, 71, 120, 234, 0, 2, 51, 70, 192, 71, 120, 234, 0, 2, 89, 70, 192, 71, 120, 234, 0, 2, 85, 70, 192, 71, 120,
234, 0, 2, 93, 181, 0, 75, 7, 176, 137, 147, 0, 70, 104, 35, 0, 33, 0, 34, 0, 147, 1, 147, 2, 240, 0, 252, 201, 176,
9, 188, 2, 71, 8, 70, 192, 227, 0, 0, 0, 181, 16, 28, 3, 34, 32, 28, 12, 72, 13, 28, 25, 247, 255, 255, 210, 33, 32,
72, 11, 247, 255, 255, 202, 73, 10, 34, 1, 104, 11, 66, 19, 209, 253, 34, 32, 28, 32, 73, 6, 247, 255, 255, 196, 28,
32, 33, 32, 247, 255, 255, 188, 75, 4, 104, 24, 188, 16, 188, 2, 71, 8, 70, 192, 13, 0, 96, 0, 13, 0, 96, 28, 13, 0,
96, 32, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 10, 203, 70, 154, 75, 20, 176, 137, 37, 0, 28, 7, 28, 14,
70, 145, 70, 108, 70, 155, 70, 168, 70, 91, 96, 35, 70, 67, 96, 99, 96, 163, 70, 83, 96, 227, 28, 56, 70, 75, 28, 49,
97, 35, 247, 255, 255, 162, 70, 104, 28, 57, 28, 50, 240, 0, 252, 122, 53, 1, 40, 0, 209, 8, 176, 9, 188, 60, 70, 144,
70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 45, 15, 217, 223, 231, 243, 208, 0, 0, 0, 181, 112, 176, 136, 75,
8, 28, 6, 28, 13, 70, 108, 147, 0, 96, 97, 146, 2, 247, 255, 255, 129, 28, 49, 28, 42, 70, 104, 240, 0, 252, 89, 176,
8, 188, 112, 188, 2, 71, 8, 168, 0, 0, 0, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 143, 144, 4, 145,
3, 146, 2, 41, 0, 209, 0, 224, 126, 10, 82, 70, 145, 35, 128, 34, 0, 1, 27, 70, 147, 34, 255, 147, 1, 3, 210, 171, 6,
146, 0, 70, 152, 224, 7, 154, 3, 68, 179, 69, 90, 217, 62, 154, 5, 24, 179, 10, 219, 68, 153, 154, 3, 70, 91, 26, 214,
70, 74, 2, 83, 154, 2, 66, 154, 216, 87, 35, 0, 147, 5, 36, 0, 159, 4, 34, 128, 68, 95, 28, 56, 28, 49, 1, 18, 240,
0, 248, 103, 44, 0, 209, 47, 40, 0, 208, 45, 155, 0, 28, 6, 66, 152, 217, 1, 38, 255, 3, 246, 10, 242, 70, 146, 36,
0, 75, 43, 70, 66, 96, 19, 35, 0, 96, 83, 96, 147, 70, 83, 96, 211, 70, 75, 97, 19, 28, 56, 28, 49, 247, 255, 255, 38,
70, 64, 28, 57, 28, 50, 240, 0, 251, 254, 52, 1, 28, 5, 40, 0, 208, 192, 44, 15, 217, 230, 45, 0, 208, 188, 176, 15,
28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 154, 5, 25, 147, 154, 1, 66, 147, 217,
1, 155, 5, 26, 214, 32, 128, 1, 0, 33, 32, 247, 255, 254, 251, 28, 4, 40, 0, 208, 18, 33, 128, 1, 9, 70, 74, 247, 255,
255, 59, 28, 5, 40, 0, 208, 15, 28, 32, 247, 255, 254, 217, 231, 216, 26, 211, 0, 155, 28, 28, 147, 5, 30, 99, 65, 156,
231, 163, 37, 1, 66, 109, 231, 208, 37, 0, 231, 206, 154, 5, 28, 56, 24, 161, 28, 50, 247, 255, 254, 214, 28, 56, 28,
49, 247, 255, 254, 206, 231, 228, 70, 192, 208, 0, 0, 0, 181, 48, 28, 13, 28, 20, 6, 195, 209, 18, 75, 15, 66, 152,
217, 19, 33, 0, 75, 14, 24, 194, 75, 14, 66, 154, 216, 1, 75, 13, 26, 25, 66, 161, 211, 5, 28, 8, 66, 169, 216, 10,
30, 99, 67, 152, 224, 0, 32, 0, 188, 48, 188, 2, 71, 8, 35, 192, 4, 91, 26, 25, 231, 232, 28, 40, 30, 99, 67, 152, 231,
244, 1, 127, 255, 255, 240, 0, 0, 0, 3, 97, 127, 255, 19, 97, 128, 0, 181, 240, 70, 87, 70, 78, 70, 69, 180, 224, 28,
12, 34, 4, 73, 33, 70, 130, 240, 0, 250, 75, 40, 0, 209, 3, 35, 128, 0, 91, 66, 156, 208, 11, 74, 29, 120, 19, 70, 144,
43, 0, 209, 45, 188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 1, 71, 0, 74, 23, 35, 10, 70, 144, 112, 19, 38, 243,
75, 21, 37, 0, 79, 21, 70, 153, 224, 2, 53, 1, 66, 181, 210, 20, 70, 83, 25, 92, 28, 32, 28, 57, 34, 13, 240, 0, 250,
37, 40, 0, 209, 243, 70, 73, 34, 13, 28, 32, 247, 255, 254, 106, 53, 1, 28, 32, 33, 13, 247, 255, 254, 97, 66, 181,
211, 234, 70, 66, 120, 19, 59, 1, 112, 19, 231, 209, 28, 38, 62, 13, 46, 0, 209, 217, 231, 245, 70, 192, 19, 119, 234,
128, 19, 119, 240, 0, 19, 119, 234, 132, 19, 119, 234, 145, 181, 48, 28, 4, 72, 15, 28, 13, 104, 131, 104, 193, 176,
129, 24, 91, 24, 154, 105, 3, 43, 0, 209, 15, 104, 67, 43, 0, 209, 7, 28, 32, 28, 41, 247, 255, 254, 189, 176, 1, 188,
48, 188, 2, 71, 8, 28, 32, 28, 41, 247, 255, 254, 203, 231, 246, 28, 32, 28, 41, 240, 0, 249, 254, 231, 241, 70, 192,
19, 119, 240, 4, 181, 240, 70, 71, 180, 128, 79, 30, 28, 4, 104, 59, 70, 152, 43, 0, 209, 17, 35, 1, 96, 59, 33, 32,
247, 255, 254, 42, 104, 227, 43, 8, 208, 12, 28, 32, 240, 0, 250, 245, 70, 67, 96, 59, 188, 4, 70, 144, 188, 240, 188,
2, 71, 8, 240, 0, 250, 236, 231, 247, 105, 163, 37, 197, 104, 24, 104, 89, 247, 255, 254, 20, 105, 163, 1, 173, 104,
27, 28, 40, 33, 8, 104, 92, 104, 30, 247, 255, 254, 11, 75, 10, 4, 36, 64, 30, 67, 52, 78, 9, 96, 44, 28, 40, 33, 4,
96, 52, 247, 255, 253, 240, 28, 48, 33, 4, 247, 255, 253, 236, 70, 67, 96, 59, 32, 0, 231, 213, 19, 119, 240, 44, 0,
0, 255, 255, 0, 0, 49, 136, 181, 16, 73, 20, 28, 4, 104, 139, 104, 202, 24, 154, 105, 11, 43, 0, 209, 18, 104, 75, 43,
0, 209, 11, 33, 32, 247, 255, 254, 87, 40, 0, 219, 3, 105, 162, 75, 12, 66, 154, 208, 10, 188, 16, 188, 2, 71, 8, 33,
32, 247, 255, 254, 97, 231, 242, 33, 32, 240, 0, 249, 149, 231, 238, 75, 6, 34, 1, 112, 26, 120, 91, 43, 0, 209, 238,
247, 255, 253, 178, 231, 235, 70, 192, 19, 119, 240, 4, 93, 28, 158, 163, 32, 34, 205, 172, 181, 240, 70, 87, 70, 70,
180, 192, 28, 4, 120, 0, 176, 129, 28, 14, 28, 23, 40, 224, 208, 24, 77, 133, 35, 0, 98, 43, 28, 3, 59, 112, 43, 143,
217, 13, 28, 32, 28, 49, 28, 58, 240, 0, 250, 136, 28, 4, 176, 1, 28, 32, 188, 12, 70, 144, 70, 154, 188, 240, 188,
2, 71, 8, 74, 123, 0, 155, 88, 211, 70, 159, 77, 120, 106, 43, 43, 0, 209, 2, 105, 43, 43, 0, 208, 230, 28, 48, 33,
0, 28, 58, 240, 0, 248, 240, 106, 43, 224, 143, 104, 107, 43, 0, 209, 2, 105, 43, 43, 0, 208, 217, 36, 0, 231, 221,
35, 1, 34, 37, 84, 171, 104, 43, 43, 0, 208, 0, 224, 173, 28, 32, 28, 58, 240, 0, 250, 90, 28, 4, 34, 0, 35, 37, 84,
234, 44, 0, 209, 204, 224, 46, 104, 235, 104, 169, 70, 154, 105, 43, 70, 136, 43, 0, 209, 0, 224, 176, 32, 0, 34, 0,
70, 67, 70, 81, 67, 11, 209, 2, 42, 0, 209, 0, 224, 176, 28, 3, 30, 90, 65, 147, 96, 107, 28, 48, 28, 57, 247, 255,
255, 107, 28, 4, 231, 176, 105, 43, 43, 0, 208, 167, 35, 2, 224, 85, 104, 97, 104, 162, 40, 208, 209, 0, 224, 144, 28,
48, 247, 255, 254, 242, 28, 4, 40, 0, 209, 160, 35, 37, 92, 235, 43, 0, 209, 156, 28, 48, 28, 57, 247, 255, 254, 149,
231, 151, 35, 36, 92, 234, 42, 0, 209, 179, 105, 41, 84, 234, 35, 37, 96, 42, 96, 106, 96, 170, 96, 234, 98, 42, 84,
234, 70, 136, 41, 0, 209, 0, 231, 128, 105, 108, 247, 255, 253, 54, 70, 64, 28, 41, 28, 34, 56, 1, 49, 24, 240, 0, 249,
19, 28, 4, 231, 122, 104, 107, 43, 0, 208, 93, 75, 60, 36, 160, 98, 43, 2, 36, 231, 114, 104, 107, 43, 0, 209, 3, 105,
43, 43, 0, 209, 0, 231, 101, 104, 99, 104, 162, 7, 155, 67, 19, 74, 53, 36, 0, 64, 19, 96, 235, 231, 98, 104, 99, 72,
51, 64, 24, 247, 255, 253, 34, 28, 4, 231, 91, 104, 98, 35, 36, 84, 234, 36, 0, 231, 86, 105, 43, 96, 51, 28, 48, 28,
57, 247, 255, 252, 235, 36, 0, 231, 78, 104, 99, 97, 43, 43, 0, 209, 40, 105, 99, 36, 0, 97, 107, 231, 70, 104, 43,
231, 238, 104, 99, 36, 0, 96, 43, 231, 64, 104, 171, 231, 232, 104, 99, 36, 0, 96, 171, 231, 58, 104, 107, 43, 0, 209,
3, 105, 43, 43, 0, 209, 0, 231, 45, 28, 48, 33, 0, 28, 58, 240, 0, 248, 55, 28, 48, 28, 57, 247, 255, 252, 197, 36,
0, 231, 40, 104, 97, 104, 162, 28, 48, 247, 255, 254, 114, 28, 4, 231, 79, 28, 40, 28, 33, 49, 8, 34, 6, 48, 24, 247,
255, 252, 185, 231, 206, 105, 43, 43, 0, 209, 158, 231, 15, 2, 201, 2, 82, 231, 107, 28, 58, 28, 32, 28, 49, 240, 0,
249, 149, 28, 2, 30, 83, 65, 154, 231, 71, 105, 43, 43, 0, 208, 0, 231, 74, 96, 106, 36, 0, 231, 2, 70, 192, 19, 119,
240, 4, 19, 119, 234, 160, 0, 5, 49, 0, 255, 255, 128, 0, 127, 255, 255, 255, 181, 240, 70, 87, 70, 78, 70, 69, 180,
224, 70, 128, 28, 14, 70, 148, 42, 0, 208, 51, 33, 3, 28, 2, 64, 10, 35, 4, 26, 155, 28, 24, 64, 8, 69, 96, 216, 49,
40, 0, 208, 49, 36, 0, 70, 67, 85, 30, 52, 1, 66, 160, 216, 250, 69, 132, 208, 32, 70, 99, 26, 27, 8, 159, 70, 153,
0, 187, 70, 154, 43, 0, 208, 17, 4, 51, 6, 50, 2, 49, 67, 26, 67, 10, 28, 21, 70, 67, 67, 53, 24, 26, 33, 0, 0, 139,
49, 1, 80, 213, 66, 185, 211, 250, 68, 84, 69, 209, 208, 6, 70, 67, 25, 24, 52, 1, 112, 6, 48, 1, 69, 164, 216, 250,
188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 1, 71, 0, 70, 96, 231, 203, 36, 0, 231, 211, 70, 192, 181, 48, 28,
5, 28, 12, 28, 16, 42, 0, 208, 12, 120, 42, 120, 11, 66, 154, 209, 12, 33, 0, 224, 3, 92, 106, 92, 99, 66, 154, 209,
6, 49, 1, 66, 136, 216, 248, 32, 0, 188, 48, 188, 2, 71, 8, 32, 1, 66, 64, 231, 249, 181, 112, 76, 17, 28, 6, 104, 32,
176, 130, 28, 13, 98, 2, 97, 6, 100, 1, 97, 65, 33, 68, 247, 255, 252, 33, 28, 48, 28, 41, 247, 255, 252, 29, 75, 10,
34, 2, 104, 24, 104, 35, 73, 9, 147, 0, 35, 1, 247, 255, 252, 40, 28, 41, 28, 4, 28, 48, 247, 255, 252, 31, 176, 2,
28, 32, 188, 112, 188, 2, 71, 8, 19, 119, 240, 48, 19, 119, 240, 52, 87, 70, 83, 2, 181, 240, 176, 133, 28, 4, 28, 15,
146, 3, 40, 2, 216, 75, 77, 47, 104, 43, 43, 0, 208, 74, 78, 46, 104, 48, 40, 0, 219, 1, 247, 255, 251, 239, 74, 44,
0, 163, 88, 152, 33, 1, 247, 255, 251, 249, 96, 48, 40, 0, 219, 66, 104, 48, 40, 0, 219, 49, 104, 40, 28, 57, 34, 6,
48, 32, 247, 255, 251, 229, 104, 40, 169, 3, 34, 4, 48, 64, 247, 255, 251, 223, 104, 42, 36, 4, 28, 19, 51, 32, 96,
19, 104, 42, 35, 6, 96, 83, 104, 42, 33, 68, 28, 19, 51, 64, 96, 147, 104, 43, 96, 220, 104, 40, 247, 255, 251, 201,
104, 43, 104, 48, 34, 2, 147, 0, 73, 22, 35, 0, 247, 255, 251, 213, 104, 42, 28, 19, 51, 32, 96, 19, 104, 43, 96, 92,
104, 42, 28, 19, 51, 64, 96, 147, 104, 43, 96, 220, 176, 5, 188, 240, 188, 2, 71, 8, 32, 1, 66, 64, 231, 248, 75, 11,
78, 8, 96, 43, 35, 1, 66, 91, 96, 51, 231, 179, 44, 0, 209, 186, 72, 8, 33, 1, 247, 255, 251, 173, 96, 48, 231, 180,
70, 192, 19, 119, 240, 48, 19, 119, 240, 52, 19, 119, 237, 12, 87, 70, 83, 1, 19, 119, 240, 64, 19, 119, 236, 224, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 45, 64, 128, 229, 159, 112, 248, 229, 151, 112, 0, 235, 0, 0, 45, 232, 189, 64,
128, 225, 47, 255, 30, 233, 45, 64, 128, 229, 159, 112, 228, 229, 151, 112, 0, 235, 0, 0, 39, 232, 189, 64, 128, 225,
47, 255, 30, 233, 45, 64, 128, 229, 159, 112, 208, 229, 151, 112, 0, 235, 0, 0, 33, 232, 189, 64, 128, 225, 47, 255,
30, 233, 45, 64, 128, 229, 159, 112, 188, 229, 151, 112, 0, 235, 0, 0, 27, 232, 189, 64, 128, 225, 47, 255, 30, 233,
45, 64, 128, 229, 159, 112, 168, 229, 151, 112, 0, 235, 0, 0, 21, 232, 189, 64, 128, 225, 47, 255, 30, 233, 45, 64,
128, 229, 159, 112, 148, 229, 151, 112, 0, 235, 0, 0, 15, 232, 189, 64, 128, 225, 47, 255, 30, 230, 0, 8, 16, 225, 47,
255, 30, 230, 0, 7, 240, 225, 47, 255, 30, 230, 0, 3, 144, 225, 47, 255, 30, 230, 0, 3, 176, 225, 47, 255, 30, 230,
0, 3, 208, 225, 47, 255, 30, 230, 0, 3, 240, 225, 47, 255, 30, 230, 0, 4, 80, 225, 47, 255, 30, 225, 47, 255, 23, 180,
124, 181, 0, 247, 255, 252, 250, 188, 2, 188, 124, 71, 8, 181, 112, 176, 136, 104, 133, 28, 1, 75, 14, 71, 24, 70, 192,
70, 114, 28, 1, 32, 4, 223, 171, 71, 16, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 75, 8, 104, 27, 71, 24,
19, 119, 224, 16, 19, 119, 224, 20, 19, 119, 224, 24, 19, 119, 224, 28, 19, 119, 224, 32, 19, 119, 224, 36, 32, 16,
0, 213, 19, 119, 224, 12, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 70, 192, 0, 0, 1, 0, 4, 56, 96, 0, 1, 72, 0,
2, 68, 56, 97, 0, 24, 12, 56, 96, 0, 1, 72, 0, 2, 68, 56, 97, 0, 24, 0, 0, 19, 119, 229, 156, 19, 119, 229, 120, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 110, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 210, 19, 119, 229, 40, 19, 119, 230, 4, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 220, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 230, 62, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 220, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 104, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 220, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 230, 78, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
78, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 230, 190, 19, 119, 229, 40, 19, 119, 229, 40, 19,
119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229,
40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 230, 182, 19, 119, 230, 178, 19, 119, 230, 170, 19, 119, 230, 166,
19, 119, 230, 150, 19, 119, 230, 134, 19, 119, 230, 124, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119,
229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 229, 40, 19, 119, 230, 110, 47, 100, 101, 118,
47, 117, 115, 98, 47, 101, 104, 99, 0, 0, 0, 0, 47, 100, 101, 118, 47, 117, 115, 98, 50, 0, 0, 0, 47, 100, 101, 118,
47, 115, 100, 105, 111, 47, 115, 100, 104, 99, 0, 0, 19, 119, 236, 240, 19, 119, 236, 252, 19, 119, 236, 224
};

View File

@ -0,0 +1,16 @@
#ifndef DIP_PLUGIN3_H_
#define DIP_PLUGIN3_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char dip_plugin_3[3352];
#define dip_plugin_3_size sizeof(dip_plugin_3)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,661 @@
#define size_ehcmodule_2 18412
unsigned char ehcmodule_2[18412] __attribute__((aligned (32)))={
127, 69, 76, 70, 1, 2, 1, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 40, 0, 0, 0, 1, 19, 112, 0, 0, 0, 0, 0, 52, 0, 0, 0,
0, 0, 0, 6, 6, 0, 52, 0, 32, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160,
0, 0, 0, 160, 0, 240, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 212, 0, 0, 0, 160, 0, 0, 0, 160, 0, 0, 0, 52, 0, 0, 0,
52, 0, 240, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 212, 0, 240, 0,
0, 0, 0, 64, 0, 0, 0, 0, 1, 0, 0, 1, 8, 19, 112, 0, 0, 19, 112, 0, 0, 0, 0, 69, 156, 0, 0, 69, 156, 0, 0, 0, 5, 0, 0,
0, 4, 0, 0, 0, 1, 0, 0, 70, 164, 19, 112, 128, 0, 19, 112, 128, 0, 0, 0, 1, 72, 0, 2, 11, 56, 0, 0, 0, 6, 0, 0, 0, 4,
0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 4, 0, 0, 0, 9, 19, 112, 0, 0, 0, 0, 0, 125, 0, 0, 0, 72,
0, 0, 0, 126, 0, 0, 64, 0, 0, 0, 0, 127, 19, 114, 139, 56, 227, 160, 0, 0, 227, 160, 16, 0, 229, 159, 48, 0, 225, 47,
255, 19, 19, 112, 8, 13, 225, 160, 0, 0, 225, 160, 0, 0, 225, 160, 0, 0, 70, 192, 71, 120, 234, 0, 16, 74, 70, 192,
71, 120, 234, 0, 16, 118, 70, 192, 71, 120, 234, 0, 16, 94, 70, 192, 71, 120, 234, 0, 16, 78, 70, 192, 71, 120, 234,
0, 16, 106, 70, 192, 71, 120, 234, 0, 16, 58, 70, 192, 71, 120, 234, 0, 16, 38, 70, 192, 71, 120, 234, 0, 16, 78, 70,
192, 71, 120, 234, 0, 16, 62, 70, 192, 71, 120, 234, 0, 16, 100, 70, 192, 71, 120, 234, 0, 16, 62, 70, 192, 71, 120,
234, 0, 16, 66, 70, 192, 71, 120, 234, 0, 16, 62, 70, 192, 71, 120, 234, 0, 16, 28, 70, 192, 71, 120, 234, 0, 16, 38,
70, 192, 71, 120, 234, 0, 16, 34, 70, 192, 71, 120, 234, 0, 16, 26, 181, 240, 28, 15, 120, 1, 28, 6, 28, 10, 58, 48,
6, 19, 14, 27, 36, 0, 28, 69, 43, 9, 216, 11, 1, 35, 28, 28, 67, 20, 28, 40, 120, 1, 28, 69, 28, 10, 58, 48, 6, 19,
14, 27, 43, 9, 217, 243, 28, 11, 59, 97, 6, 27, 14, 27, 43, 5, 216, 6, 1, 34, 28, 11, 59, 87, 28, 20, 67, 28, 28, 40,
231, 234, 28, 11, 59, 65, 6, 27, 14, 27, 43, 5, 217, 6, 28, 115, 66, 157, 208, 10, 96, 60, 188, 240, 188, 2, 71, 8,
1, 34, 28, 11, 59, 55, 28, 20, 67, 28, 28, 40, 231, 214, 32, 0, 231, 243, 70, 192, 181, 240, 70, 71, 180, 128, 28, 13,
28, 6, 240, 4, 250, 7, 70, 128, 70, 65, 28, 48, 247, 255, 255, 120, 45, 0, 208, 33, 28, 40, 240, 4, 249, 253, 28, 7,
28, 57, 28, 40, 247, 255, 255, 110, 72, 13, 33, 1, 247, 255, 255, 150, 28, 4, 40, 0, 219, 13, 28, 49, 70, 66, 247, 255,
255, 123, 45, 0, 208, 4, 28, 32, 28, 41, 28, 58, 247, 255, 255, 116, 28, 32, 247, 255, 255, 129, 188, 4, 70, 144, 188,
240, 188, 1, 71, 0, 39, 0, 231, 227, 19, 112, 128, 36, 181, 0, 75, 4, 176, 129, 28, 1, 104, 24, 247, 255, 255, 109,
176, 1, 188, 1, 71, 0, 19, 112, 128, 24, 181, 0, 75, 9, 28, 1, 176, 129, 104, 24, 247, 255, 255, 89, 40, 0, 208, 2,
176, 1, 188, 2, 71, 8, 72, 4, 33, 0, 247, 255, 255, 176, 32, 100, 240, 0, 251, 131, 231, 251, 19, 112, 128, 24, 19,
112, 128, 52, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 149, 72, 198, 33, 0, 247, 255, 255, 157, 75,
197, 33, 64, 104, 24, 247, 255, 255, 56, 33, 16, 247, 255, 255, 45, 70, 129, 72, 193, 70, 73, 144, 6, 247, 255, 255,
27, 72, 192, 70, 74, 75, 192, 28, 1, 247, 255, 255, 69, 75, 191, 76, 191, 70, 130, 72, 191, 34, 0, 146, 13, 146, 14,
146, 15, 146, 16, 146, 17, 147, 5, 148, 4, 144, 11, 74, 187, 75, 188, 76, 188, 72, 189, 146, 10, 147, 9, 148, 8, 144,
7, 34, 0, 169, 19, 70, 72, 247, 255, 255, 47, 70, 80, 247, 255, 255, 0, 156, 19, 74, 183, 66, 148, 208, 243, 75, 173,
66, 156, 209, 0, 224, 230, 120, 35, 120, 98, 6, 27, 4, 18, 67, 26, 120, 163, 2, 27, 67, 19, 120, 226, 67, 26, 42, 2,
209, 0, 224, 198, 42, 2, 216, 17, 42, 1, 209, 0, 224, 154, 39, 1, 66, 127, 38, 1, 154, 5, 104, 19, 43, 0, 208, 0, 224,
141, 46, 0, 208, 211, 152, 19, 28, 57, 247, 255, 254, 212, 231, 206, 42, 6, 209, 0, 224, 172, 42, 7, 209, 235, 126,
35, 126, 98, 6, 27, 4, 18, 67, 26, 126, 163, 2, 27, 67, 19, 126, 226, 67, 26, 70, 147, 124, 35, 124, 98, 6, 27, 4, 18,
67, 26, 124, 163, 2, 27, 67, 19, 124, 226, 67, 26, 146, 12, 125, 35, 125, 98, 6, 27, 4, 18, 67, 26, 125, 163, 2, 27,
67, 19, 125, 226, 28, 21, 67, 29, 123, 35, 43, 0, 208, 0, 224, 196, 154, 15, 42, 0, 208, 0, 224, 192, 122, 35, 122,
98, 6, 27, 4, 18, 67, 26, 122, 163, 122, 224, 2, 27, 67, 19, 67, 24, 240, 0, 251, 73, 28, 6, 155, 12, 70, 88, 25, 91,
70, 152, 0, 217, 70, 68, 247, 255, 254, 164, 44, 0, 221, 9, 70, 92, 37, 0, 104, 32, 104, 97, 53, 1, 247, 255, 254, 155,
52, 8, 69, 168, 220, 247, 153, 19, 72, 124, 123, 11, 123, 74, 6, 27, 4, 18, 67, 26, 123, 139, 2, 27, 67, 19, 123, 202,
67, 26, 66, 130, 209, 0, 225, 172, 66, 130, 217, 0, 224, 157, 42, 6, 217, 0, 224, 187, 42, 5, 211, 0, 225, 41, 42, 1,
209, 0, 225, 207, 42, 0, 209, 0, 225, 117, 42, 2, 209, 0, 225, 32, 39, 1, 38, 1, 154, 12, 69, 66, 219, 0, 231, 125,
0, 211, 70, 88, 24, 196, 28, 21, 104, 32, 104, 97, 53, 1, 247, 255, 254, 72, 52, 8, 69, 168, 220, 247, 154, 5, 104,
19, 43, 0, 209, 0, 231, 113, 70, 80, 73, 86, 247, 255, 254, 112, 231, 108, 123, 35, 123, 98, 6, 27, 4, 18, 67, 26, 123,
163, 153, 6, 2, 27, 67, 19, 123, 226, 28, 21, 67, 29, 28, 40, 240, 4, 248, 136, 40, 0, 209, 90, 125, 35, 125, 98, 6,
27, 4, 18, 67, 26, 125, 163, 2, 27, 67, 19, 125, 226, 156, 16, 28, 23, 67, 31, 44, 0, 209, 0, 224, 217, 32, 1, 144,
16, 38, 1, 231, 67, 39, 1, 38, 1, 231, 64, 122, 35, 122, 98, 6, 27, 4, 18, 67, 26, 122, 163, 2, 27, 67, 19, 122, 226,
156, 15, 28, 16, 67, 24, 66, 132, 209, 47, 32, 0, 144, 15, 39, 0, 38, 1, 231, 45, 156, 14, 44, 0, 209, 0, 231, 4, 152,
5, 104, 3, 43, 0, 209, 0, 230, 255, 168, 18, 240, 0, 251, 37, 154, 18, 75, 59, 28, 4, 66, 154, 221, 0, 230, 246, 154,
4, 33, 1, 152, 13, 240, 2, 254, 14, 73, 43, 70, 80, 247, 255, 254, 26, 32, 128, 4, 64, 153, 18, 240, 3, 255, 33, 154,
13, 24, 18, 146, 13, 66, 148, 219, 0, 230, 226, 35, 0, 147, 13, 230, 223, 38, 0, 231, 73, 240, 0, 250, 144, 240, 0,
250, 134, 39, 0, 38, 1, 230, 251, 155, 15, 43, 0, 208, 83, 39, 6, 66, 127, 38, 1, 230, 244, 75, 38, 66, 154, 209, 0,
224, 136, 66, 154, 217, 0, 224, 141, 59, 3, 66, 154, 209, 0, 224, 198, 66, 154, 210, 0, 225, 37, 51, 1, 66, 154, 209,
0, 225, 21, 51, 1, 66, 154, 208, 0, 231, 90, 70, 92, 104, 35, 105, 34, 104, 24, 104, 163, 38, 1, 104, 25, 240, 1, 253,
159, 28, 7, 231, 81, 42, 12, 209, 0, 224, 184, 42, 12, 210, 0, 231, 73, 28, 19, 59, 26, 43, 1, 217, 0, 231, 68, 39,
1, 38, 0, 231, 67, 70, 192, 19, 112, 128, 76, 19, 112, 128, 24, 19, 112, 128, 92, 0, 152, 150, 128, 0, 0, 6, 102, 19,
112, 128, 12, 19, 112, 129, 128, 19, 112, 128, 108, 19, 112, 128, 124, 19, 112, 129, 72, 19, 112, 128, 136, 19, 112,
128, 148, 0, 0, 5, 85, 85, 77, 83, 1, 0, 0, 7, 255, 85, 77, 83, 6, 28, 40, 153, 11, 34, 13, 240, 3, 255, 7, 40, 0, 209,
164, 125, 35, 125, 98, 6, 27, 4, 18, 67, 26, 28, 47, 125, 163, 55, 13, 28, 57, 2, 27, 67, 19, 125, 226, 120, 12, 28,
22, 28, 34, 58, 48, 67, 30, 6, 19, 14, 27, 37, 0, 28, 72, 43, 9, 216, 11, 1, 43, 28, 29, 67, 21, 28, 1, 120, 12, 28,
72, 28, 34, 58, 48, 6, 19, 14, 27, 43, 9, 217, 243, 28, 35, 59, 97, 6, 27, 14, 27, 43, 5, 216, 40, 1, 42, 28, 35, 59,
87, 28, 21, 67, 29, 28, 1, 231, 234, 240, 1, 249, 209, 34, 1, 146, 16, 38, 1, 230, 103, 152, 9, 104, 3, 66, 90, 65,
83, 96, 3, 39, 0, 38, 1, 230, 221, 76, 143, 66, 162, 208, 51, 66, 162, 217, 0, 224, 180, 75, 141, 66, 154, 208, 0, 230,
209, 156, 5, 35, 0, 96, 35, 240, 0, 251, 92, 32, 0, 144, 14, 39, 0, 38, 1, 230, 201, 28, 35, 59, 65, 6, 27, 14, 27,
43, 5, 216, 0, 224, 152, 28, 123, 66, 152, 209, 0, 231, 71, 41, 0, 209, 0, 231, 68, 44, 47, 208, 0, 231, 65, 169, 18,
247, 255, 253, 75, 40, 0, 209, 0, 231, 59, 120, 3, 43, 0, 208, 0, 231, 55, 28, 50, 153, 18, 28, 40, 240, 0, 249, 127,
38, 1, 28, 7, 230, 40, 70, 90, 104, 19, 156, 5, 104, 27, 96, 35, 230, 158, 70, 92, 104, 35, 105, 34, 104, 24, 104, 163,
38, 1, 104, 25, 240, 2, 253, 17, 28, 7, 230, 149, 46, 0, 209, 0, 224, 198, 39, 6, 66, 127, 38, 1, 230, 142, 46, 0, 208,
249, 70, 88, 105, 3, 70, 90, 136, 24, 105, 147, 136, 28, 106, 19, 136, 29, 104, 19, 120, 25, 104, 147, 120, 26, 2, 3,
10, 0, 67, 3, 2, 32, 10, 36, 67, 32, 4, 0, 12, 0, 144, 0, 2, 40, 10, 45, 67, 40, 4, 0, 12, 0, 144, 1, 70, 92, 107, 32,
4, 27, 144, 2, 12, 27, 28, 48, 240, 0, 255, 99, 38, 1, 28, 7, 230, 102, 240, 2, 251, 6, 28, 7, 40, 0, 219, 116, 154,
5, 153, 19, 32, 1, 96, 16, 122, 11, 122, 74, 6, 27, 4, 18, 67, 26, 122, 139, 152, 10, 2, 27, 67, 19, 122, 202, 67, 26,
146, 15, 33, 0, 247, 255, 253, 32, 35, 1, 147, 14, 38, 1, 230, 74, 70, 88, 104, 3, 70, 90, 104, 24, 104, 147, 105, 18,
104, 25, 240, 2, 251, 133, 38, 1, 28, 7, 230, 62, 70, 90, 104, 16, 240, 0, 249, 192, 38, 1, 28, 7, 230, 55, 46, 0, 208,
162, 70, 88, 104, 3, 120, 25, 104, 131, 136, 26, 105, 3, 28, 48, 240, 0, 255, 18, 38, 1, 28, 7, 230, 41, 1, 42, 28,
35, 59, 55, 28, 21, 67, 29, 28, 1, 231, 33, 75, 51, 66, 154, 208, 21, 51, 1, 66, 154, 208, 0, 230, 25, 156, 17, 44,
0, 208, 63, 70, 80, 247, 255, 252, 123, 70, 88, 104, 3, 105, 2, 104, 25, 104, 131, 152, 17, 104, 27, 240, 2, 254, 112,
39, 0, 38, 1, 230, 9, 122, 11, 122, 74, 6, 27, 4, 18, 67, 26, 122, 139, 70, 88, 2, 27, 67, 19, 122, 202, 28, 20, 67,
28, 35, 0, 147, 18, 104, 195, 43, 4, 208, 38, 70, 90, 104, 16, 153, 18, 240, 2, 254, 17, 144, 17, 40, 0, 208, 27, 39,
0, 148, 15, 152, 8, 231, 154, 153, 19, 152, 7, 122, 11, 122, 74, 6, 27, 4, 18, 67, 26, 122, 139, 38, 1, 2, 27, 67, 19,
122, 202, 33, 0, 67, 26, 146, 15, 247, 255, 252, 173, 35, 0, 147, 14, 229, 216, 39, 1, 66, 127, 38, 1, 229, 212, 39,
1, 66, 127, 231, 225, 104, 129, 34, 4, 168, 18, 240, 3, 253, 226, 231, 210, 70, 90, 104, 19, 70, 92, 120, 24, 104, 147,
105, 18, 120, 25, 105, 163, 240, 0, 248, 247, 38, 1, 28, 7, 229, 190, 85, 77, 83, 128, 85, 77, 83, 16, 87, 70, 83, 1,
181, 0, 33, 128, 176, 129, 2, 73, 72, 18, 247, 255, 252, 3, 75, 18, 33, 64, 96, 24, 247, 255, 252, 30, 33, 16, 247,
255, 252, 19, 75, 15, 33, 250, 28, 2, 96, 24, 0, 137, 75, 13, 72, 14, 247, 255, 252, 46, 75, 13, 96, 24, 247, 255, 252,
2, 240, 0, 249, 64, 40, 0, 219, 5, 247, 255, 252, 192, 32, 0, 176, 1, 188, 2, 71, 8, 32, 1, 66, 64, 231, 249, 70, 192,
19, 113, 73, 128, 19, 112, 128, 24, 19, 112, 128, 16, 0, 0, 6, 102, 0, 15, 66, 64, 19, 112, 128, 20, 181, 240, 77, 17,
176, 131, 28, 4, 73, 16, 34, 0, 104, 40, 247, 255, 251, 255, 79, 15, 28, 33, 104, 56, 247, 255, 251, 254, 76, 11, 174,
1, 104, 40, 28, 49, 34, 0, 247, 255, 251, 255, 155, 1, 66, 163, 209, 247, 28, 49, 104, 40, 34, 0, 247, 255, 251, 247,
104, 56, 247, 255, 251, 200, 176, 3, 188, 240, 188, 1, 71, 0, 19, 112, 128, 16, 0, 0, 5, 85, 19, 112, 128, 20, 181,
240, 77, 19, 28, 4, 176, 131, 73, 18, 34, 0, 104, 40, 247, 255, 251, 213, 1, 97, 27, 9, 79, 16, 0, 137, 25, 9, 104,
56, 0, 201, 247, 255, 251, 208, 76, 11, 174, 1, 104, 40, 28, 49, 34, 0, 247, 255, 251, 209, 155, 1, 66, 163, 209, 247,
28, 49, 104, 40, 34, 0, 247, 255, 251, 201, 104, 56, 247, 255, 251, 154, 176, 3, 188, 240, 188, 1, 71, 0, 19, 112, 128,
16, 0, 0, 5, 85, 19, 112, 128, 20, 181, 240, 75, 24, 28, 5, 104, 31, 35, 84, 92, 252, 70, 140, 28, 22, 44, 0, 208, 32,
28, 57, 49, 96, 32, 0, 224, 3, 48, 1, 49, 40, 66, 132, 221, 24, 105, 139, 43, 0, 209, 248, 136, 10, 2, 19, 10, 18, 67,
19, 4, 27, 12, 27, 66, 171, 209, 240, 136, 74, 2, 19, 10, 18, 67, 19, 4, 27, 12, 27, 69, 99, 209, 232, 0, 131, 24, 27,
0, 219, 24, 251, 103, 158, 224, 1, 38, 6, 66, 118, 28, 48, 188, 240, 188, 2, 71, 8, 70, 192, 19, 112, 128, 28, 181,
0, 40, 0, 208, 1, 35, 0, 98, 3, 32, 0, 188, 2, 71, 8, 181, 112, 75, 16, 28, 6, 104, 28, 35, 84, 92, 229, 45, 0, 208,
18, 111, 163, 66, 179, 208, 19, 28, 33, 49, 160, 34, 0, 224, 8, 0, 147, 24, 155, 0, 219, 51, 88, 24, 224, 104, 11, 49,
40, 66, 179, 208, 3, 50, 1, 66, 170, 219, 243, 32, 0, 188, 112, 188, 2, 71, 8, 28, 32, 48, 88, 231, 249, 19, 112, 128,
28, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 70, 147, 74, 35, 28, 31, 104, 20, 35, 84, 92, 227, 70, 128,
70, 148, 43, 0, 208, 59, 40, 0, 208, 57, 37, 0, 35, 84, 38, 0, 70, 169, 70, 154, 224, 1, 69, 69, 218, 36, 0, 179, 25,
155, 0, 219, 24, 228, 111, 35, 43, 0, 208, 22, 0, 232, 28, 3, 70, 74, 51, 2, 82, 58, 52, 96, 83, 218, 136, 34, 28, 1,
4, 18, 10, 19, 14, 18, 67, 19, 49, 4, 83, 203, 136, 99, 24, 56, 4, 27, 10, 26, 14, 27, 67, 26, 128, 194, 53, 1, 70,
99, 104, 28, 70, 82, 92, 163, 54, 1, 66, 179, 220, 216, 6, 43, 14, 24, 70, 91, 112, 24, 32, 0, 188, 60, 70, 144, 70,
153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 32, 0, 231, 242, 19, 112, 128, 28, 181, 0, 75, 12, 28, 1, 120, 27, 43,
1, 208, 2, 32, 0, 188, 2, 71, 8, 40, 0, 208, 11, 74, 8, 72, 8, 120, 19, 51, 4, 0, 155, 88, 195, 96, 11, 120, 19, 51,
20, 0, 155, 88, 192, 231, 239, 72, 3, 74, 1, 231, 247, 19, 112, 129, 85, 19, 112, 129, 84, 19, 114, 73, 152, 181, 48,
76, 18, 75, 18, 176, 131, 96, 35, 240, 2, 252, 95, 40, 0, 218, 5, 32, 1, 66, 64, 176, 3, 188, 48, 188, 2, 71, 8, 72,
13, 33, 1, 247, 255, 250, 201, 28, 5, 40, 0, 219, 242, 35, 0, 73, 10, 34, 0, 147, 0, 247, 255, 250, 152, 96, 32, 28,
40, 247, 255, 250, 184, 104, 33, 34, 1, 35, 84, 84, 202, 32, 0, 231, 228, 19, 112, 128, 28, 19, 114, 74, 60, 19, 112,
128, 160, 77, 76, 68, 160, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 124, 130, 124, 199, 125, 6, 6, 19, 70,
148, 125, 68, 4, 58, 67, 26, 2, 51, 67, 19, 28, 33, 176, 129, 70, 128, 67, 25, 208, 121, 124, 67, 70, 154, 43, 0, 208,
114, 34, 0, 70, 147, 70, 145, 70, 75, 24, 205, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123,
42, 28, 16, 67, 24, 208, 82, 121, 43, 43, 0, 208, 58, 39, 0, 38, 0, 224, 10, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26,
122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27,
67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 2, 251, 154, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 2, 27,
67, 19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 2, 251, 140, 121, 43, 55, 1, 54, 18, 66, 187, 220, 210, 122, 107, 122,
170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240, 2, 251, 122, 70, 66, 124, 82, 70,
67, 70, 146, 70, 66, 124, 155, 124, 215, 70, 156, 4, 58, 6, 27, 67, 26, 70, 67, 125, 30, 2, 51, 67, 19, 70, 66, 125,
84, 28, 33, 67, 25, 35, 1, 34, 13, 68, 155, 68, 145, 69, 218, 221, 8, 70, 98, 6, 19, 4, 58, 67, 26, 2, 51, 67, 19, 28,
33, 67, 25, 231, 143, 28, 8, 240, 2, 251, 85, 176, 1, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 1,
71, 0, 181, 48, 75, 15, 176, 129, 104, 25, 108, 10, 28, 19, 51, 8, 0, 155, 88, 92, 50, 1, 100, 10, 28, 32, 240, 2, 251,
60, 33, 0, 28, 5, 34, 96, 28, 32, 240, 3, 251, 218, 35, 64, 96, 163, 35, 128, 4, 91, 176, 1, 99, 101, 28, 32, 96, 35,
96, 99, 188, 48, 188, 2, 71, 8, 19, 112, 128, 28, 181, 48, 77, 16, 176, 129, 104, 43, 43, 0, 209, 3, 176, 1, 188, 48,
188, 1, 71, 0, 76, 12, 35, 160, 88, 224, 40, 0, 208, 1, 240, 2, 251, 25, 34, 164, 33, 0, 28, 32, 240, 3, 251, 182, 72,
7, 33, 0, 247, 255, 250, 42, 74, 6, 35, 0, 112, 19, 74, 6, 96, 43, 96, 19, 231, 228, 70, 192, 19, 112, 129, 80, 19,
114, 73, 152, 19, 112, 128, 172, 19, 112, 129, 85, 19, 112, 129, 76, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 74, 204, 176, 137, 146, 3, 104, 17, 70, 129, 108, 10, 28, 19, 51, 8, 0, 155, 88, 91, 50, 1, 100, 10, 28, 24, 70,
152, 240, 2, 250, 230, 34, 96, 28, 4, 33, 0, 70, 64, 240, 3, 251, 132, 70, 67, 99, 92, 70, 66, 35, 64, 96, 147, 35,
128, 4, 91, 96, 19, 96, 83, 70, 75, 99, 211, 70, 74, 35, 0, 97, 83, 105, 19, 147, 4, 126, 82, 70, 75, 146, 6, 126, 24,
40, 0, 209, 0, 224, 176, 34, 128, 35, 192, 70, 70, 70, 147, 0, 91, 70, 74, 104, 215, 154, 6, 42, 0, 208, 0, 70, 155,
70, 75, 105, 218, 75, 176, 37, 255, 64, 19, 147, 5, 34, 255, 59, 1, 147, 2, 2, 19, 34, 128, 1, 82, 70, 154, 4, 45, 146,
1, 155, 4, 14, 58, 70, 156, 6, 59, 67, 26, 70, 83, 64, 59, 2, 27, 67, 26, 28, 59, 64, 43, 10, 27, 67, 26, 96, 242, 34,
0, 98, 50, 75, 163, 154, 1, 64, 59, 26, 208, 155, 4, 66, 131, 211, 0, 224, 213, 34, 0, 28, 28, 146, 4, 70, 91, 4, 34,
67, 26, 6, 19, 14, 17, 67, 25, 70, 83, 64, 19, 2, 27, 64, 42, 67, 25, 10, 18, 67, 17, 70, 98, 96, 177, 100, 50, 155,
6, 43, 0, 208, 4, 154, 3, 104, 19, 105, 219, 105, 91, 96, 115, 154, 2, 25, 19, 154, 5, 66, 19, 209, 1, 75, 144, 68,
155, 154, 4, 42, 0, 221, 0, 224, 230, 39, 128, 4, 127, 150, 7, 70, 74, 96, 119, 105, 19, 43, 0, 208, 65, 126, 19, 70,
154, 43, 0, 209, 61, 154, 3, 35, 128, 104, 17, 0, 91, 70, 93, 108, 10, 64, 93, 75, 131, 67, 29, 28, 19, 51, 8, 0, 155,
88, 94, 50, 1, 100, 10, 28, 48, 240, 2, 250, 83, 33, 0, 28, 4, 34, 96, 28, 48, 240, 3, 250, 241, 70, 75, 99, 243, 14,
34, 6, 35, 32, 255, 67, 26, 2, 0, 28, 35, 33, 255, 4, 9, 64, 3, 99, 116, 96, 55, 2, 27, 96, 119, 64, 12, 67, 26, 10,
36, 155, 7, 67, 34, 96, 26, 70, 82, 99, 158, 96, 242, 6, 43, 98, 50, 14, 42, 67, 26, 28, 43, 64, 3, 2, 27, 64, 13, 67,
26, 10, 45, 67, 42, 70, 83, 96, 178, 100, 51, 104, 179, 34, 128, 4, 18, 67, 19, 176, 9, 70, 64, 96, 179, 188, 60, 70,
144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 70, 75, 104, 89, 37, 255, 6, 11, 14, 10, 67, 26, 2, 45, 28,
11, 64, 43, 2, 27, 36, 255, 67, 26, 4, 36, 28, 11, 64, 35, 10, 27, 67, 26, 70, 67, 96, 218, 98, 24, 75, 85, 28, 10,
64, 26, 35, 128, 1, 91, 26, 155, 43, 8, 216, 0, 224, 132, 75, 83, 70, 66, 96, 147, 35, 8, 100, 19, 155, 3, 104, 25,
108, 10, 28, 19, 51, 8, 0, 155, 88, 94, 50, 1, 100, 10, 28, 48, 240, 2, 249, 234, 34, 96, 28, 4, 33, 0, 28, 48, 240,
3, 250, 136, 35, 64, 96, 179, 35, 128, 4, 91, 70, 74, 96, 51, 96, 115, 99, 242, 6, 35, 14, 34, 67, 26, 35, 255, 2, 27,
64, 35, 2, 27, 67, 26, 35, 255, 4, 27, 99, 116, 64, 28, 10, 36, 67, 34, 70, 67, 96, 26, 99, 158, 154, 4, 42, 0, 209,
2, 75, 58, 70, 155, 231, 0, 74, 58, 75, 56, 70, 147, 230, 252, 28, 4, 66, 163, 217, 92, 35, 128, 1, 91, 24, 250, 75,
54, 28, 17, 34, 1, 64, 25, 28, 48, 70, 148, 6, 11, 14, 10, 67, 26, 70, 83, 64, 11, 2, 27, 67, 26, 28, 11, 64, 43, 10,
27, 67, 26, 35, 0, 97, 2, 98, 67, 34, 128, 1, 82, 155, 4, 24, 164, 24, 137, 66, 163, 216, 5, 28, 28, 155, 4, 70, 164,
27, 27, 147, 4, 231, 5, 34, 1, 68, 148, 70, 99, 48, 4, 43, 4, 221, 222, 28, 32, 153, 5, 240, 3, 249, 186, 154, 4, 26,
100, 27, 18, 70, 164, 146, 4, 230, 245, 68, 103, 247, 255, 254, 61, 107, 66, 70, 75, 14, 17, 99, 195, 6, 19, 67, 25,
70, 83, 64, 19, 2, 27, 64, 42, 67, 25, 10, 18, 67, 17, 96, 49, 99, 176, 28, 6, 230, 198, 43, 8, 209, 0, 231, 119, 34,
128, 1, 82, 75, 17, 24, 137, 64, 25, 28, 10, 28, 11, 64, 42, 64, 35, 10, 27, 2, 18, 67, 26, 14, 9, 70, 67, 67, 10, 97,
26, 98, 88, 231, 101, 154, 4, 66, 162, 209, 201, 231, 189, 70, 192, 19, 112, 128, 28, 0, 0, 7, 255, 0, 0, 15, 255, 128,
0, 0, 0, 128, 2, 8, 0, 128, 0, 1, 128, 128, 0, 0, 128, 255, 255, 240, 0, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 176, 133, 144, 3, 145, 2, 126, 11, 43, 0, 209, 0, 226, 33, 154, 2, 105, 17, 41, 0, 208, 8, 126, 83, 43, 0, 209,
0, 226, 19, 104, 144, 240, 2, 249, 130, 155, 2, 96, 216, 72, 227, 34, 0, 104, 3, 70, 129, 105, 219, 70, 154, 195, 4,
51, 4, 70, 81, 96, 74, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 96, 26, 152, 2, 247,
255, 254, 31, 70, 82, 100, 144, 155, 2, 158, 3, 126, 25, 105, 220, 34, 128, 105, 179, 1, 146, 67, 26, 35, 15, 64, 11,
28, 5, 2, 27, 28, 16, 67, 24, 41, 0, 208, 0, 225, 205, 75, 207, 28, 1, 67, 25, 6, 11, 14, 10, 36, 255, 2, 36, 67, 26,
28, 11, 64, 35, 2, 27, 32, 255, 4, 0, 67, 26, 28, 11, 64, 3, 10, 27, 70, 81, 67, 26, 96, 74, 108, 74, 35, 64, 96, 139,
28, 17, 28, 19, 64, 3, 64, 33, 10, 27, 2, 9, 67, 25, 14, 19, 67, 25, 35, 224, 64, 26, 35, 2, 67, 26, 6, 18, 67, 17,
70, 82, 96, 17, 107, 106, 70, 86, 6, 19, 14, 17, 67, 25, 28, 19, 64, 35, 2, 27, 64, 2, 67, 25, 10, 18, 67, 17, 70, 83,
97, 25, 35, 128, 4, 91, 97, 115, 152, 2, 126, 2, 42, 0, 208, 0, 225, 125, 70, 81, 105, 138, 75, 176, 70, 78, 64, 19,
70, 82, 97, 147, 104, 51, 70, 80, 105, 155, 108, 89, 35, 255, 2, 27, 28, 10, 64, 26, 35, 255, 4, 27, 64, 11, 10, 27,
2, 18, 67, 26, 14, 11, 67, 26, 35, 224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2, 33, 96, 240, 2, 248, 231, 70, 81,
108, 140, 44, 0, 208, 6, 28, 32, 33, 96, 240, 2, 248, 223, 107, 164, 44, 0, 209, 248, 70, 78, 104, 51, 70, 82, 108,
81, 105, 152, 35, 255, 2, 27, 28, 10, 64, 26, 35, 255, 4, 27, 64, 11, 10, 27, 2, 18, 67, 26, 14, 11, 67, 26, 35, 224,
64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2, 104, 51, 33, 96, 105, 152, 240, 2, 248, 191, 104, 51, 152, 3, 104, 154,
75, 140, 33, 2, 104, 28, 105, 195, 29, 23, 51, 16, 0, 155, 24, 211, 51, 4, 70, 152, 70, 139, 32, 100, 247, 255, 251,
56, 70, 73, 104, 14, 70, 67, 104, 26, 104, 179, 104, 56, 29, 29, 104, 91, 33, 55, 64, 25, 75, 129, 64, 26, 42, 1, 208,
0, 225, 84, 70, 91, 66, 25, 208, 0, 225, 93, 7, 195, 213, 0, 225, 99, 60, 100, 44, 0, 220, 227, 96, 41, 70, 73, 104,
11, 104, 155, 104, 27, 75, 120, 96, 26, 34, 1, 66, 83, 70, 155, 70, 78, 104, 51, 33, 96, 105, 155, 108, 88, 240, 2,
248, 108, 70, 81, 108, 72, 33, 96, 240, 2, 248, 103, 70, 82, 108, 148, 44, 0, 208, 6, 107, 96, 33, 96, 240, 2, 248,
95, 107, 164, 44, 0, 209, 248, 70, 78, 104, 51, 105, 152, 35, 255, 108, 65, 2, 27, 28, 10, 64, 26, 35, 255, 4, 27, 64,
11, 10, 27, 2, 18, 67, 26, 14, 11, 67, 26, 35, 224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2, 104, 51, 33, 96, 105,
152, 240, 2, 248, 88, 104, 51, 33, 96, 105, 155, 108, 88, 240, 2, 248, 58, 152, 2, 126, 2, 42, 0, 208, 23, 153, 3, 35,
15, 106, 72, 28, 17, 64, 25, 6, 19, 43, 0, 218, 0, 224, 248, 34, 1, 28, 19, 64, 139, 28, 4, 70, 86, 67, 156, 105, 179,
9, 219, 28, 24, 64, 16, 28, 3, 64, 139, 152, 3, 67, 35, 98, 67, 70, 89, 41, 0, 209, 53, 70, 74, 104, 19, 158, 3, 104,
154, 105, 155, 28, 23, 108, 91, 55, 24, 70, 154, 105, 243, 36, 0, 51, 16, 0, 155, 24, 211, 51, 4, 70, 152, 32, 100,
247, 255, 250, 170, 70, 73, 104, 14, 70, 64, 104, 179, 104, 2, 29, 29, 104, 56, 104, 91, 33, 55, 64, 25, 75, 58, 64,
26, 42, 1, 208, 0, 224, 228, 35, 2, 66, 25, 208, 0, 224, 234, 69, 130, 209, 0, 224, 240, 52, 1, 44, 200, 209, 227, 96,
41, 70, 78, 104, 51, 104, 155, 104, 27, 75, 49, 96, 26, 32, 1, 66, 65, 70, 139, 70, 74, 104, 19, 105, 219, 108, 156,
44, 0, 208, 59, 35, 255, 72, 44, 39, 255, 4, 27, 38, 3, 33, 64, 37, 0, 2, 63, 147, 1, 70, 176, 70, 132, 70, 138, 104,
162, 70, 70, 6, 19, 14, 17, 67, 25, 28, 19, 64, 59, 2, 27, 67, 25, 155, 1, 28, 8, 64, 26, 10, 18, 67, 16, 10, 3, 64,
51, 43, 2, 208, 8, 107, 225, 108, 34, 105, 75, 70, 102, 24, 210, 12, 3, 64, 51, 26, 210, 97, 74, 108, 35, 43, 0, 209,
3, 35, 255, 64, 3, 43, 64, 208, 4, 70, 81, 66, 8, 208, 1, 37, 1, 66, 109, 107, 164, 44, 0, 209, 213, 45, 0, 208, 3,
107, 226, 35, 1, 66, 91, 97, 83, 70, 75, 104, 26, 35, 0, 100, 19, 158, 2, 105, 49, 41, 0, 208, 6, 126, 115, 43, 0, 208,
65, 104, 240, 240, 1, 255, 165, 158, 2, 126, 51, 43, 0, 208, 66, 224, 13, 19, 112, 128, 28, 64, 64, 64, 0, 1, 0, 0,
128, 19, 112, 128, 32, 0, 0, 32, 1, 19, 112, 129, 76, 0, 0, 127, 255, 70, 88, 40, 0, 209, 2, 153, 2, 105, 73, 70, 139,
176, 5, 70, 88, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 155, 3, 106, 88, 6, 19, 43, 0,
219, 54, 33, 0, 35, 15, 64, 19, 24, 203, 64, 216, 7, 198, 213, 41, 70, 80, 105, 130, 35, 128, 67, 26, 97, 130, 230,
113, 75, 50, 28, 34, 64, 26, 35, 128, 4, 18, 5, 219, 67, 26, 28, 17, 67, 1, 230, 42, 154, 2, 104, 208, 240, 1, 255,
90, 158, 2, 126, 51, 43, 0, 209, 203, 104, 112, 33, 8, 240, 1, 255, 90, 231, 198, 158, 2, 104, 176, 240, 1, 255, 101,
96, 240, 229, 234, 104, 8, 33, 8, 240, 1, 255, 103, 153, 2, 96, 72, 229, 214, 70, 81, 105, 138, 35, 128, 67, 154, 97,
138, 230, 71, 33, 16, 231, 199, 49, 16, 231, 4, 74, 28, 35, 1, 96, 19, 104, 179, 70, 78, 96, 89, 104, 51, 32, 1, 104,
155, 66, 65, 104, 27, 70, 139, 230, 177, 96, 41, 70, 78, 104, 51, 32, 2, 104, 155, 66, 65, 104, 27, 70, 139, 230, 168,
96, 41, 70, 78, 104, 51, 32, 0, 104, 155, 70, 131, 104, 27, 230, 160, 74, 13, 35, 1, 96, 19, 104, 179, 70, 78, 96, 89,
104, 51, 104, 155, 104, 27, 231, 33, 96, 41, 70, 78, 104, 51, 32, 2, 104, 155, 66, 65, 104, 27, 70, 139, 231, 27, 96,
41, 70, 74, 104, 19, 104, 155, 104, 27, 231, 21, 70, 192, 0, 0, 7, 255, 19, 112, 129, 76, 181, 48, 176, 137, 70, 109,
118, 41, 9, 201, 118, 105, 33, 128, 0, 137, 145, 7, 36, 0, 70, 105, 148, 0, 146, 4, 147, 2, 247, 255, 253, 116, 176,
9, 188, 48, 188, 2, 71, 8, 181, 240, 70, 71, 180, 128, 176, 136, 70, 128, 70, 104, 48, 58, 136, 5, 48, 4, 136, 6, 72,
40, 4, 45, 104, 4, 32, 248, 88, 32, 4, 54, 112, 66, 2, 26, 10, 27, 67, 26, 4, 18, 12, 19, 112, 195, 10, 43, 14, 45,
67, 43, 14, 18, 4, 27, 112, 130, 12, 55, 12, 26, 14, 27, 113, 3, 14, 54, 2, 59, 67, 51, 4, 27, 113, 66, 14, 26, 12,
27, 112, 1, 113, 195, 70, 108, 35, 0, 9, 201, 113, 130, 118, 35, 118, 97, 35, 64, 144, 0, 147, 7, 152, 16, 75, 20, 151,
4, 66, 152, 216, 12, 96, 160, 70, 105, 70, 64, 247, 255, 253, 51, 28, 5, 176, 8, 28, 40, 188, 4, 70, 144, 188, 240,
188, 2, 71, 8, 28, 56, 240, 1, 254, 130, 28, 58, 153, 16, 144, 2, 240, 2, 254, 207, 70, 105, 70, 64, 247, 255, 253,
31, 153, 2, 28, 5, 28, 58, 152, 16, 240, 2, 254, 197, 152, 2, 240, 1, 254, 100, 231, 226, 70, 192, 19, 112, 128, 28,
19, 136, 0, 0, 181, 0, 176, 133, 42, 0, 209, 4, 32, 3, 66, 64, 176, 5, 188, 2, 71, 8, 28, 19, 34, 0, 145, 0, 146, 1,
146, 2, 33, 1, 34, 11, 247, 255, 255, 142, 231, 242, 70, 192, 181, 0, 176, 133, 34, 0, 146, 0, 146, 1, 146, 2, 28, 11,
34, 9, 33, 0, 247, 255, 255, 129, 176, 5, 188, 2, 71, 8, 181, 16, 176, 132, 28, 20, 70, 106, 50, 27, 120, 18, 2, 36,
67, 28, 35, 0, 147, 0, 146, 1, 145, 2, 34, 6, 33, 128, 28, 35, 247, 255, 255, 109, 176, 4, 188, 16, 188, 2, 71, 8, 70,
192, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 137, 144, 6, 72, 160, 155, 6, 104, 1, 51, 16, 145, 7,
104, 138, 0, 155, 24, 213, 154, 6, 70, 128, 152, 6, 0, 146, 104, 105, 24, 19, 146, 5, 154, 7, 0, 219, 24, 211, 34, 0,
103, 26, 75, 151, 64, 25, 70, 155, 41, 1, 208, 0, 224, 227, 75, 149, 32, 100, 96, 107, 247, 255, 248, 239, 75, 148,
32, 100, 96, 107, 247, 255, 248, 234, 75, 146, 32, 100, 96, 107, 247, 255, 248, 187, 70, 64, 104, 4, 104, 106, 104,
163, 104, 105, 29, 31, 104, 91, 32, 55, 70, 129, 64, 24, 70, 91, 64, 26, 42, 1, 208, 0, 224, 203, 34, 2, 70, 146, 66,
16, 208, 0, 224, 184, 38, 128, 0, 118, 66, 49, 209, 0, 224, 205, 32, 100, 247, 255, 248, 159, 70, 67, 104, 28, 104,
106, 104, 163, 104, 105, 29, 31, 104, 91, 70, 72, 64, 24, 70, 91, 64, 26, 42, 1, 208, 0, 224, 176, 70, 82, 66, 16, 208,
0, 224, 158, 66, 49, 209, 0, 224, 181, 32, 100, 247, 255, 248, 135, 70, 67, 104, 28, 104, 106, 104, 163, 104, 105, 29,
31, 104, 91, 70, 72, 64, 24, 70, 91, 64, 26, 42, 1, 208, 0, 224, 152, 70, 82, 66, 16, 208, 0, 224, 134, 66, 49, 209,
0, 224, 157, 32, 100, 247, 255, 248, 111, 70, 67, 104, 28, 104, 106, 104, 163, 104, 105, 29, 31, 104, 91, 32, 55, 70,
131, 64, 24, 75, 98, 64, 26, 70, 153, 42, 1, 208, 0, 224, 126, 34, 2, 66, 16, 209, 109, 38, 128, 0, 118, 66, 49, 209,
0, 224, 130, 32, 100, 247, 255, 248, 84, 70, 67, 104, 28, 104, 106, 104, 163, 104, 105, 29, 31, 104, 91, 70, 88, 64,
24, 70, 75, 64, 26, 42, 1, 209, 102, 70, 82, 66, 16, 209, 85, 66, 49, 208, 109, 32, 100, 247, 255, 248, 63, 70, 67,
104, 28, 104, 106, 104, 163, 104, 105, 29, 31, 104, 91, 70, 88, 64, 24, 70, 75, 64, 26, 42, 1, 209, 81, 70, 82, 66,
16, 209, 64, 66, 49, 208, 88, 32, 100, 247, 255, 248, 42, 70, 67, 104, 28, 104, 106, 104, 163, 104, 105, 29, 31, 104,
91, 70, 88, 64, 24, 70, 75, 64, 26, 42, 1, 209, 60, 34, 2, 66, 16, 209, 43, 38, 128, 0, 118, 66, 49, 208, 65, 32, 100,
247, 255, 248, 19, 70, 67, 104, 28, 104, 105, 104, 163, 104, 109, 104, 90, 29, 31, 28, 16, 35, 55, 64, 24, 70, 75, 64,
25, 41, 1, 209, 36, 70, 82, 66, 16, 209, 19, 66, 53, 208, 43, 96, 56, 70, 64, 104, 3, 32, 1, 104, 155, 66, 64, 104,
27, 75, 48, 96, 25, 176, 9, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 96, 56, 70, 64, 104,
3, 32, 2, 104, 155, 66, 64, 104, 27, 231, 238, 35, 128, 1, 155, 32, 1, 96, 107, 66, 64, 231, 232, 74, 35, 35, 1, 96,
19, 104, 163, 96, 88, 70, 64, 104, 3, 32, 1, 104, 155, 66, 64, 104, 27, 231, 220, 153, 5, 154, 6, 37, 0, 24, 139, 0,
219, 153, 7, 70, 66, 96, 56, 70, 154, 51, 88, 24, 204, 104, 19, 32, 100, 104, 155, 104, 27, 247, 254, 255, 237, 35,
22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 148, 2, 247, 255, 254, 52, 40, 0, 219, 190, 158, 6, 28,
32, 54, 1, 4, 51, 12, 27, 33, 0, 34, 5, 149, 0, 149, 1, 149, 2, 247, 255, 254, 38, 40, 0, 219, 176, 155, 7, 68, 83,
103, 221, 103, 30, 231, 171, 70, 192, 19, 112, 128, 28, 0, 0, 32, 1, 0, 0, 24, 3, 0, 0, 25, 3, 0, 0, 16, 1, 19, 112,
129, 76, 181, 112, 77, 12, 35, 84, 104, 42, 92, 211, 43, 0, 208, 14, 36, 0, 38, 84, 0, 163, 25, 27, 0, 219, 24, 211,
103, 92, 28, 32, 247, 255, 254, 153, 104, 42, 52, 1, 93, 147, 66, 163, 220, 242, 32, 0, 188, 112, 188, 2, 71, 8, 19,
112, 128, 28, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 75, 81, 39, 0, 34, 144, 176, 133, 28, 4, 70, 146,
70, 185, 70, 155, 224, 98, 70, 82, 88, 162, 32, 1, 70, 144, 240, 1, 252, 171, 28, 6, 40, 0, 208, 83, 70, 75, 147, 0,
35, 1, 147, 1, 144, 2, 33, 128, 70, 64, 34, 8, 35, 0, 247, 255, 253, 211, 40, 0, 219, 108, 120, 50, 28, 48, 70, 144,
240, 1, 252, 138, 120, 35, 69, 67, 208, 11, 70, 82, 88, 160, 70, 74, 146, 0, 146, 1, 146, 2, 33, 0, 34, 9, 247, 255,
253, 191, 40, 0, 219, 50, 104, 163, 43, 0, 209, 89, 70, 83, 88, 224, 136, 227, 70, 74, 147, 0, 146, 1, 146, 2, 33, 33,
34, 255, 35, 0, 247, 255, 253, 174, 28, 5, 40, 0, 219, 67, 32, 10, 247, 254, 255, 86, 70, 83, 88, 224, 123, 35, 70,
74, 147, 0, 146, 1, 146, 2, 33, 2, 34, 1, 35, 0, 247, 255, 253, 156, 28, 5, 40, 0, 219, 14, 70, 83, 88, 224, 123, 99,
70, 74, 147, 0, 146, 1, 146, 2, 33, 2, 34, 1, 35, 0, 247, 255, 253, 141, 28, 5, 40, 0, 218, 24, 47, 20, 208, 22, 32,
100, 247, 254, 255, 51, 55, 1, 47, 0, 208, 199, 70, 82, 88, 163, 105, 216, 247, 255, 254, 21, 28, 5, 32, 10, 247, 254,
255, 39, 28, 107, 208, 5, 45, 0, 218, 141, 69, 93, 208, 139, 47, 20, 209, 232, 176, 5, 28, 40, 188, 60, 70, 144, 70,
153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 69, 88, 209, 218, 231, 184, 28, 48, 240, 1, 252, 31, 231, 213, 6, 27,
70, 82, 14, 27, 88, 160, 104, 98, 43, 0, 208, 206, 6, 18, 14, 18, 146, 0, 70, 74, 146, 1, 146, 2, 33, 1, 34, 11, 247,
255, 253, 79, 40, 0, 218, 146, 231, 193, 255, 255, 228, 164, 181, 0, 176, 129, 33, 0, 247, 255, 255, 79, 176, 1, 188,
2, 71, 8, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 143, 28, 30, 70, 107, 51, 103, 120, 27, 145, 2, 147,
1, 70, 107, 51, 107, 120, 27, 33, 128, 147, 0, 155, 1, 37, 0, 59, 1, 6, 27, 28, 7, 70, 146, 14, 27, 32, 11, 0, 138,
147, 4, 70, 131, 149, 5, 149, 3, 70, 145, 45, 0, 209, 54, 70, 91, 59, 1, 6, 27, 152, 0, 14, 27, 70, 155, 40, 0, 208,
61, 153, 4, 41, 15, 217, 79, 37, 3, 66, 109, 70, 88, 6, 4, 152, 5, 34, 1, 70, 128, 44, 0, 221, 1, 42, 0, 209, 26, 44,
0, 220, 0, 225, 211, 28, 169, 208, 1, 42, 0, 209, 49, 155, 27, 43, 0, 208, 1, 70, 64, 112, 24, 153, 28, 41, 0, 208,
1, 154, 3, 96, 10, 176, 15, 28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 28, 107, 208,
35, 70, 64, 144, 5, 45, 0, 208, 200, 70, 88, 6, 4, 22, 35, 15, 217, 34, 9, 37, 0, 66, 154, 65, 105, 28, 56, 247, 255,
254, 232, 28, 5, 40, 0, 219, 201, 231, 185, 153, 4, 41, 15, 216, 0, 224, 177, 37, 3, 66, 109, 70, 90, 6, 20, 231, 191,
28, 56, 33, 0, 247, 255, 254, 215, 28, 130, 209, 199, 28, 5, 231, 197, 74, 209, 35, 1, 96, 19, 231, 203, 34, 160, 88,
184, 70, 144, 40, 0, 208, 170, 33, 0, 34, 31, 240, 2, 252, 28, 70, 67, 88, 250, 75, 202, 70, 64, 96, 19, 35, 152, 88,
250, 36, 255, 6, 19, 14, 17, 88, 61, 67, 25, 2, 36, 28, 19, 32, 255, 4, 0, 64, 35, 2, 27, 64, 2, 67, 25, 10, 18, 67,
17, 96, 105, 70, 66, 88, 185, 6, 51, 14, 50, 67, 26, 28, 51, 64, 35, 2, 27, 67, 26, 28, 51, 64, 3, 10, 27, 67, 26, 96,
138, 70, 69, 89, 123, 32, 0, 115, 24, 70, 105, 34, 11, 89, 123, 92, 81, 115, 89, 35, 156, 92, 251, 43, 0, 209, 0, 224,
236, 89, 122, 35, 12, 115, 147, 36, 160, 89, 56, 153, 24, 154, 1, 48, 15, 240, 2, 251, 155, 33, 144, 88, 120, 89, 59,
123, 121, 34, 31, 247, 255, 252, 100, 28, 5, 40, 31, 208, 0, 225, 18, 46, 0, 209, 0, 224, 234, 4, 51, 12, 27, 172, 6,
70, 152, 123, 123, 37, 144, 89, 120, 118, 35, 9, 219, 33, 0, 118, 99, 70, 74, 70, 67, 70, 85, 96, 33, 96, 165, 97, 226,
97, 35, 28, 33, 247, 255, 249, 204, 28, 5, 28, 104, 209, 0, 224, 206, 45, 0, 218, 0, 224, 193, 66, 181, 208, 0, 224,
189, 68, 178, 28, 51, 70, 180, 45, 0, 218, 0, 225, 16, 38, 0, 34, 160, 70, 144, 88, 184, 33, 255, 34, 13, 240, 2, 251,
164, 123, 59, 70, 69, 33, 144, 89, 122, 88, 120, 118, 35, 9, 219, 37, 0, 118, 99, 70, 73, 35, 13, 96, 37, 97, 225, 97,
35, 96, 162, 28, 33, 247, 255, 249, 162, 28, 5, 40, 0, 218, 0, 231, 89, 40, 13, 209, 0, 224, 166, 155, 5, 77, 131, 70,
152, 70, 91, 34, 1, 6, 28, 231, 21, 34, 160, 88, 184, 70, 144, 40, 0, 209, 0, 231, 71, 33, 0, 34, 31, 240, 2, 251, 122,
70, 67, 88, 250, 75, 121, 70, 64, 96, 19, 35, 152, 88, 250, 36, 255, 6, 19, 14, 17, 88, 61, 67, 25, 2, 36, 28, 19, 32,
255, 4, 0, 64, 35, 2, 27, 64, 2, 67, 25, 10, 18, 67, 17, 96, 105, 70, 66, 88, 185, 6, 51, 14, 50, 67, 26, 28, 51, 64,
35, 2, 27, 67, 26, 28, 51, 64, 3, 10, 27, 67, 26, 96, 138, 70, 67, 88, 250, 35, 128, 66, 91, 115, 19, 70, 69, 70, 104,
33, 11, 89, 123, 92, 8, 115, 88, 35, 156, 92, 251, 43, 0, 208, 65, 89, 122, 35, 12, 115, 147, 36, 160, 89, 56, 153,
24, 154, 1, 37, 144, 48, 15, 240, 2, 250, 247, 89, 120, 123, 121, 89, 59, 34, 31, 247, 255, 251, 193, 28, 5, 40, 31,
209, 68, 46, 0, 208, 73, 172, 6, 224, 4, 37, 1, 28, 30, 66, 109, 46, 0, 208, 27, 123, 59, 33, 144, 88, 120, 118, 35,
9, 219, 118, 99, 70, 75, 97, 227, 4, 51, 34, 0, 12, 27, 70, 85, 96, 165, 96, 34, 97, 35, 28, 33, 247, 255, 249, 39,
28, 5, 40, 0, 219, 232, 26, 51, 68, 130, 66, 174, 209, 225, 28, 30, 46, 0, 209, 227, 45, 0, 219, 0, 231, 94, 152, 5,
70, 89, 15, 234, 70, 128, 6, 12, 230, 149, 155, 1, 70, 65, 88, 122, 43, 6, 216, 55, 35, 6, 115, 147, 231, 184, 157,
1, 70, 67, 88, 250, 45, 6, 216, 50, 35, 6, 115, 147, 231, 13, 77, 57, 46, 0, 208, 0, 231, 34, 28, 43, 70, 172, 231,
61, 40, 0, 218, 0, 230, 118, 77, 53, 70, 89, 6, 12, 230, 116, 172, 6, 231, 56, 70, 69, 89, 123, 36, 255, 104, 26, 104,
152, 104, 93, 123, 27, 14, 17, 70, 152, 6, 19, 67, 25, 70, 132, 28, 19, 2, 36, 32, 255, 64, 35, 4, 0, 2, 27, 64, 2,
67, 25, 10, 18, 75, 41, 67, 17, 66, 153, 208, 16, 153, 5, 77, 39, 70, 136, 231, 62, 35, 16, 115, 147, 231, 128, 35,
16, 115, 147, 230, 218, 40, 0, 218, 0, 230, 137, 70, 91, 77, 31, 6, 28, 230, 72, 6, 43, 14, 42, 67, 26, 28, 43, 64,
35, 2, 27, 67, 26, 28, 43, 64, 3, 10, 27, 28, 17, 67, 25, 70, 99, 14, 26, 6, 27, 67, 26, 70, 99, 64, 35, 2, 27, 67,
26, 70, 99, 64, 3, 10, 27, 67, 26, 146, 3, 34, 152, 88, 187, 66, 153, 208, 18, 77, 18, 231, 18, 15, 218, 155, 5, 70,
88, 70, 101, 70, 152, 38, 0, 6, 4, 230, 36, 42, 0, 209, 0, 230, 40, 74, 4, 35, 1, 37, 1, 96, 19, 66, 109, 230, 48, 28,
75, 80, 187, 37, 0, 230, 34, 19, 112, 129, 76, 85, 83, 66, 67, 255, 255, 216, 237, 255, 255, 216, 233, 255, 255, 216,
238, 83, 66, 83, 85, 255, 255, 216, 236, 255, 255, 216, 235, 181, 240, 70, 87, 70, 78, 70, 69, 180, 224, 176, 140, 70,
129, 32, 18, 70, 136, 240, 1, 249, 213, 70, 109, 34, 47, 68, 106, 38, 0, 53, 31, 28, 7, 70, 146, 112, 22, 28, 40, 33,
0, 34, 16, 240, 2, 250, 94, 47, 0, 208, 32, 35, 1, 112, 46, 147, 1, 147, 2, 70, 83, 147, 3, 70, 72, 70, 65, 34, 0, 35,
0, 149, 0, 150, 4, 247, 255, 253, 172, 28, 4, 40, 0, 219, 3, 70, 82, 120, 19, 43, 0, 209, 14, 28, 56, 240, 1, 249, 162,
176, 12, 28, 32, 188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 2, 71, 8, 36, 4, 66, 100, 231, 243, 35, 3, 70, 66,
112, 43, 1, 83, 112, 107, 33, 0, 35, 18, 34, 18, 28, 56, 113, 43, 113, 110, 240, 2, 250, 43, 35, 6, 147, 1, 70, 72,
70, 65, 28, 58, 35, 18, 149, 0, 150, 2, 150, 3, 150, 4, 247, 255, 253, 125, 28, 4, 40, 0, 219, 212, 120, 187, 34, 15,
64, 19, 70, 82, 112, 19, 59, 2, 6, 27, 14, 27, 43, 2, 216, 202, 76, 0, 231, 200, 255, 255, 216, 239, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 176, 149, 144, 11, 72, 91, 145, 10, 144, 8, 120, 3, 146, 9, 43, 1, 208, 9, 32, 0,
176, 21, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 4, 11, 12, 27, 147, 15, 74, 82, 75, 83,
33, 0, 145, 14, 146, 7, 70, 153, 152, 7, 70, 74, 120, 0, 28, 7, 55, 4, 0, 187, 144, 12, 88, 209, 152, 15, 28, 11, 67,
67, 32, 128, 2, 0, 66, 131, 216, 111, 153, 15, 70, 139, 28, 10, 42, 0, 208, 216, 152, 12, 153, 9, 7, 67, 14, 27, 70,
108, 0, 191, 157, 11, 147, 13, 28, 22, 70, 138, 52, 69, 151, 6, 28, 55, 69, 94, 217, 0, 70, 95, 4, 58, 12, 19, 32, 79,
70, 152, 68, 104, 35, 0, 112, 3, 32, 40, 35, 55, 112, 32, 68, 107, 120, 27, 33, 0, 112, 99, 14, 43, 112, 163, 12, 43,
112, 227, 14, 18, 10, 43, 70, 64, 113, 161, 114, 97, 113, 35, 113, 101, 113, 226, 114, 32, 70, 73, 123, 139, 154, 12,
66, 147, 217, 168, 155, 6, 72, 46, 88, 26, 42, 0, 208, 163, 32, 79, 33, 10, 68, 104, 70, 67, 67, 83, 34, 0, 145, 1,
146, 2, 144, 3, 146, 4, 72, 39, 153, 12, 70, 82, 148, 0, 247, 255, 252, 241, 40, 0, 221, 40, 33, 79, 68, 105, 120, 11,
43, 0, 208, 0, 231, 139, 70, 65, 26, 115, 4, 27, 153, 6, 12, 30, 70, 75, 88, 90, 46, 0, 208, 4, 28, 19, 67, 123, 25,
237, 68, 154, 231, 176, 40, 0, 218, 0, 231, 122, 155, 11, 152, 10, 154, 14, 24, 27, 147, 11, 35, 128, 50, 1, 0, 155,
146, 14, 66, 154, 209, 130, 32, 1, 231, 110, 240, 2, 248, 97, 154, 15, 70, 131, 231, 141, 40, 0, 218, 218, 28, 130,
209, 230, 154, 8, 35, 0, 112, 19, 70, 73, 35, 160, 88, 200, 40, 0, 208, 1, 240, 1, 248, 184, 33, 0, 34, 164, 70, 72,
240, 2, 249, 85, 72, 6, 33, 0, 247, 253, 255, 201, 32, 0, 231, 80, 70, 192, 19, 112, 129, 85, 19, 112, 129, 84, 19,
114, 73, 152, 19, 112, 128, 172, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 141, 144, 5, 32, 22, 70, 137,
240, 1, 248, 164, 28, 4, 144, 11, 40, 0, 209, 0, 226, 13, 35, 0, 147, 0, 35, 18, 147, 1, 35, 128, 144, 2, 33, 128, 152,
5, 34, 6, 0, 91, 247, 255, 249, 201, 144, 6, 40, 0, 219, 0, 224, 142, 152, 11, 240, 1, 248, 128, 70, 74, 70, 73, 124,
137, 124, 215, 6, 11, 4, 58, 67, 26, 70, 75, 70, 140, 125, 30, 70, 73, 125, 76, 2, 51, 67, 19, 28, 33, 67, 25, 209,
0, 225, 222, 70, 74, 124, 82, 70, 144, 42, 0, 209, 0, 225, 230, 35, 0, 70, 155, 70, 154, 70, 82, 24, 141, 122, 107,
122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 208, 82, 121, 43, 43, 0, 208, 58,
39, 0, 38, 0, 224, 10, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25,
132, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 1, 248,
55, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 2, 27, 67, 19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 1, 248,
41, 121, 43, 55, 1, 54, 18, 66, 159, 219, 210, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123,
42, 28, 16, 67, 24, 240, 1, 248, 23, 70, 74, 70, 75, 70, 73, 124, 137, 124, 91, 124, 215, 70, 152, 4, 58, 6, 11, 67,
26, 70, 75, 70, 140, 125, 30, 70, 73, 125, 76, 2, 51, 67, 19, 28, 33, 67, 25, 34, 1, 35, 13, 68, 147, 68, 154, 69, 195,
219, 0, 225, 123, 70, 97, 6, 11, 4, 58, 67, 26, 2, 51, 67, 19, 28, 33, 67, 25, 231, 142, 28, 33, 34, 18, 70, 72, 240,
2, 248, 77, 28, 32, 240, 0, 255, 236, 70, 73, 120, 138, 120, 203, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18,
12, 19, 14, 18, 112, 138, 122, 10, 112, 203, 122, 75, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 14,
18, 114, 10, 122, 138, 114, 75, 122, 203, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 14, 18, 114,
138, 123, 10, 114, 203, 123, 75, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 115, 75, 124, 75, 14,
18, 0, 88, 24, 192, 0, 128, 115, 10, 24, 192, 240, 0, 255, 188, 70, 74, 14, 3, 116, 147, 12, 3, 116, 211, 10, 3, 117,
19, 117, 80, 40, 0, 209, 0, 225, 47, 124, 83, 33, 0, 0, 90, 24, 210, 0, 146, 24, 210, 240, 2, 248, 63, 70, 73, 124,
75, 43, 0, 209, 0, 225, 59, 34, 0, 146, 7, 146, 10, 32, 9, 240, 0, 255, 158, 28, 4, 40, 0, 209, 0, 225, 8, 153, 7, 34,
2, 6, 11, 14, 29, 35, 9, 28, 33, 147, 0, 152, 5, 28, 43, 247, 255, 249, 71, 70, 75, 124, 154, 124, 219, 70, 73, 6, 18,
4, 27, 67, 19, 125, 10, 2, 18, 67, 26, 125, 75, 28, 33, 67, 19, 154, 10, 24, 210, 70, 146, 28, 16, 34, 9, 240, 1, 255,
205, 28, 32, 240, 0, 255, 108, 70, 83, 120, 154, 120, 219, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12,
20, 70, 81, 14, 18, 112, 138, 112, 204, 28, 32, 240, 0, 255, 102, 144, 11, 40, 0, 209, 0, 224, 208, 70, 82, 120, 211,
152, 5, 147, 0, 153, 11, 34, 2, 28, 43, 247, 255, 249, 17, 144, 6, 40, 0, 218, 0, 230, 197, 70, 83, 120, 29, 121, 27,
0, 216, 24, 192, 0, 64, 240, 0, 255, 77, 70, 81, 14, 3, 114, 75, 12, 3, 114, 139, 10, 3, 114, 203, 115, 8, 40, 0, 209,
0, 224, 192, 121, 11, 33, 0, 0, 218, 24, 210, 0, 82, 240, 1, 255, 209, 70, 82, 121, 19, 43, 0, 209, 0, 224, 138, 155,
11, 33, 0, 25, 91, 27, 100, 70, 152, 70, 163, 145, 8, 145, 9, 70, 83, 122, 90, 122, 155, 70, 81, 6, 18, 4, 27, 67, 19,
122, 202, 2, 18, 67, 26, 123, 11, 70, 65, 67, 19, 154, 9, 24, 157, 28, 40, 34, 9, 240, 1, 255, 109, 121, 43, 120, 44,
0, 216, 26, 192, 240, 0, 255, 21, 14, 3, 115, 171, 12, 3, 115, 235, 10, 3, 116, 43, 116, 104, 40, 0, 209, 0, 224, 137,
70, 91, 27, 27, 70, 155, 121, 43, 33, 0, 0, 218, 26, 210, 240, 1, 255, 152, 70, 89, 68, 160, 41, 0, 209, 0, 224, 120,
70, 66, 120, 83, 59, 4, 6, 27, 14, 27, 43, 1, 216, 0, 224, 112, 70, 64, 70, 90, 224, 5, 120, 67, 59, 4, 6, 27, 14, 27,
43, 1, 217, 98, 120, 3, 26, 210, 24, 192, 42, 0, 209, 244, 70, 65, 26, 68, 6, 35, 14, 27, 115, 107, 44, 0, 209, 98,
121, 43, 43, 0, 208, 37, 39, 0, 38, 0, 123, 171, 123, 234, 6, 27, 4, 18, 67, 26, 124, 43, 124, 108, 2, 27, 67, 19, 67,
28, 25, 164, 70, 65, 34, 7, 28, 32, 240, 1, 255, 29, 120, 35, 121, 34, 68, 152, 121, 99, 2, 18, 67, 19, 4, 27, 10, 26,
14, 27, 67, 26, 4, 18, 12, 19, 14, 18, 113, 34, 113, 99, 121, 43, 55, 1, 54, 7, 66, 187, 216, 219, 155, 8, 153, 9, 51,
1, 49, 18, 147, 8, 145, 9, 70, 82, 121, 19, 153, 8, 66, 139, 217, 0, 231, 124, 152, 11, 240, 0, 254, 156, 154, 7, 155,
10, 50, 1, 51, 13, 146, 7, 147, 10, 70, 73, 124, 75, 66, 147, 217, 0, 230, 251, 34, 0, 146, 6, 152, 6, 176, 13, 188,
60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 34, 4, 66, 82, 146, 6, 230, 0, 28, 8, 240, 0, 254,
126, 231, 237, 70, 67, 26, 196, 6, 35, 14, 27, 231, 160, 35, 0, 115, 107, 231, 160, 35, 4, 66, 91, 147, 6, 229, 237,
28, 32, 240, 0, 254, 122, 14, 3, 114, 107, 12, 3, 114, 171, 10, 3, 114, 235, 115, 40, 40, 0, 208, 239, 70, 65, 28, 34,
240, 1, 254, 191, 70, 90, 27, 18, 68, 160, 70, 147, 231, 135, 28, 32, 240, 0, 254, 89, 35, 0, 147, 6, 231, 198, 181,
240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 141, 70, 130, 32, 1, 28, 12, 240, 0, 254, 86, 144, 5, 40, 0, 209,
0, 225, 239, 33, 0, 34, 164, 70, 80, 240, 1, 254, 227, 70, 81, 35, 1, 34, 152, 80, 139, 35, 144, 80, 204, 70, 105, 28,
32, 49, 26, 247, 255, 253, 146, 28, 4, 40, 0, 218, 0, 225, 194, 75, 178, 104, 27, 43, 0, 208, 0, 224, 211, 72, 177,
70, 105, 49, 26, 34, 22, 240, 1, 254, 133, 33, 43, 68, 105, 120, 15, 47, 0, 209, 0, 226, 30, 70, 108, 141, 163, 141,
226, 33, 0, 4, 27, 28, 20, 67, 28, 70, 139, 70, 137, 38, 0, 70, 74, 24, 165, 121, 41, 41, 0, 208, 68, 35, 0, 70, 152,
39, 0, 122, 106, 122, 171, 6, 18, 4, 27, 67, 19, 122, 234, 2, 18, 67, 26, 123, 43, 67, 19, 25, 220, 121, 99, 43, 8,
209, 0, 224, 189, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67, 24, 208, 1,
240, 0, 253, 242, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 115, 166, 2, 27, 67, 19, 123, 34, 115, 230, 28,
16, 116, 38, 116, 102, 67, 24, 208, 1, 240, 0, 253, 224, 114, 102, 114, 166, 114, 230, 115, 38, 121, 41, 36, 1, 68,
160, 55, 18, 69, 65, 216, 198, 70, 106, 141, 147, 33, 43, 141, 210, 68, 105, 4, 27, 28, 20, 120, 15, 67, 28, 35, 1,
33, 13, 68, 155, 68, 137, 69, 95, 216, 175, 44, 0, 209, 0, 225, 83, 47, 0, 209, 0, 225, 77, 34, 0, 70, 145, 70, 144,
70, 67, 24, 229, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 208, 72,
121, 43, 43, 0, 208, 58, 39, 0, 38, 0, 224, 10, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123,
42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67,
24, 208, 1, 240, 0, 253, 144, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 2, 27, 67, 19, 123, 34, 28, 16, 67,
24, 208, 1, 240, 0, 253, 130, 121, 43, 55, 1, 54, 18, 66, 159, 219, 210, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122,
235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240, 0, 253, 112, 70, 105, 36, 43, 141, 139, 141, 202, 68, 108, 120, 39,
4, 27, 28, 20, 67, 28, 34, 1, 35, 13, 68, 145, 68, 152, 69, 185, 219, 0, 224, 236, 70, 108, 141, 163, 141, 226, 4, 27,
28, 20, 67, 28, 231, 154, 33, 0, 72, 70, 224, 3, 49, 1, 41, 18, 209, 0, 231, 37, 36, 26, 68, 108, 92, 66, 92, 99, 66,
154, 208, 245, 152, 5, 240, 0, 253, 73, 70, 104, 48, 26, 36, 1, 247, 254, 249, 96, 66, 100, 224, 225, 121, 162, 42,
6, 208, 4, 42, 2, 208, 2, 42, 5, 208, 0, 231, 57, 121, 227, 43, 80, 208, 0, 231, 53, 121, 35, 43, 1, 216, 0, 231, 86,
42, 6, 208, 3, 35, 1, 70, 81, 34, 156, 84, 139, 70, 81, 115, 78, 115, 14, 121, 34, 70, 148, 42, 0, 209, 0, 231, 71,
32, 0, 33, 0, 224, 3, 48, 1, 49, 7, 69, 132, 217, 26, 123, 162, 123, 227, 6, 18, 4, 27, 67, 19, 124, 34, 2, 18, 67,
26, 124, 99, 67, 19, 24, 90, 120, 211, 43, 2, 209, 237, 120, 146, 6, 19, 43, 0, 218, 0, 224, 145, 70, 83, 115, 90, 121,
34, 48, 1, 70, 148, 49, 7, 69, 132, 216, 228, 70, 81, 123, 11, 43, 0, 209, 0, 231, 32, 70, 82, 123, 83, 43, 0, 209,
0, 231, 27, 121, 107, 70, 81, 112, 11, 120, 163, 70, 106, 96, 75, 120, 227, 96, 139, 141, 147, 141, 210, 4, 27, 28,
17, 67, 25, 209, 0, 224, 152, 35, 43, 68, 107, 120, 28, 44, 0, 209, 0, 224, 143, 34, 0, 70, 145, 70, 144, 70, 67, 24,
205, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 208, 76, 121, 43, 43,
0, 208, 62, 39, 0, 38, 0, 224, 14, 19, 112, 129, 80, 19, 114, 73, 128, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122,
235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27, 67,
19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 0, 252, 174, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 2, 27, 67,
19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 0, 252, 160, 121, 43, 55, 1, 54, 18, 66, 159, 219, 210, 122, 107, 122, 170,
6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240, 0, 252, 142, 70, 106, 141, 147, 33, 43,
141, 210, 68, 105, 120, 12, 4, 27, 28, 17, 67, 25, 35, 1, 34, 13, 68, 153, 68, 144, 69, 161, 218, 43, 70, 105, 141,
139, 141, 202, 4, 27, 28, 17, 67, 25, 231, 151, 70, 83, 115, 26, 121, 34, 70, 148, 231, 81, 28, 32, 240, 0, 252, 112,
76, 59, 152, 5, 240, 0, 252, 108, 35, 160, 70, 81, 88, 200, 40, 0, 208, 1, 240, 0, 252, 101, 70, 80, 33, 0, 34, 164,
240, 1, 253, 2, 176, 13, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 36, 4, 66, 100,
231, 242, 28, 8, 240, 0, 252, 80, 70, 82, 38, 144, 32, 1, 89, 148, 240, 0, 252, 86, 28, 5, 40, 0, 208, 61, 35, 0, 147,
0, 35, 1, 147, 1, 144, 2, 33, 128, 28, 32, 34, 8, 35, 0, 247, 254, 253, 126, 40, 0, 219, 50, 28, 40, 120, 44, 240, 0,
252, 54, 70, 83, 120, 25, 66, 161, 208, 5, 70, 84, 89, 160, 247, 254, 253, 228, 40, 0, 219, 34, 70, 81, 104, 138, 42,
0, 208, 8, 35, 144, 6, 18, 88, 200, 14, 18, 121, 201, 247, 254, 253, 195, 40, 0, 219, 21, 70, 80, 247, 255, 248, 20,
28, 4, 40, 0, 219, 169, 35, 16, 70, 82, 115, 147, 72, 15, 240, 0, 252, 31, 70, 84, 35, 160, 80, 224, 40, 0, 208, 18,
152, 5, 240, 0, 252, 11, 36, 0, 231, 168, 76, 10, 231, 151, 28, 40, 240, 0, 252, 4, 76, 7, 231, 146, 70, 106, 141, 147,
141, 210, 4, 27, 28, 20, 67, 28, 230, 51, 36, 4, 66, 100, 231, 136, 255, 255, 216, 240, 0, 0, 16, 16, 255, 255, 216,
231, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 73, 98, 176, 141, 144, 6, 70, 136, 28, 8, 153, 6, 247, 255,
253, 142, 40, 0, 218, 0, 224, 165, 70, 67, 123, 154, 146, 7, 42, 0, 209, 0, 224, 140, 73, 91, 35, 38, 38, 0, 68, 107,
70, 139, 70, 154, 70, 177, 224, 6, 155, 7, 54, 1, 66, 158, 219, 0, 224, 127, 70, 65, 123, 138, 6, 51, 14, 29, 66, 149,
210, 244, 73, 82, 70, 90, 96, 17, 72, 79, 28, 41, 247, 255, 249, 237, 28, 4, 40, 0, 219, 90, 75, 77, 70, 89, 96, 11,
7, 107, 70, 82, 14, 31, 35, 18, 70, 73, 112, 19, 35, 36, 112, 87, 112, 145, 112, 209, 113, 19, 113, 81, 32, 36, 240,
0, 251, 184, 28, 4, 40, 0, 208, 16, 70, 74, 70, 81, 35, 6, 145, 0, 147, 1, 146, 2, 146, 3, 146, 4, 72, 61, 28, 41, 28,
34, 35, 36, 247, 254, 255, 155, 28, 32, 240, 0, 251, 152, 70, 81, 35, 37, 112, 79, 112, 11, 32, 8, 240, 0, 251, 157,
28, 7, 40, 0, 208, 186, 35, 2, 70, 82, 147, 1, 70, 75, 146, 0, 147, 2, 147, 3, 147, 4, 72, 47, 28, 41, 28, 58, 35, 8,
247, 254, 255, 128, 28, 4, 40, 0, 219, 22, 172, 11, 28, 32, 28, 57, 34, 4, 240, 1, 251, 213, 28, 43, 154, 11, 73, 39,
51, 20, 0, 155, 80, 90, 28, 32, 29, 57, 34, 4, 240, 1, 251, 202, 29, 43, 154, 11, 73, 33, 0, 155, 80, 90, 36, 0, 28,
56, 240, 0, 251, 99, 28, 162, 208, 48, 44, 0, 219, 139, 153, 6, 74, 30, 137, 11, 32, 0, 128, 19, 137, 75, 74, 29, 128,
19, 74, 29, 35, 1, 112, 19, 75, 28, 70, 90, 112, 29, 75, 23, 96, 19, 224, 20, 75, 24, 34, 0, 112, 26, 35, 160, 70, 66,
88, 208, 40, 0, 208, 1, 240, 0, 251, 68, 33, 0, 70, 64, 34, 164, 240, 1, 251, 225, 72, 19, 33, 0, 247, 253, 250, 85,
32, 3, 66, 64, 176, 13, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 75, 9, 34, 0, 112, 26,
70, 65, 35, 160, 88, 200, 40, 0, 209, 225, 231, 226, 70, 192, 19, 114, 73, 152, 19, 112, 128, 32, 0, 15, 66, 64, 19,
112, 129, 86, 19, 112, 129, 88, 19, 112, 129, 85, 19, 112, 129, 84, 19, 112, 128, 172, 181, 240, 70, 95, 70, 86, 70,
77, 70, 68, 180, 240, 74, 73, 176, 129, 104, 19, 70, 146, 43, 0, 208, 9, 32, 0, 176, 1, 188, 60, 70, 144, 70, 153, 70,
162, 70, 171, 188, 240, 188, 2, 71, 8, 75, 66, 104, 29, 70, 153, 35, 84, 92, 235, 43, 0, 208, 121, 38, 0, 224, 53, 32,
250, 0, 128, 247, 253, 253, 227, 70, 64, 247, 255, 254, 254, 40, 0, 208, 103, 25, 187, 0, 219, 24, 235, 70, 74, 111,
92, 104, 19, 28, 32, 104, 155, 70, 155, 247, 254, 252, 189, 48, 1, 208, 68, 32, 250, 0, 128, 247, 253, 253, 205, 70,
64, 247, 255, 254, 232, 40, 0, 208, 81, 25, 187, 0, 219, 24, 235, 111, 92, 70, 74, 104, 19, 28, 32, 104, 157, 247, 254,
252, 168, 48, 1, 208, 58, 32, 250, 0, 128, 247, 253, 253, 184, 70, 75, 104, 29, 34, 84, 92, 171, 54, 1, 66, 179, 221,
65, 0, 183, 25, 187, 0, 219, 28, 26, 24, 236, 50, 88, 111, 35, 25, 82, 70, 144, 43, 0, 208, 237, 28, 16, 247, 255, 254,
193, 40, 0, 208, 42, 70, 74, 104, 19, 111, 100, 104, 155, 28, 32, 70, 155, 247, 254, 252, 131, 48, 1, 209, 175, 32,
250, 0, 64, 247, 253, 253, 147, 28, 35, 51, 16, 0, 155, 74, 19, 68, 91, 96, 90, 231, 164, 32, 250, 0, 64, 247, 253,
253, 136, 28, 35, 51, 16, 0, 155, 74, 14, 68, 91, 96, 90, 231, 175, 32, 250, 0, 64, 247, 253, 253, 125, 28, 35, 51,
16, 0, 155, 74, 8, 24, 235, 96, 90, 231, 185, 35, 1, 70, 82, 96, 19, 74, 6, 35, 0, 96, 19, 231, 116, 32, 1, 66, 64,
231, 114, 19, 112, 129, 80, 19, 112, 128, 28, 0, 0, 16, 1, 19, 112, 129, 76, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68,
180, 240, 75, 142, 176, 151, 120, 27, 144, 11, 146, 10, 43, 1, 208, 9, 32, 0, 176, 23, 188, 60, 70, 144, 70, 153, 70,
162, 70, 171, 188, 240, 188, 2, 71, 8, 4, 11, 33, 0, 70, 138, 74, 133, 73, 134, 12, 27, 147, 14, 146, 9, 35, 0, 145,
8, 224, 137, 74, 131, 35, 144, 88, 208, 70, 147, 40, 0, 209, 0, 224, 208, 75, 129, 105, 196, 104, 27, 28, 32, 104, 157,
247, 254, 252, 30, 28, 67, 209, 0, 224, 188, 40, 0, 208, 0, 224, 195, 35, 160, 70, 89, 88, 200, 40, 0, 208, 1, 240,
0, 250, 55, 35, 160, 70, 90, 33, 0, 80, 209, 35, 144, 88, 208, 247, 255, 254, 61, 40, 0, 208, 0, 224, 177, 155, 9, 34,
0, 96, 26, 32, 100, 247, 253, 253, 22, 75, 111, 153, 8, 96, 11, 75, 111, 70, 89, 120, 27, 154, 14, 28, 30, 54, 4, 147,
12, 0, 179, 88, 203, 32, 128, 70, 153, 70, 75, 67, 83, 2, 0, 146, 15, 66, 131, 217, 4, 70, 73, 240, 1, 249, 167, 154,
14, 144, 15, 42, 0, 209, 0, 224, 181, 155, 10, 153, 12, 147, 13, 7, 75, 14, 27, 70, 108, 0, 182, 157, 11, 147, 16, 28,
23, 52, 77, 150, 7, 154, 15, 28, 62, 66, 151, 217, 0, 28, 22, 4, 50, 12, 19, 33, 87, 70, 152, 68, 105, 35, 0, 112, 11,
33, 42, 35, 67, 112, 33, 68, 107, 120, 27, 14, 18, 112, 99, 14, 43, 112, 163, 12, 43, 112, 227, 33, 0, 113, 226, 10,
43, 70, 66, 113, 161, 114, 97, 113, 35, 113, 101, 114, 34, 70, 89, 123, 139, 154, 12, 66, 147, 216, 38, 33, 3, 66, 74,
70, 146, 75, 71, 153, 8, 96, 11, 154, 9, 104, 19, 43, 0, 209, 2, 70, 83, 43, 0, 218, 117, 155, 17, 51, 1, 43, 15, 220,
99, 147, 17, 43, 12, 221, 1, 34, 12, 146, 17, 153, 9, 104, 11, 43, 0, 208, 0, 231, 107, 70, 82, 50, 2, 208, 70, 75,
58, 154, 8, 96, 19, 70, 83, 51, 2, 208, 222, 73, 53, 70, 139, 231, 142, 70, 75, 43, 0, 208, 213, 70, 65, 34, 10, 70,
75, 67, 75, 146, 1, 33, 1, 34, 87, 145, 2, 68, 106, 33, 0, 146, 3, 145, 4, 72, 44, 153, 12, 154, 13, 148, 0, 247, 254,
253, 157, 70, 130, 40, 0, 221, 63, 34, 87, 68, 106, 120, 19, 43, 0, 209, 55, 70, 65, 26, 123, 4, 27, 12, 31, 155, 7,
70, 90, 88, 210, 70, 145, 47, 0, 208, 180, 70, 75, 67, 115, 153, 13, 25, 173, 24, 201, 145, 13, 231, 133, 32, 250, 0,
64, 247, 253, 252, 112, 28, 35, 51, 16, 0, 155, 74, 29, 24, 235, 96, 90, 32, 100, 247, 253, 252, 103, 70, 82, 50, 2,
209, 184, 155, 17, 43, 0, 221, 181, 73, 19, 28, 8, 70, 139, 33, 1, 247, 254, 252, 183, 70, 130, 40, 0, 219, 172, 75,
16, 154, 8, 96, 19, 231, 64, 70, 81, 15, 203, 34, 1, 64, 83, 6, 27, 14, 24, 230, 246, 75, 14, 70, 154, 231, 131, 70,
83, 43, 0, 218, 193, 231, 127, 32, 1, 230, 237, 34, 1, 66, 83, 70, 154, 231, 121, 19, 112, 129, 85, 19, 112, 129, 76,
19, 112, 128, 32, 19, 114, 73, 152, 19, 112, 128, 28, 0, 15, 66, 64, 19, 112, 129, 84, 0, 0, 16, 1, 255, 255, 216, 234,
181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 75, 144, 176, 151, 120, 27, 144, 12, 146, 11, 43, 1, 208, 9, 32,
0, 176, 23, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 74, 137, 4, 11, 33, 0, 70, 136, 146,
10, 73, 135, 74, 136, 12, 27, 147, 14, 145, 8, 35, 0, 146, 7, 224, 141, 154, 8, 35, 144, 88, 208, 40, 0, 209, 0, 224,
187, 75, 130, 105, 196, 104, 27, 28, 32, 104, 157, 247, 254, 250, 231, 28, 67, 209, 0, 224, 167, 40, 0, 208, 0, 224,
174, 153, 8, 35, 160, 88, 200, 40, 0, 208, 2, 240, 0, 249, 0, 153, 8, 35, 160, 34, 0, 80, 202, 35, 144, 88, 200, 247,
255, 253, 6, 40, 0, 208, 0, 224, 156, 154, 10, 96, 16, 32, 100, 247, 253, 251, 224, 35, 0, 70, 152, 153, 10, 104, 11,
43, 0, 209, 89, 75, 110, 154, 7, 70, 65, 96, 19, 49, 2, 208, 116, 75, 108, 73, 104, 120, 27, 154, 14, 28, 30, 54, 4,
147, 13, 0, 179, 88, 203, 32, 128, 70, 153, 70, 75, 67, 83, 2, 0, 146, 15, 66, 131, 217, 4, 70, 73, 240, 1, 248, 104,
154, 14, 144, 15, 42, 0, 209, 0, 224, 167, 155, 11, 153, 13, 70, 155, 7, 75, 14, 27, 70, 108, 0, 182, 157, 12, 147,
16, 28, 23, 52, 77, 150, 9, 154, 15, 28, 62, 66, 151, 217, 0, 28, 22, 4, 50, 12, 19, 33, 87, 70, 154, 68, 105, 35, 0,
112, 11, 33, 40, 35, 67, 112, 33, 68, 107, 120, 27, 33, 0, 112, 99, 14, 43, 112, 163, 14, 18, 12, 43, 112, 227, 113,
161, 113, 226, 114, 97, 10, 43, 70, 82, 73, 71, 113, 35, 113, 101, 114, 34, 123, 139, 154, 13, 66, 147, 216, 69, 35,
3, 66, 89, 70, 136, 75, 69, 153, 7, 96, 11, 154, 10, 104, 19, 43, 0, 208, 115, 155, 17, 51, 1, 43, 15, 220, 34, 147,
17, 43, 12, 221, 1, 35, 12, 147, 17, 153, 10, 104, 11, 43, 0, 208, 0, 231, 103, 70, 65, 49, 2, 209, 144, 154, 17, 42,
0, 221, 141, 72, 52, 33, 1, 247, 254, 251, 196, 70, 128, 40, 0, 219, 1, 75, 54, 70, 152, 32, 10, 247, 253, 251, 96,
231, 128, 154, 7, 96, 19, 155, 17, 51, 1, 43, 15, 221, 220, 70, 65, 15, 203, 34, 1, 64, 83, 6, 27, 14, 24, 231, 49,
32, 250, 0, 64, 247, 253, 251, 78, 28, 35, 51, 16, 0, 155, 74, 42, 24, 235, 96, 90, 32, 100, 247, 253, 251, 69, 231,
209, 70, 75, 43, 0, 208, 182, 34, 10, 70, 81, 146, 1, 34, 87, 70, 75, 67, 75, 68, 106, 33, 0, 145, 2, 146, 3, 145, 4,
72, 25, 153, 13, 70, 90, 148, 0, 247, 254, 252, 64, 70, 128, 40, 0, 221, 7, 33, 87, 68, 105, 120, 11, 43, 0, 208, 5,
74, 25, 70, 144, 231, 157, 70, 66, 42, 0, 219, 154, 70, 81, 26, 123, 4, 27, 12, 31, 74, 13, 155, 9, 88, 210, 70, 145,
47, 0, 208, 144, 70, 75, 67, 115, 25, 173, 68, 155, 231, 99, 75, 11, 153, 7, 34, 1, 96, 11, 66, 83, 70, 152, 231, 139,
70, 67, 43, 0, 219, 136, 32, 1, 230, 230, 70, 192, 19, 112, 129, 85, 19, 112, 129, 76, 19, 114, 73, 152, 19, 112, 128,
32, 19, 112, 128, 28, 0, 15, 66, 64, 19, 112, 129, 84, 255, 255, 253, 102, 0, 0, 16, 1, 255, 255, 216, 234, 71, 112,
70, 192, 181, 0, 75, 4, 176, 129, 28, 1, 104, 24, 247, 252, 254, 187, 176, 1, 188, 1, 71, 0, 19, 112, 129, 92, 181,
0, 75, 9, 28, 1, 176, 129, 104, 24, 247, 252, 254, 167, 40, 0, 208, 2, 176, 1, 188, 2, 71, 8, 72, 4, 33, 0, 247, 252,
254, 254, 32, 100, 247, 253, 250, 209, 231, 251, 19, 112, 129, 92, 19, 112, 128, 192, 181, 0, 176, 129, 247, 252, 254,
150, 176, 1, 188, 1, 71, 0, 70, 192, 181, 0, 176, 129, 247, 252, 254, 142, 176, 1, 188, 1, 71, 0, 70, 192, 181, 0, 176,
129, 247, 252, 254, 134, 176, 1, 188, 1, 71, 0, 70, 192, 181, 16, 28, 4, 247, 252, 254, 94, 28, 32, 188, 16, 188, 2,
71, 8, 181, 16, 28, 4, 247, 252, 254, 86, 28, 32, 188, 16, 188, 2, 71, 8, 181, 16, 28, 4, 247, 252, 254, 78, 28, 32,
188, 16, 188, 2, 71, 8, 181, 0, 33, 192, 176, 129, 72, 5, 2, 9, 247, 252, 254, 63, 75, 4, 176, 1, 96, 24, 32, 0, 188,
2, 71, 8, 70, 192, 19, 112, 137, 128, 19, 112, 129, 92, 181, 112, 176, 132, 28, 13, 28, 6, 247, 255, 252, 126, 76, 14,
28, 32, 247, 253, 251, 94, 75, 13, 28, 2, 96, 24, 40, 0, 209, 4, 32, 0, 176, 4, 188, 112, 188, 2, 71, 8, 104, 35, 72,
9, 146, 0, 33, 0, 34, 0, 149, 1, 146, 2, 240, 0, 250, 227, 40, 0, 208, 239, 28, 49, 240, 0, 249, 32, 231, 236, 70, 192,
19, 112, 129, 100, 19, 112, 129, 96, 19, 112, 52, 13, 181, 48, 28, 20, 28, 8, 176, 129, 28, 17, 28, 26, 28, 29, 247,
255, 254, 41, 40, 0, 209, 4, 32, 1, 176, 1, 188, 48, 188, 2, 71, 8, 75, 4, 28, 40, 104, 27, 28, 25, 67, 97, 247, 252,
254, 23, 32, 0, 231, 242, 70, 192, 19, 112, 129, 100, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 133,
144, 1, 104, 6, 28, 21, 106, 112, 70, 152, 28, 10, 30, 131, 64, 218, 4, 19, 12, 27, 147, 2, 122, 50, 26, 128, 144, 3,
106, 51, 104, 116, 59, 1, 64, 211, 70, 155, 58, 2, 28, 11, 64, 211, 70, 95, 64, 31, 155, 1, 8, 162, 104, 88, 155, 2,
58, 1, 51, 128, 0, 91, 90, 195, 70, 153, 64, 17, 208, 0, 224, 114, 70, 170, 69, 160, 211, 53, 122, 49, 70, 69, 64, 205,
106, 50, 25, 235, 66, 147, 216, 60, 70, 74, 42, 0, 208, 61, 154, 3, 106, 241, 70, 75, 64, 147, 24, 121, 24, 201, 107,
52, 107, 176, 28, 42, 70, 83, 240, 0, 248, 183, 28, 4, 40, 0, 209, 32, 122, 51, 28, 42, 64, 154, 28, 19, 70, 66, 26,
210, 25, 127, 70, 144, 68, 154, 69, 187, 210, 14, 42, 0, 208, 12, 155, 2, 39, 0, 51, 1, 4, 27, 12, 27, 147, 2, 155,
1, 104, 90, 155, 2, 51, 128, 0, 91, 90, 211, 70, 153, 104, 116, 69, 160, 210, 201, 70, 66, 42, 0, 209, 31, 36, 0, 176,
5, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 27, 213, 70, 74, 42, 0, 209, 193, 28,
42, 64, 138, 70, 80, 33, 0, 240, 0, 255, 122, 122, 51, 28, 42, 64, 154, 28, 19, 70, 66, 26, 210, 70, 144, 68, 154, 25,
127, 104, 116, 231, 164, 70, 75, 43, 0, 208, 55, 154, 3, 106, 241, 64, 147, 24, 121, 24, 201, 107, 52, 107, 176, 108,
243, 34, 1, 240, 0, 248, 102, 28, 4, 40, 0, 209, 207, 108, 241, 70, 80, 70, 66, 240, 0, 255, 21, 231, 201, 0, 137, 70,
138, 43, 0, 208, 71, 154, 3, 106, 241, 64, 147, 24, 121, 24, 201, 107, 52, 107, 176, 108, 243, 34, 1, 240, 0, 248, 78,
28, 4, 40, 0, 209, 183, 104, 115, 70, 82, 26, 156, 69, 160, 210, 19, 108, 241, 28, 40, 68, 81, 70, 66, 240, 0, 254,
247, 68, 69, 35, 0, 70, 170, 55, 1, 70, 152, 104, 116, 231, 105, 70, 80, 33, 0, 70, 66, 240, 0, 255, 47, 36, 0, 231,
158, 108, 241, 28, 40, 68, 81, 28, 34, 240, 0, 254, 227, 70, 67, 27, 27, 25, 45, 55, 1, 70, 152, 70, 170, 69, 95, 216,
0, 231, 136, 43, 0, 209, 0, 231, 133, 155, 2, 39, 0, 51, 1, 4, 27, 12, 27, 147, 2, 155, 1, 104, 116, 104, 90, 155, 2,
51, 128, 0, 91, 90, 211, 70, 153, 231, 65, 26, 100, 69, 68, 217, 0, 70, 68, 28, 40, 28, 34, 33, 0, 240, 0, 255, 3, 70,
67, 27, 27, 25, 45, 70, 152, 70, 170, 55, 1, 104, 116, 231, 48, 71, 32, 181, 240, 70, 87, 70, 70, 180, 192, 35, 72,
90, 194, 122, 3, 176, 129, 65, 26, 70, 144, 143, 130, 28, 6, 70, 138, 42, 0, 208, 32, 37, 0, 39, 0, 224, 3, 53, 1, 68,
71, 66, 170, 217, 25, 104, 51, 25, 91, 123, 27, 43, 0, 208, 246, 106, 241, 34, 1, 49, 1, 24, 121, 107, 176, 108, 243,
107, 52, 240, 0, 248, 72, 108, 241, 70, 80, 34, 6, 240, 0, 254, 97, 40, 0, 208, 14, 143, 178, 53, 1, 68, 71, 66, 170,
216, 229, 34, 0, 70, 146, 176, 1, 70, 80, 188, 12, 70, 144, 70, 154, 188, 240, 188, 2, 71, 8, 32, 12, 247, 252, 253,
117, 70, 130, 40, 0, 208, 33, 70, 82, 96, 22, 96, 149, 35, 72, 90, 240, 247, 252, 253, 107, 70, 82, 28, 3, 96, 80, 40,
0, 208, 11, 106, 241, 107, 176, 49, 1, 25, 201, 107, 52, 70, 66, 240, 0, 248, 24, 109, 51, 51, 1, 101, 51, 231, 217,
72, 7, 73, 8, 247, 252, 253, 22, 70, 80, 247, 252, 253, 71, 35, 0, 70, 154, 231, 207, 72, 2, 73, 3, 247, 252, 253, 12,
231, 202, 70, 192, 19, 112, 128, 224, 19, 112, 128, 236, 71, 32, 70, 192, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68,
180, 240, 176, 129, 70, 139, 153, 10, 70, 130, 32, 84, 70, 145, 28, 31, 70, 136, 247, 252, 253, 52, 28, 5, 47, 0, 209,
85, 32, 128, 0, 128, 247, 252, 253, 45, 35, 128, 2, 27, 97, 43, 70, 66, 35, 15, 117, 43, 23, 211, 12, 91, 68, 67, 19,
219, 67, 123, 97, 171, 75, 137, 96, 40, 97, 235, 155, 11, 28, 6, 98, 235, 153, 12, 41, 0, 208, 62, 33, 0, 28, 58, 240,
0, 254, 92, 35, 87, 112, 51, 35, 66, 112, 115, 35, 70, 112, 179, 35, 83, 28, 60, 112, 243, 47, 0, 209, 0, 224, 232,
35, 0, 51, 1, 6, 27, 8, 100, 14, 27, 44, 0, 209, 249, 59, 1, 6, 27, 14, 27, 70, 66, 114, 51, 14, 19, 113, 51, 12, 19,
113, 115, 10, 19, 113, 179, 113, 242, 105, 170, 75, 115, 66, 154, 216, 0, 224, 215, 75, 114, 66, 154, 216, 0, 224, 213,
75, 113, 66, 154, 216, 0, 224, 211, 75, 112, 66, 154, 216, 0, 224, 209, 75, 111, 66, 154, 216, 0, 224, 207, 34, 11,
125, 43, 24, 211, 114, 115, 224, 7, 28, 56, 231, 169, 70, 72, 153, 11, 34, 1, 28, 51, 240, 0, 248, 221, 120, 51, 120,
114, 6, 27, 4, 18, 67, 26, 120, 179, 2, 27, 67, 19, 120, 242, 67, 26, 75, 99, 66, 154, 208, 0, 224, 167, 75, 98, 104,
27, 66, 92, 65, 92, 44, 0, 208, 24, 47, 0, 208, 0, 224, 116, 44, 0, 208, 19, 70, 65, 41, 0, 208, 16, 121, 50, 121, 115,
6, 18, 4, 27, 67, 19, 121, 178, 2, 18, 67, 26, 121, 243, 67, 19, 69, 67, 208, 4, 72, 86, 73, 86, 247, 252, 252, 103,
224, 112, 122, 51, 36, 1, 28, 39, 64, 159, 96, 111, 122, 51, 105, 41, 114, 43, 121, 51, 121, 114, 6, 27, 4, 18, 67,
26, 121, 179, 121, 240, 2, 27, 67, 19, 67, 24, 96, 232, 240, 0, 252, 207, 28, 57, 67, 65, 97, 169, 122, 114, 125, 43,
64, 148, 98, 106, 26, 210, 105, 235, 64, 209, 64, 211, 4, 27, 12, 27, 4, 58, 133, 107, 12, 18, 51, 128, 133, 41, 0,
91, 30, 81, 24, 201, 66, 82, 64, 17, 35, 72, 82, 233, 70, 91, 99, 107, 141, 43, 70, 82, 99, 42, 8, 219, 122, 42, 98,
44, 26, 228, 70, 73, 64, 212, 99, 169, 100, 44, 153, 12, 41, 0, 209, 58, 100, 105, 35, 72, 90, 233, 108, 40, 65, 17,
56, 1, 240, 0, 252, 158, 104, 106, 4, 0, 28, 19, 12, 0, 59, 12, 135, 168, 66, 152, 217, 0, 135, 171, 28, 16, 247, 252,
252, 84, 35, 0, 100, 232, 101, 43, 176, 1, 28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71,
8, 122, 51, 28, 58, 70, 156, 33, 0, 28, 75, 6, 27, 8, 82, 28, 8, 14, 25, 42, 0, 209, 248, 69, 96, 209, 0, 231, 124,
72, 29, 73, 30, 247, 252, 251, 245, 28, 40, 247, 252, 252, 38, 28, 48, 247, 252, 252, 35, 37, 0, 231, 219, 30, 120,
24, 192, 66, 123, 64, 24, 247, 252, 252, 39, 141, 42, 100, 104, 8, 210, 33, 255, 240, 0, 253, 105, 122, 42, 231, 183,
35, 255, 231, 30, 72, 15, 73, 17, 247, 252, 251, 217, 231, 226, 34, 6, 231, 54, 34, 7, 231, 52, 34, 8, 231, 50, 34,
9, 231, 48, 34, 10, 231, 46, 0, 4, 96, 144, 0, 63, 255, 255, 0, 127, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 3,
255, 255, 255, 87, 66, 70, 83, 19, 112, 129, 104, 19, 112, 128, 224, 19, 112, 129, 44, 19, 112, 129, 12, 19, 112, 129,
0, 71, 80, 70, 192, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 177, 144, 14, 28, 24, 145, 13, 146, 12,
147, 11, 247, 252, 251, 230, 28, 5, 33, 0, 152, 12, 34, 1, 28, 43, 156, 14, 240, 0, 251, 94, 40, 0, 208, 0, 226, 173,
38, 223, 172, 32, 0, 118, 25, 169, 28, 32, 34, 64, 240, 0, 252, 215, 32, 1, 66, 64, 33, 0, 145, 17, 144, 16, 35, 227,
120, 42, 0, 91, 24, 235, 120, 110, 120, 232, 70, 163, 70, 148, 120, 172, 73, 217, 147, 10, 34, 228, 75, 216, 0, 82,
24, 105, 24, 170, 24, 235, 145, 9, 146, 8, 147, 7, 33, 235, 74, 213, 35, 236, 0, 73, 0, 91, 24, 105, 24, 170, 24, 235,
145, 6, 146, 5, 147, 4, 70, 90, 122, 82, 70, 89, 122, 9, 70, 91, 70, 144, 70, 98, 70, 137, 122, 159, 122, 217, 6, 19,
4, 50, 67, 26, 2, 35, 70, 138, 67, 19, 73, 201, 67, 3, 66, 139, 209, 0, 226, 159, 70, 91, 121, 25, 41, 0, 209, 0, 226,
97, 70, 68, 4, 58, 2, 35, 67, 19, 70, 78, 70, 80, 67, 51, 6, 2, 67, 19, 70, 152, 41, 15, 208, 0, 226, 104, 28, 25, 152,
12, 34, 1, 28, 43, 156, 14, 240, 0, 251, 1, 40, 0, 208, 0, 226, 80, 158, 7, 152, 9, 120, 50, 120, 3, 153, 10, 2, 27,
6, 18, 67, 26, 156, 8, 120, 11, 152, 6, 67, 26, 120, 0, 120, 35, 153, 5, 144, 18, 4, 27, 67, 26, 120, 9, 70, 70, 75,
175, 24, 183, 154, 4, 145, 19, 24, 235, 120, 18, 147, 15, 120, 28, 70, 146, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14,
70, 161, 240, 0, 250, 218, 40, 0, 208, 0, 226, 40, 120, 40, 120, 110, 120, 172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35,
120, 232, 67, 19, 73, 159, 67, 3, 66, 139, 209, 0, 226, 91, 153, 19, 70, 82, 4, 19, 2, 10, 67, 19, 154, 18, 70, 73,
67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 226, 6, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 250,
178, 40, 0, 208, 0, 226, 0, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6,
67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 20, 120, 18, 120, 27, 120, 36, 70, 145,
70, 154, 148, 21, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 250, 141, 40, 0, 208, 0, 225, 219, 120, 40, 120,
110, 120, 172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35, 120, 232, 67, 19, 73, 121, 67, 3, 66, 139, 209, 0, 226, 26, 70,
82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 20, 153, 21, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 225, 185, 70, 66, 24, 140,
152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 250, 101, 40, 0, 208, 0, 225, 179, 152, 9, 153, 8, 120, 2, 120, 11,
158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154,
5, 156, 15, 145, 22, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 23, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14,
240, 0, 250, 64, 40, 0, 208, 0, 225, 142, 120, 40, 120, 110, 120, 172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35, 120, 232,
67, 19, 73, 82, 67, 3, 66, 139, 209, 0, 225, 217, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 22, 153, 23, 67, 19, 6,
10, 28, 25, 67, 17, 209, 0, 225, 108, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 250, 24, 40,
0, 208, 0, 225, 102, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26,
120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 24, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154,
148, 25, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 249, 243, 40, 0, 208, 0, 225, 65, 120, 40, 120, 110, 120,
172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35, 120, 232, 67, 19, 73, 44, 67, 3, 66, 139, 209, 0, 225, 152, 70, 82, 70, 73,
4, 19, 2, 10, 67, 19, 154, 24, 153, 25, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 225, 31, 70, 66, 24, 140, 152, 12, 28,
33, 34, 1, 28, 43, 158, 14, 240, 0, 249, 203, 40, 0, 208, 0, 225, 25, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27,
2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145,
26, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 27, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 249, 166,
40, 0, 208, 0, 224, 244, 120, 40, 120, 110, 120, 172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35, 120, 232, 67, 19, 73, 5,
67, 3, 66, 139, 209, 0, 225, 27, 224, 9, 0, 0, 1, 199, 0, 0, 1, 201, 0, 0, 1, 215, 87, 66, 70, 83, 0, 0, 1, 217, 70,
82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 26, 153, 27, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 224, 199, 70, 66, 24, 140,
152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 249, 115, 40, 0, 208, 0, 224, 193, 152, 9, 153, 8, 120, 2, 120, 11,
158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154,
5, 156, 15, 145, 28, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 29, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14,
240, 0, 249, 78, 40, 0, 208, 0, 224, 156, 120, 40, 120, 110, 120, 172, 6, 3, 4, 50, 67, 26, 70, 132, 2, 35, 120, 232,
67, 19, 73, 158, 67, 3, 66, 139, 209, 0, 224, 255, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 28, 153, 29, 67, 19, 6,
10, 28, 25, 67, 17, 208, 123, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 249, 39, 40, 0, 209,
118, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9,
6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 30, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 31, 152,
12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 249, 3, 40, 0, 209, 82, 120, 40, 120, 110, 120, 172, 6, 3, 4, 50, 67, 26,
70, 132, 2, 35, 120, 232, 67, 19, 73, 121, 67, 3, 66, 139, 209, 0, 224, 193, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154,
30, 153, 31, 67, 19, 6, 10, 28, 25, 67, 17, 208, 49, 70, 66, 24, 84, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0,
248, 221, 40, 0, 209, 44, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 67, 26, 120,
3, 152, 12, 6, 27, 67, 26, 24, 167, 28, 57, 34, 1, 28, 43, 156, 14, 240, 0, 248, 196, 40, 0, 209, 20, 120, 46, 120,
172, 6, 51, 70, 180, 120, 110, 120, 232, 4, 50, 67, 26, 2, 35, 67, 19, 73, 90, 67, 3, 66, 139, 209, 0, 224, 143, 171,
44, 69, 155, 208, 2, 33, 16, 68, 139, 229, 125, 28, 40, 247, 252, 249, 30, 36, 0, 176, 49, 28, 32, 188, 60, 70, 144,
70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 28, 25, 152, 12, 34, 1, 28, 43, 156, 14, 240, 0, 248, 152, 28, 1,
40, 0, 209, 231, 120, 46, 120, 172, 6, 51, 70, 180, 120, 110, 120, 232, 4, 50, 67, 26, 2, 35, 67, 19, 74, 68, 67, 3,
66, 147, 209, 211, 155, 17, 154, 59, 66, 147, 208, 124, 153, 16, 69, 136, 208, 204, 154, 17, 70, 67, 50, 1, 146, 17,
147, 16, 231, 198, 70, 90, 121, 17, 229, 97, 154, 59, 155, 17, 66, 154, 208, 92, 153, 16, 66, 185, 209, 0, 230, 230,
51, 1, 147, 17, 151, 16, 230, 226, 154, 59, 155, 17, 66, 154, 208, 80, 153, 16, 66, 185, 209, 0, 229, 155, 51, 1, 147,
17, 151, 16, 229, 151, 154, 59, 155, 17, 66, 154, 208, 68, 153, 16, 66, 185, 209, 0, 229, 220, 51, 1, 147, 17, 151,
16, 229, 216, 154, 59, 155, 17, 66, 154, 208, 56, 153, 16, 66, 185, 209, 0, 230, 29, 51, 1, 147, 17, 151, 16, 230, 25,
154, 59, 155, 17, 66, 154, 208, 44, 153, 16, 66, 185, 209, 0, 230, 94, 51, 1, 147, 17, 151, 16, 230, 90, 154, 59, 155,
17, 66, 154, 208, 32, 153, 16, 66, 185, 209, 0, 230, 247, 51, 1, 147, 17, 151, 16, 230, 243, 154, 59, 155, 17, 66, 154,
208, 20, 153, 16, 66, 185, 209, 0, 231, 53, 51, 1, 147, 17, 151, 16, 231, 49, 154, 59, 155, 17, 66, 154, 208, 8, 153,
16, 66, 143, 209, 0, 231, 103, 154, 17, 151, 16, 50, 1, 146, 17, 231, 98, 35, 0, 147, 0, 151, 1, 156, 60, 152, 14, 153,
13, 154, 12, 155, 11, 148, 2, 247, 255, 251, 71, 28, 4, 28, 40, 247, 252, 248, 123, 231, 92, 70, 67, 145, 0, 147, 1,
231, 238, 87, 66, 70, 83, 71, 32, 71, 48, 230, 0, 0, 16, 225, 47, 255, 30, 230, 0, 0, 48, 225, 47, 255, 30, 230, 0,
0, 80, 225, 47, 255, 30, 230, 0, 0, 112, 225, 47, 255, 30, 230, 0, 0, 144, 225, 47, 255, 30, 230, 0, 0, 176, 225, 47,
255, 30, 230, 0, 0, 208, 225, 47, 255, 30, 230, 0, 0, 240, 225, 47, 255, 30, 230, 0, 1, 16, 225, 47, 255, 30, 230, 0,
1, 48, 225, 47, 255, 30, 230, 0, 1, 80, 225, 47, 255, 30, 230, 0, 1, 112, 225, 47, 255, 30, 230, 0, 1, 144, 225, 47,
255, 30, 230, 0, 1, 176, 225, 47, 255, 30, 230, 0, 1, 208, 225, 47, 255, 30, 230, 0, 1, 240, 225, 47, 255, 30, 230,
0, 2, 16, 225, 47, 255, 30, 230, 0, 2, 48, 225, 47, 255, 30, 230, 0, 2, 80, 225, 47, 255, 30, 230, 0, 2, 112, 225, 47,
255, 30, 230, 0, 2, 144, 225, 47, 255, 30, 230, 0, 2, 176, 225, 47, 255, 30, 230, 0, 2, 208, 225, 47, 255, 30, 230,
0, 2, 240, 225, 47, 255, 30, 230, 0, 3, 16, 225, 47, 255, 30, 230, 0, 3, 48, 225, 47, 255, 30, 230, 0, 3, 80, 225, 47,
255, 30, 230, 0, 3, 112, 225, 47, 255, 30, 230, 0, 3, 144, 225, 47, 255, 30, 230, 0, 3, 176, 225, 47, 255, 30, 230,
0, 3, 208, 225, 47, 255, 30, 230, 0, 3, 240, 225, 47, 255, 30, 230, 0, 4, 16, 225, 47, 255, 30, 230, 0, 4, 48, 225,
47, 255, 30, 230, 0, 4, 80, 225, 47, 255, 30, 230, 0, 4, 112, 225, 47, 255, 30, 230, 0, 4, 144, 225, 47, 255, 30, 230,
0, 4, 176, 225, 47, 255, 30, 230, 0, 4, 208, 225, 47, 255, 30, 230, 0, 4, 240, 225, 47, 255, 30, 230, 0, 5, 16, 225,
47, 255, 30, 230, 0, 5, 48, 225, 47, 255, 30, 230, 0, 5, 80, 225, 47, 255, 30, 230, 0, 6, 144, 225, 47, 255, 30, 230,
0, 7, 240, 225, 47, 255, 30, 230, 0, 8, 16, 225, 47, 255, 30, 230, 0, 10, 16, 225, 47, 255, 30, 41, 0, 208, 52, 35,
1, 34, 0, 180, 16, 66, 136, 211, 44, 36, 1, 7, 36, 66, 161, 210, 4, 66, 129, 210, 2, 1, 9, 1, 27, 231, 248, 0, 228,
66, 161, 210, 4, 66, 129, 210, 2, 0, 73, 0, 91, 231, 248, 66, 136, 211, 1, 26, 64, 67, 26, 8, 76, 66, 160, 211, 2, 27,
0, 8, 92, 67, 34, 8, 140, 66, 160, 211, 2, 27, 0, 8, 156, 67, 34, 8, 204, 66, 160, 211, 2, 27, 0, 8, 220, 67, 34, 40,
0, 208, 3, 9, 27, 208, 1, 9, 9, 231, 227, 28, 16, 188, 16, 71, 112, 181, 2, 240, 0, 248, 94, 32, 0, 188, 6, 71, 16,
70, 192, 181, 3, 247, 255, 255, 191, 188, 14, 67, 66, 26, 137, 71, 24, 70, 192, 41, 0, 208, 65, 180, 16, 28, 4, 64,
76, 70, 164, 35, 1, 34, 0, 41, 0, 213, 0, 66, 73, 40, 0, 213, 0, 66, 64, 66, 136, 211, 44, 36, 1, 7, 36, 66, 161, 210,
4, 66, 129, 210, 2, 1, 9, 1, 27, 231, 248, 0, 228, 66, 161, 210, 4, 66, 129, 210, 2, 0, 73, 0, 91, 231, 248, 66, 136,
211, 1, 26, 64, 67, 26, 8, 76, 66, 160, 211, 2, 27, 0, 8, 92, 67, 34, 8, 140, 66, 160, 211, 2, 27, 0, 8, 156, 67, 34,
8, 204, 66, 160, 211, 2, 27, 0, 8, 220, 67, 34, 40, 0, 208, 3, 9, 27, 208, 1, 9, 9, 231, 227, 28, 16, 70, 100, 44, 0,
213, 0, 66, 64, 188, 16, 71, 112, 181, 2, 240, 0, 248, 11, 32, 0, 188, 6, 71, 16, 181, 3, 247, 255, 255, 179, 188, 14,
67, 66, 26, 137, 71, 24, 70, 192, 71, 112, 70, 192, 181, 112, 28, 14, 28, 21, 28, 4, 42, 3, 217, 32, 28, 51, 67, 3,
7, 154, 208, 18, 120, 35, 120, 8, 66, 131, 209, 27, 30, 106, 224, 6, 52, 1, 49, 1, 120, 35, 120, 8, 58, 1, 66, 131,
209, 18, 42, 0, 209, 246, 32, 0, 188, 112, 188, 2, 71, 8, 104, 2, 104, 11, 66, 154, 209, 4, 61, 4, 48, 4, 49, 4, 45,
3, 216, 246, 28, 4, 45, 0, 209, 224, 231, 238, 26, 24, 231, 237, 181, 240, 28, 7, 28, 14, 28, 4, 28, 21, 28, 8, 28,
17, 42, 15, 217, 3, 28, 51, 67, 59, 7, 154, 208, 11, 41, 0, 208, 5, 34, 0, 92, 131, 84, 163, 50, 1, 66, 138, 209, 250,
28, 56, 188, 240, 188, 2, 71, 8, 28, 58, 28, 49, 28, 40, 104, 11, 96, 19, 104, 75, 96, 83, 104, 139, 96, 147, 104, 203,
56, 16, 96, 211, 49, 16, 50, 16, 40, 15, 216, 242, 28, 43, 59, 16, 9, 26, 1, 17, 50, 1, 1, 18, 26, 89, 24, 176, 24,
188, 41, 3, 217, 216, 34, 0, 88, 131, 80, 163, 50, 4, 26, 139, 43, 3, 216, 249, 31, 11, 8, 154, 0, 145, 50, 1, 0, 146,
26, 89, 24, 128, 24, 164, 231, 200, 181, 240, 28, 7, 70, 140, 28, 16, 28, 57, 7, 186, 208, 14, 40, 0, 208, 73, 70, 98,
6, 19, 56, 1, 14, 27, 34, 3, 224, 2, 40, 0, 208, 65, 56, 1, 112, 11, 49, 1, 66, 17, 209, 248, 28, 5, 28, 10, 40, 3,
217, 46, 35, 255, 70, 98, 64, 26, 2, 19, 67, 19, 4, 26, 28, 20, 28, 14, 67, 28, 40, 15, 217, 18, 28, 2, 28, 11, 58,
16, 96, 28, 96, 92, 96, 156, 96, 220, 51, 16, 42, 15, 216, 247, 28, 3, 59, 16, 28, 29, 9, 27, 51, 1, 34, 15, 1, 27,
64, 21, 24, 206, 45, 3, 217, 13, 34, 0, 80, 180, 50, 4, 26, 171, 43, 3, 216, 250, 31, 43, 28, 29, 8, 155, 51, 1, 34,
3, 0, 155, 64, 21, 24, 246, 28, 50, 45, 0, 208, 7, 70, 97, 6, 11, 14, 25, 35, 0, 84, 209, 51, 1, 66, 157, 209, 251,
28, 56, 188, 240, 188, 2, 71, 8, 70, 192, 181, 48, 28, 11, 67, 3, 7, 154, 209, 28, 104, 2, 104, 11, 66, 154, 209, 24,
76, 16, 25, 19, 67, 147, 74, 15, 66, 19, 209, 11, 28, 20, 48, 4, 49, 4, 104, 2, 104, 11, 66, 154, 209, 11, 77, 9, 25,
83, 67, 147, 66, 35, 208, 244, 32, 0, 224, 9, 120, 10, 66, 154, 209, 5, 48, 1, 49, 1, 120, 3, 43, 0, 209, 247, 120,
10, 26, 152, 188, 48, 188, 2, 71, 8, 254, 254, 254, 255, 128, 128, 128, 128, 181, 48, 28, 4, 7, 129, 208, 10, 120, 3,
43, 0, 208, 33, 34, 3, 224, 2, 120, 3, 43, 0, 208, 24, 48, 1, 66, 16, 209, 249, 104, 2, 77, 13, 25, 83, 67, 147, 74,
13, 66, 19, 209, 11, 28, 17, 48, 4, 104, 2, 77, 9, 25, 83, 67, 147, 66, 11, 208, 248, 120, 3, 43, 0, 208, 3, 48, 1,
120, 3, 43, 0, 209, 251, 27, 0, 188, 48, 188, 2, 71, 8, 32, 0, 231, 250, 70, 192, 254, 254, 254, 255, 128, 128, 128,
128, 73, 79, 83, 32, 109, 111, 100, 117, 108, 101, 0, 0, 0, 0, 0, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 19, 114, 74, 60, 0, 15, 66, 64, 47, 100, 101, 118, 47, 102, 97, 116, 47, 108, 111, 103, 0, 0, 0, 0, 87, 66,
70, 83, 32, 110, 111, 116, 32, 101, 110, 111, 117, 103, 104, 32, 109, 101, 109, 111, 114, 121, 33, 0, 101, 104, 99,
32, 108, 111, 111, 112, 32, 101, 110, 116, 114, 121, 0, 0, 47, 100, 101, 118, 47, 117, 115, 98, 47, 101, 104, 99, 0,
0, 0, 0, 47, 100, 101, 118, 47, 117, 115, 98, 47, 101, 104, 99, 47, 0, 0, 0, 85, 77, 83, 32, 73, 110, 105, 116, 0, 0,
0, 0, 87, 66, 70, 83, 32, 79, 112, 101, 110, 40, 41, 0, 85, 77, 83, 32, 102, 97, 105, 108, 0, 0, 0, 0, 47, 100, 101,
118, 47, 109, 108, 111, 97, 100, 0, 0, 85, 83, 66, 83, 116, 111, 114, 97, 103, 101, 95, 67, 108, 111, 115, 101, 40,
41, 0, 0, 85, 83, 66, 32, 65, 108, 108, 111, 99, 58, 32, 110, 111, 116, 32, 101, 110, 111, 117, 103, 104, 32, 109, 101,
109, 111, 114, 121, 33, 0, 0, 0, 119, 98, 102, 115, 32, 101, 114, 114, 111, 114, 0, 0, 97, 108, 108, 111, 99, 97, 116,
105, 110, 103, 32, 109, 101, 109, 111, 114, 121, 0, 0, 0, 98, 97, 100, 32, 109, 97, 103, 105, 99, 0, 0, 0, 104, 100,
32, 115, 101, 99, 116, 111, 114, 32, 115, 105, 122, 101, 32, 100, 111, 101, 115, 110, 39, 116, 32, 109, 97, 116, 99,
104, 0, 0, 0, 0, 104, 100, 32, 110, 117, 109, 32, 115, 101, 99, 116, 111, 114, 32, 100, 111, 101, 115, 110, 39, 116,
32, 109, 97, 116, 99, 104, 0
};

View File

@ -0,0 +1,16 @@
#ifndef EHC_MODULE2_H_
#define EHC_MODULE2_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char ehcmodule_2[3352];
#define ehcmodule_2_size sizeof(ehcmodule_2)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,798 @@
#define size_ehcmodule_3 22264
unsigned char ehcmodule_3[22264] __attribute__((aligned (32)))={
127, 69, 76, 70, 1, 2, 1, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 40, 0, 0, 0, 1, 19, 112, 0, 0, 0, 0, 0, 52, 0, 0, 0,
0, 0, 0, 6, 6, 0, 52, 0, 32, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160,
0, 0, 0, 160, 0, 240, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 212, 0, 0, 0, 160, 0, 0, 0, 160, 0, 0, 0, 52, 0, 0, 0,
52, 0, 240, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 212, 0, 240, 0,
0, 0, 0, 64, 0, 0, 0, 0, 1, 0, 0, 1, 8, 19, 112, 0, 0, 19, 112, 0, 0, 0, 0, 84, 200, 0, 0, 84, 200, 0, 0, 0, 5, 0, 0,
0, 4, 0, 0, 0, 1, 0, 0, 85, 208, 19, 112, 128, 0, 19, 112, 128, 0, 0, 0, 1, 40, 0, 3, 75, 64, 0, 0, 0, 6, 0, 0, 0, 4,
0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 4, 0, 0, 0, 9, 19, 112, 0, 0, 0, 0, 0, 125, 0, 0, 0, 120,
0, 0, 0, 126, 0, 0, 128, 0, 0, 0, 0, 127, 19, 115, 203, 64, 227, 160, 0, 0, 227, 160, 16, 0, 229, 159, 48, 0, 225, 47,
255, 19, 19, 112, 8, 37, 225, 160, 0, 0, 225, 160, 0, 0, 225, 160, 0, 0, 70, 192, 71, 120, 234, 0, 20, 6, 70, 192, 71,
120, 234, 0, 20, 50, 70, 192, 71, 120, 234, 0, 20, 26, 70, 192, 71, 120, 234, 0, 20, 10, 70, 192, 71, 120, 234, 0, 20,
38, 70, 192, 71, 120, 234, 0, 19, 226, 70, 192, 71, 120, 234, 0, 19, 244, 70, 192, 71, 120, 234, 0, 19, 224, 70, 192,
71, 120, 234, 0, 19, 208, 70, 192, 71, 120, 234, 0, 19, 248, 70, 192, 71, 120, 234, 0, 20, 30, 70, 192, 71, 120, 234,
0, 19, 248, 70, 192, 71, 120, 234, 0, 19, 252, 70, 192, 71, 120, 234, 0, 19, 248, 70, 192, 71, 120, 234, 0, 19, 226,
70, 192, 71, 120, 234, 0, 19, 228, 70, 192, 71, 120, 234, 0, 19, 220, 70, 192, 71, 120, 234, 0, 19, 212, 181, 240, 28,
15, 120, 1, 28, 6, 28, 10, 58, 48, 6, 19, 14, 27, 36, 0, 28, 69, 43, 9, 216, 11, 1, 35, 28, 28, 67, 20, 28, 40, 120,
1, 28, 69, 28, 10, 58, 48, 6, 19, 14, 27, 43, 9, 217, 243, 28, 11, 59, 97, 6, 27, 14, 27, 43, 5, 216, 6, 1, 34, 28,
11, 59, 87, 28, 20, 67, 28, 28, 40, 231, 234, 28, 11, 59, 65, 6, 27, 14, 27, 43, 5, 217, 6, 28, 115, 66, 157, 208, 10,
96, 60, 188, 240, 188, 2, 71, 8, 1, 34, 28, 11, 59, 55, 28, 20, 67, 28, 28, 40, 231, 214, 32, 0, 231, 243, 70, 192,
71, 112, 70, 192, 181, 0, 75, 4, 176, 129, 28, 1, 104, 24, 247, 255, 255, 159, 176, 1, 188, 1, 71, 0, 19, 112, 128,
24, 181, 0, 75, 9, 28, 1, 176, 129, 104, 24, 247, 255, 255, 139, 40, 0, 208, 2, 176, 1, 188, 2, 71, 8, 32, 100, 240,
0, 251, 173, 32, 100, 240, 0, 251, 170, 231, 248, 70, 192, 19, 112, 128, 24, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68,
180, 240, 75, 201, 176, 151, 104, 24, 33, 128, 247, 255, 255, 112, 33, 32, 247, 255, 255, 101, 144, 16, 72, 197, 153,
16, 144, 5, 247, 255, 255, 79, 72, 196, 154, 16, 28, 1, 35, 0, 247, 255, 255, 125, 33, 0, 74, 193, 75, 194, 144, 13,
145, 14, 72, 193, 145, 15, 145, 17, 145, 18, 145, 19, 73, 192, 70, 147, 147, 12, 144, 11, 145, 10, 74, 190, 75, 191,
72, 191, 73, 192, 36, 1, 146, 9, 147, 8, 144, 7, 145, 6, 152, 16, 169, 21, 34, 0, 247, 255, 255, 100, 44, 0, 209, 45,
156, 21, 35, 0, 70, 90, 96, 19, 44, 0, 208, 48, 120, 35, 120, 98, 6, 27, 4, 18, 67, 26, 120, 163, 2, 27, 67, 19, 120,
226, 67, 26, 42, 2, 209, 0, 224, 247, 42, 2, 216, 68, 42, 1, 209, 0, 224, 203, 39, 1, 66, 127, 38, 1, 154, 12, 104,
19, 43, 0, 208, 0, 224, 189, 36, 0, 46, 0, 208, 213, 152, 21, 28, 57, 247, 255, 255, 7, 152, 16, 169, 21, 34, 0, 247,
255, 255, 54, 44, 0, 208, 209, 152, 13, 247, 255, 255, 5, 156, 21, 35, 0, 70, 90, 96, 19, 44, 0, 209, 206, 155, 15,
43, 0, 209, 0, 224, 228, 156, 12, 104, 35, 43, 0, 209, 0, 224, 223, 152, 11, 104, 3, 43, 0, 209, 0, 225, 171, 240, 3,
252, 53, 40, 0, 208, 5, 240, 3, 252, 49, 40, 0, 208, 1, 240, 3, 252, 45, 153, 11, 104, 11, 43, 0, 209, 0, 225, 156,
152, 13, 73, 135, 247, 255, 254, 254, 36, 1, 231, 158, 42, 6, 209, 0, 224, 170, 42, 7, 209, 184, 126, 35, 126, 98, 6,
27, 4, 18, 67, 26, 126, 163, 2, 27, 67, 19, 126, 226, 67, 26, 70, 146, 124, 35, 124, 98, 6, 27, 4, 18, 67, 26, 124,
163, 2, 27, 67, 19, 124, 226, 67, 26, 70, 145, 125, 35, 125, 98, 6, 27, 4, 18, 67, 26, 125, 163, 2, 27, 67, 19, 125,
226, 28, 21, 67, 29, 123, 35, 43, 0, 208, 0, 224, 153, 155, 17, 43, 0, 208, 0, 224, 149, 122, 35, 122, 98, 6, 27, 4,
18, 67, 26, 122, 163, 122, 224, 2, 27, 67, 19, 67, 24, 240, 0, 251, 190, 28, 6, 68, 77, 0, 233, 70, 80, 70, 168, 247,
255, 254, 171, 45, 0, 221, 9, 70, 84, 37, 0, 104, 32, 104, 97, 53, 1, 247, 255, 254, 162, 52, 8, 69, 168, 220, 247,
153, 21, 76, 102, 123, 11, 123, 74, 6, 27, 4, 18, 67, 26, 123, 139, 2, 27, 67, 19, 123, 202, 67, 26, 66, 162, 209, 0,
225, 206, 66, 162, 216, 119, 42, 6, 217, 0, 224, 150, 42, 5, 211, 0, 225, 12, 42, 1, 209, 0, 225, 130, 42, 0, 209, 0,
225, 81, 42, 2, 209, 0, 225, 3, 39, 1, 38, 1, 69, 193, 219, 0, 231, 78, 70, 72, 0, 195, 70, 81, 24, 204, 70, 77, 104,
32, 104, 97, 53, 1, 247, 255, 254, 76, 52, 8, 69, 168, 220, 247, 154, 12, 104, 19, 43, 0, 209, 0, 231, 65, 152, 13,
73, 66, 247, 255, 254, 116, 36, 1, 231, 60, 123, 35, 123, 98, 6, 27, 4, 18, 67, 26, 123, 163, 153, 5, 2, 27, 67, 19,
123, 226, 28, 21, 67, 29, 28, 40, 240, 5, 248, 3, 40, 0, 209, 51, 125, 35, 125, 98, 6, 27, 4, 18, 67, 26, 125, 163,
2, 27, 67, 19, 125, 226, 28, 23, 154, 18, 67, 31, 42, 0, 209, 0, 224, 174, 35, 1, 147, 18, 38, 1, 231, 18, 39, 1, 38,
1, 231, 15, 122, 35, 122, 98, 6, 27, 4, 18, 67, 26, 122, 163, 153, 17, 2, 27, 67, 19, 122, 226, 28, 16, 67, 24, 66,
129, 209, 8, 34, 0, 146, 17, 39, 0, 38, 1, 230, 252, 38, 0, 231, 116, 36, 0, 230, 214, 240, 0, 251, 46, 240, 0, 251,
34, 39, 0, 38, 1, 230, 241, 152, 17, 40, 0, 208, 79, 39, 6, 66, 127, 38, 1, 230, 234, 72, 35, 66, 130, 209, 0, 225,
35, 66, 130, 217, 0, 224, 129, 75, 33, 66, 154, 209, 0, 225, 51, 66, 154, 210, 0, 225, 33, 51, 1, 66, 154, 209, 0, 225,
55, 51, 1, 66, 154, 209, 129, 70, 80, 104, 3, 70, 81, 104, 24, 104, 139, 38, 1, 104, 25, 70, 83, 105, 26, 240, 2, 248,
236, 28, 7, 231, 118, 42, 12, 209, 0, 224, 232, 42, 12, 210, 0, 231, 110, 28, 19, 59, 26, 43, 1, 217, 0, 231, 105, 39,
1, 38, 0, 231, 104, 19, 112, 128, 24, 19, 112, 128, 48, 0, 244, 36, 0, 19, 112, 129, 80, 19, 112, 128, 12, 19, 112,
129, 48, 19, 115, 75, 56, 19, 112, 129, 128, 19, 115, 75, 60, 19, 112, 128, 60, 19, 112, 129, 40, 85, 77, 83, 1, 85,
77, 83, 6, 85, 77, 83, 3, 28, 40, 153, 7, 34, 10, 240, 4, 254, 173, 40, 0, 209, 168, 125, 35, 125, 98, 6, 27, 4, 18,
67, 26, 28, 46, 125, 163, 54, 10, 28, 49, 2, 27, 67, 19, 125, 226, 120, 12, 28, 23, 28, 34, 58, 48, 67, 31, 6, 19, 14,
27, 37, 0, 28, 72, 43, 9, 216, 11, 1, 43, 28, 29, 67, 21, 28, 1, 120, 12, 28, 72, 28, 34, 58, 48, 6, 19, 14, 27, 43,
9, 217, 243, 28, 35, 59, 97, 6, 27, 14, 27, 43, 5, 216, 33, 1, 42, 28, 35, 59, 87, 28, 21, 67, 29, 28, 1, 231, 234,
36, 1, 240, 1, 253, 6, 38, 1, 148, 18, 230, 97, 75, 166, 66, 154, 209, 0, 224, 148, 66, 154, 217, 0, 224, 239, 59, 112,
66, 154, 208, 0, 231, 2, 154, 12, 35, 0, 96, 19, 240, 0, 252, 253, 35, 0, 147, 15, 39, 0, 38, 1, 230, 250, 28, 35, 59,
65, 6, 27, 14, 27, 43, 5, 216, 0, 224, 211, 28, 115, 66, 152, 209, 0, 231, 82, 41, 0, 209, 0, 231, 79, 44, 47, 208,
0, 231, 76, 169, 20, 247, 255, 253, 132, 40, 0, 209, 0, 231, 70, 120, 3, 43, 0, 208, 0, 231, 66, 28, 58, 153, 20, 28,
40, 240, 0, 250, 38, 38, 1, 28, 7, 230, 41, 154, 10, 104, 19, 74, 138, 59, 1, 66, 147, 217, 0, 230, 91, 35, 1, 70, 92,
96, 35, 152, 14, 33, 1, 154, 9, 240, 3, 251, 246, 35, 0, 96, 35, 40, 0, 208, 8, 154, 10, 32, 128, 4, 64, 104, 17, 240,
4, 253, 138, 155, 14, 24, 27, 147, 14, 156, 8, 152, 14, 104, 35, 66, 131, 217, 0, 230, 64, 33, 0, 145, 14, 230, 61,
46, 0, 208, 39, 70, 81, 105, 11, 70, 82, 136, 24, 105, 139, 136, 28, 106, 11, 136, 29, 104, 11, 120, 25, 104, 147, 120,
26, 2, 3, 10, 0, 67, 3, 2, 32, 10, 36, 67, 32, 4, 0, 12, 0, 144, 0, 2, 40, 10, 45, 67, 40, 4, 0, 12, 0, 144, 1, 70,
84, 107, 32, 4, 27, 144, 2, 12, 27, 28, 48, 240, 1, 249, 87, 38, 1, 28, 7, 230, 138, 46, 0, 208, 91, 39, 6, 66, 127,
38, 1, 230, 132, 46, 0, 208, 249, 70, 80, 104, 3, 120, 25, 104, 131, 136, 26, 105, 3, 28, 48, 240, 1, 249, 47, 38, 1,
28, 7, 230, 118, 70, 80, 104, 3, 153, 12, 104, 27, 96, 11, 230, 110, 156, 6, 39, 0, 104, 35, 38, 1, 66, 90, 65, 83,
96, 35, 230, 104, 152, 10, 240, 0, 250, 77, 156, 8, 28, 7, 96, 32, 70, 80, 104, 2, 42, 0, 208, 215, 153, 10, 38, 1,
104, 11, 96, 19, 230, 89, 70, 82, 104, 19, 38, 1, 104, 24, 104, 147, 105, 18, 104, 25, 240, 3, 251, 126, 28, 7, 230,
78, 70, 84, 104, 35, 105, 34, 104, 24, 104, 163, 38, 1, 104, 25, 240, 3, 250, 123, 28, 7, 230, 67, 240, 3, 252, 123,
28, 7, 40, 0, 219, 96, 153, 12, 32, 1, 96, 8, 144, 15, 153, 21, 38, 1, 122, 11, 122, 74, 6, 27, 4, 18, 67, 26, 122,
139, 2, 27, 67, 19, 122, 202, 67, 26, 146, 17, 230, 44, 70, 81, 104, 11, 38, 1, 120, 24, 104, 139, 120, 25, 70, 83,
105, 26, 105, 155, 240, 0, 249, 185, 28, 7, 230, 31, 1, 42, 28, 35, 59, 55, 28, 21, 67, 29, 28, 1, 230, 237, 76, 44,
66, 162, 208, 23, 72, 44, 66, 130, 208, 0, 230, 15, 154, 19, 42, 0, 208, 51, 70, 84, 104, 35, 28, 16, 104, 25, 104,
163, 105, 34, 104, 27, 240, 3, 253, 209, 28, 7, 40, 0, 209, 0, 231, 122, 39, 128, 2, 63, 38, 1, 229, 253, 122, 11, 122,
74, 6, 27, 4, 18, 67, 26, 122, 139, 2, 27, 67, 19, 122, 202, 67, 26, 35, 0, 146, 17, 147, 20, 70, 82, 104, 211, 43,
4, 208, 21, 70, 83, 104, 24, 153, 20, 240, 3, 253, 57, 144, 19, 40, 0, 208, 26, 153, 12, 32, 1, 96, 8, 144, 15, 39,
0, 38, 1, 229, 221, 36, 0, 148, 15, 231, 159, 39, 1, 66, 127, 38, 1, 229, 214, 104, 145, 168, 20, 34, 4, 240, 4, 253,
99, 70, 83, 104, 24, 153, 20, 240, 3, 253, 30, 144, 19, 40, 0, 209, 228, 36, 1, 39, 1, 148, 15, 66, 127, 38, 1, 229,
195, 70, 192, 85, 77, 83, 128, 0, 0, 7, 254, 87, 70, 83, 1, 87, 70, 83, 2, 181, 0, 75, 7, 2, 192, 104, 26, 28, 25, 224,
1, 66, 152, 211, 5, 104, 11, 26, 155, 213, 250, 104, 10, 66, 152, 210, 249, 188, 1, 71, 0, 13, 128, 0, 16, 181, 0, 33,
128, 176, 129, 2, 137, 72, 15, 247, 255, 251, 247, 75, 15, 33, 128, 96, 24, 247, 255, 252, 22, 33, 32, 247, 255, 252,
11, 75, 12, 96, 24, 240, 0, 249, 161, 40, 0, 219, 10, 247, 255, 252, 7, 33, 120, 247, 255, 251, 248, 247, 255, 252,
138, 32, 0, 176, 1, 188, 2, 71, 8, 32, 1, 66, 64, 231, 249, 70, 192, 19, 113, 73, 128, 19, 112, 128, 24, 19, 112, 128,
16, 181, 48, 77, 12, 176, 129, 35, 0, 104, 42, 73, 11, 247, 255, 252, 12, 76, 10, 73, 11, 34, 0, 96, 32, 104, 40, 247,
255, 252, 9, 104, 32, 247, 255, 251, 218, 104, 32, 247, 255, 251, 251, 176, 1, 188, 48, 188, 1, 71, 0, 70, 192, 19,
112, 128, 16, 0, 152, 150, 128, 19, 112, 128, 20, 19, 112, 129, 44, 181, 48, 28, 3, 1, 64, 26, 192, 77, 13, 0, 128,
24, 192, 176, 129, 35, 0, 104, 42, 73, 11, 0, 192, 247, 255, 251, 228, 76, 10, 73, 11, 34, 0, 96, 32, 104, 40, 247,
255, 251, 225, 104, 32, 247, 255, 251, 178, 104, 32, 247, 255, 251, 211, 176, 1, 188, 48, 188, 1, 71, 0, 70, 192, 19,
112, 128, 16, 0, 152, 150, 128, 19, 112, 128, 20, 19, 112, 129, 44, 181, 240, 70, 87, 70, 78, 70, 69, 180, 224, 28,
6, 28, 21, 28, 31, 14, 10, 6, 11, 32, 255, 67, 26, 2, 0, 28, 11, 64, 3, 2, 27, 36, 255, 67, 26, 4, 36, 28, 11, 64, 35,
10, 27, 67, 26, 35, 0, 98, 51, 75, 49, 96, 242, 28, 10, 64, 26, 35, 128, 1, 91, 26, 155, 66, 171, 217, 25, 28, 44, 4,
34, 67, 58, 6, 19, 14, 17, 67, 25, 35, 255, 2, 27, 64, 19, 2, 27, 67, 25, 35, 255, 4, 27, 64, 26, 10, 18, 67, 17, 96,
177, 100, 52, 28, 32, 188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 2, 71, 8, 70, 154, 69, 170, 210, 42, 35, 128,
1, 91, 24, 202, 75, 29, 28, 17, 64, 25, 34, 1, 35, 0, 70, 180, 70, 144, 70, 153, 6, 11, 14, 10, 67, 26, 28, 11, 64,
3, 2, 27, 67, 26, 28, 11, 64, 35, 10, 27, 67, 26, 70, 99, 97, 26, 70, 74, 98, 90, 35, 128, 1, 91, 28, 26, 68, 82, 24,
201, 66, 149, 216, 24, 28, 43, 66, 149, 216, 19, 70, 170, 34, 1, 68, 144, 34, 4, 68, 148, 66, 157, 216, 8, 70, 84, 66,
171, 208, 181, 70, 80, 153, 8, 240, 4, 252, 31, 26, 100, 231, 175, 70, 66, 42, 4, 221, 211, 231, 242, 70, 146, 231,
234, 28, 19, 231, 229, 70, 192, 0, 0, 15, 255, 255, 255, 240, 0, 181, 240, 75, 24, 28, 5, 104, 31, 35, 84, 92, 252,
70, 140, 28, 22, 44, 0, 208, 32, 28, 57, 49, 96, 32, 0, 224, 3, 48, 1, 49, 40, 66, 132, 221, 24, 105, 139, 43, 0, 209,
248, 136, 10, 2, 19, 10, 18, 67, 19, 4, 27, 12, 27, 66, 171, 209, 240, 136, 74, 2, 19, 10, 18, 67, 19, 4, 27, 12, 27,
69, 99, 209, 232, 0, 131, 24, 27, 0, 219, 24, 251, 103, 158, 224, 1, 38, 6, 66, 118, 28, 48, 188, 240, 188, 2, 71, 8,
70, 192, 19, 112, 128, 28, 181, 0, 40, 0, 208, 2, 35, 1, 66, 91, 98, 3, 32, 0, 188, 2, 71, 8, 70, 192, 181, 0, 75, 5,
104, 24, 35, 84, 92, 195, 43, 0, 208, 2, 48, 88, 188, 2, 71, 8, 32, 0, 231, 251, 19, 112, 128, 28, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 70, 147, 74, 35, 28, 31, 104, 20, 35, 84, 92, 227, 70, 128, 70, 148, 43, 0, 208, 59,
40, 0, 208, 57, 37, 0, 35, 84, 38, 0, 70, 169, 70, 154, 224, 1, 69, 69, 218, 36, 0, 179, 25, 155, 0, 219, 24, 228, 111,
35, 43, 0, 208, 22, 0, 232, 28, 3, 70, 74, 51, 2, 82, 58, 52, 96, 83, 218, 136, 34, 28, 1, 4, 18, 10, 19, 14, 18, 67,
19, 49, 4, 83, 203, 136, 99, 24, 56, 4, 27, 10, 26, 14, 27, 67, 26, 128, 194, 53, 1, 70, 99, 104, 28, 70, 82, 92, 163,
54, 1, 66, 179, 220, 216, 6, 43, 14, 24, 70, 91, 112, 24, 32, 0, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240,
188, 2, 71, 8, 32, 0, 231, 242, 19, 112, 128, 28, 181, 0, 40, 0, 208, 1, 35, 0, 96, 3, 75, 12, 120, 27, 43, 1, 208,
2, 32, 0, 188, 2, 71, 8, 73, 9, 120, 11, 43, 16, 208, 248, 40, 0, 208, 9, 74, 7, 51, 4, 0, 155, 88, 211, 96, 3, 120,
11, 51, 20, 0, 155, 88, 208, 231, 237, 74, 2, 231, 248, 19, 112, 129, 64, 19, 112, 128, 37, 19, 115, 73, 152, 181, 48,
76, 18, 75, 18, 176, 131, 96, 35, 240, 3, 251, 45, 40, 0, 218, 5, 32, 1, 66, 64, 176, 3, 188, 48, 188, 2, 71, 8, 72,
13, 33, 1, 247, 255, 250, 107, 28, 5, 40, 0, 219, 242, 35, 0, 73, 10, 34, 0, 147, 0, 247, 255, 250, 54, 96, 32, 28,
40, 247, 255, 250, 90, 104, 33, 34, 1, 35, 84, 84, 202, 32, 0, 231, 228, 19, 112, 128, 28, 19, 115, 74, 60, 19, 112,
128, 72, 77, 76, 68, 160, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 124, 130, 124, 199, 125, 6, 6, 19, 70,
148, 125, 68, 4, 58, 67, 26, 2, 51, 67, 19, 28, 33, 176, 129, 70, 128, 67, 25, 208, 121, 124, 67, 70, 154, 43, 0, 208,
114, 34, 0, 70, 147, 70, 145, 70, 75, 24, 205, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123,
42, 28, 16, 67, 24, 208, 82, 121, 43, 43, 0, 208, 58, 39, 0, 38, 0, 224, 10, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26,
122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226, 6, 27, 4, 18, 67, 26, 124, 35, 2, 27,
67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 3, 250, 104, 122, 99, 122, 162, 6, 27, 4, 18, 67, 26, 122, 227, 2, 27,
67, 19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 3, 250, 90, 121, 43, 55, 1, 54, 18, 66, 187, 220, 210, 122, 107, 122,
170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240, 3, 250, 72, 70, 66, 124, 82, 70, 67,
70, 146, 70, 66, 124, 155, 124, 215, 70, 156, 4, 58, 6, 27, 67, 26, 70, 67, 125, 30, 2, 51, 67, 19, 70, 66, 125, 84,
28, 33, 67, 25, 35, 1, 34, 13, 68, 155, 68, 145, 69, 218, 221, 8, 70, 98, 6, 19, 4, 58, 67, 26, 2, 51, 67, 19, 28, 33,
67, 25, 231, 143, 28, 8, 240, 3, 250, 35, 176, 1, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 1, 71,
0, 181, 16, 75, 19, 48, 16, 104, 27, 0, 128, 104, 155, 24, 28, 104, 98, 35, 128, 1, 155, 66, 26, 209, 0, 64, 90, 35,
46, 67, 154, 96, 98, 32, 5, 247, 255, 253, 97, 35, 128, 104, 98, 1, 155, 66, 26, 208, 0, 64, 90, 35, 46, 67, 154, 96,
98, 32, 5, 247, 255, 253, 85, 75, 5, 32, 5, 96, 99, 247, 255, 253, 80, 188, 16, 188, 1, 71, 0, 70, 192, 19, 112, 128,
28, 0, 0, 24, 1, 181, 48, 75, 17, 176, 129, 104, 25, 108, 10, 42, 7, 221, 5, 37, 0, 176, 1, 28, 40, 188, 48, 188, 2,
71, 8, 28, 19, 51, 8, 0, 155, 88, 93, 28, 83, 100, 11, 28, 40, 240, 3, 249, 214, 33, 0, 28, 4, 34, 96, 28, 40, 240,
4, 250, 188, 35, 64, 96, 171, 35, 128, 4, 91, 99, 108, 96, 43, 96, 107, 231, 227, 19, 112, 128, 28, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 73, 95, 28, 3, 104, 10, 51, 16, 104, 146, 0, 155, 24, 210, 176, 135, 146, 3, 28, 22,
75, 91, 104, 82, 70, 139, 64, 19, 54, 4, 43, 1, 208, 0, 224, 164, 76, 88, 79, 89, 104, 33, 70, 160, 96, 35, 36, 128,
145, 4, 35, 0, 0, 97, 147, 5, 70, 138, 35, 4, 67, 154, 35, 136, 1, 91, 67, 26, 96, 50, 32, 60, 247, 255, 253, 84, 104,
51, 74, 80, 32, 50, 64, 19, 96, 51, 247, 255, 253, 77, 35, 0, 74, 77, 96, 59, 75, 77, 104, 20, 70, 153, 32, 125, 247,
255, 253, 34, 104, 59, 51, 125, 96, 59, 104, 50, 70, 91, 104, 49, 104, 29, 145, 1, 104, 171, 33, 63, 104, 88, 64, 1,
70, 140, 28, 65, 208, 82, 33, 1, 66, 10, 208, 89, 70, 65, 104, 10, 42, 2, 208, 2, 73, 64, 66, 8, 209, 89, 155, 1, 70,
81, 66, 11, 208, 83, 73, 59, 104, 11, 27, 27, 212, 59, 69, 75, 217, 217, 42, 0, 209, 2, 75, 58, 34, 1, 96, 26, 34, 2,
66, 82, 70, 68, 104, 35, 43, 2, 208, 11, 104, 171, 70, 97, 96, 89, 70, 92, 104, 35, 104, 153, 104, 11, 6, 132, 213,
2, 32, 64, 66, 3, 209, 36, 42, 0, 209, 40, 104, 50, 7, 84, 212, 60, 153, 5, 49, 1, 145, 5, 41, 4, 209, 162, 156, 4,
35, 128, 70, 65, 1, 155, 96, 12, 67, 19, 34, 42, 67, 147, 154, 3, 32, 10, 96, 83, 247, 255, 252, 243, 155, 3, 32, 0,
104, 90, 176, 7, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 104, 12, 231, 193, 67, 131, 96,
11, 231, 215, 74, 27, 35, 1, 96, 19, 153, 3, 70, 67, 104, 74, 154, 4, 72, 25, 96, 26, 231, 231, 75, 22, 34, 1, 96, 25,
66, 82, 231, 184, 34, 0, 231, 182, 42, 0, 209, 3, 75, 18, 34, 1, 96, 26, 104, 171, 34, 2, 66, 82, 231, 178, 154, 4,
70, 67, 96, 26, 32, 0, 231, 210, 4, 147, 212, 2, 32, 1, 66, 64, 231, 205, 247, 255, 254, 234, 231, 249, 70, 192, 19,
112, 128, 28, 0, 0, 32, 1, 19, 112, 129, 52, 19, 112, 129, 56, 255, 255, 254, 213, 13, 128, 0, 16, 0, 0, 5, 219, 0,
0, 16, 18, 19, 112, 129, 48, 255, 255, 248, 48, 181, 240, 78, 23, 176, 129, 104, 51, 43, 0, 208, 27, 79, 21, 120, 59,
43, 0, 209, 27, 77, 20, 76, 21, 35, 160, 88, 224, 40, 0, 208, 1, 240, 3, 248, 220, 34, 164, 33, 0, 28, 32, 240, 4, 249,
193, 72, 16, 33, 0, 247, 255, 248, 193, 74, 15, 35, 16, 112, 19, 35, 0, 112, 59, 96, 51, 96, 43, 176, 1, 188, 240, 188,
1, 71, 0, 77, 6, 104, 43, 43, 0, 209, 224, 32, 250, 0, 128, 247, 255, 252, 120, 231, 219, 70, 192, 19, 112, 129, 60,
19, 112, 129, 64, 19, 112, 129, 48, 19, 115, 73, 152, 19, 112, 128, 84, 19, 112, 128, 37, 181, 240, 70, 95, 70, 86,
70, 77, 70, 68, 180, 240, 74, 157, 176, 139, 146, 4, 104, 17, 28, 7, 108, 10, 42, 7, 221, 1, 32, 0, 224, 172, 28, 19,
51, 8, 0, 155, 88, 91, 147, 9, 28, 83, 100, 11, 152, 9, 240, 3, 248, 150, 34, 96, 28, 4, 33, 0, 152, 9, 240, 4, 249,
124, 155, 9, 99, 92, 154, 9, 35, 64, 96, 147, 35, 128, 4, 91, 96, 19, 96, 83, 99, 215, 35, 0, 126, 122, 97, 123, 105,
59, 146, 6, 70, 152, 126, 59, 43, 0, 209, 0, 224, 145, 35, 128, 147, 8, 156, 9, 35, 192, 0, 91, 154, 6, 104, 254, 42,
0, 208, 0, 147, 8, 105, 250, 75, 130, 64, 19, 147, 7, 59, 1, 147, 5, 35, 255, 2, 26, 70, 145, 34, 128, 4, 27, 1, 82,
70, 154, 146, 3, 6, 51, 14, 50, 67, 26, 70, 75, 64, 51, 2, 27, 67, 26, 70, 83, 64, 51, 10, 27, 67, 26, 35, 0, 98, 35,
96, 226, 75, 117, 154, 3, 64, 51, 26, 208, 70, 195, 69, 128, 211, 0, 224, 139, 35, 0, 70, 69, 70, 152, 155, 8, 4, 42,
67, 26, 6, 19, 14, 17, 67, 25, 70, 75, 64, 19, 2, 27, 67, 25, 70, 83, 64, 26, 10, 18, 67, 17, 70, 90, 96, 161, 100,
34, 155, 6, 43, 0, 208, 4, 154, 4, 104, 19, 105, 219, 105, 91, 96, 99, 154, 5, 25, 83, 154, 7, 66, 19, 209, 3, 155,
8, 74, 97, 24, 155, 147, 8, 70, 67, 43, 0, 221, 0, 224, 152, 35, 128, 4, 91, 96, 99, 105, 59, 28, 38, 43, 0, 208, 36,
126, 61, 45, 0, 209, 33, 247, 255, 254, 45, 28, 4, 40, 0, 209, 0, 231, 114, 107, 66, 99, 199, 6, 19, 14, 17, 67, 25,
35, 255, 2, 27, 64, 19, 2, 27, 67, 25, 35, 255, 4, 27, 64, 26, 10, 18, 67, 17, 96, 49, 99, 176, 154, 8, 35, 128, 0,
91, 64, 83, 74, 75, 33, 0, 67, 19, 34, 0, 149, 0, 247, 255, 251, 219, 104, 163, 34, 128, 4, 18, 67, 19, 96, 163, 152,
9, 176, 11, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 35, 8, 104, 121, 147, 0, 35, 160,
34, 8, 0, 155, 152, 9, 247, 255, 251, 195, 247, 255, 253, 243, 28, 4, 40, 0, 209, 0, 231, 56, 107, 66, 99, 199, 6, 19,
14, 17, 67, 25, 35, 255, 2, 27, 64, 19, 2, 27, 67, 25, 35, 255, 4, 27, 64, 26, 10, 18, 67, 17, 154, 9, 70, 67, 96, 17,
99, 144, 43, 0, 209, 80, 74, 47, 146, 8, 28, 19, 231, 74, 28, 5, 69, 128, 217, 77, 35, 128, 1, 91, 24, 242, 75, 43,
28, 17, 34, 1, 64, 25, 28, 32, 70, 148, 6, 11, 14, 10, 67, 26, 70, 75, 64, 11, 2, 27, 67, 26, 70, 83, 64, 11, 10, 27,
67, 26, 97, 2, 34, 128, 1, 82, 35, 0, 24, 173, 98, 67, 24, 137, 69, 168, 216, 5, 70, 69, 70, 67, 27, 91, 70, 171, 70,
152, 231, 80, 35, 1, 68, 156, 70, 98, 48, 4, 42, 4, 221, 223, 28, 40, 153, 7, 240, 4, 248, 4, 70, 66, 26, 109, 27, 82,
70, 171, 70, 144, 231, 64, 247, 255, 253, 158, 40, 0, 209, 0, 230, 228, 107, 66, 99, 160, 6, 19, 14, 17, 67, 25, 70,
75, 64, 19, 2, 27, 67, 25, 70, 83, 64, 26, 10, 18, 67, 17, 96, 33, 68, 94, 99, 199, 28, 4, 231, 16, 75, 9, 147, 8, 75,
6, 230, 249, 69, 128, 209, 216, 231, 204, 19, 112, 128, 28, 0, 0, 7, 255, 0, 0, 15, 255, 128, 0, 0, 0, 128, 0, 1, 128,
255, 255, 240, 0, 128, 0, 0, 128, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 135, 144, 5, 145, 4, 126,
11, 43, 0, 209, 0, 226, 146, 154, 4, 105, 17, 41, 0, 208, 8, 126, 83, 43, 0, 209, 0, 225, 136, 104, 144, 240, 2, 255,
150, 155, 4, 96, 216, 79, 207, 34, 0, 151, 3, 104, 59, 105, 223, 28, 59, 195, 4, 51, 4, 96, 122, 195, 4, 195, 4, 195,
4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 195, 4, 96, 26, 152, 4, 247, 255, 254, 128, 28, 5, 40, 0, 209, 0, 226, 221,
100, 184, 155, 4, 158, 5, 126, 25, 105, 220, 34, 128, 105, 179, 1, 146, 67, 26, 35, 15, 64, 11, 2, 27, 28, 16, 67, 24,
41, 0, 209, 0, 225, 84, 75, 187, 28, 34, 64, 26, 35, 128, 4, 18, 5, 219, 67, 26, 28, 17, 67, 1, 6, 11, 14, 10, 36, 255,
2, 36, 67, 26, 28, 11, 64, 35, 2, 27, 32, 255, 4, 0, 67, 26, 28, 11, 64, 3, 10, 27, 67, 26, 96, 122, 108, 122, 35, 64,
96, 187, 28, 17, 28, 19, 64, 3, 64, 33, 10, 27, 2, 9, 67, 25, 14, 19, 67, 25, 35, 224, 64, 26, 35, 2, 67, 26, 6, 18,
67, 17, 96, 57, 107, 106, 6, 19, 14, 17, 67, 25, 28, 19, 64, 35, 2, 27, 64, 2, 67, 25, 10, 18, 35, 128, 67, 17, 4, 91,
97, 57, 97, 123, 152, 4, 126, 2, 42, 0, 208, 0, 225, 32, 105, 186, 75, 155, 28, 56, 64, 19, 97, 187, 158, 3, 104, 51,
105, 155, 108, 89, 35, 255, 2, 27, 28, 10, 64, 26, 35, 255, 4, 27, 64, 11, 10, 27, 2, 18, 67, 26, 14, 11, 67, 26, 35,
224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 58, 33, 96, 240, 2, 254, 250, 108, 188, 44, 0, 208, 6, 28, 32, 33, 96,
240, 2, 254, 243, 107, 164, 44, 0, 209, 248, 152, 3, 108, 121, 104, 3, 28, 10, 105, 152, 35, 255, 2, 27, 64, 26, 35,
255, 4, 27, 64, 11, 10, 27, 2, 18, 67, 26, 14, 11, 67, 26, 35, 224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2, 153,
3, 104, 11, 33, 96, 105, 152, 240, 2, 254, 211, 154, 3, 158, 5, 104, 19, 72, 120, 104, 153, 105, 243, 51, 16, 0, 155,
24, 203, 51, 4, 70, 155, 75, 117, 49, 4, 104, 26, 35, 0, 144, 2, 0, 82, 96, 3, 70, 136, 75, 114, 73, 115, 70, 145, 34,
1, 104, 28, 70, 146, 145, 1, 32, 125, 247, 255, 250, 16, 158, 2, 70, 88, 104, 51, 51, 125, 96, 51, 158, 3, 70, 67, 104,
53, 104, 2, 104, 25, 104, 171, 38, 63, 104, 88, 64, 6, 70, 180, 28, 70, 209, 0, 224, 211, 70, 86, 66, 50, 209, 0, 225,
230, 158, 1, 104, 50, 42, 2, 208, 3, 78, 98, 66, 48, 208, 0, 225, 232, 70, 83, 66, 25, 208, 0, 225, 225, 78, 92, 104,
51, 27, 27, 213, 0, 224, 148, 69, 75, 211, 211, 42, 0, 209, 2, 74, 91, 35, 1, 96, 19, 34, 2, 66, 82, 70, 144, 153, 1,
104, 11, 43, 2, 208, 13, 104, 171, 70, 144, 70, 98, 96, 90, 158, 3, 104, 51, 104, 154, 104, 19, 6, 129, 213, 3, 33,
64, 66, 11, 208, 0, 225, 133, 70, 66, 42, 0, 218, 0, 224, 162, 152, 3, 33, 96, 104, 3, 105, 155, 108, 88, 240, 2, 254,
80, 108, 120, 33, 96, 240, 2, 254, 76, 108, 188, 44, 0, 208, 6, 107, 96, 33, 96, 240, 2, 254, 69, 107, 164, 44, 0, 209,
248, 153, 3, 104, 11, 105, 152, 35, 255, 108, 65, 2, 27, 28, 10, 64, 26, 35, 255, 4, 27, 64, 11, 10, 27, 2, 18, 67,
26, 14, 11, 67, 26, 35, 224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2, 154, 3, 33, 96, 104, 19, 105, 152, 240, 2,
254, 61, 158, 3, 33, 96, 104, 51, 105, 155, 108, 88, 240, 2, 254, 30, 152, 1, 104, 3, 43, 2, 209, 0, 225, 62, 153, 4,
126, 10, 42, 0, 208, 22, 155, 5, 28, 17, 106, 88, 35, 15, 64, 25, 6, 19, 43, 0, 218, 0, 225, 100, 34, 1, 28, 19, 64,
139, 28, 4, 67, 156, 105, 187, 158, 5, 9, 219, 28, 24, 64, 16, 28, 3, 64, 139, 67, 35, 98, 115, 70, 71, 47, 0, 219,
0, 224, 112, 152, 3, 35, 0, 104, 2, 100, 19, 176, 7, 70, 64, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240,
188, 2, 71, 8, 75, 24, 28, 1, 67, 25, 230, 175, 158, 4, 104, 176, 240, 2, 254, 4, 96, 240, 230, 117, 104, 52, 231, 104,
153, 5, 6, 19, 106, 72, 43, 0, 218, 0, 225, 43, 33, 0, 35, 15, 64, 19, 24, 203, 64, 216, 7, 194, 212, 0, 224, 242, 105,
186, 35, 128, 67, 26, 97, 186, 230, 204, 70, 192, 19, 112, 128, 28, 0, 0, 7, 255, 1, 0, 0, 128, 19, 112, 129, 56, 19,
112, 128, 32, 13, 128, 0, 16, 19, 112, 129, 52, 0, 0, 16, 18, 19, 112, 129, 48, 64, 64, 64, 0, 74, 168, 35, 1, 96, 19,
70, 128, 158, 1, 104, 51, 43, 2, 209, 0, 231, 87, 159, 3, 104, 59, 105, 152, 35, 255, 108, 65, 2, 27, 28, 10, 64, 26,
35, 255, 4, 27, 64, 11, 10, 27, 2, 18, 67, 26, 14, 11, 67, 26, 35, 224, 64, 25, 35, 2, 67, 25, 6, 9, 67, 10, 96, 2,
104, 59, 33, 96, 105, 152, 240, 2, 253, 171, 104, 59, 33, 96, 105, 155, 108, 88, 240, 2, 253, 141, 104, 58, 35, 0, 100,
19, 231, 146, 152, 3, 158, 5, 104, 2, 105, 243, 104, 145, 51, 16, 0, 155, 24, 203, 51, 4, 70, 154, 105, 147, 159, 2,
108, 91, 72, 139, 70, 152, 35, 0, 96, 59, 75, 138, 28, 15, 104, 28, 55, 24, 70, 153, 70, 131, 32, 125, 247, 255, 248,
225, 153, 2, 104, 11, 51, 125, 96, 11, 158, 3, 70, 83, 104, 53, 104, 26, 104, 171, 104, 57, 104, 88, 38, 63, 64, 6,
70, 180, 28, 70, 209, 0, 224, 209, 38, 1, 66, 50, 209, 0, 224, 210, 158, 1, 104, 50, 42, 2, 208, 3, 78, 122, 66, 48,
208, 0, 224, 211, 69, 136, 209, 0, 224, 205, 70, 73, 104, 11, 27, 27, 212, 98, 69, 91, 217, 214, 42, 0, 208, 116, 34,
2, 66, 82, 70, 144, 158, 1, 104, 51, 43, 2, 208, 9, 104, 171, 70, 144, 70, 103, 96, 95, 153, 3, 104, 11, 104, 154, 104,
19, 6, 134, 212, 103, 70, 71, 47, 0, 218, 0, 231, 55, 153, 3, 104, 11, 105, 219, 108, 152, 40, 0, 208, 99, 79, 102,
34, 0, 38, 255, 37, 255, 35, 3, 33, 64, 70, 147, 2, 54, 4, 45, 70, 154, 70, 188, 70, 137, 104, 130, 6, 19, 14, 17, 67,
25, 28, 19, 64, 51, 2, 27, 67, 25, 64, 42, 10, 18, 28, 12, 67, 20, 10, 35, 70, 82, 64, 19, 43, 2, 208, 8, 107, 193,
108, 3, 105, 74, 70, 103, 24, 210, 12, 35, 64, 59, 26, 210, 97, 74, 108, 3, 43, 0, 208, 5, 70, 73, 66, 12, 208, 2, 34,
1, 66, 83, 70, 155, 107, 128, 40, 0, 209, 217, 70, 94, 46, 0, 208, 46, 107, 194, 35, 1, 66, 91, 97, 83, 159, 3, 104,
59, 100, 24, 152, 1, 104, 3, 43, 0, 208, 126, 33, 2, 66, 74, 70, 144, 230, 241, 104, 12, 231, 154, 104, 8, 33, 8, 240,
2, 253, 10, 153, 4, 96, 72, 229, 101, 105, 186, 35, 128, 67, 154, 97, 186, 229, 217, 104, 51, 104, 154, 75, 61, 96,
83, 230, 187, 67, 139, 96, 19, 230, 118, 74, 53, 35, 1, 96, 19, 231, 134, 33, 64, 66, 11, 208, 148, 67, 139, 96, 19,
231, 145, 155, 3, 104, 26, 35, 0, 100, 19, 158, 4, 105, 49, 41, 0, 208, 5, 126, 115, 43, 0, 208, 23, 104, 240, 240,
2, 252, 202, 158, 4, 126, 51, 43, 0, 208, 9, 70, 71, 47, 0, 208, 0, 230, 187, 152, 4, 105, 64, 70, 128, 230, 183, 33,
16, 230, 210, 104, 112, 33, 8, 240, 2, 252, 184, 231, 240, 49, 16, 230, 152, 104, 240, 240, 2, 252, 170, 231, 230, 75,
29, 34, 1, 33, 1, 66, 82, 96, 25, 70, 144, 230, 44, 34, 0, 70, 144, 230, 41, 42, 0, 208, 3, 33, 2, 66, 74, 70, 144,
230, 41, 75, 21, 33, 1, 96, 25, 104, 171, 231, 246, 74, 18, 35, 1, 96, 19, 70, 128, 230, 140, 75, 16, 34, 1, 66, 82,
96, 30, 70, 144, 231, 60, 34, 0, 70, 144, 231, 57, 42, 0, 209, 3, 75, 10, 39, 1, 96, 31, 104, 171, 38, 2, 66, 119, 70,
184, 231, 53, 152, 3, 33, 4, 104, 3, 66, 74, 100, 29, 70, 144, 230, 118, 74, 3, 39, 2, 35, 1, 66, 120, 96, 19, 70, 128,
230, 111, 19, 112, 129, 48, 0, 0, 156, 63, 13, 128, 0, 16, 0, 0, 16, 18, 0, 0, 127, 255, 0, 0, 32, 33, 181, 48, 176,
137, 70, 109, 118, 41, 9, 201, 118, 105, 33, 128, 0, 137, 145, 7, 36, 0, 70, 105, 148, 0, 146, 4, 147, 2, 247, 255,
252, 196, 176, 9, 188, 48, 188, 2, 71, 8, 181, 240, 70, 71, 180, 128, 176, 136, 70, 128, 70, 104, 48, 58, 136, 5, 48,
4, 136, 6, 72, 40, 4, 45, 104, 4, 32, 248, 88, 32, 4, 54, 112, 66, 2, 26, 10, 27, 67, 26, 4, 18, 12, 19, 112, 195, 10,
43, 14, 45, 67, 43, 14, 18, 4, 27, 112, 130, 12, 55, 12, 26, 14, 27, 113, 3, 14, 54, 2, 59, 67, 51, 4, 27, 113, 66,
14, 26, 12, 27, 112, 1, 113, 195, 70, 108, 35, 0, 9, 201, 113, 130, 118, 35, 118, 97, 35, 64, 144, 0, 147, 7, 152, 16,
75, 20, 151, 4, 66, 152, 216, 12, 96, 160, 70, 105, 70, 64, 247, 255, 252, 131, 28, 5, 176, 8, 28, 40, 188, 4, 70, 144,
188, 240, 188, 2, 71, 8, 28, 56, 240, 2, 251, 230, 28, 58, 153, 16, 144, 2, 240, 3, 252, 123, 70, 105, 70, 64, 247,
255, 252, 111, 153, 2, 28, 5, 28, 58, 152, 16, 240, 3, 252, 113, 152, 2, 240, 2, 251, 200, 231, 226, 70, 192, 19, 112,
128, 28, 19, 136, 0, 0, 181, 0, 176, 133, 42, 0, 209, 4, 32, 3, 66, 64, 176, 5, 188, 2, 71, 8, 28, 19, 34, 0, 145, 0,
146, 1, 146, 2, 33, 1, 34, 11, 247, 255, 255, 142, 231, 242, 70, 192, 181, 0, 176, 133, 34, 0, 146, 0, 146, 1, 146,
2, 28, 11, 34, 9, 33, 0, 247, 255, 255, 129, 176, 5, 188, 2, 71, 8, 181, 112, 176, 132, 28, 4, 32, 1, 28, 14, 240, 2,
251, 165, 28, 5, 40, 0, 208, 23, 35, 0, 147, 0, 35, 1, 147, 1, 144, 2, 33, 128, 28, 32, 34, 8, 35, 0, 247, 255, 255,
105, 28, 4, 40, 0, 219, 1, 120, 43, 112, 51, 28, 40, 240, 2, 251, 131, 176, 4, 28, 32, 188, 112, 188, 2, 71, 8, 36,
4, 66, 100, 231, 247, 70, 192, 181, 16, 176, 132, 28, 20, 70, 106, 50, 27, 120, 18, 2, 36, 67, 28, 35, 0, 147, 0, 146,
1, 145, 2, 34, 6, 33, 128, 28, 35, 247, 255, 255, 71, 176, 4, 188, 16, 188, 2, 71, 8, 70, 192, 181, 240, 70, 95, 70,
86, 70, 77, 70, 68, 180, 240, 73, 170, 0, 131, 104, 10, 70, 155, 24, 27, 70, 146, 0, 219, 28, 26, 37, 0, 68, 83, 176,
133, 50, 88, 103, 29, 28, 6, 70, 136, 32, 50, 70, 81, 24, 140, 247, 254, 255, 2, 35, 128, 39, 22, 28, 32, 33, 128, 34,
6, 0, 91, 149, 0, 151, 1, 148, 2, 247, 255, 255, 29, 40, 0, 219, 0, 225, 10, 32, 100, 247, 254, 254, 241, 35, 128, 28,
32, 33, 128, 34, 6, 0, 91, 149, 0, 151, 1, 148, 2, 247, 255, 255, 13, 40, 0, 219, 0, 224, 250, 32, 100, 247, 254, 254,
225, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 151, 1, 148, 2, 247, 255, 254, 253, 40, 0, 219, 0, 224, 234, 32,
100, 247, 254, 254, 209, 28, 48, 247, 255, 249, 78, 32, 100, 247, 254, 254, 203, 35, 128, 28, 32, 33, 128, 34, 6, 0,
91, 149, 0, 151, 1, 148, 2, 247, 255, 254, 231, 40, 0, 219, 0, 224, 212, 28, 48, 247, 255, 249, 59, 32, 100, 247, 254,
254, 184, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 151, 1, 148, 2, 247, 255, 254, 212, 40, 0, 219, 0, 224, 193,
28, 48, 247, 255, 249, 40, 32, 100, 247, 254, 254, 165, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 151, 1, 148,
2, 247, 255, 254, 193, 40, 0, 219, 0, 224, 174, 70, 66, 104, 19, 28, 55, 104, 155, 55, 16, 0, 186, 24, 157, 104, 106,
35, 128, 1, 155, 66, 26, 209, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247, 254, 254, 39, 35, 128, 104, 106, 1, 155,
66, 26, 208, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247, 254, 254, 27, 75, 93, 32, 5, 96, 107, 247, 254, 254, 22,
32, 100, 247, 254, 254, 113, 28, 48, 247, 255, 248, 238, 32, 100, 247, 254, 254, 107, 35, 0, 147, 0, 35, 22, 147, 1,
35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 148, 2, 247, 255, 254, 133, 40, 0, 218, 115, 70, 65, 104, 11, 0, 186, 104, 155,
24, 157, 104, 106, 35, 128, 1, 155, 66, 26, 209, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247, 254, 253, 238, 35,
128, 104, 106, 1, 155, 66, 26, 208, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247, 254, 253, 226, 75, 64, 32, 5, 96,
107, 247, 254, 253, 221, 32, 100, 247, 254, 254, 56, 28, 48, 247, 255, 248, 181, 32, 100, 247, 254, 254, 50, 35, 0,
147, 0, 35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 148, 2, 247, 255, 254, 76, 40, 0, 218, 58, 70, 66, 104,
19, 0, 186, 104, 155, 24, 157, 104, 106, 35, 128, 1, 155, 66, 26, 209, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247,
254, 253, 181, 35, 128, 104, 106, 1, 155, 66, 26, 208, 0, 64, 90, 35, 46, 67, 154, 96, 106, 32, 5, 247, 254, 253, 169,
75, 36, 32, 5, 96, 107, 247, 254, 253, 164, 32, 100, 247, 254, 253, 255, 28, 48, 247, 255, 248, 124, 32, 100, 247, 254,
253, 249, 35, 0, 147, 0, 35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 148, 2, 247, 255, 254, 19, 40, 0, 218,
1, 72, 23, 224, 30, 33, 128, 2, 73, 4, 51, 24, 91, 12, 27, 28, 114, 70, 153, 32, 50, 37, 0, 70, 144, 247, 254, 253,
221, 28, 32, 33, 0, 34, 5, 70, 75, 149, 0, 149, 1, 149, 2, 247, 255, 253, 250, 40, 0, 219, 23, 70, 89, 25, 139, 0, 219,
68, 83, 34, 0, 103, 218, 70, 66, 103, 26, 176, 5, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71,
8, 70, 192, 19, 112, 128, 28, 0, 0, 24, 1, 255, 255, 247, 103, 70, 89, 25, 139, 0, 219, 70, 82, 24, 215, 70, 67, 103,
59, 103, 253, 33, 2, 34, 1, 35, 0, 28, 32, 149, 0, 149, 1, 149, 2, 247, 255, 253, 207, 32, 50, 247, 254, 253, 166, 35,
22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 148, 2, 247, 255, 253, 193, 40, 0, 218, 0, 224, 199, 32,
50, 247, 254, 253, 149, 37, 0, 28, 32, 33, 0, 34, 5, 70, 75, 149, 0, 149, 1, 149, 2, 247, 255, 253, 177, 40, 0, 218,
182, 70, 89, 25, 139, 0, 219, 70, 82, 24, 215, 70, 67, 103, 59, 103, 253, 33, 2, 34, 1, 35, 0, 28, 32, 149, 0, 149,
1, 149, 2, 247, 255, 253, 158, 32, 50, 247, 254, 253, 117, 35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149,
0, 148, 2, 247, 255, 253, 144, 40, 0, 218, 0, 224, 152, 32, 50, 247, 254, 253, 100, 37, 0, 28, 32, 33, 0, 34, 5, 70,
75, 149, 0, 149, 1, 149, 2, 247, 255, 253, 128, 40, 0, 219, 0, 231, 132, 70, 89, 25, 139, 0, 219, 70, 82, 24, 215, 70,
67, 103, 59, 103, 253, 33, 2, 34, 1, 35, 0, 28, 32, 149, 0, 149, 1, 149, 2, 247, 255, 253, 108, 32, 50, 247, 254, 253,
67, 35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 148, 2, 247, 255, 253, 94, 40, 0, 219, 105, 32,
50, 247, 254, 253, 51, 37, 0, 28, 32, 33, 0, 34, 5, 70, 75, 149, 0, 149, 1, 149, 2, 247, 255, 253, 79, 40, 0, 219, 0,
231, 83, 70, 89, 25, 139, 0, 219, 70, 82, 24, 215, 70, 67, 103, 59, 103, 253, 33, 2, 34, 1, 35, 0, 28, 32, 149, 0, 149,
1, 149, 2, 247, 255, 253, 59, 32, 50, 247, 254, 253, 18, 35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149,
0, 148, 2, 247, 255, 253, 45, 40, 0, 218, 0, 103, 61, 32, 50, 247, 254, 253, 1, 37, 0, 28, 32, 33, 0, 34, 5, 70, 75,
149, 0, 149, 1, 149, 2, 247, 255, 253, 29, 40, 0, 219, 0, 231, 33, 70, 89, 25, 139, 0, 219, 70, 82, 24, 214, 70, 67,
103, 51, 103, 245, 33, 2, 34, 1, 35, 0, 28, 32, 149, 0, 149, 1, 149, 2, 247, 255, 253, 9, 32, 50, 247, 254, 252, 224,
35, 22, 147, 1, 35, 128, 28, 32, 33, 128, 34, 6, 0, 91, 149, 0, 148, 2, 247, 255, 252, 251, 40, 0, 219, 8, 32, 1, 66,
64, 231, 5, 103, 61, 231, 53, 103, 61, 231, 100, 103, 61, 231, 147, 103, 53, 72, 1, 230, 252, 70, 192, 255, 255, 247,
62, 181, 112, 76, 8, 35, 1, 104, 38, 96, 35, 28, 5, 247, 254, 255, 60, 40, 0, 219, 2, 28, 40, 247, 255, 253, 155, 96,
38, 188, 112, 188, 2, 71, 8, 70, 192, 19, 112, 129, 52, 181, 240, 70, 87, 70, 70, 180, 192, 79, 21, 35, 84, 104, 58,
176, 129, 92, 211, 43, 0, 208, 28, 33, 1, 35, 84, 77, 18, 36, 0, 70, 138, 70, 152, 0, 163, 25, 27, 0, 219, 24, 211,
103, 92, 70, 81, 104, 46, 28, 32, 96, 41, 247, 254, 255, 20, 40, 0, 219, 2, 28, 32, 247, 255, 253, 115, 104, 58, 96,
46, 70, 65, 92, 83, 52, 1, 66, 163, 220, 232, 176, 1, 32, 0, 188, 12, 70, 144, 70, 154, 188, 240, 188, 2, 71, 8, 19,
112, 128, 28, 19, 112, 129, 52, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 155, 28, 31, 70, 107, 51, 167,
146, 11, 120, 26, 59, 16, 120, 27, 6, 18, 147, 10, 70, 107, 51, 155, 120, 27, 22, 18, 147, 9, 155, 10, 146, 8, 59, 1,
6, 27, 14, 27, 147, 16, 14, 58, 6, 59, 67, 26, 35, 255, 2, 27, 64, 59, 2, 27, 67, 26, 35, 255, 4, 27, 64, 59, 10, 27,
67, 26, 75, 215, 145, 12, 147, 6, 33, 128, 4, 59, 37, 0, 146, 17, 12, 27, 0, 138, 28, 6, 70, 169, 149, 14, 70, 146,
147, 5, 45, 0, 219, 8, 154, 9, 42, 0, 208, 127, 155, 16, 43, 15, 216, 0, 225, 1, 37, 3, 66, 109, 70, 200, 155, 8, 59,
1, 6, 27, 22, 27, 147, 8, 43, 0, 220, 0, 224, 215, 32, 10, 247, 254, 252, 47, 77, 198, 33, 144, 149, 7, 104, 43, 104,
154, 88, 115, 50, 68, 105, 219, 0, 155, 24, 210, 104, 19, 74, 193, 64, 19, 74, 193, 66, 147, 208, 0, 225, 98, 74, 192,
73, 193, 104, 19, 37, 1, 147, 15, 75, 192, 96, 21, 70, 147, 104, 10, 96, 11, 35, 144, 88, 240, 123, 51, 37, 0, 146,
13, 147, 0, 70, 137, 34, 1, 33, 2, 35, 0, 149, 1, 149, 2, 247, 255, 252, 44, 28, 5, 40, 0, 219, 38, 123, 115, 34, 0,
33, 144, 88, 112, 147, 0, 146, 1, 146, 2, 33, 2, 34, 1, 35, 0, 247, 255, 252, 29, 28, 5, 40, 0, 219, 23, 35, 144, 32,
1, 88, 245, 240, 2, 248, 67, 28, 4, 40, 0, 209, 0, 224, 172, 33, 0, 34, 1, 145, 0, 146, 1, 144, 2, 33, 128, 28, 40,
34, 8, 35, 0, 247, 255, 252, 6, 28, 5, 28, 32, 240, 2, 248, 36, 155, 15, 70, 89, 154, 13, 96, 11, 70, 75, 96, 26, 32,
60, 247, 254, 251, 211, 153, 7, 104, 11, 33, 144, 104, 154, 88, 115, 50, 68, 105, 219, 0, 155, 24, 210, 104, 19, 74,
148, 64, 19, 74, 148, 66, 147, 208, 0, 225, 7, 70, 193, 231, 122, 154, 16, 42, 15, 216, 128, 35, 160, 88, 240, 40, 0,
209, 0, 231, 123, 37, 160, 33, 0, 34, 31, 240, 3, 248, 230, 89, 114, 75, 142, 96, 19, 35, 152, 88, 242, 89, 112, 6,
19, 14, 17, 67, 25, 35, 255, 2, 27, 64, 19, 2, 27, 67, 25, 35, 255, 4, 27, 64, 26, 10, 18, 67, 17, 96, 65, 89, 115,
153, 17, 96, 153, 89, 114, 35, 128, 66, 91, 115, 19, 34, 51, 68, 106, 89, 115, 120, 18, 115, 90, 35, 156, 92, 243, 43,
0, 209, 0, 224, 225, 89, 114, 35, 12, 115, 147, 33, 160, 88, 112, 154, 10, 153, 36, 48, 15, 240, 3, 248, 115, 37, 160,
34, 144, 88, 176, 89, 115, 123, 113, 34, 31, 247, 255, 251, 143, 28, 5, 40, 31, 208, 0, 225, 34, 47, 0, 209, 0, 225,
23, 123, 51, 172, 18, 33, 144, 88, 112, 118, 35, 9, 219, 118, 99, 70, 83, 97, 227, 157, 5, 34, 0, 97, 37, 153, 11, 146,
18, 96, 161, 28, 33, 247, 255, 248, 74, 28, 5, 40, 0, 218, 0, 231, 36, 66, 175, 209, 0, 224, 127, 37, 1, 66, 109, 231,
30, 75, 94, 104, 27, 43, 0, 208, 19, 154, 39, 42, 0, 208, 1, 70, 67, 112, 19, 153, 40, 41, 0, 208, 1, 154, 14, 96, 10,
176, 27, 28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 74, 86, 35, 1, 96, 19, 231, 241,
37, 4, 66, 109, 231, 94, 37, 160, 89, 112, 40, 0, 209, 0, 230, 248, 33, 0, 34, 31, 240, 3, 248, 100, 89, 114, 75, 77,
96, 19, 35, 152, 88, 242, 89, 112, 6, 19, 14, 17, 67, 25, 35, 255, 2, 27, 64, 19, 2, 27, 67, 25, 35, 255, 4, 27, 64,
26, 10, 18, 67, 17, 96, 65, 89, 115, 153, 17, 34, 0, 96, 153, 89, 115, 115, 26, 89, 115, 37, 51, 68, 109, 120, 45, 115,
93, 35, 156, 92, 243, 43, 0, 208, 89, 33, 160, 88, 114, 35, 12, 115, 147, 33, 160, 88, 112, 154, 10, 153, 36, 48, 15,
240, 2, 255, 242, 37, 160, 34, 144, 88, 176, 89, 115, 123, 113, 34, 31, 247, 255, 251, 14, 28, 5, 40, 31, 208, 0, 224,
161, 47, 0, 209, 0, 224, 150, 123, 115, 172, 18, 33, 144, 88, 112, 118, 35, 9, 219, 118, 99, 70, 83, 97, 227, 157, 5,
34, 0, 97, 37, 153, 11, 146, 18, 96, 161, 28, 33, 247, 254, 255, 201, 28, 5, 40, 0, 218, 0, 230, 163, 66, 175, 209,
96, 34, 160, 88, 176, 33, 255, 34, 13, 240, 3, 248, 9, 123, 51, 37, 160, 33, 144, 89, 114, 88, 112, 118, 35, 9, 219,
37, 0, 118, 99, 70, 81, 35, 13, 96, 37, 97, 225, 97, 35, 96, 162, 28, 33, 247, 254, 255, 171, 67, 195, 15, 219, 28,
5, 43, 0, 208, 47, 40, 13, 208, 45, 70, 200, 77, 21, 230, 128, 74, 19, 35, 1, 37, 1, 96, 19, 66, 109, 231, 104, 157,
10, 35, 160, 88, 242, 45, 6, 216, 86, 35, 6, 115, 147, 231, 161, 157, 10, 35, 160, 88, 242, 45, 6, 216, 75, 35, 6, 115,
147, 231, 24, 70, 192, 19, 112, 129, 72, 19, 112, 128, 28, 0, 0, 57, 1, 0, 0, 16, 1, 19, 112, 129, 52, 19, 112, 128,
32, 0, 3, 13, 64, 85, 83, 66, 67, 19, 112, 129, 48, 255, 255, 216, 237, 45, 0, 218, 19, 43, 0, 209, 0, 230, 79, 70,
200, 157, 6, 104, 43, 43, 0, 208, 4, 70, 65, 41, 0, 208, 1, 77, 42, 230, 70, 74, 42, 35, 0, 96, 19, 37, 0, 231, 37,
77, 40, 230, 62, 34, 160, 88, 179, 36, 255, 104, 26, 104, 153, 104, 93, 123, 27, 70, 140, 70, 152, 14, 17, 6, 19, 67,
25, 2, 36, 28, 19, 32, 255, 64, 35, 4, 0, 2, 27, 64, 2, 67, 25, 10, 18, 75, 30, 67, 17, 66, 153, 208, 15, 70, 200, 77,
28, 230, 35, 172, 18, 231, 126, 35, 16, 115, 147, 230, 204, 35, 16, 115, 147, 231, 74, 45, 0, 218, 0, 230, 23, 77, 23,
230, 21, 6, 43, 14, 42, 67, 26, 28, 43, 64, 35, 2, 27, 67, 26, 28, 43, 64, 3, 10, 27, 28, 17, 67, 25, 70, 99, 14, 26,
6, 27, 67, 26, 70, 99, 64, 35, 2, 27, 67, 26, 70, 99, 64, 3, 10, 27, 67, 26, 146, 14, 34, 152, 88, 179, 66, 153, 208,
1, 77, 8, 229, 247, 28, 75, 80, 179, 231, 164, 70, 192, 255, 255, 216, 234, 19, 112, 129, 48, 255, 255, 216, 233, 83,
66, 83, 85, 255, 255, 216, 236, 255, 255, 216, 238, 255, 255, 216, 235, 181, 240, 70, 87, 70, 70, 180, 192, 176, 137,
70, 108, 52, 30, 70, 152, 35, 37, 112, 35, 1, 75, 28, 7, 112, 99, 32, 8, 28, 14, 70, 146, 240, 1, 254, 98, 28, 5, 40,
0, 208, 51, 35, 2, 147, 1, 35, 0, 147, 2, 147, 3, 147, 4, 35, 10, 147, 5, 28, 56, 28, 49, 28, 42, 35, 8, 148, 0, 247,
255, 253, 128, 28, 4, 40, 0, 219, 22, 172, 6, 34, 4, 28, 32, 28, 41, 240, 2, 254, 225, 70, 66, 42, 0, 208, 1, 155, 6,
96, 19, 29, 41, 28, 32, 34, 4, 240, 2, 254, 215, 70, 83, 43, 0, 208, 2, 155, 6, 70, 82, 96, 19, 36, 0, 28, 40, 240,
1, 254, 39, 176, 9, 28, 32, 188, 12, 70, 144, 70, 154, 188, 240, 188, 2, 71, 8, 36, 4, 66, 100, 231, 244, 181, 240,
70, 71, 180, 128, 176, 136, 70, 108, 52, 26, 35, 18, 112, 35, 1, 75, 38, 0, 112, 99, 35, 36, 70, 128, 112, 166, 112,
230, 113, 35, 113, 102, 32, 36, 28, 15, 240, 1, 254, 19, 28, 5, 40, 0, 208, 24, 35, 6, 147, 1, 35, 10, 147, 5, 70, 64,
28, 57, 28, 42, 35, 36, 148, 0, 150, 2, 150, 3, 150, 4, 247, 255, 253, 50, 28, 4, 28, 40, 240, 1, 253, 242, 176, 8,
28, 32, 188, 4, 70, 144, 188, 240, 188, 2, 71, 8, 36, 4, 66, 100, 231, 245, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68,
180, 240, 176, 141, 70, 129, 32, 18, 70, 136, 240, 1, 253, 232, 70, 109, 34, 47, 68, 106, 38, 0, 53, 31, 28, 7, 70,
146, 112, 22, 28, 40, 33, 0, 34, 16, 240, 2, 254, 185, 47, 0, 208, 37, 35, 6, 112, 46, 147, 1, 35, 1, 147, 2, 70, 82,
35, 10, 146, 3, 147, 5, 70, 155, 70, 72, 70, 65, 34, 0, 35, 0, 149, 0, 150, 4, 247, 255, 252, 247, 28, 4, 40, 0, 219,
3, 70, 82, 120, 19, 43, 0, 209, 15, 28, 56, 240, 1, 253, 177, 176, 13, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70,
171, 188, 240, 188, 2, 71, 8, 36, 4, 66, 100, 231, 242, 35, 3, 70, 66, 112, 43, 1, 83, 112, 107, 33, 0, 35, 18, 34,
18, 28, 56, 113, 43, 113, 110, 240, 2, 254, 129, 35, 6, 70, 90, 147, 1, 146, 5, 70, 72, 70, 65, 28, 58, 35, 18, 149,
0, 150, 2, 150, 3, 150, 4, 247, 255, 252, 197, 28, 4, 40, 0, 219, 209, 120, 187, 34, 15, 64, 19, 70, 82, 112, 19, 59,
2, 6, 27, 14, 27, 43, 2, 216, 199, 76, 0, 231, 197, 255, 255, 216, 239, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 176, 151, 144, 13, 72, 96, 145, 12, 144, 10, 120, 3, 146, 11, 43, 1, 208, 9, 32, 0, 176, 23, 188, 60, 70, 144,
70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 4, 11, 12, 27, 147, 17, 74, 87, 75, 88, 72, 88, 33, 0, 145, 16,
146, 9, 70, 153, 144, 7, 153, 9, 70, 74, 120, 9, 152, 17, 28, 14, 54, 4, 0, 179, 145, 14, 88, 209, 28, 11, 67, 67, 32,
128, 2, 64, 66, 131, 216, 120, 153, 17, 70, 139, 28, 10, 42, 0, 208, 214, 152, 14, 153, 11, 7, 67, 14, 27, 70, 108,
0, 182, 157, 13, 147, 15, 28, 23, 70, 138, 52, 77, 150, 8, 28, 62, 69, 95, 217, 0, 70, 94, 4, 50, 12, 19, 32, 87, 70,
152, 68, 104, 35, 0, 112, 3, 32, 40, 35, 63, 112, 32, 68, 107, 120, 27, 33, 0, 112, 99, 14, 43, 112, 163, 12, 43, 112,
227, 14, 18, 10, 43, 70, 64, 113, 161, 114, 97, 113, 35, 113, 101, 113, 226, 114, 32, 70, 73, 123, 139, 154, 14, 66,
147, 217, 166, 155, 8, 72, 50, 88, 26, 42, 0, 208, 161, 155, 7, 33, 1, 96, 25, 70, 67, 67, 83, 34, 87, 68, 106, 33,
0, 32, 10, 146, 3, 34, 6, 144, 1, 145, 2, 145, 4, 146, 5, 153, 14, 72, 40, 70, 82, 148, 0, 247, 255, 252, 50, 153, 7,
35, 0, 96, 11, 40, 0, 221, 41, 34, 87, 68, 106, 120, 19, 43, 0, 208, 0, 231, 129, 70, 65, 26, 123, 4, 27, 153, 8, 12,
31, 70, 75, 88, 90, 47, 0, 208, 4, 28, 19, 67, 115, 25, 173, 68, 154, 231, 168, 40, 0, 218, 0, 231, 112, 155, 13, 152,
12, 154, 16, 24, 27, 147, 13, 35, 128, 50, 1, 0, 155, 146, 16, 66, 154, 208, 0, 231, 121, 32, 1, 231, 99, 240, 2, 252,
170, 154, 17, 70, 131, 231, 132, 40, 0, 218, 217, 28, 131, 209, 229, 154, 10, 35, 0, 112, 19, 70, 73, 35, 160, 88, 200,
40, 0, 208, 1, 240, 1, 252, 185, 33, 0, 34, 164, 70, 72, 240, 2, 253, 158, 72, 6, 33, 0, 247, 253, 252, 158, 32, 0,
231, 69, 19, 112, 129, 64, 19, 112, 128, 37, 19, 115, 73, 152, 19, 112, 129, 72, 19, 112, 128, 84, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 70, 130, 70, 81, 0, 137, 28, 11, 78, 159, 68, 83, 0, 219, 104, 48, 28, 26, 176, 145,
50, 88, 144, 10, 24, 130, 104, 132, 24, 195, 146, 13, 34, 0, 145, 9, 103, 26, 104, 51, 104, 154, 75, 152, 104, 81, 66,
25, 209, 33, 104, 19, 7, 223, 213, 30, 104, 51, 104, 154, 35, 63, 64, 11, 96, 83, 104, 51, 74, 146, 104, 155, 104, 27,
70, 83, 51, 16, 0, 155, 24, 227, 29, 24, 104, 91, 70, 128, 64, 19, 43, 1, 208, 50, 36, 1, 66, 100, 176, 17, 28, 32,
188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 35, 63, 64, 11, 96, 83, 104, 51, 32, 20, 104,
154, 104, 19, 75, 131, 96, 19, 247, 254, 248, 16, 104, 51, 32, 10, 104, 154, 109, 27, 97, 83, 104, 51, 104, 154, 105,
155, 108, 91, 97, 147, 104, 51, 104, 154, 75, 124, 96, 19, 247, 254, 248, 0, 104, 51, 32, 10, 104, 154, 75, 122, 96,
19, 247, 253, 255, 249, 104, 51, 104, 155, 104, 26, 104, 89, 231, 185, 73, 118, 35, 2, 104, 10, 96, 11, 155, 9, 159,
10, 68, 83, 0, 219, 70, 139, 51, 88, 70, 81, 24, 251, 49, 1, 147, 12, 4, 11, 32, 0, 12, 27, 146, 14, 70, 129, 145, 8,
147, 7, 74, 109, 70, 67, 96, 26, 32, 10, 247, 253, 255, 217, 75, 107, 70, 71, 96, 59, 32, 100, 247, 253, 255, 211, 75,
105, 32, 100, 96, 59, 247, 253, 255, 206, 104, 57, 75, 103, 28, 10, 64, 26, 75, 102, 66, 154, 208, 22, 36, 1, 66, 100,
34, 1, 68, 145, 70, 75, 43, 4, 209, 224, 159, 14, 70, 88, 96, 7, 44, 0, 219, 149, 70, 85, 53, 1, 155, 9, 153, 10, 68,
83, 0, 219, 24, 203, 34, 0, 103, 218, 103, 29, 231, 138, 35, 192, 1, 27, 28, 10, 64, 26, 35, 128, 0, 219, 66, 154, 208,
224, 77, 86, 35, 0, 96, 43, 32, 128, 75, 85, 0, 64, 104, 28, 144, 5, 32, 125, 247, 253, 255, 123, 104, 43, 70, 65, 51,
125, 96, 43, 104, 51, 104, 10, 70, 156, 104, 155, 104, 9, 104, 88, 39, 63, 64, 7, 151, 15, 28, 71, 208, 98, 39, 1, 66,
58, 208, 100, 70, 95, 104, 58, 42, 2, 208, 2, 79, 72, 66, 56, 209, 102, 155, 5, 66, 25, 208, 96, 79, 68, 104, 59, 27,
27, 212, 73, 73, 68, 66, 139, 217, 217, 42, 0, 209, 2, 75, 66, 34, 1, 96, 26, 34, 2, 66, 82, 28, 20, 70, 95, 104, 59,
43, 2, 208, 12, 70, 97, 104, 139, 28, 20, 154, 15, 96, 90, 104, 51, 104, 154, 104, 19, 6, 135, 213, 2, 33, 64, 66, 11,
209, 50, 44, 0, 209, 153, 32, 100, 247, 253, 255, 92, 79, 53, 75, 54, 104, 58, 32, 1, 96, 59, 70, 89, 35, 22, 96, 8,
147, 1, 155, 12, 146, 11, 147, 2, 35, 128, 152, 13, 33, 128, 34, 6, 0, 91, 148, 0, 247, 254, 255, 110, 28, 4, 40, 0,
219, 19, 32, 0, 144, 0, 144, 1, 144, 2, 33, 0, 152, 13, 34, 5, 155, 7, 157, 8, 247, 254, 255, 96, 28, 4, 40, 0, 219,
5, 154, 14, 70, 91, 96, 26, 231, 121, 104, 60, 231, 179, 153, 11, 96, 57, 231, 104, 67, 139, 96, 19, 231, 201, 75, 28,
33, 1, 96, 25, 28, 4, 231, 96, 75, 25, 34, 1, 66, 82, 96, 31, 28, 20, 231, 173, 34, 0, 36, 0, 231, 170, 42, 0, 209,
4, 75, 20, 33, 1, 96, 25, 70, 98, 104, 147, 36, 2, 66, 100, 231, 167, 70, 192, 19, 112, 128, 28, 0, 0, 16, 16, 0, 0,
32, 1, 8, 0, 0, 128, 0, 1, 0, 9, 0, 1, 0, 41, 19, 112, 129, 52, 0, 0, 24, 3, 0, 0, 25, 3, 0, 0, 16, 1, 0, 0, 48, 5,
0, 0, 16, 5, 19, 112, 129, 56, 13, 128, 0, 16, 0, 0, 16, 18, 0, 0, 5, 219, 19, 112, 129, 48, 19, 112, 128, 32, 0, 3,
13, 64, 181, 112, 75, 17, 28, 4, 104, 26, 35, 0, 100, 19, 104, 150, 247, 255, 254, 135, 28, 5, 40, 0, 219, 3, 28, 40,
188, 112, 188, 2, 71, 8, 32, 100, 52, 16, 247, 253, 254, 216, 0, 164, 75, 8, 25, 52, 96, 99, 32, 100, 247, 253, 254,
209, 75, 6, 32, 100, 96, 99, 247, 253, 254, 204, 75, 4, 96, 99, 231, 232, 70, 192, 19, 112, 128, 28, 0, 0, 24, 3, 0,
0, 25, 3, 0, 0, 24, 1, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 70, 139, 73, 217, 176, 141, 145, 7, 75, 216,
79, 217, 104, 10, 96, 11, 104, 59, 146, 8, 74, 215, 33, 0, 147, 9, 35, 1, 146, 6, 70, 138, 145, 10, 70, 152, 33, 144,
74, 212, 70, 137, 70, 67, 70, 89, 146, 5, 28, 6, 96, 59, 41, 1, 208, 122, 41, 2, 209, 0, 225, 30, 153, 6, 104, 11, 70,
73, 104, 154, 88, 115, 50, 68, 105, 219, 0, 155, 24, 210, 104, 19, 70, 66, 66, 19, 209, 0, 225, 122, 96, 58, 73, 199,
154, 7, 32, 20, 96, 17, 247, 253, 254, 134, 70, 75, 88, 240, 123, 51, 33, 0, 147, 0, 145, 1, 145, 2, 34, 1, 33, 2, 35,
0, 247, 254, 254, 160, 28, 5, 40, 0, 219, 69, 32, 10, 247, 253, 254, 116, 123, 115, 70, 74, 88, 176, 147, 0, 33, 2,
35, 0, 34, 1, 147, 1, 147, 2, 247, 254, 254, 143, 28, 5, 40, 0, 219, 52, 32, 10, 247, 253, 254, 99, 70, 73, 32, 1, 88,
117, 240, 1, 250, 178, 28, 4, 40, 0, 209, 0, 225, 53, 34, 0, 70, 67, 146, 0, 147, 1, 144, 2, 33, 128, 28, 40, 34, 8,
35, 0, 247, 254, 254, 117, 28, 5, 28, 32, 240, 1, 250, 147, 45, 0, 219, 23, 75, 167, 74, 161, 73, 160, 120, 28, 96,
10, 44, 16, 209, 0, 225, 10, 70, 91, 43, 0, 209, 0, 225, 6, 153, 10, 41, 0, 209, 0, 225, 2, 75, 155, 153, 5, 104, 27,
147, 11, 123, 139, 66, 163, 217, 0, 224, 208, 70, 83, 43, 5, 209, 0, 224, 158, 32, 100, 247, 253, 254, 42, 33, 1, 68,
138, 70, 67, 70, 89, 96, 59, 41, 1, 209, 132, 70, 73, 88, 115, 70, 66, 105, 220, 96, 58, 28, 32, 247, 254, 248, 155,
40, 0, 219, 67, 28, 32, 247, 254, 254, 250, 73, 137, 70, 67, 96, 11, 40, 0, 219, 62, 32, 100, 247, 253, 254, 14, 154,
6, 104, 19, 70, 73, 104, 154, 88, 115, 50, 68, 105, 219, 0, 155, 24, 210, 104, 18, 70, 65, 96, 57, 70, 74, 32, 1, 88,
181, 240, 1, 250, 81, 28, 4, 40, 0, 209, 0, 224, 135, 33, 0, 70, 66, 145, 0, 146, 1, 144, 2, 33, 128, 28, 40, 34, 8,
35, 0, 247, 254, 254, 20, 28, 5, 28, 32, 240, 1, 250, 50, 45, 0, 219, 83, 70, 75, 33, 0, 88, 240, 34, 9, 120, 51, 145,
0, 145, 1, 145, 2, 247, 254, 254, 4, 28, 5, 40, 0, 219, 70, 104, 179, 43, 0, 209, 107, 34, 1, 146, 10, 231, 57, 75,
105, 70, 66, 96, 26, 32, 100, 247, 253, 253, 207, 70, 74, 88, 179, 153, 6, 105, 220, 104, 11, 34, 0, 100, 26, 28, 32,
104, 157, 247, 255, 253, 104, 40, 0, 218, 74, 32, 100, 52, 16, 247, 253, 253, 190, 0, 164, 75, 98, 25, 44, 96, 99, 32,
100, 247, 253, 253, 183, 75, 96, 32, 100, 96, 99, 247, 253, 253, 178, 75, 94, 32, 100, 96, 99, 247, 253, 253, 173, 70,
73, 88, 115, 105, 216, 247, 255, 248, 228, 28, 5, 32, 100, 247, 253, 253, 164, 154, 6, 70, 73, 104, 19, 104, 154, 88,
115, 50, 68, 105, 219, 0, 155, 24, 210, 104, 18, 45, 0, 218, 147, 70, 67, 66, 26, 209, 0, 224, 165, 34, 1, 70, 83, 146,
10, 43, 5, 208, 0, 231, 96, 155, 7, 154, 8, 153, 9, 96, 26, 74, 75, 35, 1, 96, 57, 96, 19, 176, 13, 28, 40, 188, 60,
70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 70, 82, 42, 0, 221, 0, 231, 84, 230, 219, 32, 100, 247,
253, 253, 116, 153, 6, 104, 11, 231, 100, 37, 4, 35, 1, 66, 109, 147, 10, 231, 58, 6, 27, 70, 74, 14, 27, 88, 176, 104,
114, 43, 0, 209, 67, 37, 3, 35, 1, 66, 109, 147, 10, 231, 46, 74, 46, 70, 65, 96, 17, 152, 5, 28, 33, 247, 255, 251,
185, 40, 0, 219, 44, 153, 7, 75, 40, 96, 11, 152, 5, 28, 33, 247, 255, 251, 124, 40, 0, 219, 35, 155, 5, 29, 34, 0,
146, 24, 154, 28, 35, 153, 5, 51, 20, 0, 155, 24, 203, 28, 8, 28, 33, 247, 255, 251, 33, 74, 30, 75, 28, 153, 11, 96,
26, 96, 57, 40, 0, 218, 0, 231, 7, 74, 36, 35, 1, 112, 19, 74, 33, 35, 0, 96, 19, 32, 50, 247, 253, 253, 48, 155, 7,
154, 8, 153, 9, 96, 26, 96, 57, 231, 163, 75, 18, 154, 7, 96, 19, 155, 11, 96, 59, 230, 242, 37, 4, 66, 109, 230, 239,
6, 18, 33, 0, 14, 18, 146, 0, 145, 1, 145, 2, 34, 11, 33, 1, 247, 254, 253, 61, 28, 5, 40, 0, 219, 0, 231, 58, 231,
125, 155, 9, 74, 15, 96, 59, 35, 1, 96, 19, 153, 8, 154, 7, 37, 1, 96, 17, 66, 109, 231, 128, 70, 192, 19, 112, 128,
32, 0, 15, 66, 64, 19, 112, 129, 52, 19, 112, 128, 28, 19, 115, 73, 152, 0, 3, 13, 64, 19, 112, 128, 37, 0, 0, 24, 3,
0, 0, 25, 3, 0, 0, 24, 1, 19, 112, 129, 48, 19, 112, 129, 64, 74, 5, 153, 9, 35, 1, 96, 19, 96, 57, 154, 8, 155, 7,
37, 1, 96, 26, 66, 109, 231, 92, 70, 192, 19, 112, 129, 48, 181, 0, 176, 129, 33, 0, 247, 255, 254, 27, 176, 1, 188,
2, 71, 8, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 141, 144, 5, 32, 22, 70, 137, 240, 1, 249, 32, 28,
4, 144, 11, 40, 0, 209, 0, 226, 13, 35, 0, 147, 0, 35, 18, 147, 1, 35, 128, 144, 2, 33, 128, 152, 5, 34, 6, 0, 91, 247,
254, 252, 225, 144, 6, 40, 0, 219, 0, 224, 142, 152, 11, 240, 1, 248, 252, 70, 74, 70, 73, 124, 137, 124, 215, 6, 11,
4, 58, 67, 26, 70, 75, 70, 140, 125, 30, 70, 73, 125, 76, 2, 51, 67, 19, 28, 33, 67, 25, 209, 0, 225, 222, 70, 74, 124,
82, 70, 144, 42, 0, 209, 0, 225, 230, 35, 0, 70, 155, 70, 154, 70, 82, 24, 141, 122, 107, 122, 170, 6, 27, 4, 18, 67,
26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 208, 82, 121, 43, 43, 0, 208, 58, 39, 0, 38, 0, 224, 10, 122,
107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226,
6, 27, 4, 18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 1, 248, 179, 122, 99, 122, 162,
6, 27, 4, 18, 67, 26, 122, 227, 2, 27, 67, 19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 1, 248, 165, 121, 43, 55, 1, 54,
18, 66, 159, 219, 210, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240,
1, 248, 147, 70, 74, 70, 75, 70, 73, 124, 137, 124, 91, 124, 215, 70, 152, 4, 58, 6, 11, 67, 26, 70, 75, 70, 140, 125,
30, 70, 73, 125, 76, 2, 51, 67, 19, 28, 33, 67, 25, 34, 1, 35, 13, 68, 147, 68, 154, 69, 195, 219, 0, 225, 123, 70,
97, 6, 11, 4, 58, 67, 26, 2, 51, 67, 19, 28, 33, 67, 25, 231, 142, 28, 33, 34, 18, 70, 72, 240, 2, 249, 17, 28, 32,
240, 1, 248, 104, 70, 73, 120, 138, 120, 203, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 14, 18, 112,
138, 122, 10, 112, 203, 122, 75, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 14, 18, 114, 10, 122,
138, 114, 75, 122, 203, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 14, 18, 114, 138, 123, 10, 114,
203, 123, 75, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 19, 115, 75, 124, 75, 14, 18, 0, 88, 24, 192,
0, 128, 115, 10, 24, 192, 240, 1, 248, 56, 70, 74, 14, 3, 116, 147, 12, 3, 116, 211, 10, 3, 117, 19, 117, 80, 40, 0,
209, 0, 225, 47, 124, 83, 33, 0, 0, 90, 24, 210, 0, 146, 24, 210, 240, 2, 249, 3, 70, 73, 124, 75, 43, 0, 209, 0, 225,
59, 34, 0, 146, 7, 146, 10, 32, 9, 240, 1, 248, 26, 28, 4, 40, 0, 209, 0, 225, 8, 153, 7, 34, 2, 6, 11, 14, 29, 35,
9, 28, 33, 147, 0, 152, 5, 28, 43, 247, 254, 252, 133, 70, 75, 124, 154, 124, 219, 70, 73, 6, 18, 4, 27, 67, 19, 125,
10, 2, 18, 67, 26, 125, 75, 28, 33, 67, 19, 154, 10, 24, 210, 70, 146, 28, 16, 34, 9, 240, 2, 248, 145, 28, 32, 240,
0, 255, 232, 70, 83, 120, 154, 120, 219, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67, 26, 4, 18, 12, 20, 70, 81, 14, 18,
112, 138, 112, 204, 28, 32, 240, 0, 255, 226, 144, 11, 40, 0, 209, 0, 224, 208, 70, 82, 120, 211, 152, 5, 147, 0, 153,
11, 34, 2, 28, 43, 247, 254, 252, 79, 144, 6, 40, 0, 218, 0, 230, 197, 70, 83, 120, 29, 121, 27, 0, 216, 24, 192, 0,
64, 240, 0, 255, 201, 70, 81, 14, 3, 114, 75, 12, 3, 114, 139, 10, 3, 114, 203, 115, 8, 40, 0, 209, 0, 224, 192, 121,
11, 33, 0, 0, 218, 24, 210, 0, 82, 240, 2, 248, 149, 70, 82, 121, 19, 43, 0, 209, 0, 224, 138, 155, 11, 33, 0, 25, 91,
27, 100, 70, 152, 70, 163, 145, 8, 145, 9, 70, 83, 122, 90, 122, 155, 70, 81, 6, 18, 4, 27, 67, 19, 122, 202, 2, 18,
67, 26, 123, 11, 70, 65, 67, 19, 154, 9, 24, 157, 28, 40, 34, 9, 240, 2, 248, 49, 121, 43, 120, 44, 0, 216, 26, 192,
240, 0, 255, 145, 14, 3, 115, 171, 12, 3, 115, 235, 10, 3, 116, 43, 116, 104, 40, 0, 209, 0, 224, 137, 70, 91, 27, 27,
70, 155, 121, 43, 33, 0, 0, 218, 26, 210, 240, 2, 248, 92, 70, 89, 68, 160, 41, 0, 209, 0, 224, 120, 70, 66, 120, 83,
59, 4, 6, 27, 14, 27, 43, 1, 216, 0, 224, 112, 70, 64, 70, 90, 224, 5, 120, 67, 59, 4, 6, 27, 14, 27, 43, 1, 217, 98,
120, 3, 26, 210, 24, 192, 42, 0, 209, 244, 70, 65, 26, 68, 6, 35, 14, 27, 115, 107, 44, 0, 209, 98, 121, 43, 43, 0,
208, 37, 39, 0, 38, 0, 123, 171, 123, 234, 6, 27, 4, 18, 67, 26, 124, 43, 124, 108, 2, 27, 67, 19, 67, 28, 25, 164,
70, 65, 34, 7, 28, 32, 240, 1, 255, 225, 120, 35, 121, 34, 68, 152, 121, 99, 2, 18, 67, 19, 4, 27, 10, 26, 14, 27, 67,
26, 4, 18, 12, 19, 14, 18, 113, 34, 113, 99, 121, 43, 55, 1, 54, 7, 66, 187, 216, 219, 155, 8, 153, 9, 51, 1, 49, 18,
147, 8, 145, 9, 70, 82, 121, 19, 153, 8, 66, 139, 217, 0, 231, 124, 152, 11, 240, 0, 255, 24, 154, 7, 155, 10, 50, 1,
51, 13, 146, 7, 147, 10, 70, 73, 124, 75, 66, 147, 217, 0, 230, 251, 34, 0, 146, 6, 152, 6, 176, 13, 188, 60, 70, 144,
70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 34, 4, 66, 82, 146, 6, 230, 0, 28, 8, 240, 0, 254, 250, 231, 237,
70, 67, 26, 196, 6, 35, 14, 27, 231, 160, 35, 0, 115, 107, 231, 160, 35, 4, 66, 91, 147, 6, 229, 237, 28, 32, 240, 0,
254, 246, 14, 3, 114, 107, 12, 3, 114, 171, 10, 3, 114, 235, 115, 40, 40, 0, 208, 239, 70, 65, 28, 34, 240, 1, 255,
131, 70, 90, 27, 18, 68, 160, 70, 147, 231, 135, 28, 32, 240, 0, 254, 213, 35, 0, 147, 6, 231, 198, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 74, 193, 35, 16, 28, 12, 176, 139, 112, 19, 33, 0, 34, 164, 70, 131, 240, 1, 255,
172, 74, 189, 70, 88, 35, 152, 80, 194, 33, 17, 35, 144, 80, 196, 68, 105, 35, 0, 28, 32, 116, 139, 116, 203, 117, 11,
117, 75, 70, 137, 247, 255, 253, 145, 28, 4, 40, 0, 218, 0, 225, 216, 75, 180, 104, 27, 43, 0, 208, 0, 224, 248, 72,
178, 70, 73, 34, 22, 240, 1, 255, 73, 72, 177, 35, 128, 66, 91, 144, 1, 70, 74, 96, 3, 124, 81, 41, 0, 209, 0, 225,
27, 35, 0, 147, 2, 147, 3, 38, 0, 70, 76, 124, 162, 124, 227, 6, 18, 4, 27, 67, 19, 125, 34, 152, 3, 2, 18, 67, 26,
125, 99, 67, 19, 24, 29, 121, 43, 43, 0, 209, 0, 224, 253, 33, 0, 70, 138, 70, 136, 224, 50, 123, 163, 123, 226, 6,
27, 4, 18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 0, 254, 114, 122, 99, 122, 162, 6,
27, 4, 18, 67, 26, 122, 227, 115, 166, 2, 27, 67, 19, 123, 34, 115, 230, 28, 16, 116, 38, 116, 102, 67, 24, 208, 1,
240, 0, 254, 96, 121, 99, 114, 102, 114, 166, 114, 230, 115, 38, 43, 9, 209, 0, 224, 227, 43, 8, 209, 0, 224, 183, 35,
1, 68, 154, 121, 43, 36, 18, 68, 160, 69, 83, 216, 0, 224, 196, 122, 106, 122, 171, 6, 18, 4, 27, 67, 19, 122, 234,
2, 18, 67, 26, 123, 43, 67, 19, 70, 66, 24, 156, 121, 99, 43, 8, 209, 189, 121, 163, 43, 6, 208, 9, 43, 1, 208, 7, 43,
2, 208, 5, 43, 3, 208, 3, 43, 4, 208, 1, 43, 5, 209, 176, 121, 227, 43, 80, 209, 173, 121, 35, 43, 1, 217, 170, 70,
91, 33, 1, 32, 156, 84, 25, 115, 94, 115, 30, 121, 39, 47, 0, 208, 204, 32, 0, 33, 0, 224, 3, 48, 1, 49, 7, 66, 135,
217, 25, 123, 162, 123, 227, 6, 18, 4, 27, 67, 19, 124, 34, 2, 18, 67, 26, 124, 99, 67, 19, 24, 90, 120, 211, 43, 2,
209, 237, 120, 146, 6, 19, 43, 0, 218, 0, 224, 143, 70, 91, 115, 90, 121, 39, 48, 1, 49, 7, 66, 135, 216, 229, 70, 88,
123, 3, 43, 0, 208, 167, 123, 67, 43, 0, 208, 164, 121, 107, 70, 109, 112, 3, 120, 163, 53, 39, 96, 67, 120, 227, 36,
144, 96, 131, 70, 72, 247, 253, 251, 60, 153, 1, 75, 87, 70, 90, 96, 11, 89, 16, 28, 41, 247, 254, 250, 70, 40, 0, 218,
0, 225, 36, 75, 83, 152, 1, 70, 90, 96, 3, 120, 17, 120, 43, 66, 139, 208, 5, 89, 16, 247, 254, 250, 42, 40, 0, 218,
0, 225, 22, 75, 77, 156, 1, 70, 88, 96, 35, 104, 130, 42, 0, 208, 10, 35, 144, 88, 192, 6, 18, 70, 91, 121, 217, 14,
18, 247, 254, 250, 4, 40, 0, 218, 0, 225, 4, 156, 1, 75, 68, 70, 88, 96, 35, 247, 255, 252, 149, 28, 4, 40, 0, 218,
0, 224, 228, 35, 8, 70, 88, 36, 160, 115, 131, 89, 3, 43, 0, 209, 0, 224, 244, 36, 0, 224, 230, 33, 0, 72, 53, 224,
3, 49, 1, 41, 18, 209, 0, 231, 0, 70, 76, 92, 66, 92, 99, 66, 154, 208, 246, 70, 72, 36, 1, 247, 253, 250, 237, 66,
100, 224, 212, 121, 227, 43, 80, 208, 0, 231, 67, 121, 35, 43, 1, 216, 0, 231, 63, 121, 163, 73, 46, 154, 1, 26, 203,
96, 19, 35, 1, 68, 154, 121, 43, 36, 18, 68, 160, 69, 83, 217, 0, 231, 58, 70, 72, 124, 65, 154, 2, 155, 3, 50, 1, 51,
13, 146, 2, 147, 3, 66, 145, 217, 0, 230, 231, 70, 72, 247, 253, 250, 200, 76, 33, 224, 163, 70, 91, 115, 26, 121, 39,
231, 84, 75, 31, 156, 1, 70, 72, 96, 35, 124, 131, 124, 194, 6, 27, 4, 18, 67, 26, 125, 3, 2, 27, 67, 19, 125, 66, 28,
17, 67, 25, 208, 233, 70, 74, 124, 84, 44, 0, 209, 0, 224, 134, 35, 0, 70, 154, 70, 152, 70, 64, 24, 13, 122, 107, 122,
170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 208, 98, 121, 43, 43, 0, 208, 80, 39, 0,
38, 0, 224, 32, 19, 112, 128, 37, 34, 17, 34, 17, 19, 112, 129, 60, 19, 115, 73, 128, 19, 112, 129, 76, 255, 255, 251,
79, 255, 255, 251, 78, 255, 255, 251, 77, 255, 255, 251, 76, 255, 255, 216, 240, 255, 255, 177, 224, 122, 107, 122,
170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 25, 132, 123, 163, 123, 226, 6, 27, 4,
18, 67, 26, 124, 35, 2, 27, 67, 19, 124, 98, 28, 16, 67, 24, 208, 1, 240, 0, 253, 24, 122, 99, 122, 162, 6, 27, 4, 18,
67, 26, 122, 227, 2, 27, 67, 19, 123, 34, 28, 16, 67, 24, 208, 1, 240, 0, 253, 10, 121, 43, 55, 1, 54, 18, 66, 159,
219, 210, 122, 107, 122, 170, 6, 27, 4, 18, 67, 26, 122, 235, 2, 27, 67, 19, 123, 42, 28, 16, 67, 24, 240, 0, 252, 248,
70, 73, 124, 139, 124, 202, 6, 27, 4, 18, 67, 26, 125, 11, 124, 76, 2, 27, 67, 19, 125, 74, 28, 17, 67, 25, 34, 1, 35,
13, 68, 146, 68, 152, 69, 162, 218, 12, 70, 72, 124, 131, 124, 194, 6, 27, 4, 18, 67, 26, 125, 3, 2, 27, 67, 19, 125,
66, 28, 17, 67, 25, 231, 123, 28, 8, 240, 0, 252, 213, 76, 19, 35, 160, 70, 89, 88, 200, 40, 0, 208, 1, 240, 0, 252,
205, 70, 88, 33, 0, 34, 164, 240, 1, 253, 178, 176, 11, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240,
188, 2, 71, 8, 76, 8, 231, 231, 72, 8, 240, 0, 252, 197, 70, 89, 81, 8, 40, 0, 208, 0, 231, 2, 75, 5, 154, 1, 36, 4,
96, 19, 66, 100, 231, 217, 255, 255, 216, 240, 255, 255, 216, 231, 0, 0, 16, 16, 255, 255, 251, 75, 181, 240, 70, 95,
70, 86, 70, 77, 70, 68, 180, 240, 73, 169, 176, 149, 35, 0, 145, 11, 128, 11, 73, 168, 34, 0, 145, 10, 128, 11, 75,
167, 73, 167, 147, 9, 77, 167, 112, 26, 145, 8, 35, 120, 112, 10, 74, 166, 144, 12, 66, 91, 146, 7, 28, 40, 96, 19,
153, 12, 247, 255, 253, 180, 40, 0, 218, 0, 225, 0, 35, 1, 115, 171, 147, 13, 35, 0, 70, 152, 74, 158, 75, 159, 33,
1, 70, 137, 70, 147, 147, 6, 224, 11, 70, 75, 43, 0, 208, 0, 224, 185, 35, 1, 154, 13, 33, 0, 68, 152, 70, 137, 69,
66, 220, 0, 224, 206, 70, 90, 104, 18, 70, 65, 6, 11, 146, 14, 14, 30, 123, 171, 66, 179, 217, 234, 153, 6, 75, 146,
34, 1, 96, 11, 75, 142, 72, 140, 96, 26, 28, 49, 247, 254, 254, 112, 28, 4, 40, 0, 219, 124, 7, 115, 154, 6, 73, 139,
14, 27, 147, 15, 35, 70, 96, 17, 68, 107, 33, 18, 34, 63, 112, 25, 68, 106, 120, 19, 34, 71, 68, 106, 33, 0, 112, 19,
170, 18, 28, 11, 112, 17, 70, 138, 33, 73, 68, 105, 34, 74, 112, 11, 68, 106, 35, 36, 112, 19, 35, 75, 70, 81, 68, 107,
112, 25, 32, 36, 240, 0, 252, 62, 28, 7, 40, 0, 209, 0, 224, 186, 35, 6, 34, 70, 68, 106, 147, 1, 33, 10, 70, 83, 146,
0, 147, 2, 147, 3, 147, 4, 145, 5, 72, 111, 28, 49, 28, 58, 35, 36, 247, 254, 251, 89, 28, 4, 28, 56, 240, 0, 252, 25,
44, 0, 219, 62, 34, 70, 35, 37, 68, 106, 112, 19, 35, 63, 68, 107, 120, 25, 35, 71, 68, 107, 112, 25, 32, 8, 240, 0,
252, 22, 28, 7, 40, 0, 209, 0, 224, 182, 35, 2, 34, 70, 68, 106, 147, 1, 33, 10, 70, 83, 146, 0, 147, 2, 147, 3, 147,
4, 145, 5, 72, 91, 28, 49, 28, 58, 35, 8, 247, 254, 251, 49, 28, 4, 40, 0, 219, 22, 172, 19, 28, 32, 28, 57, 34, 4,
240, 1, 252, 146, 28, 51, 154, 19, 73, 82, 51, 20, 0, 155, 80, 90, 28, 32, 29, 57, 34, 4, 240, 1, 252, 135, 29, 51,
154, 19, 73, 77, 0, 155, 80, 90, 36, 0, 28, 56, 240, 0, 251, 216, 74, 77, 155, 6, 153, 14, 96, 26, 70, 90, 96, 17, 28,
163, 208, 99, 44, 0, 218, 0, 231, 85, 153, 12, 154, 11, 137, 11, 32, 0, 128, 19, 137, 75, 153, 10, 128, 11, 154, 9,
35, 1, 112, 19, 155, 8, 73, 66, 112, 30, 154, 6, 35, 0, 96, 17, 153, 7, 96, 11, 224, 56, 35, 0, 115, 171, 35, 144, 88,
232, 136, 235, 33, 1, 147, 0, 28, 43, 51, 14, 145, 1, 147, 2, 33, 161, 34, 254, 35, 0, 247, 253, 255, 135, 40, 0, 219,
47, 73, 49, 123, 139, 51, 1, 115, 139, 123, 170, 33, 0, 146, 13, 70, 137, 69, 66, 221, 0, 231, 48, 154, 7, 35, 122,
66, 91, 96, 19, 33, 0, 28, 40, 247, 255, 248, 140, 155, 9, 70, 73, 112, 25, 35, 160, 88, 232, 40, 0, 208, 1, 240, 0,
251, 139, 33, 0, 28, 40, 34, 164, 240, 1, 252, 112, 72, 37, 33, 0, 247, 252, 251, 112, 32, 3, 66, 64, 176, 21, 188,
60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 74, 25, 35, 1, 115, 147, 231, 207, 74, 27, 155, 6,
153, 14, 96, 26, 74, 23, 96, 17, 230, 244, 33, 0, 28, 40, 247, 255, 248, 96, 153, 7, 35, 121, 66, 91, 96, 11, 154, 9,
35, 0, 112, 19, 35, 160, 88, 232, 40, 0, 208, 1, 240, 0, 251, 91, 33, 0, 34, 164, 28, 40, 240, 1, 252, 64, 72, 13, 33,
0, 247, 252, 251, 64, 32, 3, 66, 64, 231, 206, 36, 4, 66, 100, 231, 115, 19, 112, 129, 66, 19, 112, 129, 68, 19, 112,
129, 64, 19, 112, 128, 37, 19, 115, 73, 152, 19, 112, 129, 76, 19, 112, 129, 52, 19, 112, 128, 32, 0, 15, 66, 64, 19,
112, 128, 84, 181, 240, 76, 53, 176, 129, 104, 35, 43, 0, 208, 36, 78, 51, 37, 160, 89, 115, 43, 0, 208, 90, 75, 50,
120, 27, 43, 0, 209, 33, 79, 49, 35, 1, 104, 58, 96, 35, 35, 0, 100, 19, 32, 0, 104, 149, 247, 254, 254, 123, 40, 0,
219, 26, 32, 60, 247, 252, 254, 210, 104, 59, 74, 42, 104, 155, 108, 91, 64, 19, 74, 41, 66, 147, 208, 38, 36, 1, 32,
100, 247, 252, 254, 198, 224, 0, 36, 1, 176, 1, 28, 32, 188, 240, 188, 2, 71, 8, 28, 48, 33, 0, 247, 254, 255, 251,
231, 216, 32, 100, 247, 252, 254, 183, 75, 31, 32, 100, 100, 107, 247, 252, 254, 178, 75, 29, 32, 100, 100, 107, 247,
252, 254, 173, 75, 28, 32, 60, 100, 107, 247, 252, 254, 168, 104, 59, 36, 1, 104, 155, 108, 88, 231, 217, 35, 160, 88,
240, 40, 0, 208, 1, 240, 0, 250, 229, 35, 160, 34, 0, 77, 20, 104, 56, 80, 242, 35, 1, 96, 43, 48, 88, 247, 255, 254,
53, 40, 0, 208, 3, 36, 1, 35, 0, 96, 43, 231, 195, 96, 32, 36, 0, 231, 249, 72, 12, 240, 0, 250, 219, 81, 112, 231,
159, 70, 192, 19, 112, 129, 48, 19, 115, 73, 152, 19, 112, 129, 64, 19, 112, 128, 28, 0, 0, 57, 5, 0, 0, 16, 5, 0, 0,
24, 3, 0, 0, 25, 3, 0, 0, 24, 1, 19, 112, 129, 52, 0, 0, 16, 16, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240,
4, 9, 176, 153, 12, 9, 145, 19, 73, 110, 75, 111, 146, 14, 145, 13, 74, 110, 73, 111, 146, 12, 147, 11, 145, 10, 74,
110, 35, 85, 73, 110, 68, 107, 144, 15, 36, 0, 146, 9, 70, 154, 145, 8, 247, 255, 255, 96, 40, 0, 209, 13, 154, 13,
36, 0, 120, 19, 43, 1, 208, 14, 153, 12, 35, 1, 36, 1, 96, 11, 66, 100, 247, 255, 255, 82, 40, 0, 208, 241, 44, 0, 219,
244, 154, 13, 120, 19, 43, 1, 209, 240, 154, 12, 104, 19, 43, 0, 209, 227, 75, 93, 153, 11, 96, 11, 28, 98, 208, 78,
155, 10, 153, 9, 120, 27, 154, 19, 28, 28, 52, 4, 147, 16, 0, 163, 88, 203, 32, 128, 70, 153, 70, 75, 67, 83, 2, 64,
66, 131, 216, 65, 155, 19, 146, 17, 43, 0, 208, 68, 153, 16, 28, 30, 154, 14, 7, 75, 14, 27, 0, 164, 157, 15, 147, 18,
70, 147, 148, 7, 155, 17, 28, 55, 66, 158, 217, 0, 28, 31, 4, 58, 12, 17, 35, 95, 70, 136, 68, 107, 33, 0, 112, 25,
33, 42, 70, 83, 112, 25, 35, 75, 68, 107, 120, 25, 70, 83, 112, 89, 70, 81, 14, 43, 112, 139, 12, 43, 112, 203, 14,
18, 10, 43, 113, 11, 113, 202, 35, 0, 70, 66, 113, 139, 114, 75, 113, 77, 114, 10, 153, 9, 154, 16, 123, 139, 66, 147,
216, 24, 36, 3, 66, 100, 75, 55, 153, 11, 96, 11, 154, 12, 33, 1, 96, 17, 231, 143, 154, 11, 96, 19, 231, 248, 70, 73,
240, 1, 250, 4, 155, 19, 144, 17, 43, 0, 209, 186, 75, 46, 154, 11, 36, 1, 96, 19, 66, 100, 231, 235, 70, 75, 43, 0,
208, 227, 154, 8, 33, 1, 96, 17, 70, 65, 70, 75, 67, 75, 33, 10, 70, 82, 145, 1, 33, 95, 146, 0, 68, 105, 34, 1, 146,
2, 145, 3, 34, 0, 33, 6, 146, 4, 145, 5, 70, 90, 72, 30, 153, 16, 247, 254, 249, 59, 155, 8, 34, 0, 28, 4, 96, 26, 40,
0, 221, 6, 33, 95, 68, 105, 120, 11, 43, 0, 208, 3, 76, 25, 231, 192, 40, 0, 219, 190, 70, 66, 26, 179, 4, 27, 12, 30,
153, 7, 155, 9, 88, 91, 70, 153, 46, 0, 208, 4, 70, 75, 67, 123, 25, 237, 68, 155, 231, 133, 75, 15, 153, 11, 96, 11,
154, 12, 104, 19, 43, 0, 208, 0, 231, 62, 176, 25, 32, 1, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188,
2, 71, 8, 70, 192, 19, 112, 129, 64, 19, 112, 128, 32, 19, 112, 129, 48, 19, 112, 128, 37, 19, 115, 73, 152, 19, 112,
129, 72, 0, 15, 66, 64, 255, 255, 216, 234, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 4, 9, 176, 153, 12,
9, 145, 17, 73, 119, 146, 13, 145, 11, 74, 119, 75, 119, 73, 120, 37, 0, 144, 14, 149, 16, 146, 9, 147, 7, 145, 6, 224,
15, 73, 117, 37, 0, 145, 10, 120, 11, 43, 1, 208, 25, 155, 9, 34, 1, 37, 1, 96, 26, 66, 109, 154, 16, 50, 1, 146, 16,
42, 3, 220, 111, 154, 11, 104, 19, 43, 0, 209, 0, 147, 16, 247, 255, 254, 88, 40, 0, 208, 230, 45, 0, 219, 234, 73,
103, 145, 10, 120, 11, 43, 1, 209, 229, 153, 9, 104, 11, 43, 0, 209, 230, 75, 100, 154, 7, 96, 19, 28, 105, 208, 92,
75, 98, 153, 6, 120, 27, 154, 17, 147, 15, 51, 4, 147, 12, 0, 155, 88, 203, 32, 128, 70, 153, 70, 75, 67, 83, 2, 64,
146, 18, 66, 131, 217, 4, 70, 73, 240, 1, 249, 74, 154, 17, 144, 18, 42, 0, 209, 0, 224, 153, 155, 13, 153, 15, 70,
155, 70, 144, 7, 75, 74, 84, 14, 27, 70, 108, 158, 14, 147, 19, 52, 85, 146, 8, 155, 18, 70, 71, 69, 152, 217, 0, 28,
31, 4, 58, 12, 17, 35, 95, 70, 138, 68, 107, 33, 0, 112, 25, 35, 40, 33, 79, 112, 35, 68, 105, 14, 51, 120, 9, 112,
163, 12, 51, 112, 227, 10, 51, 112, 97, 113, 35, 14, 18, 35, 0, 70, 81, 113, 102, 113, 163, 113, 226, 114, 33, 114,
99, 154, 6, 153, 15, 123, 147, 66, 139, 216, 21, 37, 3, 66, 109, 75, 59, 153, 7, 96, 11, 154, 9, 33, 1, 96, 17, 154,
16, 50, 1, 146, 16, 42, 3, 221, 143, 15, 235, 34, 1, 64, 83, 6, 27, 14, 24, 224, 71, 154, 7, 96, 19, 231, 238, 70, 74,
42, 0, 208, 230, 153, 8, 35, 1, 96, 11, 70, 82, 33, 10, 70, 75, 67, 83, 145, 1, 34, 0, 33, 95, 146, 2, 68, 105, 146,
4, 34, 6, 145, 3, 146, 5, 153, 15, 152, 6, 70, 90, 148, 0, 247, 254, 248, 65, 153, 8, 35, 0, 28, 5, 96, 11, 40, 0, 221,
48, 34, 95, 68, 106, 120, 19, 43, 0, 209, 41, 70, 65, 70, 82, 26, 139, 4, 27, 153, 12, 12, 27, 154, 6, 70, 152, 0, 139,
88, 211, 70, 153, 70, 67, 43, 0, 208, 4, 70, 75, 67, 123, 25, 246, 68, 155, 231, 141, 75, 22, 153, 7, 96, 11, 154, 9,
104, 19, 43, 0, 208, 0, 231, 66, 153, 10, 120, 11, 43, 1, 208, 0, 231, 61, 32, 1, 176, 25, 188, 60, 70, 144, 70, 153,
70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 77, 13, 231, 155, 40, 0, 218, 209, 231, 152, 75, 8, 154, 7, 37, 1, 96, 19,
66, 109, 231, 149, 70, 192, 19, 112, 129, 80, 19, 112, 129, 48, 19, 112, 128, 32, 19, 115, 73, 152, 19, 112, 129, 64,
0, 15, 66, 64, 19, 112, 128, 37, 19, 112, 129, 72, 255, 255, 216, 234, 181, 240, 70, 87, 70, 78, 70, 69, 180, 224, 73,
74, 104, 10, 70, 136, 42, 0, 209, 70, 75, 72, 77, 73, 70, 153, 35, 1, 66, 91, 104, 47, 70, 73, 96, 11, 111, 59, 103,
122, 43, 0, 208, 98, 76, 68, 35, 1, 104, 38, 32, 0, 96, 35, 70, 154, 247, 252, 254, 204, 40, 0, 219, 41, 32, 0, 247,
253, 253, 43, 104, 41, 96, 38, 104, 138, 28, 22, 54, 68, 108, 82, 40, 0, 219, 4, 75, 59, 64, 26, 75, 59, 66, 154, 208,
34, 35, 0, 100, 11, 32, 0, 247, 254, 251, 217, 40, 0, 219, 44, 104, 43, 104, 155, 108, 90, 35, 1, 96, 35, 75, 50, 64,
26, 75, 50, 66, 154, 208, 19, 70, 75, 104, 24, 188, 28, 70, 144, 70, 153, 70, 162, 188, 240, 188, 2, 71, 8, 104, 41,
96, 38, 104, 138, 28, 22, 54, 68, 108, 82, 231, 222, 32, 0, 231, 239, 70, 81, 96, 33, 28, 56, 48, 88, 247, 255, 251,
179, 40, 0, 209, 229, 75, 37, 34, 1, 112, 26, 75, 36, 70, 65, 96, 32, 96, 10, 96, 24, 231, 222, 32, 100, 247, 252, 252,
3, 75, 33, 32, 100, 96, 51, 247, 252, 251, 254, 75, 31, 32, 100, 96, 51, 247, 252, 251, 249, 75, 30, 96, 51, 104, 43,
104, 155, 108, 91, 35, 1, 96, 35, 231, 199, 75, 19, 34, 1, 96, 26, 104, 43, 104, 155, 108, 91, 66, 19, 209, 2, 32, 100,
66, 64, 231, 190, 32, 0, 247, 254, 252, 247, 104, 43, 104, 155, 108, 90, 40, 0, 219, 4, 75, 10, 64, 26, 75, 10, 66,
154, 208, 5, 32, 100, 247, 252, 251, 214, 32, 0, 247, 253, 255, 15, 32, 101, 66, 64, 231, 168, 19, 112, 129, 60, 19,
112, 129, 76, 19, 112, 128, 28, 19, 112, 129, 52, 0, 0, 57, 5, 0, 0, 16, 5, 19, 112, 128, 36, 19, 112, 129, 48, 0, 0,
24, 3, 0, 0, 25, 3, 0, 0, 24, 1, 71, 112, 70, 192, 181, 0, 75, 4, 176, 129, 28, 1, 104, 24, 247, 251, 255, 143, 176,
1, 188, 1, 71, 0, 19, 112, 129, 84, 181, 0, 75, 9, 28, 1, 176, 129, 104, 24, 247, 251, 255, 123, 40, 0, 208, 2, 176,
1, 188, 2, 71, 8, 72, 4, 33, 0, 247, 251, 255, 210, 32, 100, 247, 252, 251, 153, 231, 251, 19, 112, 129, 84, 19, 112,
128, 104, 181, 0, 176, 129, 247, 251, 255, 106, 176, 1, 188, 1, 71, 0, 70, 192, 181, 0, 176, 129, 247, 251, 255, 98,
176, 1, 188, 1, 71, 0, 70, 192, 181, 0, 176, 129, 247, 251, 255, 90, 176, 1, 188, 1, 71, 0, 70, 192, 181, 16, 28, 4,
247, 251, 255, 46, 28, 32, 188, 16, 188, 2, 71, 8, 181, 16, 28, 4, 247, 251, 255, 38, 28, 32, 188, 16, 188, 2, 71, 8,
181, 16, 28, 4, 247, 251, 255, 30, 28, 32, 188, 16, 188, 2, 71, 8, 181, 0, 33, 192, 176, 129, 72, 5, 2, 9, 247, 251,
255, 15, 75, 4, 176, 1, 96, 24, 32, 0, 188, 2, 71, 8, 70, 192, 19, 112, 137, 128, 19, 112, 129, 84, 181, 240, 70, 71,
180, 128, 78, 36, 176, 132, 104, 52, 28, 7, 28, 13, 44, 0, 208, 36, 77, 33, 104, 44, 44, 0, 208, 18, 72, 32, 28, 57,
34, 6, 240, 1, 248, 1, 40, 0, 209, 6, 176, 4, 28, 32, 188, 4, 70, 144, 188, 240, 188, 2, 71, 8, 28, 32, 240, 0, 249,
39, 35, 0, 96, 43, 104, 48, 28, 57, 240, 0, 249, 49, 96, 40, 40, 0, 208, 4, 72, 19, 28, 57, 34, 6, 240, 1, 248, 19,
104, 44, 231, 229, 247, 255, 254, 183, 73, 16, 28, 8, 70, 136, 247, 252, 252, 96, 75, 14, 28, 2, 96, 24, 40, 0, 209,
1, 36, 0, 231, 215, 70, 65, 104, 11, 72, 11, 146, 0, 33, 0, 34, 0, 149, 1, 148, 2, 240, 0, 250, 205, 96, 48, 40, 0,
209, 191, 36, 0, 231, 200, 19, 112, 129, 92, 19, 112, 129, 88, 19, 112, 128, 40, 19, 115, 75, 56, 19, 115, 75, 60, 19,
112, 66, 201, 181, 240, 79, 15, 28, 30, 104, 59, 28, 21, 28, 12, 28, 48, 28, 25, 67, 81, 176, 129, 247, 251, 254, 164,
28, 32, 28, 41, 28, 50, 247, 255, 253, 115, 40, 0, 209, 4, 32, 1, 176, 1, 188, 240, 188, 2, 71, 8, 104, 59, 28, 48,
28, 25, 67, 105, 247, 251, 254, 182, 32, 0, 231, 243, 19, 115, 75, 56, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 176, 133, 144, 1, 104, 7, 70, 146, 106, 126, 70, 152, 28, 10, 30, 179, 64, 218, 4, 19, 12, 27, 147, 2, 155, 1,
122, 60, 104, 90, 155, 2, 106, 61, 51, 128, 0, 91, 90, 211, 104, 120, 70, 153, 43, 0, 208, 84, 30, 107, 64, 227, 70,
155, 28, 10, 30, 163, 27, 54, 64, 218, 8, 131, 150, 3, 59, 1, 70, 94, 28, 13, 64, 22, 64, 29, 209, 71, 69, 128, 211,
51, 122, 59, 70, 69, 64, 221, 106, 58, 25, 171, 66, 147, 216, 58, 154, 3, 106, 249, 70, 75, 64, 147, 24, 113, 24, 201,
107, 60, 107, 184, 28, 42, 70, 83, 240, 0, 248, 136, 28, 4, 40, 0, 209, 33, 122, 59, 28, 41, 64, 153, 70, 67, 26, 91,
25, 118, 70, 152, 69, 94, 217, 16, 43, 0, 208, 14, 155, 2, 51, 1, 4, 27, 12, 27, 147, 2, 155, 1, 104, 90, 155, 2, 51,
128, 0, 91, 90, 211, 70, 153, 43, 0, 208, 20, 38, 0, 68, 138, 104, 120, 69, 128, 210, 203, 70, 66, 42, 0, 209, 46, 36,
0, 176, 5, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 27, 149, 231, 194, 36, 1, 231,
241, 154, 3, 106, 249, 70, 75, 64, 147, 24, 113, 24, 201, 107, 60, 107, 184, 108, 251, 34, 1, 240, 0, 248, 73, 28, 4,
40, 0, 209, 226, 104, 123, 0, 168, 26, 28, 69, 160, 210, 32, 108, 249, 70, 66, 24, 9, 70, 80, 240, 0, 255, 55, 35, 0,
68, 194, 54, 1, 70, 152, 104, 120, 231, 151, 154, 3, 106, 249, 70, 75, 64, 147, 24, 113, 24, 201, 107, 60, 107, 184,
108, 251, 34, 1, 240, 0, 248, 41, 28, 4, 40, 0, 209, 194, 108, 249, 70, 80, 70, 66, 240, 0, 255, 29, 231, 188, 108,
249, 28, 34, 24, 9, 70, 80, 240, 0, 255, 22, 70, 67, 27, 27, 54, 1, 70, 152, 68, 162, 69, 94, 217, 168, 43, 0, 208,
166, 155, 2, 51, 1, 4, 27, 12, 27, 147, 2, 155, 1, 104, 90, 155, 2, 51, 128, 0, 91, 90, 211, 70, 153, 43, 0, 208, 171,
38, 0, 104, 120, 231, 98, 71, 32, 70, 192, 181, 16, 104, 2, 28, 4, 109, 19, 59, 1, 101, 19, 104, 64, 247, 251, 254,
59, 28, 32, 247, 251, 254, 56, 188, 16, 188, 1, 71, 0, 70, 192, 181, 240, 70, 87, 70, 70, 180, 192, 35, 72, 90, 194,
122, 3, 176, 129, 65, 26, 70, 144, 143, 130, 28, 6, 70, 138, 42, 0, 208, 32, 37, 0, 39, 0, 224, 3, 53, 1, 68, 71, 66,
170, 217, 25, 104, 51, 25, 91, 123, 27, 43, 0, 208, 246, 106, 241, 34, 1, 49, 1, 24, 121, 107, 176, 108, 243, 107, 52,
240, 0, 248, 72, 108, 241, 70, 80, 34, 6, 240, 0, 254, 149, 40, 0, 208, 14, 143, 178, 53, 1, 68, 71, 66, 170, 216, 229,
34, 0, 70, 146, 176, 1, 70, 80, 188, 12, 70, 144, 70, 154, 188, 240, 188, 2, 71, 8, 32, 12, 247, 251, 254, 3, 70, 130,
40, 0, 208, 33, 70, 82, 96, 22, 96, 149, 35, 72, 90, 240, 247, 251, 253, 249, 70, 82, 28, 3, 96, 80, 40, 0, 208, 11,
106, 241, 107, 176, 49, 1, 25, 201, 107, 52, 70, 66, 240, 0, 248, 24, 109, 51, 51, 1, 101, 51, 231, 217, 72, 7, 73,
8, 247, 251, 253, 214, 70, 80, 247, 251, 253, 213, 35, 0, 70, 154, 231, 207, 72, 2, 73, 3, 247, 251, 253, 204, 231,
202, 70, 192, 19, 112, 128, 136, 19, 112, 128, 148, 71, 32, 70, 192, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180,
240, 176, 129, 70, 139, 153, 10, 70, 130, 32, 84, 70, 145, 28, 31, 70, 136, 247, 251, 253, 194, 28, 5, 47, 0, 209, 85,
32, 128, 0, 128, 247, 251, 253, 187, 35, 128, 2, 27, 97, 43, 70, 66, 35, 15, 117, 43, 23, 211, 12, 91, 68, 67, 19, 219,
67, 123, 97, 171, 75, 137, 96, 40, 97, 235, 155, 11, 28, 6, 98, 235, 153, 12, 41, 0, 208, 62, 33, 0, 28, 58, 240, 0,
254, 144, 35, 87, 112, 51, 35, 66, 112, 115, 35, 70, 112, 179, 35, 83, 28, 60, 112, 243, 47, 0, 209, 0, 224, 232, 35,
0, 51, 1, 6, 27, 8, 100, 14, 27, 44, 0, 209, 249, 59, 1, 6, 27, 14, 27, 70, 66, 114, 51, 14, 19, 113, 51, 12, 19, 113,
115, 10, 19, 113, 179, 113, 242, 105, 170, 75, 115, 66, 154, 216, 0, 224, 215, 75, 114, 66, 154, 216, 0, 224, 213, 75,
113, 66, 154, 216, 0, 224, 211, 75, 112, 66, 154, 216, 0, 224, 209, 75, 111, 66, 154, 216, 0, 224, 207, 34, 11, 125,
43, 24, 211, 114, 115, 224, 7, 28, 56, 231, 169, 70, 72, 153, 11, 34, 1, 28, 51, 240, 0, 248, 221, 120, 51, 120, 114,
6, 27, 4, 18, 67, 26, 120, 179, 2, 27, 67, 19, 120, 242, 67, 26, 75, 99, 66, 154, 208, 0, 224, 167, 75, 98, 104, 27,
66, 92, 65, 92, 44, 0, 208, 24, 47, 0, 208, 0, 224, 116, 44, 0, 208, 19, 70, 65, 41, 0, 208, 16, 121, 50, 121, 115,
6, 18, 4, 27, 67, 19, 121, 178, 2, 18, 67, 26, 121, 243, 67, 19, 69, 67, 208, 4, 72, 86, 73, 86, 247, 251, 253, 39,
224, 112, 122, 51, 36, 1, 28, 39, 64, 159, 96, 111, 122, 51, 105, 41, 114, 43, 121, 51, 121, 114, 6, 27, 4, 18, 67,
26, 121, 179, 121, 240, 2, 27, 67, 19, 67, 24, 96, 232, 240, 0, 253, 3, 28, 57, 67, 65, 97, 169, 122, 114, 125, 43,
64, 148, 98, 106, 26, 210, 105, 235, 64, 209, 64, 211, 4, 27, 12, 27, 4, 58, 133, 107, 12, 18, 51, 128, 133, 41, 0,
91, 30, 81, 24, 201, 66, 82, 64, 17, 35, 72, 82, 233, 70, 91, 99, 107, 141, 43, 70, 82, 99, 42, 8, 219, 122, 42, 98,
44, 26, 228, 70, 73, 64, 212, 99, 169, 100, 44, 153, 12, 41, 0, 209, 58, 100, 105, 35, 72, 90, 233, 108, 40, 65, 17,
56, 1, 240, 0, 252, 210, 104, 106, 4, 0, 28, 19, 12, 0, 59, 12, 135, 168, 66, 152, 217, 0, 135, 171, 28, 16, 247, 251,
252, 226, 35, 0, 100, 232, 101, 43, 176, 1, 28, 40, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71,
8, 122, 51, 28, 58, 70, 156, 33, 0, 28, 75, 6, 27, 8, 82, 28, 8, 14, 25, 42, 0, 209, 248, 69, 96, 209, 0, 231, 124,
72, 29, 73, 30, 247, 251, 252, 181, 28, 40, 247, 251, 252, 180, 28, 48, 247, 251, 252, 177, 37, 0, 231, 219, 30, 120,
24, 192, 66, 123, 64, 24, 247, 251, 252, 181, 141, 42, 100, 104, 8, 210, 33, 255, 240, 0, 253, 157, 122, 42, 231, 183,
35, 255, 231, 30, 72, 15, 73, 17, 247, 251, 252, 153, 231, 226, 34, 6, 231, 54, 34, 7, 231, 52, 34, 8, 231, 50, 34,
9, 231, 48, 34, 10, 231, 46, 0, 4, 96, 144, 0, 63, 255, 255, 0, 127, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 3,
255, 255, 255, 87, 66, 70, 83, 19, 112, 129, 96, 19, 112, 128, 136, 19, 112, 129, 0, 19, 112, 128, 224, 19, 112, 128,
212, 71, 80, 70, 192, 181, 240, 70, 95, 70, 86, 70, 77, 70, 68, 180, 240, 176, 177, 144, 14, 28, 24, 145, 13, 146, 12,
147, 11, 247, 251, 252, 116, 28, 5, 33, 0, 152, 12, 34, 1, 28, 43, 156, 14, 240, 0, 251, 146, 40, 0, 208, 0, 226, 177,
35, 255, 0, 91, 92, 235, 43, 85, 209, 0, 226, 226, 172, 32, 28, 32, 33, 0, 34, 64, 240, 0, 253, 75, 32, 1, 66, 64, 33,
0, 145, 17, 144, 16, 35, 227, 120, 42, 0, 91, 24, 235, 120, 110, 120, 168, 70, 163, 70, 148, 120, 236, 73, 217, 147,
10, 34, 228, 75, 216, 0, 82, 24, 105, 24, 170, 24, 235, 145, 9, 146, 8, 147, 7, 33, 235, 74, 213, 35, 236, 0, 73, 0,
91, 24, 105, 24, 170, 24, 235, 145, 6, 146, 5, 147, 4, 70, 90, 122, 82, 70, 89, 122, 9, 70, 91, 70, 144, 70, 98, 70,
137, 122, 159, 122, 217, 6, 19, 4, 50, 67, 26, 2, 3, 70, 138, 67, 19, 73, 201, 67, 35, 66, 139, 209, 0, 226, 160, 70,
91, 121, 25, 41, 0, 209, 0, 226, 97, 70, 68, 4, 58, 2, 35, 67, 19, 70, 78, 70, 80, 67, 51, 6, 2, 67, 19, 70, 152, 41,
15, 208, 0, 226, 104, 28, 25, 152, 12, 34, 1, 28, 43, 156, 14, 240, 0, 251, 49, 40, 0, 208, 0, 226, 80, 158, 7, 152,
9, 120, 50, 120, 3, 153, 10, 2, 27, 6, 18, 67, 26, 156, 8, 120, 11, 152, 6, 67, 26, 120, 0, 120, 35, 153, 5, 144, 18,
4, 27, 67, 26, 120, 9, 70, 70, 75, 175, 24, 183, 154, 4, 145, 19, 24, 235, 120, 18, 147, 15, 120, 28, 70, 146, 152,
12, 28, 57, 34, 1, 28, 43, 158, 14, 70, 161, 240, 0, 251, 10, 40, 0, 208, 0, 226, 40, 120, 40, 120, 110, 6, 3, 70, 132,
120, 168, 4, 50, 67, 26, 120, 236, 2, 3, 67, 19, 73, 159, 67, 35, 66, 139, 209, 0, 226, 145, 153, 19, 70, 82, 4, 19,
2, 10, 67, 19, 154, 18, 70, 73, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 226, 6, 70, 66, 24, 140, 152, 12, 28, 33, 34,
1, 28, 43, 158, 14, 240, 0, 250, 226, 40, 0, 208, 0, 226, 0, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18,
67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 20, 120,
18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 21, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 250, 189, 40, 0, 208,
0, 225, 219, 120, 40, 120, 110, 6, 3, 70, 132, 120, 168, 4, 50, 67, 26, 120, 236, 2, 3, 67, 19, 73, 121, 67, 35, 66,
139, 209, 0, 226, 80, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 20, 153, 21, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0,
225, 185, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 250, 149, 40, 0, 208, 0, 225, 179, 152,
9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67,
26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 22, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 23, 152, 12, 28, 57,
34, 1, 28, 43, 158, 14, 240, 0, 250, 112, 40, 0, 208, 0, 225, 142, 120, 40, 120, 110, 6, 3, 70, 132, 120, 168, 4, 50,
67, 26, 120, 236, 2, 3, 67, 19, 73, 82, 67, 35, 66, 139, 209, 0, 226, 15, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154,
22, 153, 23, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 225, 108, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158,
14, 240, 0, 250, 72, 40, 0, 208, 0, 225, 102, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7,
120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 24, 120, 18, 120, 27,
120, 36, 70, 145, 70, 154, 148, 25, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 250, 35, 40, 0, 208, 0, 225, 65,
120, 40, 120, 110, 6, 3, 70, 132, 120, 168, 4, 50, 67, 26, 120, 236, 2, 3, 67, 19, 73, 44, 67, 35, 66, 139, 209, 0,
225, 206, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 24, 153, 25, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0, 225, 31, 70,
66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 249, 251, 40, 0, 208, 0, 225, 25, 152, 9, 153, 8, 120,
2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167,
155, 4, 154, 5, 156, 15, 145, 26, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 27, 152, 12, 28, 57, 34, 1, 28,
43, 158, 14, 240, 0, 249, 214, 40, 0, 208, 0, 224, 244, 120, 40, 120, 110, 6, 3, 70, 132, 120, 168, 4, 50, 67, 26, 120,
236, 2, 3, 67, 19, 73, 5, 67, 35, 66, 139, 209, 0, 225, 69, 224, 9, 0, 0, 1, 199, 0, 0, 1, 201, 0, 0, 1, 215, 87, 66,
70, 83, 0, 0, 1, 217, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154, 26, 153, 27, 67, 19, 6, 10, 28, 25, 67, 17, 209, 0,
224, 199, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240, 0, 249, 163, 40, 0, 208, 0, 224, 193, 152,
9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6, 67, 26, 120, 3, 120, 9, 6, 27, 67,
26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 28, 120, 18, 120, 27, 120, 36, 70, 145, 70, 154, 148, 29, 152, 12, 28, 57,
34, 1, 28, 43, 158, 14, 240, 0, 249, 126, 40, 0, 208, 0, 224, 156, 120, 40, 120, 110, 6, 3, 70, 132, 120, 168, 4, 50,
67, 26, 120, 236, 2, 3, 67, 19, 73, 179, 67, 35, 66, 139, 209, 0, 224, 249, 70, 82, 70, 73, 4, 19, 2, 10, 67, 19, 154,
28, 153, 29, 67, 19, 6, 10, 28, 25, 67, 17, 208, 123, 70, 66, 24, 140, 152, 12, 28, 33, 34, 1, 28, 43, 158, 14, 240,
0, 249, 87, 40, 0, 209, 118, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26, 152, 7, 120, 51, 153, 6,
67, 26, 120, 3, 120, 9, 6, 27, 67, 26, 24, 167, 155, 4, 154, 5, 156, 15, 145, 30, 120, 18, 120, 27, 120, 36, 70, 145,
70, 154, 148, 31, 152, 12, 28, 57, 34, 1, 28, 43, 158, 14, 240, 0, 249, 51, 40, 0, 209, 82, 120, 40, 120, 110, 6, 3,
70, 132, 120, 168, 4, 50, 67, 26, 120, 236, 2, 3, 67, 19, 73, 142, 67, 35, 66, 139, 209, 0, 224, 235, 70, 82, 70, 73,
4, 19, 2, 10, 67, 19, 154, 30, 153, 31, 67, 19, 6, 10, 28, 25, 67, 17, 208, 49, 70, 66, 24, 84, 152, 12, 28, 33, 34,
1, 28, 43, 158, 14, 240, 0, 249, 13, 40, 0, 209, 44, 152, 9, 153, 8, 120, 2, 120, 11, 158, 10, 4, 27, 2, 18, 67, 26,
152, 7, 120, 51, 67, 26, 120, 3, 152, 12, 6, 27, 67, 26, 24, 167, 28, 57, 34, 1, 28, 43, 156, 14, 240, 0, 248, 244,
40, 0, 209, 20, 120, 46, 120, 168, 6, 51, 70, 180, 120, 110, 120, 236, 4, 50, 67, 26, 2, 3, 67, 19, 73, 111, 67, 35,
66, 139, 209, 0, 224, 185, 171, 44, 69, 155, 208, 2, 33, 16, 68, 139, 229, 125, 28, 40, 247, 251, 249, 168, 36, 0, 176,
49, 28, 32, 188, 60, 70, 144, 70, 153, 70, 162, 70, 171, 188, 240, 188, 2, 71, 8, 28, 25, 152, 12, 34, 1, 28, 43, 156,
14, 240, 0, 248, 200, 28, 1, 40, 0, 209, 231, 120, 46, 120, 168, 6, 51, 70, 180, 120, 110, 120, 236, 4, 50, 67, 26,
2, 3, 67, 19, 74, 89, 67, 35, 66, 147, 209, 211, 155, 17, 154, 59, 66, 147, 209, 0, 224, 165, 153, 16, 69, 136, 208,
203, 154, 17, 70, 67, 50, 1, 146, 17, 147, 16, 231, 197, 70, 90, 121, 17, 229, 96, 75, 79, 92, 235, 43, 170, 208, 0,
229, 23, 28, 232, 73, 77, 34, 4, 240, 0, 250, 234, 40, 0, 209, 0, 229, 15, 76, 75, 28, 40, 48, 54, 28, 33, 34, 3, 240,
0, 250, 224, 40, 0, 209, 0, 229, 5, 28, 40, 48, 82, 28, 33, 34, 3, 240, 0, 250, 215, 40, 0, 209, 0, 228, 252, 38, 223,
172, 32, 0, 118, 25, 169, 28, 32, 34, 64, 240, 0, 250, 2, 228, 249, 154, 59, 155, 17, 66, 154, 208, 92, 153, 16, 66,
185, 209, 0, 230, 188, 51, 1, 147, 17, 151, 16, 230, 184, 154, 59, 155, 17, 66, 154, 208, 80, 153, 16, 66, 185, 209,
0, 230, 253, 51, 1, 147, 17, 151, 16, 230, 249, 154, 59, 155, 17, 66, 154, 208, 68, 153, 16, 66, 143, 209, 0, 229, 101,
51, 1, 147, 17, 151, 16, 229, 97, 154, 59, 155, 17, 66, 154, 208, 56, 153, 16, 66, 185, 209, 0, 229, 166, 51, 1, 147,
17, 151, 16, 229, 162, 154, 59, 155, 17, 66, 154, 208, 44, 153, 16, 66, 185, 209, 0, 229, 231, 51, 1, 147, 17, 151,
16, 229, 227, 154, 59, 155, 17, 66, 154, 208, 32, 153, 16, 66, 185, 209, 0, 230, 40, 51, 1, 147, 17, 151, 16, 230, 36,
154, 59, 155, 17, 66, 154, 208, 20, 153, 16, 66, 185, 209, 0, 231, 11, 51, 1, 147, 17, 151, 16, 231, 7, 154, 59, 155,
17, 66, 154, 208, 8, 153, 16, 66, 143, 209, 0, 231, 61, 154, 17, 151, 16, 50, 1, 146, 17, 231, 56, 35, 0, 147, 0, 151,
1, 156, 60, 152, 14, 153, 13, 154, 12, 155, 11, 148, 2, 247, 255, 251, 25, 28, 4, 28, 40, 247, 251, 248, 219, 231, 50,
70, 67, 145, 0, 147, 1, 231, 238, 87, 66, 70, 83, 0, 0, 1, 255, 19, 112, 129, 28, 19, 112, 129, 36, 71, 32, 71, 48,
230, 0, 0, 16, 225, 47, 255, 30, 230, 0, 0, 48, 225, 47, 255, 30, 230, 0, 0, 80, 225, 47, 255, 30, 230, 0, 0, 112, 225,
47, 255, 30, 230, 0, 0, 144, 225, 47, 255, 30, 230, 0, 0, 176, 225, 47, 255, 30, 230, 0, 0, 208, 225, 47, 255, 30, 230,
0, 0, 240, 225, 47, 255, 30, 230, 0, 1, 16, 225, 47, 255, 30, 230, 0, 1, 48, 225, 47, 255, 30, 230, 0, 1, 80, 225, 47,
255, 30, 230, 0, 1, 112, 225, 47, 255, 30, 230, 0, 1, 144, 225, 47, 255, 30, 230, 0, 1, 176, 225, 47, 255, 30, 230,
0, 1, 208, 225, 47, 255, 30, 230, 0, 1, 240, 225, 47, 255, 30, 230, 0, 2, 16, 225, 47, 255, 30, 230, 0, 2, 48, 225,
47, 255, 30, 230, 0, 2, 80, 225, 47, 255, 30, 230, 0, 2, 112, 225, 47, 255, 30, 230, 0, 2, 144, 225, 47, 255, 30, 230,
0, 2, 176, 225, 47, 255, 30, 230, 0, 2, 208, 225, 47, 255, 30, 230, 0, 2, 240, 225, 47, 255, 30, 230, 0, 3, 16, 225,
47, 255, 30, 230, 0, 3, 48, 225, 47, 255, 30, 230, 0, 3, 80, 225, 47, 255, 30, 230, 0, 3, 112, 225, 47, 255, 30, 230,
0, 3, 144, 225, 47, 255, 30, 230, 0, 3, 176, 225, 47, 255, 30, 230, 0, 3, 208, 225, 47, 255, 30, 230, 0, 3, 240, 225,
47, 255, 30, 230, 0, 4, 16, 225, 47, 255, 30, 230, 0, 4, 48, 225, 47, 255, 30, 230, 0, 4, 80, 225, 47, 255, 30, 230,
0, 4, 112, 225, 47, 255, 30, 230, 0, 4, 144, 225, 47, 255, 30, 230, 0, 4, 176, 225, 47, 255, 30, 230, 0, 4, 208, 225,
47, 255, 30, 230, 0, 4, 240, 225, 47, 255, 30, 230, 0, 5, 16, 225, 47, 255, 30, 230, 0, 5, 48, 225, 47, 255, 30, 230,
0, 5, 80, 225, 47, 255, 30, 230, 0, 6, 144, 225, 47, 255, 30, 230, 0, 7, 240, 225, 47, 255, 30, 230, 0, 8, 16, 225,
47, 255, 30, 230, 0, 10, 16, 225, 47, 255, 30, 41, 0, 208, 52, 35, 1, 34, 0, 180, 16, 66, 136, 211, 44, 36, 1, 7, 36,
66, 161, 210, 4, 66, 129, 210, 2, 1, 9, 1, 27, 231, 248, 0, 228, 66, 161, 210, 4, 66, 129, 210, 2, 0, 73, 0, 91, 231,
248, 66, 136, 211, 1, 26, 64, 67, 26, 8, 76, 66, 160, 211, 2, 27, 0, 8, 92, 67, 34, 8, 140, 66, 160, 211, 2, 27, 0,
8, 156, 67, 34, 8, 204, 66, 160, 211, 2, 27, 0, 8, 220, 67, 34, 40, 0, 208, 3, 9, 27, 208, 1, 9, 9, 231, 227, 28, 16,
188, 16, 71, 112, 181, 2, 240, 0, 248, 94, 32, 0, 188, 6, 71, 16, 70, 192, 181, 3, 247, 255, 255, 191, 188, 14, 67,
66, 26, 137, 71, 24, 70, 192, 41, 0, 208, 65, 180, 16, 28, 4, 64, 76, 70, 164, 35, 1, 34, 0, 41, 0, 213, 0, 66, 73,
40, 0, 213, 0, 66, 64, 66, 136, 211, 44, 36, 1, 7, 36, 66, 161, 210, 4, 66, 129, 210, 2, 1, 9, 1, 27, 231, 248, 0, 228,
66, 161, 210, 4, 66, 129, 210, 2, 0, 73, 0, 91, 231, 248, 66, 136, 211, 1, 26, 64, 67, 26, 8, 76, 66, 160, 211, 2, 27,
0, 8, 92, 67, 34, 8, 140, 66, 160, 211, 2, 27, 0, 8, 156, 67, 34, 8, 204, 66, 160, 211, 2, 27, 0, 8, 220, 67, 34, 40,
0, 208, 3, 9, 27, 208, 1, 9, 9, 231, 227, 28, 16, 70, 100, 44, 0, 213, 0, 66, 64, 188, 16, 71, 112, 181, 2, 240, 0,
248, 11, 32, 0, 188, 6, 71, 16, 181, 3, 247, 255, 255, 179, 188, 14, 67, 66, 26, 137, 71, 24, 70, 192, 71, 112, 70,
192, 181, 112, 28, 14, 28, 21, 28, 4, 42, 3, 217, 32, 28, 51, 67, 3, 7, 154, 208, 18, 120, 35, 120, 8, 66, 131, 209,
27, 30, 106, 224, 6, 52, 1, 49, 1, 120, 35, 120, 8, 58, 1, 66, 131, 209, 18, 42, 0, 209, 246, 32, 0, 188, 112, 188,
2, 71, 8, 104, 2, 104, 11, 66, 154, 209, 4, 61, 4, 48, 4, 49, 4, 45, 3, 216, 246, 28, 4, 45, 0, 209, 224, 231, 238,
26, 24, 231, 237, 181, 240, 28, 7, 28, 14, 28, 4, 28, 21, 28, 8, 28, 17, 42, 15, 217, 3, 28, 51, 67, 59, 7, 154, 208,
11, 41, 0, 208, 5, 34, 0, 92, 131, 84, 163, 50, 1, 66, 138, 209, 250, 28, 56, 188, 240, 188, 2, 71, 8, 28, 58, 28, 49,
28, 40, 104, 11, 96, 19, 104, 75, 96, 83, 104, 139, 96, 147, 104, 203, 56, 16, 96, 211, 49, 16, 50, 16, 40, 15, 216,
242, 28, 43, 59, 16, 9, 26, 1, 17, 50, 1, 1, 18, 26, 89, 24, 176, 24, 188, 41, 3, 217, 216, 34, 0, 88, 131, 80, 163,
50, 4, 26, 139, 43, 3, 216, 249, 31, 11, 8, 154, 0, 145, 50, 1, 0, 146, 26, 89, 24, 128, 24, 164, 231, 200, 181, 240,
28, 7, 70, 140, 28, 16, 28, 57, 7, 186, 208, 14, 40, 0, 208, 73, 70, 98, 6, 19, 56, 1, 14, 27, 34, 3, 224, 2, 40, 0,
208, 65, 56, 1, 112, 11, 49, 1, 66, 17, 209, 248, 28, 5, 28, 10, 40, 3, 217, 46, 35, 255, 70, 98, 64, 26, 2, 19, 67,
19, 4, 26, 28, 20, 28, 14, 67, 28, 40, 15, 217, 18, 28, 2, 28, 11, 58, 16, 96, 28, 96, 92, 96, 156, 96, 220, 51, 16,
42, 15, 216, 247, 28, 3, 59, 16, 28, 29, 9, 27, 51, 1, 34, 15, 1, 27, 64, 21, 24, 206, 45, 3, 217, 13, 34, 0, 80, 180,
50, 4, 26, 171, 43, 3, 216, 250, 31, 43, 28, 29, 8, 155, 51, 1, 34, 3, 0, 155, 64, 21, 24, 246, 28, 50, 45, 0, 208,
7, 70, 97, 6, 11, 14, 25, 35, 0, 84, 209, 51, 1, 66, 157, 209, 251, 28, 56, 188, 240, 188, 2, 71, 8, 70, 192, 181, 48,
28, 11, 67, 3, 7, 154, 209, 28, 104, 2, 104, 11, 66, 154, 209, 24, 76, 16, 25, 19, 67, 147, 74, 15, 66, 19, 209, 11,
28, 20, 48, 4, 49, 4, 104, 2, 104, 11, 66, 154, 209, 11, 77, 9, 25, 83, 67, 147, 66, 35, 208, 244, 32, 0, 224, 9, 120,
10, 66, 154, 209, 5, 48, 1, 49, 1, 120, 3, 43, 0, 209, 247, 120, 10, 26, 152, 188, 48, 188, 2, 71, 8, 254, 254, 254,
255, 128, 128, 128, 128, 181, 112, 28, 4, 42, 0, 208, 65, 28, 11, 67, 3, 7, 152, 209, 44, 28, 32, 28, 13, 42, 3, 217,
38, 104, 36, 104, 11, 66, 156, 209, 34, 58, 4, 42, 0, 208, 50, 73, 27, 24, 99, 73, 27, 67, 163, 66, 11, 209, 44, 28,
12, 224, 11, 104, 1, 104, 43, 66, 153, 209, 19, 58, 4, 42, 0, 208, 35, 78, 19, 25, 139, 67, 139, 66, 35, 209, 30, 48,
4, 53, 4, 42, 3, 216, 239, 28, 4, 28, 41, 42, 0, 209, 5, 120, 3, 120, 40, 26, 24, 224, 19, 28, 4, 28, 41, 120, 35, 120,
8, 58, 1, 66, 152, 208, 9, 231, 245, 40, 0, 208, 8, 52, 1, 49, 1, 120, 35, 120, 8, 66, 152, 209, 237, 58, 1, 42, 0,
209, 244, 32, 0, 188, 112, 188, 2, 71, 8, 254, 254, 254, 255, 128, 128, 128, 128, 73, 79, 83, 32, 109, 111, 100, 117,
108, 101, 0, 0, 0, 0, 0, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 115, 74, 60, 0, 15, 66,
64, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 100, 101, 118, 47, 117, 115, 98, 50, 0, 0, 0, 47, 100, 101, 118, 47, 117,
115, 98, 50, 47, 0, 0, 47, 100, 101, 118, 47, 109, 108, 111, 97, 100, 0, 0, 85, 83, 66, 83, 116, 111, 114, 97, 103,
101, 95, 67, 108, 111, 115, 101, 40, 41, 0, 0, 85, 83, 66, 32, 65, 108, 108, 111, 99, 58, 32, 110, 111, 116, 32, 101,
110, 111, 117, 103, 104, 32, 109, 101, 109, 111, 114, 121, 33, 0, 0, 0, 119, 98, 102, 115, 32, 101, 114, 114, 111, 114,
0, 0, 97, 108, 108, 111, 99, 97, 116, 105, 110, 103, 32, 109, 101, 109, 111, 114, 121, 0, 0, 0, 116, 114, 121, 105,
110, 103, 32, 116, 111, 32, 99, 108, 111, 115, 101, 32, 119, 98, 102, 115, 32, 119, 104, 105, 108, 101, 32, 100, 105,
115, 99, 115, 32, 115, 116, 105, 108, 108, 32, 111, 112, 101, 110, 0, 98, 97, 100, 32, 109, 97, 103, 105, 99, 0, 0,
0, 104, 100, 32, 115, 101, 99, 116, 111, 114, 32, 115, 105, 122, 101, 32, 100, 111, 101, 115, 110, 39, 116, 32, 109,
97, 116, 99, 104, 0, 0, 0, 0, 104, 100, 32, 110, 117, 109, 32, 115, 101, 99, 116, 111, 114, 32, 100, 111, 101, 115,
110, 39, 116, 32, 109, 97, 116, 99, 104, 0, 78, 84, 70, 83, 0, 0, 0, 0, 70, 65, 84, 0
};

View File

@ -0,0 +1,16 @@
#ifndef EHC_MODULE3_H_
#define EHC_MODULE3_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char ehcmodule_3[3352];
#define ehcmodule_3_size sizeof(ehcmodule_3)
#ifdef __cplusplus
}
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
#ifndef EHC_MODULE5_H_
#define EHC_MODULE5_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char ehcmodule_5[3352];
#define ehcmodule_5_size sizeof(ehcmodule_5)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,574 @@
unsigned char odip_frag[9120] __attribute__((aligned (32)))={
0x13, 0x77, 0xca, 0x6d, 0x12, 0x34, 0x00, 0x01, 0x20, 0x22, 0xdd, 0xac, 0x20, 0x20, 0x10, 0x11,
0x20, 0x20, 0x0b, 0x9d, 0x20, 0x20, 0x0b, 0x71, 0x20, 0x20, 0x5d, 0xc1, 0x20, 0x20, 0x00, 0x49,
0x20, 0x20, 0x2b, 0x4d, 0x20, 0x20, 0x39, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x77, 0xe2, 0xa0, 0x13, 0x77, 0xd8, 0xe0,
0x13, 0x77, 0xd5, 0x2d, 0x13, 0x77, 0xe3, 0xa0, 0x00, 0x00, 0x10, 0xa0, 0xe1, 0xa0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xb5, 0x00, 0x23, 0xe3, 0xb0, 0x89, 0x06, 0x1b, 0x93, 0x00, 0x46, 0x68, 0x23, 0x00, 0x21, 0x00,
0x22, 0x00, 0x93, 0x01, 0x93, 0x02, 0xf0, 0x01, 0xfa, 0xed, 0xb0, 0x09, 0xbc, 0x02, 0x47, 0x08,
0xb5, 0x10, 0x1c, 0x03, 0x22, 0x20, 0x1c, 0x0c, 0x48, 0x0d, 0x1c, 0x19, 0xf0, 0x01, 0xfc, 0x82,
0x48, 0x0b, 0x21, 0x20, 0xf0, 0x01, 0xfc, 0x72, 0x4a, 0x0a, 0x23, 0x01, 0x68, 0x11, 0x42, 0x0b,
0xd1, 0xfc, 0x22, 0x20, 0x1c, 0x20, 0x49, 0x06, 0xf0, 0x01, 0xfc, 0x74, 0x1c, 0x20, 0x21, 0x20,
0xf0, 0x01, 0xfc, 0x64, 0x4b, 0x04, 0x68, 0x18, 0xbc, 0x10, 0xbc, 0x02, 0x47, 0x08, 0x46, 0xc0,
0x0d, 0x00, 0x60, 0x00, 0x0d, 0x00, 0x60, 0x1c, 0x0d, 0x00, 0x60, 0x20, 0xb5, 0xf0, 0xb0, 0x8d,
0x1c, 0x0e, 0x27, 0xd0, 0x0a, 0xc9, 0x90, 0x01, 0x92, 0x03, 0x91, 0x02, 0x25, 0x00, 0xac, 0x04,
0x06, 0x3f, 0x99, 0x03, 0x9b, 0x02, 0x22, 0x00, 0x61, 0x21, 0x98, 0x01, 0x1c, 0x31, 0x60, 0xe3,
0x60, 0x62, 0x60, 0xa2, 0x35, 0x01, 0x60, 0x27, 0xf0, 0x01, 0xfc, 0x48, 0x99, 0x01, 0x1c, 0x32,
0x1c, 0x20, 0xf0, 0x01, 0xfa, 0xa7, 0x0f, 0xeb, 0x22, 0x00, 0x21, 0x1f, 0x42, 0xa9, 0x41, 0x53,
0x06, 0x1b, 0x2b, 0x00, 0xd0, 0x01, 0x28, 0x00, 0xd1, 0xe3, 0xb0, 0x0d, 0xbc, 0xf0, 0xbc, 0x02,
0x47, 0x08, 0xb5, 0xf0, 0xb0, 0x8b, 0x27, 0xa8, 0x90, 0x00, 0x1c, 0x0e, 0x92, 0x01, 0x25, 0x00,
0xac, 0x02, 0x06, 0x3f, 0x99, 0x01, 0x98, 0x00, 0x60, 0xa1, 0x1c, 0x31, 0x35, 0x01, 0x60, 0x27,
0x60, 0x66, 0xf0, 0x01, 0xfc, 0x23, 0x99, 0x00, 0x1c, 0x32, 0x1c, 0x20, 0xf0, 0x01, 0xfa, 0x82,
0x0f, 0xeb, 0x22, 0x00, 0x21, 0x07, 0x42, 0xa9, 0x41, 0x53, 0x06, 0x1b, 0x2b, 0x00, 0xd0, 0x01,
0x28, 0x00, 0xd1, 0xe7, 0xb0, 0x0b, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0xb5, 0xf0, 0xb0, 0x87,
0x90, 0x05, 0x91, 0x03, 0x92, 0x04, 0x25, 0x00, 0x29, 0x00, 0xd0, 0x75, 0x0a, 0x51, 0x91, 0x01,
0x95, 0x00, 0xe0, 0x69, 0x9a, 0x03, 0x9b, 0x00, 0x99, 0x01, 0x1a, 0xd4, 0x9a, 0x04, 0x02, 0x4b,
0x27, 0x00, 0x42, 0x9a, 0xd9, 0x01, 0x1a, 0xd7, 0x00, 0xbf, 0x9b, 0x05, 0x21, 0x1f, 0x1c, 0x1e,
0x9b, 0x00, 0x18, 0xf6, 0x23, 0x00, 0x42, 0x0e, 0xd1, 0x19, 0x4b, 0x32, 0x22, 0x00, 0x42, 0x9e,
0xd8, 0x02, 0x22, 0xc0, 0x04, 0x52, 0x1b, 0x92, 0x21, 0xf0, 0x06, 0x09, 0x18, 0x73, 0x49, 0x2e,
0x42, 0x8b, 0xd8, 0x01, 0x4a, 0x2d, 0x1b, 0x92, 0x49, 0x2d, 0x23, 0x00, 0x42, 0x8a, 0xd9, 0x03,
0x1c, 0x13, 0x42, 0xa2, 0xd9, 0x00, 0x1c, 0x23, 0x05, 0x5a, 0x0d, 0x52, 0x1a, 0x9b, 0x2b, 0x00,
0xd0, 0x01, 0x2f, 0x00, 0xd0, 0x22, 0x23, 0x80, 0x19, 0x3a, 0x01, 0x1b, 0x42, 0x9a, 0xd9, 0x00,
0x1b, 0xdc, 0x20, 0x80, 0x01, 0x00, 0x21, 0x20, 0xf0, 0x01, 0xfb, 0xbc, 0x90, 0x02, 0x28, 0x00,
0xd0, 0x30, 0x21, 0x80, 0x01, 0x09, 0x9a, 0x01, 0xf7, 0xff, 0xff, 0x60, 0x1e, 0x05, 0xd1, 0x09,
0x9a, 0x02, 0x1c, 0x30, 0x19, 0xd1, 0x1c, 0x22, 0xf0, 0x01, 0xfb, 0xbc, 0x1c, 0x30, 0x1c, 0x21,
0xf0, 0x01, 0xfb, 0xac, 0x98, 0x02, 0xf0, 0x01, 0xfb, 0xa1, 0xe0, 0x0b, 0x1c, 0x1c, 0x4b, 0x15,
0x42, 0x9c, 0xd9, 0x01, 0x24, 0xff, 0x03, 0xe4, 0x1c, 0x30, 0x1c, 0x21, 0x9a, 0x01, 0xf7, 0xff,
0xff, 0x45, 0x1c, 0x05, 0x2d, 0x00, 0xd1, 0x0f, 0x9b, 0x00, 0x99, 0x01, 0x19, 0x1b, 0x19, 0xe4,
0x0a, 0xe4, 0x19, 0x09, 0x93, 0x00, 0x91, 0x01, 0x9a, 0x00, 0x9b, 0x03, 0x42, 0x9a, 0xd3, 0x91,
0x25, 0x00, 0xe0, 0x01, 0x25, 0x01, 0x42, 0x6d, 0xb0, 0x07, 0x1c, 0x28, 0xbc, 0xf0, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x01, 0x7f, 0xff, 0xff, 0x03, 0x61, 0x7f, 0xff, 0x13, 0x61, 0x80, 0x00,
0x00, 0x00, 0x07, 0xff, 0x00, 0x7f, 0x7f, 0xff, 0xb5, 0xf8, 0x4e, 0x26, 0x27, 0x01, 0x1c, 0x04,
0x60, 0x37, 0x21, 0x20, 0xf0, 0x01, 0xfb, 0x7a, 0x7b, 0x22, 0x7b, 0x63, 0x06, 0x12, 0x04, 0x1b,
0x43, 0x13, 0x7b, 0xa2, 0x02, 0x12, 0x43, 0x13, 0x7b, 0xe2, 0x43, 0x13, 0x2b, 0x08, 0xd1, 0x30,
0x7e, 0x22, 0x7e, 0x63, 0x06, 0x12, 0x04, 0x1b, 0x43, 0x13, 0x7e, 0xa2, 0x25, 0xc5, 0x02, 0x12,
0x43, 0x13, 0x7e, 0xe2, 0x01, 0xad, 0x43, 0x13, 0x68, 0x18, 0x68, 0x59, 0xf0, 0x01, 0xfb, 0x5e,
0x7e, 0x22, 0x7e, 0x63, 0x06, 0x12, 0x04, 0x1b, 0x43, 0x13, 0x7e, 0xa2, 0x1c, 0x28, 0x02, 0x12,
0x43, 0x13, 0x7e, 0xe2, 0x21, 0x08, 0x43, 0x13, 0x68, 0x1b, 0x68, 0x5c, 0xf0, 0x01, 0xfb, 0x4e,
0x04, 0x24, 0x43, 0x27, 0x4c, 0x0c, 0x60, 0x2f, 0x1c, 0x28, 0x21, 0x04, 0x60, 0x27, 0xf0, 0x01,
0xfb, 0x3d, 0x1c, 0x20, 0x21, 0x04, 0xf0, 0x01, 0xfb, 0x39, 0x23, 0x00, 0x60, 0x33, 0x20, 0x00,
0xe0, 0x04, 0x1c, 0x20, 0xf0, 0x01, 0xf9, 0x11, 0x23, 0x00, 0x60, 0x33, 0xbc, 0xf8, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xe3, 0xa0, 0x00, 0x00, 0x31, 0x88, 0x4a, 0x03, 0x23, 0x00,
0x60, 0x13, 0x4a, 0x03, 0x60, 0x13, 0x4a, 0x03, 0x60, 0x13, 0x47, 0x70, 0x13, 0x77, 0xe5, 0xe8,
0x13, 0x77, 0xe3, 0xc0, 0x13, 0x77, 0xe3, 0xb8, 0xb5, 0xf0, 0x4b, 0x10, 0x21, 0xa0, 0x48, 0x10,
0x68, 0x1c, 0x22, 0x00, 0x23, 0x00, 0x00, 0x89, 0x03, 0xd6, 0xe0, 0x01, 0x04, 0x2b, 0x0c, 0x1b,
0x00, 0x5d, 0x18, 0xed, 0x00, 0xad, 0x19, 0x65, 0x69, 0x6f, 0x68, 0xed, 0x19, 0x7d, 0x42, 0xae,
0xd3, 0x03, 0x68, 0x67, 0x1c, 0x5d, 0x42, 0xbd, 0xd3, 0xf0, 0x32, 0x01, 0x80, 0x03, 0x30, 0x02,
0x42, 0x8a, 0xd1, 0xe9, 0xbc, 0xf0, 0xbc, 0x01, 0x47, 0x00, 0x46, 0xc0, 0x13, 0x77, 0xe3, 0xc0,
0x13, 0x77, 0xe6, 0x04, 0xb5, 0xf8, 0x4b, 0x22, 0x1c, 0x06, 0x68, 0x1b, 0x1c, 0x0f, 0x1c, 0x14,
0x2b, 0x00, 0xd0, 0x01, 0xf7, 0xff, 0xff, 0xc2, 0x1e, 0x73, 0x2b, 0x01, 0xd8, 0x30, 0x2c, 0x00,
0xd0, 0x2e, 0x4b, 0x1c, 0x42, 0x9c, 0xd8, 0x2d, 0x4d, 0x1b, 0x2e, 0x01, 0xd1, 0x02, 0xf0, 0x00,
0xfe, 0x29, 0xe0, 0x01, 0xf0, 0x00, 0xfd, 0x72, 0x4b, 0x17, 0x60, 0x28, 0x68, 0x18, 0x28, 0x00,
0xd1, 0x22, 0x4b, 0x16, 0x4d, 0x16, 0x60, 0x1e, 0x4b, 0x16, 0x1c, 0x38, 0x60, 0x2b, 0x1c, 0x21,
0xf0, 0x01, 0xfa, 0xd4, 0x68, 0x2d, 0x21, 0x00, 0x4a, 0x0e, 0x1c, 0x28, 0xf0, 0x01, 0xfa, 0x2a,
0x1c, 0x22, 0x1c, 0x39, 0x1c, 0x28, 0xf0, 0x01, 0xf9, 0xe3, 0x1c, 0x38, 0x1c, 0x21, 0xf0, 0x01,
0xfa, 0xbd, 0xf7, 0xff, 0xff, 0xa1, 0x4b, 0x06, 0x22, 0x01, 0x60, 0x1a, 0x1c, 0x20, 0xe0, 0x03,
0x20, 0x01, 0xe0, 0x00, 0x20, 0x02, 0x42, 0x40, 0xbc, 0xf8, 0xbc, 0x02, 0x47, 0x08, 0x46, 0xc0,
0x13, 0x77, 0xe5, 0xe8, 0x00, 0x00, 0xa4, 0x1c, 0x13, 0x77, 0xe3, 0xb4, 0x13, 0x77, 0xe3, 0xb8,
0x13, 0x77, 0xe3, 0xc0, 0x13, 0x73, 0x00, 0x00, 0xb5, 0xf0, 0xb0, 0x83, 0x24, 0xa0, 0x4d, 0x36,
0x0b, 0xcf, 0x00, 0xa4, 0x9e, 0x09, 0x60, 0x2f, 0x42, 0xa7, 0xd9, 0x01, 0x4c, 0x33, 0x60, 0x2c,
0x4c, 0x31, 0x4d, 0x33, 0x68, 0x24, 0x46, 0x9c, 0x00, 0x64, 0x5b, 0x2c, 0x4d, 0x31, 0x00, 0x67,
0x60, 0x2c, 0x4d, 0x31, 0x19, 0x3f, 0x60, 0x2c, 0x68, 0x45, 0x00, 0xbf, 0x95, 0x00, 0x19, 0xc7,
0x18, 0x55, 0x37, 0x0c, 0x95, 0x01, 0xe0, 0x37, 0x68, 0x3d, 0x42, 0x8d, 0xd8, 0x19, 0x68, 0xbb,
0x18, 0xeb, 0x42, 0x8b, 0xd9, 0x2e, 0x4f, 0x28, 0x1b, 0x4d, 0x60, 0x3c, 0x4f, 0x27, 0x46, 0x63,
0x60, 0x3d, 0x60, 0x19, 0x00, 0x63, 0x19, 0x1c, 0x00, 0xa4, 0x19, 0x00, 0x69, 0x03, 0x99, 0x08,
0x18, 0xeb, 0x60, 0x0b, 0x69, 0x43, 0x20, 0x00, 0x1b, 0x5d, 0x60, 0x35, 0x42, 0x95, 0xd9, 0x2e,
0xe0, 0x16, 0x9b, 0x01, 0x42, 0x9d, 0xd2, 0x15, 0x4f, 0x1b, 0x46, 0x63, 0x60, 0x3c, 0x4f, 0x1b,
0x1a, 0x69, 0x60, 0x39, 0x60, 0x1d, 0x00, 0x63, 0x19, 0x1c, 0x00, 0xa4, 0x19, 0x00, 0x69, 0x03,
0x9c, 0x08, 0x1a, 0x52, 0x60, 0x23, 0x69, 0x43, 0x20, 0x00, 0x60, 0x33, 0x42, 0x93, 0xd9, 0x16,
0x60, 0x32, 0xe0, 0x14, 0x34, 0x01, 0x37, 0x0c, 0x9d, 0x00, 0x42, 0xac, 0xd3, 0xc4, 0x4d, 0x0e,
0x18, 0x51, 0x68, 0x02, 0x46, 0x63, 0x60, 0x2c, 0x42, 0x91, 0xd8, 0x06, 0x60, 0x19, 0x99, 0x08,
0x23, 0x00, 0x60, 0x0b, 0x20, 0x00, 0x60, 0x33, 0xe0, 0x01, 0x20, 0x02, 0x42, 0x40, 0xb0, 0x03,
0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xe3, 0xa4, 0x00, 0x00, 0x02, 0x7f,
0x13, 0x77, 0xe6, 0x04, 0x13, 0x77, 0xe5, 0xfc, 0x13, 0x77, 0xeb, 0x04, 0x13, 0x77, 0xe5, 0xec,
0xb5, 0xf0, 0xb0, 0x85, 0x1c, 0x06, 0x1c, 0x0d, 0x1c, 0x17, 0xe0, 0x46, 0x4a, 0x29, 0x4b, 0x2a,
0x68, 0x10, 0x4a, 0x2a, 0x93, 0x00, 0x92, 0x01, 0x4b, 0x29, 0x1c, 0x31, 0x1c, 0x3a, 0xf7, 0xff,
0xff, 0x73, 0x4b, 0x28, 0x60, 0x18, 0x28, 0x00, 0xd1, 0x3f, 0x4a, 0x25, 0x68, 0x13, 0x1b, 0x9b,
0x93, 0x03, 0x9a, 0x03, 0x4b, 0x24, 0x60, 0x1a, 0x2a, 0x00, 0xd0, 0x09, 0x02, 0x54, 0x1c, 0x28,
0x21, 0x00, 0x1c, 0x22, 0xf0, 0x01, 0xf9, 0x66, 0x9b, 0x03, 0x19, 0x2d, 0x18, 0xf6, 0x1a, 0xff,
0x4b, 0x1a, 0x68, 0x19, 0x29, 0x00, 0xd0, 0x19, 0x4b, 0x1c, 0x4c, 0x1a, 0x68, 0x1a, 0x4b, 0x16,
0x2a, 0x01, 0xd1, 0x04, 0x68, 0x18, 0x1c, 0x2a, 0xf0, 0x00, 0xfc, 0xf4, 0xe0, 0x03, 0x68, 0x18,
0x1c, 0x2a, 0xf0, 0x00, 0xfc, 0xa9, 0x4b, 0x13, 0x60, 0x20, 0x68, 0x1b, 0x2b, 0x00, 0xd0, 0x10,
0x4b, 0x0e, 0x68, 0x1b, 0x02, 0x5a, 0x18, 0xf6, 0x18, 0xad, 0x1a, 0xff, 0x4b, 0x0b, 0x68, 0x1a,
0x4b, 0x0d, 0x68, 0x1b, 0x18, 0xd3, 0x2b, 0x00, 0xd0, 0x05, 0x2f, 0x00, 0xd1, 0xb6, 0x20, 0x00,
0xe0, 0x03, 0x20, 0x03, 0xe0, 0x00, 0x20, 0x04, 0x42, 0x40, 0xb0, 0x05, 0xbc, 0xf0, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xe3, 0xc0, 0x13, 0x77, 0xe3, 0xc8, 0x13, 0x77, 0xe5, 0xf0,
0x13, 0x77, 0xe3, 0xac, 0x13, 0x77, 0xe6, 0x00, 0x13, 0x77, 0xe3, 0xbc, 0x13, 0x77, 0xe3, 0xb8,
0xb5, 0xf8, 0x1c, 0x1e, 0x4b, 0x1a, 0x1c, 0x0f, 0x09, 0xc1, 0x60, 0x19, 0x23, 0x7f, 0x40, 0x18,
0x4b, 0x18, 0x00, 0x80, 0x60, 0x18, 0x23, 0x80, 0x00, 0x9b, 0x4c, 0x17, 0x1a, 0x1b, 0x60, 0x23,
0x42, 0x93, 0xd9, 0x00, 0x60, 0x22, 0x4a, 0x14, 0x23, 0x80, 0x68, 0x10, 0x00, 0x9b, 0x42, 0x98,
0xd1, 0x01, 0x23, 0x00, 0x60, 0x13, 0x4c, 0x10, 0x68, 0x23, 0x2b, 0x00, 0xd0, 0x10, 0x4d, 0x0f,
0x1c, 0x08, 0x22, 0x01, 0x1c, 0x29, 0xf7, 0xff, 0xff, 0x73, 0x4b, 0x0d, 0x60, 0x18, 0x28, 0x00,
0xd1, 0x0a, 0x4b, 0x08, 0x68, 0x22, 0x68, 0x19, 0x1c, 0x38, 0x18, 0x69, 0xf0, 0x01, 0xf8, 0xb0,
0x4b, 0x05, 0x20, 0x00, 0x68, 0x1b, 0x60, 0x33, 0xbc, 0xf8, 0xbc, 0x02, 0x47, 0x08, 0x46, 0xc0,
0x13, 0x77, 0xe5, 0xf4, 0x13, 0x77, 0xe5, 0xf8, 0x13, 0x77, 0xe3, 0xa8, 0x13, 0x77, 0xe3, 0xe0,
0x13, 0x77, 0xe5, 0xe0, 0xb5, 0xf0, 0xb0, 0x85, 0x4d, 0x25, 0x90, 0x01, 0x91, 0x03, 0x1c, 0x10,
0x1c, 0x17, 0x99, 0x01, 0x9a, 0x03, 0x1c, 0x2b, 0xf7, 0xff, 0xff, 0xb2, 0x4e, 0x21, 0x1c, 0x04,
0x60, 0x30, 0x28, 0x00, 0xd1, 0x37, 0x68, 0x2d, 0x99, 0x01, 0x08, 0xab, 0x18, 0xfb, 0x9a, 0x03,
0x93, 0x02, 0x4b, 0x1d, 0x19, 0x49, 0x1b, 0x55, 0x91, 0x01, 0x42, 0x9d, 0xd9, 0x15, 0x9b, 0x02,
0x4f, 0x1a, 0x09, 0xd8, 0x4b, 0x1a, 0x0a, 0x6a, 0x60, 0x18, 0x60, 0x3a, 0xf7, 0xff, 0xff, 0x30,
0x60, 0x30, 0x28, 0x00, 0xd1, 0x1b, 0x68, 0x3b, 0x99, 0x02, 0x01, 0xda, 0x18, 0x89, 0x9a, 0x01,
0x02, 0x5b, 0x18, 0xd2, 0x91, 0x02, 0x92, 0x01, 0x1a, 0xed, 0x2d, 0x00, 0xd0, 0x13, 0x4e, 0x0c,
0x98, 0x02, 0x1c, 0x33, 0x99, 0x01, 0x1c, 0x2a, 0xf7, 0xff, 0xff, 0x82, 0x4b, 0x09, 0x1c, 0x04,
0x60, 0x18, 0x28, 0x00, 0xd1, 0x07, 0x68, 0x33, 0x42, 0x9d, 0xd1, 0x02, 0xe0, 0x03, 0x1c, 0x04,
0xe0, 0x01, 0x24, 0x05, 0x42, 0x64, 0xb0, 0x05, 0x1c, 0x20, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08,
0x13, 0x77, 0xe3, 0xb0, 0x13, 0x77, 0xe3, 0xc4, 0x00, 0x00, 0x01, 0xff, 0x13, 0x77, 0xe5, 0xe4,
0x13, 0x77, 0xeb, 0x08, 0xb5, 0x00, 0x4b, 0x0b, 0x68, 0x1b, 0x2b, 0x01, 0xd0, 0x02, 0x2b, 0x02,
0xd1, 0x0c, 0xe0, 0x01, 0x4a, 0x08, 0xe0, 0x00, 0x4a, 0x08, 0x23, 0x00, 0x42, 0x90, 0xd3, 0x06,
0x4b, 0x07, 0x4a, 0x08, 0x62, 0x1a, 0x23, 0xa0, 0x02, 0x1b, 0xe0, 0x00, 0x23, 0x00, 0x1c, 0x18,
0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xeb, 0x10, 0x46, 0x09, 0x00, 0x00, 0x7e, 0xd3, 0x80, 0x00,
0x13, 0x77, 0xeb, 0x14, 0x00, 0x05, 0x21, 0x00, 0xb5, 0x10, 0x4b, 0x0c, 0x1d, 0xdc, 0x7f, 0xe4,
0x2c, 0x00, 0xd0, 0x02, 0xf7, 0xff, 0xff, 0x7e, 0xe0, 0x0d, 0x69, 0x1c, 0x2c, 0x00, 0xd0, 0x02,
0xf0, 0x00, 0xfc, 0xb8, 0xe0, 0x07, 0x68, 0x5b, 0x2b, 0x00, 0xd0, 0x02, 0xf7, 0xff, 0xfc, 0xe6,
0xe0, 0x01, 0xf7, 0xff, 0xfc, 0xbe, 0xbc, 0x10, 0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xeb, 0x14,
0xb5, 0xf0, 0xb0, 0x85, 0x90, 0x02, 0x1c, 0x10, 0x91, 0x03, 0x1c, 0x14, 0xf7, 0xff, 0xff, 0xba,
0x28, 0x00, 0xd0, 0x00, 0xe0, 0xfe, 0x4b, 0x81, 0x68, 0xdd, 0x68, 0x9a, 0x18, 0xad, 0x19, 0x2d,
0x95, 0x01, 0x69, 0x1b, 0x2b, 0x00, 0xd0, 0x12, 0x4b, 0x7d, 0x68, 0x1b, 0x2b, 0x00, 0xdd, 0x00,
0xe0, 0xeb, 0x4b, 0x7c, 0x68, 0x19, 0x29, 0x00, 0xd0, 0x01, 0xf0, 0x01, 0xf8, 0xe7, 0x4b, 0x79,
0x22, 0x00, 0x60, 0x1a, 0x23, 0x01, 0x4a, 0x78, 0x42, 0x5b, 0x60, 0x13, 0xe0, 0xdd, 0x4b, 0x76,
0x49, 0x76, 0x68, 0x1b, 0x18, 0x5a, 0x2a, 0x00, 0xd1, 0x00, 0xe0, 0xa8, 0x2b, 0x00, 0xda, 0x00,
0xe0, 0xa5, 0x4c, 0x70, 0x68, 0x23, 0x2b, 0x00, 0xd1, 0x06, 0x21, 0x80, 0x20, 0x00, 0x01, 0x89,
0x22, 0x20, 0xf0, 0x01, 0xf8, 0xbb, 0x60, 0x20, 0x20, 0x80, 0x01, 0x00, 0x21, 0x20, 0xf0, 0x01,
0xf8, 0xa1, 0x1e, 0x04, 0xd1, 0x03, 0x23, 0x01, 0x4a, 0x67, 0x42, 0x5b, 0x60, 0x13, 0x4e, 0x66,
0x22, 0x00, 0x68, 0x33, 0x92, 0x00, 0x2b, 0x00, 0xdb, 0x26, 0x1c, 0x35, 0x27, 0x00, 0x68, 0x32,
0x21, 0x80, 0x1c, 0x13, 0x33, 0x10, 0x02, 0x5b, 0x02, 0x52, 0x1c, 0x20, 0x01, 0x09, 0x93, 0x00,
0xf7, 0xff, 0xff, 0x8a, 0x28, 0x00, 0xda, 0x03, 0x23, 0x01, 0x42, 0x5b, 0x60, 0x33, 0xe0, 0x13,
0x78, 0x23, 0x2b, 0x43, 0xd1, 0x08, 0x78, 0x63, 0x2b, 0x49, 0xd1, 0x05, 0x78, 0xa3, 0x2b, 0x53,
0xd1, 0x02, 0x78, 0xe3, 0x2b, 0x4f, 0xd0, 0x07, 0x68, 0x2b, 0x2b, 0x00, 0xd0, 0x01, 0x60, 0x2f,
0xe7, 0xdd, 0x23, 0x01, 0x42, 0x5b, 0x60, 0x2b, 0x4e, 0x4f, 0x68, 0x33, 0x2b, 0x00, 0xdb, 0x59,
0x4b, 0x4c, 0x68, 0x1b, 0x2b, 0x00, 0xd0, 0x55, 0x79, 0x62, 0x79, 0xa3, 0x02, 0x12, 0x04, 0x1b,
0x18, 0xd2, 0x79, 0x23, 0x48, 0x4a, 0x18, 0xd2, 0x79, 0xe3, 0x21, 0x00, 0x06, 0x1b, 0x18, 0xd2,
0x4b, 0x48, 0x08, 0x92, 0x60, 0x1a, 0x22, 0x80, 0x01, 0x12, 0xf0, 0x00, 0xfb, 0xcb, 0x27, 0x08,
0x25, 0x00, 0x05, 0x7b, 0x2b, 0x00, 0xd1, 0x16, 0x49, 0x43, 0x23, 0x01, 0x42, 0x8d, 0xdc, 0x00,
0x23, 0x00, 0x06, 0x1b, 0x2b, 0x00, 0xd0, 0x0e, 0x68, 0x33, 0x12, 0xfa, 0x18, 0xd2, 0x21, 0x80,
0x02, 0x52, 0x1c, 0x20, 0x01, 0x09, 0xf7, 0xff, 0xff, 0x3f, 0x28, 0x00, 0xda, 0x03, 0x23, 0x01,
0x42, 0x5b, 0x60, 0x33, 0xe0, 0x20, 0x20, 0x07, 0x40, 0x28, 0xd1, 0x05, 0x4b, 0x31, 0x10, 0xea,
0x68, 0x1b, 0x99, 0x00, 0x00, 0x92, 0x50, 0xd1, 0x05, 0x7b, 0x0d, 0x5b, 0x5c, 0xe3, 0x2b, 0x00,
0xd0, 0x0c, 0x4a, 0x2f, 0x21, 0x01, 0x10, 0xeb, 0x40, 0x81, 0x1c, 0x08, 0x5c, 0xd1, 0x43, 0x01,
0x54, 0xd1, 0x4b, 0x2c, 0x9a, 0x00, 0x68, 0x1b, 0x18, 0xd2, 0x92, 0x00, 0x23, 0x80, 0x35, 0x01,
0x01, 0xdb, 0x37, 0x01, 0x42, 0x9d, 0xd1, 0xc4, 0x4b, 0x23, 0x68, 0x1a, 0x2a, 0x00, 0xdb, 0x01,
0x4a, 0x26, 0x60, 0x1a, 0x2c, 0x00, 0xd0, 0x02, 0x1c, 0x20, 0xf0, 0x01, 0xf8, 0x07, 0x4b, 0x1e,
0x4c, 0x1c, 0x68, 0x1a, 0x4b, 0x21, 0x42, 0x9a, 0xd1, 0x1e, 0x4b, 0x1e, 0x98, 0x01, 0x68, 0x1d,
0x1c, 0x29, 0xf0, 0x01, 0xf8, 0x1b, 0x68, 0x23, 0x08, 0xc1, 0x24, 0x07, 0x00, 0x8a, 0x58, 0xd2,
0x40, 0x20, 0x23, 0x00, 0x4e, 0x16, 0x24, 0x01, 0xe0, 0x05, 0x5c, 0x77, 0x41, 0x1f, 0x42, 0x3c,
0xd0, 0x00, 0x19, 0x52, 0x33, 0x01, 0x42, 0x83, 0xd3, 0xf7, 0x9b, 0x01, 0x3d, 0x01, 0x40, 0x1d,
0x19, 0x52, 0x98, 0x02, 0x99, 0x03, 0xe0, 0x0b, 0x68, 0x21, 0x29, 0x00, 0xd0, 0x02, 0x20, 0x00,
0xf0, 0x01, 0xf8, 0x04, 0x4b, 0x07, 0x22, 0x00, 0x60, 0x1a, 0x98, 0x02, 0x99, 0x03, 0x9a, 0x01,
0xf7, 0xff, 0xfe, 0xda, 0xb0, 0x05, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xeb, 0x14,
0x13, 0x77, 0xec, 0x24, 0x13, 0x77, 0xeb, 0x0c, 0x13, 0x77, 0xe2, 0x04, 0x80, 0x00, 0x00, 0x01,
0x13, 0x77, 0xec, 0x40, 0x13, 0x77, 0xeb, 0x3c, 0x00, 0x00, 0x07, 0xf7, 0x7f, 0xff, 0xff, 0xff,
0xb5, 0x10, 0x21, 0x80, 0x20, 0x00, 0x01, 0x09, 0x22, 0x20, 0xf0, 0x00, 0xff, 0xcf, 0x1e, 0x04,
0xd0, 0x10, 0x21, 0x80, 0x22, 0x8e, 0x01, 0x09, 0x1c, 0x20, 0x05, 0xd2, 0xf7, 0xff, 0xfe, 0xd0,
0x1e, 0x43, 0x41, 0x98, 0x23, 0x02, 0x1a, 0x18, 0x4b, 0x04, 0x1c, 0x21, 0x60, 0x18, 0x20, 0x00,
0xf0, 0x00, 0xff, 0xcc, 0xbc, 0x10, 0xbc, 0x01, 0x47, 0x00, 0x46, 0xc0, 0x13, 0x77, 0xeb, 0x10,
0xb5, 0x38, 0x22, 0x00, 0x21, 0x20, 0x1c, 0x04, 0xf7, 0xff, 0xfe, 0xba, 0x69, 0xa2, 0x4b, 0x09,
0x1c, 0x05, 0x42, 0x9a, 0xd1, 0x09, 0x4b, 0x08, 0x21, 0x01, 0x68, 0x1a, 0x70, 0x11, 0x68, 0x1b,
0x78, 0x5b, 0x2b, 0x00, 0xd1, 0x01, 0xf0, 0x00, 0xff, 0x85, 0x1c, 0x28, 0xbc, 0x38, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x5d, 0x1c, 0x9e, 0xa3, 0x13, 0x77, 0xc0, 0x08, 0xb5, 0xf0, 0xb0, 0x83,
0x92, 0x01, 0x78, 0x02, 0x1c, 0x07, 0x92, 0x00, 0x4a, 0xba, 0x1c, 0x0d, 0x68, 0x13, 0x2b, 0x00,
0xd0, 0x0d, 0x4c, 0xb9, 0x4e, 0xb9, 0x68, 0x20, 0x68, 0x32, 0x21, 0x00, 0xf0, 0x00, 0xfa, 0xea,
0x68, 0x20, 0x68, 0x31, 0xf0, 0x00, 0xff, 0x72, 0x4a, 0xb2, 0x23, 0x00, 0x60, 0x13, 0x9b, 0x00,
0x2b, 0xe0, 0xd0, 0x61, 0x4c, 0xb2, 0x26, 0x00, 0x62, 0x26, 0x2b, 0xda, 0xd1, 0x00, 0xe1, 0x51,
0x2b, 0xda, 0xd8, 0x2f, 0x2b, 0x8a, 0xd1, 0x00, 0xe1, 0xb6, 0x2b, 0x8a, 0xd8, 0x12, 0x2b, 0x15,
0xd1, 0x00, 0xe1, 0x1c, 0x2b, 0x15, 0xd8, 0x03, 0x2b, 0x13, 0xd2, 0x00, 0xe1, 0xd8, 0xe0, 0xf0,
0x9a, 0x00, 0x2a, 0x71, 0xd1, 0x00, 0xe1, 0x69, 0x2a, 0x79, 0xd0, 0x60, 0x2a, 0x70, 0xd0, 0x00,
0xe1, 0xce, 0xe1, 0x7a, 0x9b, 0x00, 0x2b, 0xa8, 0xd1, 0x00, 0xe1, 0xbe, 0x2b, 0xa8, 0xd8, 0x06,
0x2b, 0x8d, 0xd1, 0x00, 0xe1, 0xb9, 0x2b, 0xa4, 0xd0, 0x00, 0xe1, 0xc1, 0xe1, 0x1c, 0x9a, 0x00,
0x2a, 0xd0, 0xd1, 0x00, 0xe1, 0xb1, 0x2a, 0xd9, 0xd1, 0x00, 0xe1, 0x04, 0x2a, 0xab, 0xd0, 0x00,
0xe1, 0xb6, 0xe0, 0x39, 0x9b, 0x00, 0x2b, 0xf4, 0xd0, 0x5e, 0x2b, 0xf4, 0xd8, 0x0f, 0x2b, 0xf0,
0xd0, 0x50, 0x2b, 0xf0, 0xd8, 0x05, 0x2b, 0xe0, 0xd0, 0x1e, 0x2b, 0xe4, 0xd0, 0x00, 0xe1, 0xa7,
0xe0, 0x3a, 0x9a, 0x00, 0x2a, 0xf2, 0xd0, 0x4a, 0x2a, 0xf2, 0xd8, 0x4b, 0xe0, 0x45, 0x9b, 0x00,
0x2b, 0xf9, 0xd0, 0x61, 0x2b, 0xf9, 0xd8, 0x05, 0x2b, 0xf5, 0xd0, 0x56, 0x2b, 0xf6, 0xd0, 0x00,
0xe1, 0x96, 0xe0, 0xaa, 0x9a, 0x00, 0x2a, 0xfb, 0xd1, 0x00, 0xe0, 0x9b, 0x2a, 0xfb, 0xd3, 0x7d,
0x2a, 0xff, 0xd0, 0x00, 0xe1, 0x8c, 0xe0, 0xcf, 0x4b, 0x81, 0x6a, 0x1a, 0x2a, 0x00, 0xd1, 0x03,
0x69, 0x1b, 0x2b, 0x00, 0xd1, 0x00, 0xe1, 0x83, 0x1c, 0x28, 0x21, 0x00, 0x9a, 0x01, 0xf0, 0x00,
0xfa, 0x71, 0x4b, 0x7b, 0x6a, 0x1b, 0xe0, 0x39, 0x4b, 0x79, 0x26, 0x00, 0x68, 0x5a, 0x2a, 0x00,
0xd0, 0x00, 0xe1, 0x7d, 0x69, 0x1b, 0x2b, 0x00, 0xd0, 0x00, 0xe1, 0x79, 0xe1, 0x70, 0x69, 0x23,
0x2b, 0x00, 0xd1, 0x00, 0xe1, 0x6c, 0xe1, 0x72, 0x68, 0x63, 0x2b, 0x00, 0xd1, 0x04, 0x4b, 0x70,
0x69, 0x1b, 0x2b, 0x00, 0xd1, 0x00, 0xe1, 0x63, 0x1c, 0x28, 0x21, 0x00, 0x9a, 0x01, 0xf0, 0x00,
0xfa, 0x51, 0xe0, 0x1c, 0x68, 0x7b, 0x60, 0xa3, 0xe1, 0x61, 0x68, 0xa3, 0xe0, 0x16, 0x68, 0x7b,
0x60, 0x23, 0xe1, 0x5c, 0x68, 0x23, 0xe0, 0x11, 0x68, 0x7b, 0x1d, 0xe2, 0x61, 0x23, 0x77, 0xd6,
0x2b, 0x00, 0xd0, 0x06, 0x1c, 0x20, 0x1c, 0x39, 0x30, 0x18, 0x31, 0x08, 0x22, 0x06, 0xf0, 0x00,
0xfe, 0xd1, 0x69, 0x7a, 0x4b, 0x5e, 0x61, 0x5a, 0xe1, 0x49, 0x69, 0x23, 0x60, 0x2b, 0x99, 0x01,
0x1c, 0x28, 0xf0, 0x00, 0xfe, 0xbb, 0xe1, 0x42, 0x68, 0x7b, 0x93, 0x00, 0x68, 0xba, 0x92, 0x01,
0x68, 0xff, 0xf7, 0xff, 0xfb, 0x8b, 0x1d, 0xe3, 0x77, 0xde, 0x9b, 0x01, 0x61, 0x26, 0x60, 0x2e,
0x2b, 0x00, 0xd1, 0x00, 0xe1, 0x33, 0x9a, 0x00, 0x2a, 0x00, 0xd1, 0x00, 0xe1, 0x2f, 0x26, 0x00,
0x2f, 0x00, 0xd1, 0x00, 0xe1, 0x2c, 0x1c, 0x18, 0xf0, 0x00, 0xfe, 0xa4, 0x1c, 0x3a, 0x1c, 0x01,
0x98, 0x00, 0xf7, 0xff, 0xfb, 0xa7, 0x60, 0x28, 0x28, 0x00, 0xdc, 0x00, 0xe1, 0x20, 0x4b, 0x48,
0x21, 0x01, 0x1d, 0xda, 0x77, 0xd1, 0x9a, 0x00, 0x61, 0x1a, 0xe1, 0x19, 0x60, 0x2e, 0x34, 0x07,
0x7f, 0xe3, 0x2b, 0x00, 0xd0, 0x01, 0x23, 0x10, 0xe0, 0x0a, 0x4b, 0x42, 0x68, 0x1b, 0x2b, 0x00,
0xd0, 0x01, 0x23, 0x08, 0xe0, 0x04, 0x4b, 0x3e, 0x69, 0x1a, 0x2a, 0x00, 0xd0, 0x02, 0x23, 0x04,
0x60, 0x2b, 0xe1, 0x04, 0x68, 0x5b, 0x26, 0x00, 0x2b, 0x00, 0xd1, 0x00, 0xe1, 0x00, 0x23, 0x01,
0x60, 0x2b, 0xe0, 0xfd, 0x1c, 0x28, 0x49, 0x38, 0x22, 0x04, 0xf0, 0x00, 0xfe, 0x7b, 0x69, 0x23,
0x34, 0x07, 0x60, 0x6b, 0x7f, 0xe3, 0x60, 0xab, 0xe0, 0xf1, 0x79, 0x3b, 0x34, 0x05, 0x77, 0xe3,
0xe0, 0xed, 0x26, 0x00, 0x2d, 0x00, 0xd1, 0x00, 0xe0, 0xea, 0x9b, 0x00, 0x2b, 0x13, 0xd1, 0x0d,
0x69, 0x23, 0x2b, 0x00, 0xd0, 0x11, 0x4b, 0x2d, 0x68, 0x1b, 0x2b, 0x00, 0xd0, 0x09, 0xf0, 0x00,
0xf9, 0xf9, 0x1e, 0x43, 0x41, 0x98, 0x00, 0x40, 0x60, 0x28, 0xe7, 0x90, 0x69, 0x23, 0x2b, 0x00,
0xd0, 0x03, 0x4b, 0x27, 0x68, 0x1b, 0x2b, 0x00, 0xda, 0x07, 0x4b, 0x26, 0x22, 0x01, 0x68, 0x1b,
0x40, 0x13, 0x42, 0x5a, 0x41, 0x53, 0x00, 0x5b, 0xe7, 0x80, 0x23, 0x02, 0xe7, 0x7e, 0x4b, 0x21,
0x22, 0x01, 0x68, 0x1b, 0x43, 0x93, 0xe7, 0x79, 0x68, 0x78, 0x1c, 0x29, 0x00, 0x40, 0x08, 0x40,
0xf7, 0xff, 0xf9, 0xb6, 0xe0, 0xb9, 0x68, 0x63, 0x2b, 0x00, 0xd1, 0x04, 0x4b, 0x14, 0x69, 0x1b,
0x2b, 0x00, 0xd1, 0x00, 0xe0, 0xac, 0x68, 0x7a, 0x68, 0xbb, 0x07, 0x92, 0x43, 0x1a, 0x0b, 0xd2,
0x4b, 0x0f, 0x03, 0xd2, 0x60, 0xda, 0xe0, 0xaa, 0x68, 0x63, 0x2b, 0x00, 0xd1, 0x04, 0x4b, 0x0c,
0x69, 0x1b, 0x2b, 0x00, 0xd1, 0x00, 0xe0, 0x9b, 0x4a, 0x0f, 0x4b, 0x09, 0x26, 0xa0, 0x62, 0x1a,
0x02, 0x36, 0xe0, 0x9d, 0x4c, 0x0d, 0x21, 0x40, 0x1c, 0x20, 0xf0, 0x00, 0xfe, 0x17, 0x1c, 0x23,
0x33, 0x40, 0xe0, 0x18, 0x13, 0x77, 0xe2, 0x00, 0x13, 0x77, 0xc0, 0x44, 0x13, 0x77, 0xc0, 0x48,
0x13, 0x77, 0xeb, 0x14, 0x13, 0x77, 0xec, 0x24, 0x13, 0x77, 0xd8, 0xd8, 0x13, 0x77, 0xec, 0x28,
0x13, 0x77, 0xe2, 0x84, 0x0d, 0x00, 0x60, 0x04, 0x00, 0x05, 0x31, 0x00, 0x13, 0x77, 0xd8, 0xe0,
0x34, 0x01, 0x42, 0x9c, 0xd0, 0x74, 0x78, 0x22, 0x2a, 0x00, 0xd0, 0xf9, 0x49, 0x3f, 0x1c, 0x28,
0x22, 0x40, 0xf0, 0x00, 0xfd, 0xf7, 0x1c, 0x28, 0x21, 0x40, 0xe7, 0x2a, 0x1d, 0xa3, 0x22, 0x01,
0x77, 0xda, 0x68, 0x23, 0x2b, 0x00, 0xd1, 0x05, 0x1c, 0x38, 0x1c, 0x29, 0x9a, 0x01, 0xf0, 0x00,
0xfc, 0x49, 0xe0, 0x04, 0x68, 0x79, 0x68, 0xba, 0x1c, 0x28, 0xf7, 0xff, 0xfc, 0xf1, 0x4b, 0x34,
0x22, 0x00, 0x33, 0x06, 0x1c, 0x06, 0x77, 0xda, 0xe0, 0x5a, 0x4b, 0x31, 0x69, 0x1b, 0x2b, 0x00,
0xd1, 0x06, 0x1c, 0x38, 0x1c, 0x29, 0x9a, 0x01, 0xf0, 0x00, 0xfc, 0x34, 0x28, 0x00, 0xd1, 0x0c,
0x4b, 0x2b, 0x20, 0x00, 0x68, 0xd9, 0x68, 0x9a, 0x43, 0x11, 0xd1, 0x06, 0x69, 0x1a, 0x2a, 0x00,
0xd1, 0x03, 0x69, 0xac, 0x49, 0x27, 0x42, 0x8c, 0xd0, 0x0a, 0x1e, 0x43, 0x41, 0x98, 0x4b, 0x24,
0x99, 0x01, 0x60, 0x58, 0x1c, 0x28, 0xf7, 0xff, 0xfe, 0x0b, 0x1e, 0x06, 0xd1, 0x38, 0xe0, 0x00,
0x60, 0x5a, 0xf7, 0xff, 0xfd, 0xe5, 0xe0, 0x32, 0x1d, 0x63, 0x7f, 0xdb, 0x26, 0x00, 0x2b, 0x00,
0xd1, 0x2e, 0x1d, 0xa2, 0x77, 0xd3, 0x60, 0x23, 0x60, 0x63, 0x60, 0xa3, 0x60, 0xe3, 0x69, 0x23,
0x2b, 0x00, 0xd1, 0x04, 0x69, 0x62, 0x4b, 0x18, 0x3a, 0x01, 0x60, 0x1a, 0xe0, 0x18, 0xf7, 0xff,
0xf9, 0x07, 0x1d, 0xe3, 0x7f, 0xdb, 0x2b, 0x00, 0xd1, 0x1a, 0x69, 0x20, 0x1c, 0x21, 0x31, 0x18,
0x69, 0x62, 0x38, 0x01, 0xf0, 0x00, 0xfa, 0x9c, 0xe0, 0x0f, 0x9b, 0x00, 0x68, 0x79, 0x68, 0xba,
0x2b, 0xd0, 0xd1, 0x01, 0x02, 0xc9, 0x02, 0x52, 0x1c, 0x28, 0xf7, 0xff, 0xfc, 0x99, 0xe0, 0x04,
0x1c, 0x38, 0x1c, 0x29, 0x9a, 0x01, 0xf0, 0x00, 0xfb, 0xe5, 0x1c, 0x06, 0xe0, 0x00, 0x26, 0x00,
0xb0, 0x03, 0x1c, 0x30, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xd8, 0xe0,
0x13, 0x77, 0xeb, 0x14, 0x5d, 0x1c, 0x9e, 0xa3, 0x13, 0x77, 0xe2, 0x04, 0xb5, 0x30, 0xb0, 0x83,
0x4c, 0x0e, 0x25, 0x00, 0x68, 0x23, 0x2b, 0x00, 0xda, 0x13, 0x48, 0x0d, 0x21, 0x01, 0xf0, 0x00,
0xfd, 0x43, 0x60, 0x20, 0x28, 0x00, 0xdb, 0x0a, 0x22, 0x00, 0x23, 0x00, 0x21, 0x01, 0x95, 0x00,
0xf0, 0x00, 0xfd, 0x44, 0x23, 0x80, 0x4a, 0x07, 0x00, 0x9b, 0x60, 0x13, 0xe0, 0x01, 0x25, 0x0b,
0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28, 0xbc, 0x30, 0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xe2, 0x44,
0x13, 0x77, 0xe2, 0x20, 0x13, 0x77, 0xe2, 0x40, 0xb5, 0x70, 0xb0, 0x82, 0x1c, 0x03, 0x48, 0x1d,
0x68, 0x04, 0x20, 0x00, 0x2c, 0x00, 0xdb, 0x31, 0x48, 0x1b, 0x4c, 0x1c, 0x60, 0x03, 0x23, 0x04,
0x60, 0x63, 0x60, 0xe3, 0x4b, 0x1a, 0x60, 0x41, 0x68, 0x1b, 0x60, 0x20, 0x43, 0x59, 0x30, 0x04,
0x1c, 0x26, 0x60, 0xa0, 0x61, 0x22, 0x61, 0x61, 0x36, 0x18, 0x1c, 0x25, 0x68, 0x28, 0x68, 0x69,
0x35, 0x08, 0xf0, 0x00, 0xfd, 0x23, 0x42, 0xb5, 0xd1, 0xf8, 0x4d, 0x10, 0x21, 0x18, 0x1c, 0x28,
0xf0, 0x00, 0xfd, 0x1c, 0x4b, 0x0b, 0x21, 0x02, 0x68, 0x18, 0x22, 0x02, 0x23, 0x01, 0x95, 0x00,
0xf0, 0x00, 0xfd, 0x04, 0x1c, 0x03, 0x20, 0x00, 0x2b, 0x00, 0xdb, 0x07, 0x68, 0x20, 0x68, 0x61,
0x34, 0x08, 0xf0, 0x00, 0xfd, 0x13, 0x42, 0xb4, 0xd1, 0xf8, 0x20, 0x01, 0xb0, 0x02, 0xbc, 0x70,
0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xe2, 0x44, 0x13, 0x77, 0xeb, 0x60, 0x13, 0x77, 0xeb, 0x40,
0x13, 0x77, 0xe2, 0x40, 0xb5, 0x70, 0xb0, 0x82, 0x1c, 0x03, 0x48, 0x1d, 0x68, 0x04, 0x20, 0x00,
0x2c, 0x00, 0xdb, 0x31, 0x48, 0x1b, 0x4c, 0x1c, 0x60, 0x03, 0x23, 0x04, 0x60, 0x63, 0x60, 0xe3,
0x4b, 0x1a, 0x60, 0x41, 0x68, 0x1b, 0x60, 0x20, 0x43, 0x59, 0x30, 0x04, 0x1c, 0x26, 0x60, 0xa0,
0x61, 0x22, 0x61, 0x61, 0x36, 0x18, 0x1c, 0x25, 0x68, 0x28, 0x68, 0x69, 0x35, 0x08, 0xf0, 0x00,
0xfc, 0xdd, 0x42, 0xb5, 0xd1, 0xf8, 0x4d, 0x10, 0x21, 0x18, 0x1c, 0x28, 0xf0, 0x00, 0xfc, 0xd6,
0x4b, 0x0b, 0x49, 0x0f, 0x68, 0x18, 0x22, 0x02, 0x23, 0x01, 0x95, 0x00, 0xf0, 0x00, 0xfc, 0xbe,
0x1c, 0x03, 0x20, 0x00, 0x2b, 0x00, 0xdb, 0x07, 0x68, 0x20, 0x68, 0x61, 0x34, 0x08, 0xf0, 0x00,
0xfc, 0xcd, 0x42, 0xb4, 0xd1, 0xf8, 0x20, 0x01, 0xb0, 0x02, 0xbc, 0x70, 0xbc, 0x02, 0x47, 0x08,
0x13, 0x77, 0xe2, 0x80, 0x13, 0x77, 0xeb, 0xa0, 0x13, 0x77, 0xeb, 0x80, 0x13, 0x77, 0xeb, 0xc0,
0x55, 0x4d, 0x53, 0x03, 0xb5, 0x30, 0xb0, 0x83, 0x4c, 0x0e, 0x25, 0x00, 0x68, 0x23, 0x2b, 0x00,
0xda, 0x13, 0x48, 0x0d, 0x21, 0x01, 0xf0, 0x00, 0xfc, 0x8f, 0x60, 0x20, 0x28, 0x00, 0xdb, 0x0a,
0x22, 0x00, 0x23, 0x00, 0x49, 0x09, 0x95, 0x00, 0xf0, 0x00, 0xfc, 0x90, 0x23, 0x80, 0x4a, 0x08,
0x00, 0x9b, 0x60, 0x13, 0xe0, 0x01, 0x25, 0x0b, 0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28, 0xbc, 0x30,
0xbc, 0x02, 0x47, 0x08, 0x13, 0x77, 0xe2, 0x80, 0x13, 0x77, 0xe2, 0x60, 0x55, 0x4d, 0x53, 0x01,
0x13, 0x77, 0xeb, 0xc0, 0xb5, 0xf0, 0x2a, 0x00, 0xd0, 0x29, 0x23, 0x03, 0x1c, 0x1c, 0x40, 0x04,
0x27, 0x04, 0x1b, 0x3c, 0x06, 0x0e, 0x40, 0x1c, 0x0e, 0x36, 0x1c, 0x05, 0x42, 0x94, 0xd8, 0x03,
0x23, 0x00, 0x2c, 0x00, 0xd0, 0x08, 0xe0, 0x00, 0x1c, 0x14, 0x1c, 0x23, 0xe0, 0x01, 0x70, 0x2e,
0x35, 0x01, 0x3b, 0x01, 0xd2, 0xfb, 0x1c, 0x23, 0x04, 0x0c, 0x06, 0x0d, 0x43, 0x25, 0x43, 0x0d,
0x02, 0x0c, 0x1c, 0x29, 0x43, 0x21, 0x18, 0xc4, 0xe0, 0x01, 0xc4, 0x02, 0x1c, 0x2b, 0x1d, 0x1d,
0x42, 0x95, 0xd9, 0xfa, 0xe0, 0x01, 0x33, 0x01, 0x54, 0xc6, 0x42, 0x93, 0xd3, 0xfb, 0xbc, 0xf0,
0xbc, 0x01, 0x47, 0x00, 0xb5, 0x00, 0xb0, 0x83, 0x4b, 0x0a, 0x20, 0x01, 0x68, 0x1b, 0x2b, 0x00,
0xd0, 0x0c, 0x4b, 0x09, 0x68, 0x1b, 0x2b, 0x00, 0xdb, 0x08, 0x4a, 0x08, 0x1c, 0x18, 0x68, 0x12,
0x49, 0x07, 0x92, 0x00, 0x23, 0x00, 0x22, 0x00, 0xf0, 0x00, 0xfc, 0x38, 0xb0, 0x03, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xec, 0x28, 0x13, 0x77, 0xe2, 0x84, 0x13, 0x77, 0xeb, 0xc4,
0x57, 0x46, 0x53, 0x04, 0xb5, 0xf0, 0xb0, 0x87, 0x4b, 0x9a, 0x90, 0x03, 0x68, 0x1b, 0x91, 0x02,
0x92, 0x04, 0x2b, 0x00, 0xd0, 0x04, 0x21, 0xff, 0x9a, 0x02, 0xf7, 0xff, 0xff, 0xa3, 0xe0, 0xee,
0x4d, 0x95, 0x68, 0x2b, 0x2b, 0x00, 0xda, 0x00, 0xe1, 0x1c, 0x4b, 0x94, 0x68, 0x1b, 0x2b, 0x00,
0xd1, 0x00, 0xe0, 0xf0, 0x3b, 0x01, 0x2b, 0x01, 0xd9, 0x00, 0xe0, 0xad, 0x4c, 0x90, 0x68, 0x23,
0x2b, 0x00, 0xd1, 0x06, 0x21, 0x80, 0x20, 0x00, 0x01, 0x89, 0x22, 0x20, 0xf0, 0x00, 0xfc, 0x26,
0x60, 0x20, 0x20, 0x80, 0x01, 0x00, 0x21, 0x20, 0xf0, 0x00, 0xfc, 0x0c, 0x1e, 0x04, 0xd1, 0x03,
0x23, 0x01, 0x4a, 0x86, 0x42, 0x5b, 0x60, 0x13, 0x4b, 0x84, 0x25, 0x00, 0x68, 0x1b, 0x2b, 0x00,
0xdb, 0x21, 0x4d, 0x81, 0x21, 0x00, 0x68, 0x28, 0x22, 0x00, 0xf0, 0x00, 0xfc, 0x13, 0x28, 0x00,
0xdb, 0x13, 0x22, 0x80, 0x68, 0x28, 0x1c, 0x21, 0x01, 0x12, 0xf0, 0x00, 0xfc, 0x13, 0x28, 0x00,
0xdb, 0x0b, 0x78, 0x23, 0x2b, 0x43, 0xd1, 0x08, 0x78, 0x63, 0x2b, 0x49, 0xd1, 0x05, 0x78, 0xa3,
0x2b, 0x53, 0xd1, 0x02, 0x78, 0xe3, 0x2b, 0x4f, 0xd0, 0x03, 0x23, 0x01, 0x4a, 0x73, 0x42, 0x5b,
0x60, 0x13, 0x25, 0x80, 0x01, 0xad, 0x4a, 0x71, 0x68, 0x13, 0x2b, 0x00, 0xdb, 0x67, 0x4b, 0x70,
0x68, 0x1b, 0x2b, 0x00, 0xd0, 0x63, 0x79, 0x62, 0x79, 0xa3, 0x02, 0x12, 0x04, 0x1b, 0x18, 0xd2,
0x79, 0x23, 0x48, 0x6c, 0x18, 0xd2, 0x79, 0xe3, 0x21, 0x00, 0x06, 0x1b, 0x18, 0xd2, 0x4b, 0x6a,
0x08, 0x92, 0x60, 0x1a, 0x22, 0x80, 0x01, 0x12, 0xf7, 0xff, 0xff, 0x3c, 0x27, 0x08, 0x26, 0x00,
0x05, 0x7b, 0x2b, 0x00, 0xd1, 0x26, 0x4a, 0x65, 0x23, 0x01, 0x42, 0x96, 0xdc, 0x00, 0x23, 0x00,
0x06, 0x1b, 0x2b, 0x00, 0xd0, 0x1e, 0x4b, 0x5d, 0x68, 0x1a, 0x4b, 0x5b, 0x2a, 0x02, 0xd1, 0x03,
0x12, 0xf9, 0x68, 0x18, 0x02, 0x49, 0xe0, 0x02, 0x0a, 0xf9, 0x68, 0x18, 0x02, 0xc9, 0x22, 0x00,
0xf0, 0x00, 0xfb, 0xc0, 0x28, 0x00, 0xdb, 0x08, 0x4b, 0x53, 0x22, 0x80, 0x68, 0x18, 0x1c, 0x21,
0x01, 0x12, 0xf0, 0x00, 0xfb, 0xbf, 0x28, 0x00, 0xda, 0x04, 0x23, 0x01, 0x4a, 0x4f, 0x42, 0x5b,
0x60, 0x13, 0xe0, 0x1d, 0x20, 0x07, 0x40, 0x30, 0xd1, 0x04, 0x4b, 0x4d, 0x10, 0xf2, 0x68, 0x1b,
0x00, 0x92, 0x50, 0xd5, 0x05, 0x7b, 0x0d, 0x5b, 0x5c, 0xe3, 0x2b, 0x00, 0xd0, 0x0a, 0x4a, 0x49,
0x21, 0x01, 0x10, 0xf3, 0x40, 0x81, 0x1c, 0x08, 0x5c, 0xd1, 0x43, 0x01, 0x54, 0xd1, 0x4b, 0x46,
0x68, 0x1b, 0x18, 0xed, 0x23, 0x80, 0x36, 0x01, 0x01, 0xdb, 0x37, 0x01, 0x42, 0x9e, 0xd1, 0xb7,
0x4b, 0x3e, 0x68, 0x1a, 0x2a, 0x00, 0xdb, 0x02, 0x21, 0x04, 0x43, 0x0a, 0x60, 0x1a, 0x2c, 0x00,
0xd0, 0x02, 0x1c, 0x20, 0xf0, 0x00, 0xfb, 0x6a, 0x4b, 0x38, 0x4c, 0x39, 0x68, 0x1b, 0x93, 0x05,
0x2b, 0x03, 0xdd, 0x2e, 0x4b, 0x38, 0x98, 0x04, 0x68, 0x1d, 0x1c, 0x29, 0xf0, 0x00, 0xfb, 0x7e,
0x68, 0x23, 0x08, 0xc2, 0x24, 0x07, 0x00, 0x91, 0x58, 0xc9, 0x40, 0x20, 0x23, 0x00, 0x4e, 0x31,
0x24, 0x01, 0xe0, 0x05, 0x5c, 0xb7, 0x41, 0x1f, 0x42, 0x3c, 0xd0, 0x00, 0x19, 0x49, 0x33, 0x01,
0x42, 0x83, 0xd3, 0xf7, 0x9a, 0x04, 0x3d, 0x01, 0x40, 0x15, 0x9a, 0x05, 0x19, 0x49, 0x4b, 0x26,
0x07, 0x92, 0xd5, 0x01, 0x68, 0x18, 0xe0, 0x01, 0x68, 0x18, 0x00, 0x89, 0x22, 0x00, 0xf0, 0x00,
0xfb, 0x59, 0x4b, 0x21, 0x99, 0x03, 0x68, 0x18, 0x9a, 0x02, 0xf0, 0x00, 0xfb, 0x5b, 0x24, 0x00,
0xe0, 0x32, 0x68, 0x21, 0x29, 0x00, 0xd0, 0x02, 0x20, 0x00, 0xf0, 0x00, 0xfb, 0x57, 0x4b, 0x1c,
0x22, 0x00, 0x60, 0x1a, 0xe0, 0x26, 0x4c, 0x1e, 0x9b, 0x04, 0x68, 0x20, 0x9a, 0x02, 0x62, 0x03,
0x9b, 0x03, 0x63, 0xc2, 0x61, 0x03, 0x61, 0x82, 0x21, 0x40, 0xf0, 0x00, 0xfb, 0x27, 0x98, 0x03,
0x99, 0x02, 0xf0, 0x00, 0xfb, 0x23, 0x4b, 0x17, 0x68, 0x1b, 0x2b, 0x00, 0xd0, 0x04, 0x68, 0x23,
0x68, 0x28, 0x49, 0x15, 0x93, 0x00, 0xe0, 0x03, 0x68, 0x23, 0x49, 0x14, 0x68, 0x28, 0x93, 0x00,
0x22, 0x02, 0x23, 0x01, 0xf0, 0x00, 0xfb, 0x02, 0x99, 0x02, 0x1c, 0x04, 0x98, 0x03, 0xf0, 0x00,
0xfb, 0x15, 0xe0, 0x01, 0x24, 0x01, 0x42, 0x64, 0xb0, 0x07, 0x1c, 0x20, 0xbc, 0xf0, 0xbc, 0x02,
0x47, 0x08, 0x46, 0xc0, 0x13, 0x77, 0xec, 0x20, 0x13, 0x77, 0xe2, 0x84, 0x13, 0x77, 0xec, 0x24,
0x13, 0x77, 0xeb, 0x0c, 0x13, 0x77, 0xec, 0x40, 0x13, 0x77, 0xeb, 0x3c, 0x00, 0x00, 0x07, 0xf7,
0x13, 0x77, 0xeb, 0xc4, 0x13, 0x77, 0xec, 0x28, 0x57, 0x46, 0x53, 0x03, 0x57, 0x46, 0x53, 0x02,
0xb5, 0xf0, 0xb0, 0x85, 0x1c, 0x05, 0x1c, 0x0e, 0x92, 0x03, 0x28, 0x01, 0xd9, 0x00, 0xe0, 0x9e,
0x4a, 0x53, 0x4b, 0x54, 0x68, 0x11, 0x42, 0x99, 0xd1, 0x02, 0x23, 0x01, 0x42, 0x5b, 0x60, 0x13,
0x4b, 0x51, 0x68, 0x1a, 0x2a, 0x00, 0xd1, 0x02, 0x4a, 0x50, 0x60, 0x1a, 0xe0, 0x05, 0x4b, 0x4c,
0x68, 0x18, 0x28, 0x00, 0xdb, 0x01, 0xf0, 0x00, 0xfa, 0xf5, 0x48, 0x49, 0x23, 0x01, 0x42, 0x5b,
0x60, 0x03, 0x4a, 0x4b, 0x4b, 0x4b, 0x21, 0x00, 0x60, 0x11, 0x60, 0x19, 0x78, 0x31, 0x29, 0x5f,
0xd1, 0x38, 0x78, 0x71, 0x29, 0x4e, 0xd1, 0x0c, 0x78, 0xb2, 0x2a, 0x55, 0xd1, 0x32, 0x78, 0xf2,
0x2a, 0x4c, 0xd1, 0x2f, 0x22, 0x01, 0x60, 0x1a, 0x4b, 0x43, 0x60, 0x1a, 0x4b, 0x3d, 0x60, 0x03,
0xe0, 0x70, 0x29, 0x44, 0xd1, 0x26, 0x78, 0xb1, 0x29, 0x45, 0xd1, 0x1c, 0x78, 0xf2, 0x2a, 0x56,
0xd1, 0x20, 0x22, 0x01, 0x60, 0x1a, 0x79, 0x32, 0x2a, 0x57, 0xd1, 0x01, 0x22, 0x02, 0x60, 0x1a,
0x4c, 0x3a, 0x21, 0x80, 0x1c, 0x20, 0x00, 0x49, 0xf0, 0x00, 0xfa, 0xa8, 0x1c, 0x20, 0x21, 0x00,
0xf0, 0x00, 0xfa, 0x82, 0x4b, 0x2e, 0x1c, 0x05, 0x60, 0x18, 0x28, 0x00, 0xda, 0x52, 0x4b, 0x31,
0x22, 0x00, 0x60, 0x1a, 0xe0, 0x4f, 0x29, 0x56, 0xd1, 0x04, 0x78, 0xf3, 0x2b, 0x44, 0xd1, 0x01,
0x23, 0x01, 0x60, 0x13, 0x4b, 0x2e, 0x00, 0xaa, 0x58, 0xd0, 0x21, 0x01, 0xf0, 0x00, 0xfa, 0x6c,
0x4c, 0x23, 0x60, 0x20, 0x28, 0x00, 0xda, 0x06, 0x2d, 0x00, 0xd1, 0x04, 0x48, 0x29, 0x21, 0x01,
0xf0, 0x00, 0xfa, 0x62, 0x60, 0x20, 0x4f, 0x1e, 0x68, 0x3d, 0x2d, 0x00, 0xdb, 0x33, 0x4c, 0x1e,
0x1c, 0x31, 0x68, 0x20, 0x22, 0x06, 0x30, 0x20, 0xf0, 0x00, 0xfa, 0x7c, 0x68, 0x20, 0xa9, 0x03,
0x22, 0x04, 0x30, 0x3c, 0xf0, 0x00, 0xfa, 0x76, 0x68, 0x20, 0x26, 0x04, 0x1c, 0x03, 0x33, 0x20,
0x60, 0x03, 0x23, 0x06, 0x60, 0x43, 0x1c, 0x03, 0x33, 0x3c, 0x60, 0x83, 0x60, 0xc6, 0x21, 0x40,
0xf0, 0x00, 0xfa, 0x5c, 0x68, 0x23, 0x68, 0x38, 0x49, 0x17, 0x93, 0x00, 0x22, 0x02, 0x23, 0x00,
0xf0, 0x00, 0xfa, 0x44, 0x1c, 0x05, 0x68, 0x20, 0x21, 0x40, 0x1c, 0x03, 0x33, 0x20, 0x60, 0x03,
0x33, 0x1c, 0x60, 0x46, 0x60, 0x83, 0x60, 0xc6, 0xf0, 0x00, 0xfa, 0x48, 0xe0, 0x03, 0x25, 0x01,
0x42, 0x6d, 0xe0, 0x00, 0x25, 0x00, 0xb0, 0x05, 0x1c, 0x28, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08,
0x13, 0x77, 0xe2, 0x84, 0x00, 0x66, 0x69, 0x99, 0x13, 0x77, 0xeb, 0xc4, 0x13, 0x77, 0xeb, 0xe0,
0x13, 0x77, 0xec, 0x28, 0x13, 0x77, 0xec, 0x24, 0x13, 0x77, 0xec, 0x20, 0x13, 0x77, 0xe2, 0xa0,
0x13, 0x77, 0xd9, 0x3c, 0x13, 0x77, 0xd9, 0x20, 0x57, 0x46, 0x53, 0x01, 0xb4, 0x7c, 0xb5, 0x00,
0xf7, 0xfe, 0xfe, 0xaa, 0xbc, 0x02, 0xbc, 0x7c, 0x47, 0x08, 0xb5, 0x70, 0xb0, 0x88, 0x68, 0x85,
0x1c, 0x01, 0x4b, 0x01, 0x47, 0x18, 0x00, 0x00, 0x20, 0x10, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x00,
0xe6, 0x00, 0x08, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x07, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0x30, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x50, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xb0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x03, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xf0, 0xe1, 0x2f, 0xff, 0x1e,
0xe6, 0x00, 0x04, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x50, 0xe1, 0x2f, 0xff, 0x1e,
0xef, 0x00, 0x00, 0xcc, 0xe1, 0x2f, 0xff, 0x1e, 0x46, 0x72, 0x1c, 0x01, 0x20, 0x04, 0xdf, 0xab,
0x47, 0x10, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0xc0, 0x46, 0xc0,
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0xac, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x1f,
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x98,
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x19, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x84, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x13,
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x70,
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x0d, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x5c, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x07,
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x48,
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x01, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
0xe1, 0x2f, 0xff, 0x17, 0xb5, 0xf0, 0x46, 0x5f, 0x46, 0x56, 0x46, 0x4d, 0x46, 0x44, 0xb4, 0xf0,
0x4b, 0x0b, 0x68, 0x1b, 0x47, 0x18, 0x00, 0x00, 0xe3, 0xc0, 0x01, 0x02, 0xe1, 0x2f, 0xff, 0x1e,
0xe3, 0x80, 0x01, 0x02, 0xe1, 0x2f, 0xff, 0x1e, 0x13, 0x77, 0xc0, 0x10, 0x13, 0x77, 0xc0, 0x14,
0x13, 0x77, 0xc0, 0x18, 0x13, 0x77, 0xc0, 0x1c, 0x13, 0x77, 0xc0, 0x20, 0x13, 0x77, 0xc0, 0x24,
0x13, 0x77, 0xc0, 0x0c, 0xe1, 0xa0, 0x00, 0x00, 0xe1, 0xa0, 0x00, 0x00, 0xe1, 0xa0, 0x00, 0x00,
0xe2, 0x51, 0x20, 0x01, 0x01, 0x2f, 0xff, 0x1e, 0x3a, 0x00, 0x00, 0x36, 0xe1, 0x50, 0x00, 0x01,
0x9a, 0x00, 0x00, 0x22, 0xe1, 0x11, 0x00, 0x02, 0x0a, 0x00, 0x00, 0x23, 0xe3, 0x11, 0x02, 0x0e,
0x01, 0xa0, 0x11, 0x81, 0x03, 0xa0, 0x30, 0x08, 0x13, 0xa0, 0x30, 0x01, 0xe3, 0x51, 0x02, 0x01,
0x31, 0x51, 0x00, 0x00, 0x31, 0xa0, 0x12, 0x01, 0x31, 0xa0, 0x32, 0x03, 0x3a, 0xff, 0xff, 0xfa,
0xe3, 0x51, 0x01, 0x02, 0x31, 0x51, 0x00, 0x00, 0x31, 0xa0, 0x10, 0x81, 0x31, 0xa0, 0x30, 0x83,
0x3a, 0xff, 0xff, 0xfa, 0xe3, 0xa0, 0x20, 0x00, 0xe1, 0x50, 0x00, 0x01, 0x20, 0x40, 0x00, 0x01,
0x21, 0x82, 0x20, 0x03, 0xe1, 0x50, 0x00, 0xa1, 0x20, 0x40, 0x00, 0xa1, 0x21, 0x82, 0x20, 0xa3,
0xe1, 0x50, 0x01, 0x21, 0x20, 0x40, 0x01, 0x21, 0x21, 0x82, 0x21, 0x23, 0xe1, 0x50, 0x01, 0xa1,
0x20, 0x40, 0x01, 0xa1, 0x21, 0x82, 0x21, 0xa3, 0xe3, 0x50, 0x00, 0x00, 0x11, 0xb0, 0x32, 0x23,
0x11, 0xa0, 0x12, 0x21, 0x1a, 0xff, 0xff, 0xef, 0xe1, 0xa0, 0x00, 0x02, 0xe1, 0x2f, 0xff, 0x1e,
0x03, 0xa0, 0x00, 0x01, 0x13, 0xa0, 0x00, 0x00, 0xe1, 0x2f, 0xff, 0x1e, 0xe3, 0x51, 0x08, 0x01,
0x21, 0xa0, 0x18, 0x21, 0x23, 0xa0, 0x20, 0x10, 0x33, 0xa0, 0x20, 0x00, 0xe3, 0x51, 0x0c, 0x01,
0x21, 0xa0, 0x14, 0x21, 0x22, 0x82, 0x20, 0x08, 0xe3, 0x51, 0x00, 0x10, 0x21, 0xa0, 0x12, 0x21,
0x22, 0x82, 0x20, 0x04, 0xe3, 0x51, 0x00, 0x04, 0x82, 0x82, 0x20, 0x03, 0x90, 0x82, 0x20, 0xa1,
0xe1, 0xa0, 0x02, 0x30, 0xe1, 0x2f, 0xff, 0x1e, 0xe1, 0x2f, 0xff, 0x1f, 0xe1, 0xa0, 0x00, 0x00,
0xe3, 0x50, 0x00, 0x00, 0x13, 0xe0, 0x00, 0x00, 0xea, 0x00, 0x00, 0x6c, 0xe3, 0x51, 0x00, 0x00,
0x0a, 0xff, 0xff, 0xf8, 0xe9, 0x2d, 0x40, 0x03, 0xeb, 0xff, 0xff, 0xbc, 0xe8, 0xbd, 0x40, 0x06,
0xe0, 0x03, 0x00, 0x92, 0xe0, 0x41, 0x10, 0x03, 0xe1, 0x2f, 0xff, 0x1e, 0x47, 0x70, 0x46, 0xc0,
0xb5, 0xf0, 0x1c, 0x05, 0x1c, 0x0e, 0x1c, 0x14, 0x2a, 0x0f, 0xd9, 0x03, 0x1c, 0x0b, 0x43, 0x03,
0x07, 0x9f, 0xd0, 0x0a, 0x2c, 0x00, 0xd0, 0x05, 0x23, 0x00, 0x5c, 0xf2, 0x54, 0xea, 0x33, 0x01,
0x42, 0xa3, 0xd1, 0xfa, 0xbc, 0xf0, 0xbc, 0x02, 0x47, 0x08, 0x1c, 0x15, 0x1c, 0x0c, 0x1c, 0x03,
0x68, 0x26, 0x60, 0x1e, 0x68, 0x66, 0x60, 0x5e, 0x68, 0xa6, 0x60, 0x9e, 0x68, 0xe6, 0x3d, 0x10,
0x60, 0xde, 0x34, 0x10, 0x33, 0x10, 0x2d, 0x0f, 0xd8, 0xf2, 0x3a, 0x10, 0x09, 0x17, 0x1c, 0x7e,
0x01, 0x3f, 0x01, 0x36, 0x1b, 0xd7, 0x19, 0x85, 0x1c, 0x3c, 0x19, 0x8e, 0x2f, 0x03, 0xd9, 0xd9,
0x1c, 0x34, 0x1c, 0x3b, 0x1c, 0x2a, 0xcc, 0x02, 0x3b, 0x04, 0xc2, 0x02, 0x2b, 0x03, 0xd8, 0xfa,
0x3f, 0x04, 0x08, 0xbc, 0x1c, 0x63, 0x00, 0x9b, 0x00, 0xa4, 0x18, 0xed, 0x18, 0xf6, 0x1b, 0x3c,
0xe7, 0xc8, 0x46, 0xc0, 0xb5, 0x70, 0x1c, 0x03, 0x07, 0x84, 0xd0, 0x0d, 0x2a, 0x00, 0xd0, 0x40,
0x06, 0x0d, 0x3a, 0x01, 0x0e, 0x2d, 0x24, 0x03, 0xe0, 0x02, 0x2a, 0x00, 0xd0, 0x39, 0x3a, 0x01,
0x70, 0x1d, 0x33, 0x01, 0x42, 0x23, 0xd1, 0xf8, 0x2a, 0x03, 0xd9, 0x29, 0x25, 0xff, 0x40, 0x0d,
0x02, 0x2c, 0x43, 0x25, 0x04, 0x2c, 0x1c, 0x1e, 0x43, 0x25, 0x2a, 0x0f, 0xd9, 0x12, 0x1c, 0x1c,
0x1c, 0x16, 0x3e, 0x10, 0x60, 0x25, 0x60, 0x65, 0x60, 0xa5, 0x60, 0xe5, 0x34, 0x10, 0x2e, 0x0f,
0xd8, 0xf7, 0x3a, 0x10, 0x09, 0x16, 0x36, 0x01, 0x01, 0x36, 0x19, 0x9e, 0x23, 0x0f, 0x40, 0x1a,
0x2a, 0x03, 0xd9, 0x0c, 0x1c, 0x34, 0x1c, 0x13, 0x3b, 0x04, 0xc4, 0x20, 0x2b, 0x03, 0xd8, 0xfb,
0x3a, 0x04, 0x08, 0x93, 0x33, 0x01, 0x00, 0x9b, 0x18, 0xf6, 0x23, 0x03, 0x40, 0x1a, 0x1c, 0x33,
0x2a, 0x00, 0xd0, 0x06, 0x06, 0x09, 0x0e, 0x0c, 0x21, 0x00, 0x54, 0x5c, 0x31, 0x01, 0x42, 0x8a,
0xd1, 0xfb, 0xbc, 0x70, 0xbc, 0x02, 0x47, 0x08, 0x48, 0x45, 0x4c, 0x4f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2f, 0x64, 0x65, 0x76, 0x2f, 0x75, 0x73, 0x62, 0x31, 0x32, 0x33, 0x00, 0x2f, 0x64, 0x65, 0x76,
0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00, 0x13, 0x77, 0xd9, 0x20,
0x13, 0x77, 0xd9, 0x2c, 0x13, 0x77, 0xd9, 0x20, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xff, 0x07,
0xe5, 0x9f, 0xc0, 0x00, 0xe1, 0x2f, 0xff, 0x1c, 0x13, 0x77, 0xd7, 0xbd, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xff, 0x0c, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xff, 0x2c, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xff, 0x18, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xff, 0x10, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xfe, 0xf2, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xff, 0x36, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xfe, 0xf0, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xff, 0x14, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xfe, 0xee, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xfe, 0xf8, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xff, 0x3a, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xfe, 0xf0, 0x47, 0x78, 0x46, 0xc0,
0xea, 0xff, 0xfe, 0xe8, 0x47, 0x78, 0x46, 0xc0, 0xea, 0xff, 0xfe, 0xea, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2f, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2f, 0x64, 0x65, 0x76, 0x2f, 0x75, 0x73, 0x62, 0x31, 0x32, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#define size_odip_frag 9120

View File

@ -0,0 +1,16 @@
#ifndef ODIP_FRAG_H_
#define ODIP_FRAG_H_
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char odip_frag[9120];
#define odip_frag_size sizeof(odip_frag)
#ifdef __cplusplus
}
#endif
#endif

View File

@ -31,7 +31,7 @@
#include "dvd_broadway.h"
#include "fatmounter.h"
#include "mload/mload.h"
#include "mload/dip_plugin.h"
#include "mload/mload_modules.h"
#include "gecko.h"
#include "patchcode.h"
@ -853,9 +853,7 @@ u32 do_bca_code(u8 *gameid)
}
}
mload_seek(*((u32 *) (dip_plugin + 15 * 4)), SEEK_SET); // offset 15 (bca_data area)
mload_write(bcaCode, 64);
mload_close();
Set_DIP_BCA_Datas(bcaCode);
}
return 0;
}

View File

@ -13,6 +13,9 @@
#include "usbloader/disc.h"
#include "usbloader/fstfile.h"
#include "usbloader/wdvd.h"
#include "usbloader/wbfs.h"
#include "libwbfs/libwbfs.h"
#include "libwbfs/wiidisc.h"
#include "main.h"
#include "sys.h"
#include "settings/cfg.h"
@ -38,93 +41,39 @@ int DiscBrowse(struct discHdr * header)
{
gprintf("\nDiscBrowser() started");
bool exit = false;
int ret, choice;
u64 offset;
int ret = 0, choice;
HaltGui();
if (!mountMethod)
{
ret = Disc_SetUSB(header->id);
if (ret < 0)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not set USB." ), tr( "OK" ));
return ret;
}
}
ret = Disc_Open();
if (ret < 0)
Disc_SetUSB(NULL);
wbfs_disc_t *disc = WBFS_OpenDisc((u8 *) header->id);
if (!disc)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not open Disc" ), tr( "OK" ));
return ret;
}
wiidisc_t *wdisc = wd_open_disc((int(*)(void *, u32, u32, void *)) wbfs_disc_read, disc);
if (!wdisc)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not open Disc" ), tr( "OK" ));
return ret;
}
ret = __Disc_FindPartition(&offset);
if (ret < 0)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not find a WBFS partition." ), tr( "OK" ));
return ret;
}
ret = WDVD_OpenPartition(offset);
if (ret < 0)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not open WBFS partition" ), tr( "OK" ));
return ret;
}
int *buffer = (int*) allocate_memory( 0x20 );
if (buffer == NULL)
FST_ENTRY * fstbuffer = (FST_ENTRY *) wd_get_fst(wdisc, ONLY_GAME_PARTITION);
if (!fstbuffer)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Not enough free memory." ), tr( "OK" ));
return -1;
}
ret = WDVD_Read(buffer, 0x20, 0x420);
if (ret < 0)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not read the disc." ), tr( "OK" ));
return ret;
}
wd_close_disc(wdisc);
WBFS_CloseDisc(disc);
void *fstbuffer = allocate_memory( buffer[2] * 4 );
FST_ENTRY *fst = (FST_ENTRY *) fstbuffer;
if (fst == NULL)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Not enough free memory." ), tr( "OK" ));
free(buffer);
return -1;
}
ret = WDVD_Read(fstbuffer, buffer[2] * 4, buffer[1] * 4);
if (ret < 0)
{
ResumeGui();
WindowPrompt(tr( "ERROR:" ), tr( "Could not read the disc." ), tr( "OK" ));
free(buffer);
free(fstbuffer);
return ret;
}
ResumeGui();
free(buffer);
WDVD_Reset();
//Disc_SetUSB(NULL);
WDVD_ClosePartition();
u32 discfilecount = fst[0].filelen;
u32 discfilecount = fstbuffer[0].filelen;
u32 dolfilecount = 0;
//int offsetselect[20];
customOptionList options3(discfilecount);
@ -132,12 +81,12 @@ int DiscBrowse(struct discHdr * header)
{
//don't add files that aren't .dol to the list
int len = (strlen(fstfiles(fst, i)));
if (fstfiles(fst, i)[len - 4] == '.' && fstfiles(fst, i)[len - 3] == 'd' && fstfiles(fst, i)[len - 2] == 'o'
&& fstfiles(fst, i)[len - 1] == 'l')
int len = (strlen(fstfiles(fstbuffer, i)));
if (fstfiles(fstbuffer, i)[len - 4] == '.' && fstfiles(fstbuffer, i)[len - 3] == 'd' && fstfiles(fstbuffer, i)[len - 2] == 'o'
&& fstfiles(fstbuffer, i)[len - 1] == 'l')
{
options3.SetName(i, "%i", i);
options3.SetValue(i, fstfiles(fst, i));
options3.SetValue(i, fstfiles(fstbuffer, i));
//options3.SetName(i, fstfiles(fst, i));
dolfilecount++;
@ -220,7 +169,7 @@ int DiscBrowse(struct discHdr * header)
if (ret > 0)
{
char temp[100];
strlcpy(temp, fstfiles(fst, ret), sizeof(temp));
strlcpy(temp, fstfiles(fstbuffer, ret), sizeof(temp));
choice = WindowPrompt(temp, tr( "Load this DOL as alternate DOL?" ), tr( "OK" ), tr( "Cancel" ));
if (choice)
{

View File

@ -1912,14 +1912,6 @@ int DiscWait(const char *title, const char *msg, const char *btn1Label, const ch
{
VIDEO_WaitVSync();
timerTxt.SetTextf("%u %s", i, tr( "seconds left" ));
/* HaltGui();
if (Settings.cios == ios222) {
ret = IOS_ReloadIOS(222);
load_ehc_module();
} else {
ret = IOS_ReloadIOS(249);
}
ResumeGui();*/
sleep(1);
USBDevice_deInit();
USBDevice_Init();

View File

@ -137,7 +137,9 @@ void Sys_BackToLoader(void)
bool Sys_IsHermes()
{
return IOS_GetVersion() == 222 || IOS_GetVersion() == 223;
int ios = IOS_GetVersion();
return ios == 222 || ios == 223 || ios == 224;
}
void ScreenShot()

View File

@ -7,6 +7,15 @@
#include "../mload/mload_modules.h"
#include "../settings/CSettings.h"
#include "wad/nandtitle.h"
#include "mload/mload.h"
#include "mload/modules/ehcmodule_2.h"
#include "mload/modules/dip_plugin_2.h"
#include "mload/modules/ehcmodule_3.h"
#include "mload/modules/dip_plugin_3.h"
#include "mload/modules/ehcmodule_5.h"
#include "mload/modules/dip_plugin_249.h"
#include "mload/modules/odip_frag.h"
/******************************************************************************
* Public Methods:
@ -19,10 +28,12 @@ s32 IosLoader::LoadAppCios()
{
s32 ret = -1;
// Unmount devices before reloading IOS.
// Unmount fat before reloading IOS.
SDCard_deInit();
USBDevice_deInit();
USBStorage2_Deinit();
__io_usbstorage.shutdown(); // libogc usb
__io_usbstorage2.shutdown(); // cios usb
USB_Deinitialize(); // main usb handle
u32 ciosLoadPriority[] = { 250, 249, 222, Settings.cios }; // Descending.
u32 activeCios = IOS_GetVersion();
@ -48,16 +59,12 @@ s32 IosLoader::LoadAppCios()
// Remount devices after reloading IOS.
SDCard_Init();
if (IOS_GetVersion() == 222) load_ehc_module();
USBDevice_Init();
Disc_Init();
return ret;
}
/******************************************************************************
* Private/Protected Methods:
******************************************************************************/
/*
* Reloads a certain IOS under the condition, that an appropriate version of the IOS is installed.
* @return a negative value if a safe reload of the ios was not possible.
@ -96,5 +103,66 @@ s32 IosLoader::ReloadIosSafe(s32 ios)
s32 r = IOS_ReloadIOS(ios);
if (r >= 0) WII_Initialize();
IosLoader::LoadIOSModules(IOS_GetVersion(), IOS_GetRevision());
return r;
}
/******************************************************************************
* Private/Protected Methods:
******************************************************************************/
void IosLoader::LoadIOSModules(s32 ios, s32 ios_rev)
{
//! Hermes IOS
if(ios == 222 || ios == 223 || ios == 224)
{
const u8 * ech_module = NULL;
int ehc_module_size = 0;
const u8 * dip_plugin = NULL;
int dip_plugin_size = 0;
switch (ios_rev)
{
case 2:
ech_module = ehcmodule_2;
ehc_module_size = ehcmodule_2_size;
dip_plugin = dip_plugin_2;
dip_plugin_size = dip_plugin_2_size;
break;
case 3:
ech_module = ehcmodule_3;
ehc_module_size = ehcmodule_3_size;
dip_plugin = dip_plugin_3;
dip_plugin_size = dip_plugin_3_size;
break;
default:
ech_module = ehcmodule_5;
ehc_module_size = ehcmodule_5_size;
dip_plugin = odip_frag;
dip_plugin_size = odip_frag_size;
break;
}
u8 *ehc_cfg = search_for_ehcmodule_cfg((u8 *) ech_module, ehc_module_size);
if (ehc_cfg)
{
ehc_cfg += 12;
ehc_cfg[0] = 0; // USB Port 0
}
load_modules(ech_module, ehc_module_size, dip_plugin, dip_plugin_size);
}
//! Waninkoko IOS
else if(ios == 249 || ios == 250)
{
if(ios_rev >= 18)
{
if(mload_init() < 0)
return;
mload_module((u8 *) dip_plugin_249, dip_plugin_249_size);
mload_close();
}
}
}

View File

@ -8,6 +8,8 @@ class IosLoader
public:
static s32 LoadAppCios();
static s32 ReloadIosSafe(s32 ios);
private:
static void LoadIOSModules(s32 ios, s32 ios_rev);
};
#endif

View File

@ -259,7 +259,7 @@ s32 Disc_SetUSB(const u8 *id)
}
/* Set USB mode */
return WDVD_SetUSBMode(id, part);
return WDVD_SetUSBMode((u8 *) id, part);
}
s32 Disc_ReadHeader(void *outbuf)

View File

@ -33,9 +33,6 @@
#include "usbstorage2.h"
#include "memory/mem2.h"
#define isMEM2Buffer(p) (((u32) p & 0x10000000) != 0)
#define MAX_BUFFER_SECTORS 256
/* IOCTL commands */
#define UMS_BASE (('U'<<24)|('M'<<16)|('S'<<8))
@ -53,24 +50,26 @@
#define WBFS_BASE (('W'<<24)|('F'<<16)|('S'<<8))
#define USB_IOCTL_WBFS_OPEN_DISC (WBFS_BASE+0x1)
#define USB_IOCTL_WBFS_READ_DISC (WBFS_BASE+0x2)
#define USB_IOCTL_WBFS_READ_DIRECT_DISC (WBFS_BASE+0x3)
#define USB_IOCTL_WBFS_STS_DISC (WBFS_BASE+0x4)
#define USB_IOCTL_WBFS_SET_DEVICE (WBFS_BASE+0x50)
#define USB_IOCTL_WBFS_SET_FRAGLIST (WBFS_BASE+0x51)
#define UMS_HEAPSIZE 0x1000
#define isMEM2Buffer(p) (((u32) p & 0x10000000) != 0)
#define MAX_BUFFER_SECTORS 256
#define UMS_HEAPSIZE 0x8000
/* Variables */
static char fs[] ATTRIBUTE_ALIGN( 32 ) = "/dev/usb2";
static char fs2[] ATTRIBUTE_ALIGN( 32 ) = "/dev/usb/ehc";
static char fs[] ATTRIBUTE_ALIGN(32) = "/dev/usb2";
static char fs2[] ATTRIBUTE_ALIGN(32) = "/dev/usb123";
static char fs3[] ATTRIBUTE_ALIGN(32) = "/dev/usb/ehc";
static u8 * mem2_ptr = NULL;
static s32 hid = -1, fd = -1;
static u32 sector_size = 0;
static int mounted = 0;
s32 USBStorage2_Init(void)
{
s32 ret, ret2;
s32 ret;
/* Already open */
if (fd >= 0) return 0;
@ -85,34 +84,19 @@ s32 USBStorage2_Init(void)
/* Open USB device */
fd = IOS_Open(fs, 0);
if (fd < 0) fd = IOS_Open(fs2, 0);
if (fd < 0) fd = IOS_Open(fs3, 0);
if (fd < 0) return fd;
/* Initialize USB storage */
ret = IOS_IoctlvFormat(hid, fd, USB_IOCTL_UMS_INIT, ":");
if (ret < 0) goto err;
if (ret > 1) ret = 0;
ret2 = ret;
/* Get device capacity */
ret = USBStorage2_GetCapacity(&sector_size);
if (!ret)
{
ret = -1;
goto err;
}
if (ret2 == 0 && sector_size != 512) // check for HD sector size 512 bytes
{
ret = -20001;
goto err;
}
if (ret2 == 1 && sector_size != 2048) // check for DVD sector size 2048 bytes
{
ret = -20002;
goto err;
}
mounted = 1;
return ret2; // 0->HDD, 1->DVD
if (ret < 0) goto err;
return ret; // 0->HDD, 1->DVD
err:
/* Close USB device */
@ -127,8 +111,6 @@ s32 USBStorage2_Init(void)
void USBStorage2_Deinit(void)
{
mounted = 0;
/* Close USB device */
if (fd >= 0)
{

View File

@ -2,368 +2,435 @@
#include <string.h>
#include <malloc.h>
#include <ogcsys.h>
#include "gecko.h"
#include "wbfs.h"
/* Constants */
#define IOCTL_DI_READID 0x70
#define IOCTL_DI_READ 0x71
#define IOCTL_DI_WAITCVRCLOSE 0x79
#define IOCTL_DI_GETCOVER 0x88
#define IOCTL_DI_RESET 0x8A
#define IOCTL_DI_OPENPART 0x8B
#define IOCTL_DI_CLOSEPART 0x8C
#define IOCTL_DI_UNENCREAD 0x8D
#define IOCTL_DI_SEEK 0xAB
#define IOCTL_DI_STOPLASER 0xD2
#define IOCTL_DI_OFFSET 0xD9
#define IOCTL_DI_DISC_BCA 0xDA
#define IOCTL_DI_STOPMOTOR 0xE3
#define IOCTL_DI_SETUSBMODE 0xF4
#define IOCTL_DI_DISABLERESET 0xF6
#define IOCTL_DI_READID 0x70
#define IOCTL_DI_READ 0x71
#define IOCTL_DI_WAITCVRCLOSE 0x79
#define IOCTL_DI_GETCOVER 0x88
#define IOCTL_DI_RESET 0x8A
#define IOCTL_DI_OPENPART 0x8B
#define IOCTL_DI_CLOSEPART 0x8C
#define IOCTL_DI_UNENCREAD 0x8D
#define IOCTL_DI_SEEK 0xAB
#define IOCTL_DI_STOPLASER 0xD2
#define IOCTL_DI_OFFSET 0xD9
#define IOCTL_DI_DISC_BCA 0xDA
#define IOCTL_DI_STOPMOTOR 0xE3
#define IOCTL_DI_SETWBFSMODE 0xF4
#define IOCTL_DI_GETWBFSMODE 0xF5 // odip
#define IOCTL_DI_DISABLERESET 0xF6 // odip
/** Hermes IOS222 **/
#define DI_SETWBFSMODE 0xfe
#define DI_SETOFFSETBASE 0xf1
#define DI_SETWBFSMODE 0xfe
#define IOCTL_DI_SETFRAG 0xF9
#define IOCTL_DI_GETMODE 0xFA
/* Variables */
static u32 inbuf[8] ATTRIBUTE_ALIGN( 32 );
static u32 outbuf[8] ATTRIBUTE_ALIGN( 32 );
static u32 inbuf[8] ATTRIBUTE_ALIGN(32);
static u32 outbuf[8] ATTRIBUTE_ALIGN(32);
static const char di_fs[] ATTRIBUTE_ALIGN( 32 ) = "/dev/di";
static const char di_fs[] ATTRIBUTE_ALIGN(32) = "/dev/di";
static s32 di_fd = -1;
s32 WDVD_Init(void)
{
/* Open "/dev/di" */
if (di_fd < 0)
{
di_fd = IOS_Open(di_fs, 0);
if (di_fd < 0) return di_fd;
}
/* Open "/dev/di" */
if (di_fd < 0) {
di_fd = IOS_Open(di_fs, 0);
if (di_fd < 0)
return di_fd;
}
return 0;
return 0;
}
s32 WDVD_Close(void)
{
/* Close "/dev/di" */
if (di_fd >= 0)
{
IOS_Close(di_fd);
di_fd = -1;
}
/* Close "/dev/di" */
if (di_fd >= 0) {
IOS_Close(di_fd);
di_fd = -1;
}
return 0;
return 0;
}
s32 WDVD_GetHandle(void)
{
/* Return di handle */
return di_fd;
/* Return di handle */
return di_fd;
}
s32 WDVD_Reset(void)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Reset drive */
inbuf[0] = IOCTL_DI_RESET << 24;
inbuf[1] = 1;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_RESET, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Reset drive */
inbuf[0] = IOCTL_DI_RESET << 24;
inbuf[1] = 1;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_RESET, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_ReadDiskId(void *id)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Read disc ID */
inbuf[0] = IOCTL_DI_READID << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_READID, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Read disc ID */
inbuf[0] = IOCTL_DI_READID << 24;
if (ret == 1)
{
memcpy(id, outbuf, sizeof(dvddiskid));
return 0;
}
ret = IOS_Ioctl(di_fd, IOCTL_DI_READID, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return -ret;
if (ret == 1) {
memcpy(id, outbuf, sizeof(dvddiskid));
return 0;
}
return -ret;
}
s32 WDVD_Seek(u64 offset)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Drive seek */
inbuf[0] = IOCTL_DI_SEEK << 24;
inbuf[1] = (u32) (offset >> 2);
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_SEEK, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret != 1)
{
// Try old cIOS 222
/* Drive seek */
inbuf[0] = DI_SETOFFSETBASE << 24;
ret = IOS_Ioctl(di_fd, DI_SETOFFSETBASE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
}
if (ret < 0) return ret;
/* Drive seek */
inbuf[0] = IOCTL_DI_SEEK << 24;
inbuf[1] = (u32)(offset >> 2);
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_SEEK, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_Offset(u64 offset)
{
if (di_fd < 0)
return di_fd;
//u32 *off = (u32 *)((void *)&offset);
union
{
u64 off64;
u32 off32[2];
} off;
off.off64 = offset;
union { u64 off64; u32 off32[2]; } off;off.off64 = offset;
s32 ret;
memset(inbuf, 0, sizeof(inbuf));
/* Set offset */
inbuf[0] = IOCTL_DI_OFFSET << 24;
inbuf[1] = (off.off32[0]) ? 1 : 0;
inbuf[1] = (off.off32[0]) ? 1: 0;
inbuf[2] = (off.off32[1] >> 2);
ret = IOS_Ioctl(di_fd, IOCTL_DI_OFFSET, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_StopLaser(void)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Stop laser */
inbuf[0] = IOCTL_DI_STOPLASER << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_STOPLASER, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Stop laser */
inbuf[0] = IOCTL_DI_STOPLASER << 24;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_STOPLASER, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_StopMotor(void)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Stop motor */
inbuf[0] = IOCTL_DI_STOPMOTOR << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_STOPMOTOR, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Stop motor */
inbuf[0] = IOCTL_DI_STOPMOTOR << 24;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_STOPMOTOR, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_OpenPartition(u64 offset)
{
u8 *vector = NULL;
if (di_fd < 0)
return di_fd;
u32 *buffer = NULL;
s32 ret;
static u8 Tmd_Buffer[0x4A00] ATTRIBUTE_ALIGN(32);
static ioctlv Vectors[5] ATTRIBUTE_ALIGN(32);
s32 ret;
/* Allocate memory */
buffer = (u32 *) memalign(32, 0x5000);
if (!buffer) return -1;
memset(inbuf, 0, sizeof inbuf);
memset(outbuf, 0, sizeof outbuf);
/* Set vector pointer */
vector = (u8 *) buffer;
inbuf[0] = IOCTL_DI_OPENPART << 24;
inbuf[1] = offset >> 2;
memset(buffer, 0, 0x5000);
Vectors[0].data = inbuf;
Vectors[0].len = 0x20;
Vectors[1].data = 0;
Vectors[1].len = 0;
Vectors[2].data = 0;
Vectors[2].len = 0;
Vectors[3].data = Tmd_Buffer;
Vectors[3].len = 0x49e4;
Vectors[4].data = outbuf;
Vectors[4].len = 0x20;
/* Open partition */
buffer[0] = (u32) (buffer + 0x10);
buffer[1] = 0x20;
buffer[3] = 0x024A;
buffer[6] = (u32) (buffer + 0x380);
buffer[7] = 0x49E4;
buffer[8] = (u32) (buffer + 0x360);
buffer[9] = 0x20;
ret = IOS_Ioctlv(di_fd, IOCTL_DI_OPENPART, 3, 2, (ioctlv *)Vectors);
buffer[(0x40 >> 2)] = IOCTL_DI_OPENPART << 24;
buffer[(0x40 >> 2) + 1] = offset >> 2;
if (ret < 0)
return ret;
ret = IOS_Ioctlv(di_fd, IOCTL_DI_OPENPART, 3, 2, (ioctlv *) vector);
/* Free memory */
free(buffer);
if (ret < 0) return ret;
return (ret == 1) ? 0 : -ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_ClosePartition(void)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Close partition */
inbuf[0] = IOCTL_DI_CLOSEPART << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_CLOSEPART, inbuf, sizeof(inbuf), NULL, 0);
if (ret < 0) return ret;
/* Close partition */
inbuf[0] = IOCTL_DI_CLOSEPART << 24;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_CLOSEPART, inbuf, sizeof(inbuf), NULL, 0);
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_UnencryptedRead(void *buf, u32 len, u64 offset)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Unencrypted read */
inbuf[0] = IOCTL_DI_UNENCREAD << 24;
inbuf[1] = len;
inbuf[2] = (u32) (offset >> 2);
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_UNENCREAD, inbuf, sizeof(inbuf), buf, len);
if (ret < 0) return ret;
/* Unencrypted read */
inbuf[0] = IOCTL_DI_UNENCREAD << 24;
inbuf[1] = len;
inbuf[2] = (u32)(offset >> 2);
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_UNENCREAD, inbuf, sizeof(inbuf), buf, len);
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_Read(void *buf, u32 len, u64 offset)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Disc read */
inbuf[0] = IOCTL_DI_READ << 24;
inbuf[1] = len;
inbuf[2] = (u32) (offset >> 2);
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_READ, inbuf, sizeof(inbuf), buf, len);
if (ret < 0) return ret;
/* Disc read */
inbuf[0] = IOCTL_DI_READ << 24;
inbuf[1] = len;
inbuf[2] = (u32)(offset >> 2);
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_READ, inbuf, sizeof(inbuf), buf, len);
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_WaitForDisc(void)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Wait for disc */
inbuf[0] = IOCTL_DI_WAITCVRCLOSE << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_WAITCVRCLOSE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Wait for disc */
inbuf[0] = IOCTL_DI_WAITCVRCLOSE << 24;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_WAITCVRCLOSE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_GetCoverStatus(u32 *status)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Get cover status */
inbuf[0] = IOCTL_DI_GETCOVER << 24;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_GETCOVER, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
/* Get cover status */
inbuf[0] = IOCTL_DI_GETCOVER << 24;
if (ret == 1)
{
/* Copy cover status */
memcpy(status, outbuf, sizeof(u32));
ret = IOS_Ioctl(di_fd, IOCTL_DI_GETCOVER, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return 0;
}
if (ret == 1) {
/* Copy cover status */
memcpy(status, outbuf, sizeof(u32));
return -ret;
return 0;
}
return -ret;
}
s32 WDVD_DisableReset(u8 val)
{
s32 ret;
memset(inbuf, 0, sizeof(inbuf));
/* Disable/Enable reset */
inbuf[0] = IOCTL_DI_DISABLERESET << 24;
inbuf[1] = val;
ret = IOS_Ioctl(di_fd, IOCTL_DI_DISABLERESET, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0) return ret;
return (ret == 1) ? 0 : -ret;
}
/** Hermes **/
s32 WDVD_SetUSBMode(const u8 *id, s32 partition)
{
if (di_fd < 0)
return di_fd;
s32 ret;
memset(inbuf, 0, sizeof(inbuf));
/* Set USB mode */
inbuf[0] = IOCTL_DI_SETUSBMODE << 24;
inbuf[1] = (id) ? 1 : 0;
inbuf[0] = IOCTL_DI_SETWBFSMODE << 24;
inbuf[1] = (id) ? WBFS_DEVICE_USB : 0;
/* Copy ID */
if (id)
{
if (id) {
memcpy(&inbuf[2], id, 6);
if (IOS_GetVersion() != 249)
{
inbuf[5] = partition;
}
if(partition >= 0) {
inbuf[5] = partition;
}
}
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETUSBMODE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret != 1)
{
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETWBFSMODE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret!=1) {
// Try old cIOS 222
/* Set USB mode */
inbuf[0] = DI_SETWBFSMODE << 24;
ret = IOS_Ioctl(di_fd, DI_SETWBFSMODE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
}
if (ret < 0) return ret;
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_Read_Disc_BCA(void *buf)
{
s32 ret;
if (di_fd < 0)
return di_fd;
memset(inbuf, 0, sizeof(inbuf));
s32 ret;
/* Disc read */
inbuf[0] = IOCTL_DI_DISC_BCA << 24;
//inbuf[1] = 64;
memset(inbuf, 0, sizeof(inbuf));
ret = IOS_Ioctl(di_fd, IOCTL_DI_DISC_BCA, inbuf, sizeof(inbuf), buf, 64);
if (ret < 0) return ret;
/* Disc read */
inbuf[0] = IOCTL_DI_DISC_BCA << 24;
//inbuf[1] = 64;
return (ret == 1) ? 0 : -ret;
ret = IOS_Ioctl(di_fd, IOCTL_DI_DISC_BCA, inbuf, sizeof(inbuf), buf, 64);
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
// frag
s32 WDVD_SetFragList(int device, void *fraglist, int size)
{
if (di_fd < 0)
return di_fd;
s32 ret;
memset(inbuf, 0, sizeof(inbuf));
memset(outbuf, 0, sizeof(outbuf));
/* Set FRAG mode */
inbuf[0] = IOCTL_DI_SETFRAG << 24;
inbuf[1] = device;
inbuf[2] = (u32)fraglist;
inbuf[3] = size;
DCFlushRange(fraglist, size);
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETFRAG, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}
s32 WDVD_Eject(void)
{
if (di_fd < 0)
return di_fd;
s32 ret;
memset(inbuf, 0, sizeof(inbuf));
/* Stop motor */
inbuf[0] = IOCTL_DI_STOPMOTOR << 24;
/* Eject DVD */
inbuf[1] = 1;
ret = IOS_Ioctl(di_fd, IOCTL_DI_STOPMOTOR, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
if (ret < 0)
return ret;
return (ret == 1) ? 0 : -ret;
}

View File

@ -2,33 +2,33 @@
#define _WDVD_H_
#ifdef __cplusplus
extern "C"
{
#endif
extern "C" {
#endif /* __cplusplus */
/* Prototypes */
s32 WDVD_Init(void);
s32 WDVD_Close(void);
s32 WDVD_GetHandle(void);
s32 WDVD_Reset(void);
s32 WDVD_ReadDiskId(void *);
s32 WDVD_Seek(u64);
s32 WDVD_Offset(u64);
s32 WDVD_StopLaser(void);
s32 WDVD_StopMotor(void);
s32 WDVD_OpenPartition(u64);
s32 WDVD_ClosePartition(void);
s32 WDVD_UnencryptedRead(void *, u32, u64);
s32 WDVD_Read(void *, u32, u64);
s32 WDVD_WaitForDisc(void);
s32 WDVD_GetCoverStatus(u32 *);
s32 WDVD_DisableReset(u8);
s32 WDVD_SetUSBMode(const u8 *, s32 partition);
s32 WDVD_Read_Disc_BCA(void *buf);
/* Prototypes */
s32 WDVD_Init(void);
s32 WDVD_Close(void);
s32 WDVD_GetHandle(void);
s32 WDVD_Reset(void);
s32 WDVD_ReadDiskId(void *);
s32 WDVD_Seek(u64);
s32 WDVD_Offset(u64);
s32 WDVD_StopLaser(void);
s32 WDVD_StopMotor(void);
s32 WDVD_OpenPartition(u64 offset);
s32 WDVD_ClosePartition(void);
s32 WDVD_UnencryptedRead(void *, u32, u64);
s32 WDVD_Read(void *, u32, u64);
s32 WDVD_WaitForDisc(void);
s32 WDVD_GetCoverStatus(u32 *);
s32 WDVD_SetUSBMode(const u8 *, s32);
s32 WDVD_Eject(void);
s32 WDVD_Read_Disc_BCA(void *);
s32 WDVD_SetFragList(int device, void *fraglist, int size);
#ifdef __cplusplus
}
#endif
#endif /* __cplusplus */
#endif