diff --git a/setter/macos.c b/setter/macos.c
index c367de6..fb0b9f3 100644
--- a/setter/macos.c
+++ b/setter/macos.c
@@ -1 +1,2154 @@
-/****************************************************************************
The Disc Image Chef
-----------------------------------------------------------------------------
Filename : macos.c
Author(s) : Natalia Portillo
Component : fstester.setter
--[ Description ] -----------------------------------------------------------
Contains Mac OS code
--[ License ] ---------------------------------------------------------------
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 3 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 warraty of
MERCHANTIBILITY 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, see .
-----------------------------------------------------------------------------
Copyright (C) 2011-2018 Natalia Portillo
*****************************************************************************/
#if defined(macintosh)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "consts.h"
#include "defs.h"
#include "macos.h"
void GetOsInfo()
{
int32_t gestaltResponse;
OSErr rc;
printf("OS information:\n");
rc = Gestalt(gestaltAUXVersion, &gestaltResponse);
if(!rc)
{
printf("Running under A/UX version 0x%08X\n", gestaltResponse);
}
else
{
rc = Gestalt(gestaltSystemVersion, &gestaltResponse);
if(rc)
{
printf("Could not get Mac OS version.\n");
}
else
{
printf("Running under Mac OS version %d.%d.%d", (gestaltResponse & 0xF00) >> 8,
(gestaltResponse & 0xF0) >> 4, gestaltResponse & 0xF);
rc = Gestalt(gestaltSysArchitecture, &gestaltResponse);
if(!rc)
{
printf(" for ");
switch(gestaltResponse)
{
case 1:
printf("Motorola 68k architecture.");
break;
case 2:
printf("PowerPC architecture.");
break;
case 3:
printf("x86 architecture.");
break;
default:
printf("unknown architecture code %d.", gestaltResponse);
break;
}
}
printf("\n");
}
rc = Gestalt(gestaltMacOSCompatibilityBoxAttr, &gestaltResponse);
if(!rc)
{
printf("Running under Classic.\n");
}
}
}
void GetVolumeInfo(const char *path, size_t *clusterSize)
{
OSErr rc;
Str255 str255;
HVolumeParam hpb;
XVolumeParam xpb;
int32_t gestaltResponse;
int16_t drvInfo;
int16_t refNum;
uint64_t totalBlocks;
uint64_t freeBlocks;
uint32_t crDate;
uint32_t lwDate;
uint32_t bkDate;
uint16_t fsId;
uint64_t totalBytes;
uint64_t freeBytes;
int hfsPlusApis = 0;
int bigVol = 0;
*clusterSize = 0;
snprintf((char *)str255, 255, "%s", path);
rc = Gestalt(gestaltFSAttr, &gestaltResponse);
if(!rc)
{
hfsPlusApis = gestaltResponse & (1 << gestaltHasHFSPlusAPIs);
bigVol = gestaltResponse & (1 << gestaltFSSupports2TBVols);
}
if(!bigVol)
{
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
drvInfo = hpb.ioVDrvInfo;
refNum = hpb.ioVRefNum;
totalBlocks = hpb.ioVNmAlBlks;
freeBlocks = hpb.ioVFrBlk;
crDate = hpb.ioVCrDate;
lwDate = hpb.ioVLsMod;
bkDate = hpb.ioVBkUp;
fsId = hpb.ioVSigWord;
*clusterSize = hpb.ioVAlBlkSiz;
totalBytes = totalBlocks * *clusterSize;
freeBytes = freeBlocks * *clusterSize;
if(hpb.ioVFSID != 0)
{
fsId = hpb.ioVFSID;
}
}
else
{
xpb.ioNamePtr = str255;
xpb.ioVRefNum = 0;
xpb.ioVolIndex = -1;
rc = PBXGetVolInfo((XVolumeParamPtr) & xpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
drvInfo = xpb.ioVDrvInfo;
refNum = xpb.ioVRefNum;
totalBlocks = xpb.ioVTotalBytes / xpb.ioVAlBlkSiz;
freeBlocks = xpb.ioVFreeBytes / xpb.ioVAlBlkSiz;
crDate = xpb.ioVCrDate;
lwDate = xpb.ioVLsMod;
bkDate = xpb.ioVBkUp;
fsId = xpb.ioVSigWord;
*clusterSize = xpb.ioVAlBlkSiz;
totalBytes = xpb.ioVTotalBytes;
freeBytes = xpb.ioVFreeBytes;
if(xpb.ioVFSID != 0)
{
fsId = xpb.ioVFSID;
}
}
printf("Volume information:\n");
printf("\tPath: %s\n", path);
if(bigVol)
{
printf("\tVolume supports up to 2Tb disks.\n");
}
if(hfsPlusApis)
{
printf("\tVolume supports HFS Plus APIs.\n");
}
printf("\tDrive number: %d\n", drvInfo);
printf("\tVolume number: %d\n", refNum);
printf("\tVolume name: %#s\n", str255);
printf("\t%llu allocation blocks in volume, %llu free\n", totalBlocks, freeBlocks);
printf("\t%llu bytes in volume, %llu free\n", totalBytes, freeBytes);
printf("\t%d bytes per allocation block.\n", *clusterSize);
printf("\tVolume created on 0x%08X\n", crDate);
printf("\tVolume last written on 0x%08X\n", lwDate);
printf("\tVolume last backed up on 0x%08X\n", bkDate);
printf("\tFilesystem type: ");
switch(fsId)
{
case 0xD2D7:
printf("MFS\n");
break;
case 0x4244:
printf("HFS\n");
break;
case 0x482B:
printf("HFS Plus\n");
break;
case 0x4147:
printf("ISO9660\n");
break;
case 0x55DF:
printf("UDF\n");
break;
case 0x4242:
printf("High Sierra\n");
break;
case 0x4A48:
printf("Audio CD\n");
break;
case 0x0100:
printf("ProDOS\n");
break;
default:
printf("unknown id 0x%04X\n", fsId);
break;
}
}
void FileAttributes(const char *path)
{
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
HFileInfo *fpb;
CInfoPBRec cipbr;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pATTRS", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating attribute files.\n");
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pNONE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pNONE", 0, &refFile);
if(!rc)
{
count = strlen(noAttributeText);
wRc = FSWrite(refFile, &count, noAttributeText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
rc = HSetFInfo(refNum, dirId, "\pNONE", &finderInfo);
}
}
printf("\tFile with no attributes: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "NONE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pINDESK", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pINDESK", 0, &refFile);
if(!rc)
{
count = strlen(desktopText);
wRc = FSWrite(refFile, &count, desktopText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kIsOnDesk;
rc = HSetFInfo(refNum, dirId, "\pINDESK", &finderInfo);
}
}
printf("\tFile is in desktop: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INDESK", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pBROWN", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pBROWN", 0, &refFile);
if(!rc)
{
count = strlen(color2Text);
wRc = FSWrite(refFile, &count, color2Text);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x02;
rc = HSetFInfo(refNum, dirId, "\pBROWN", &finderInfo);
}
}
printf("\tFile is colored brown: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BROWN", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pGREEN", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pGREEN", 0, &refFile);
if(!rc)
{
count = strlen(color4Text);
wRc = FSWrite(refFile, &count, color4Text);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x04;
rc = HSetFInfo(refNum, dirId, "\pGREEN", &finderInfo);
}
}
printf("\tFile is colored green: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "GREEN", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pLILAC", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pLILAC", 0, &refFile);
if(!rc)
{
count = strlen(color6Text);
wRc = FSWrite(refFile, &count, color6Text);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x06;
rc = HSetFInfo(refNum, dirId, "\pLILAC", &finderInfo);
}
}
printf("\tFile is colored lilac: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "LILAC", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pBLUE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pBLUE", 0, &refFile);
if(!rc)
{
count = strlen(color8Text);
wRc = FSWrite(refFile, &count, color8Text);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x08;
rc = HSetFInfo(refNum, dirId, "\pBLUE", &finderInfo);
}
}
printf("\tFile is colored blue: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BLUE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pMAGENTA", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMAGENTA", 0, &refFile);
if(!rc)
{
count = strlen(colorAText);
wRc = FSWrite(refFile, &count, colorAText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x0A;
rc = HSetFInfo(refNum, dirId, "\pMAGENTA", &finderInfo);
}
}
printf("\tFile is colored magenta: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "MAGENTA", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pRED", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pRED", 0, &refFile);
if(!rc)
{
count = strlen(colorCText);
wRc = FSWrite(refFile, &count, colorCText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x0C;
rc = HSetFInfo(refNum, dirId, "\pRED", &finderInfo);
}
}
printf("\tFile is colored red: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "RED", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pORANGE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pORANGE", 0, &refFile);
if(!rc)
{
count = strlen(colorEText);
wRc = FSWrite(refFile, &count, colorEText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0x0E;
rc = HSetFInfo(refNum, dirId, "\pORANGE", &finderInfo);
}
}
printf("\tFile is colored orange: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ORANGE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pSWITCH", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pSWITCH", 0, &refFile);
if(!rc)
{
count = strlen(requireSwitchText);
wRc = FSWrite(refFile, &count, requireSwitchText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kRequireSwitchLaunch;
rc = HSetFInfo(refNum, dirId, "\pSWITCH", &finderInfo);
}
}
printf("\tFile require switch launch: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SWITCH", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pSHARED", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pSHARED", 0, &refFile);
if(!rc)
{
count = strlen(sharedText);
wRc = FSWrite(refFile, &count, sharedText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kIsShared;
rc = HSetFInfo(refNum, dirId, "\pSHARED", &finderInfo);
}
}
printf("\tFile is shared: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SHARED", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pNOINIT", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pNOINIT", 0, &refFile);
if(!rc)
{
count = strlen(noInitText);
wRc = FSWrite(refFile, &count, noInitText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kHasNoINITs;
rc = HSetFInfo(refNum, dirId, "\pNOINIT", &finderInfo);
}
}
printf("\tFile has no INITs: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "NOINIT", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pINITED", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pINITED", 0, &refFile);
if(!rc)
{
count = strlen(initedText);
wRc = FSWrite(refFile, &count, initedText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kHasBeenInited;
rc = HSetFInfo(refNum, dirId, "\pINITED", &finderInfo);
}
}
printf("\tFile has been INITed: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INITED", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pAOCE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pAOCE", 0, &refFile);
if(!rc)
{
count = strlen(aoceText);
wRc = FSWrite(refFile, &count, aoceText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kAOCE;
rc = HSetFInfo(refNum, dirId, "\pAOCE", &finderInfo);
}
}
printf("\tFile with AOCE set: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "AOCE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pICON", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pICON", 0, &refFile);
if(!rc)
{
count = strlen(customIconText);
wRc = FSWrite(refFile, &count, customIconText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kHasCustomIcon;
rc = HSetFInfo(refNum, dirId, "\pICON", &finderInfo);
}
}
printf("\tFile has custom icon (not really): name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ICON", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pSTATIONERY", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pSTATIONERY", 0, &refFile);
if(!rc)
{
count = strlen(stationeryText);
wRc = FSWrite(refFile, &count, stationeryText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kIsStationery;
rc = HSetFInfo(refNum, dirId, "\pSTATIONERY", &finderInfo);
}
}
printf("\tFile is stationery: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "STATIONERY", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pLOCKED", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pLOCKED", 0, &refFile);
if(!rc)
{
count = strlen(nameLockText);
wRc = FSWrite(refFile, &count, nameLockText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kNameLocked;
rc = HSetFInfo(refNum, dirId, "\pLOCKED", &finderInfo);
}
}
printf("\tFile is locked: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "LOCKED", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pBUNDLE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pBUNDLE", 0, &refFile);
if(!rc)
{
count = strlen(bundleText);
wRc = FSWrite(refFile, &count, bundleText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kHasBundle;
rc = HSetFInfo(refNum, dirId, "\pBUNDLE", &finderInfo);
}
}
printf("\tFile has bundle (not really): name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BUNDLE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pINVISIBLE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pINVISIBLE", 0, &refFile);
if(!rc)
{
count = strlen(invisibleText);
wRc = FSWrite(refFile, &count, invisibleText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kIsInvisible;
rc = HSetFInfo(refNum, dirId, "\pINVISIBLE", &finderInfo);
}
}
printf("\tFile is invisible: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INVISIBLE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pALIAS", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pALIAS", 0, &refFile);
if(!rc)
{
count = strlen(aliasText);
wRc = FSWrite(refFile, &count, aliasText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = kIsAlias;
rc = HSetFInfo(refNum, dirId, "\pALIAS", &finderInfo);
}
}
printf("\tFile is alias to nowhere: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ALIAS", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pSIMPLE", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pSIMPLE", 0, &refFile);
if(!rc)
{
count = strlen(simpletextText);
wRc = FSWrite(refFile, &count, simpletextText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostSimpleText;
rc = HSetFInfo(refNum, dirId, "\pSIMPLE", &finderInfo);
}
}
printf("\tFile with creator SimpleText: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SIMPLE", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pDIC", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pDIC", 0, &refFile);
if(!rc)
{
count = strlen(dicText);
wRc = FSWrite(refFile, &count, dicText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostDiscImageChef;
rc = HSetFInfo(refNum, dirId, "\pDIC", &finderInfo);
}
}
printf("\tFile with creator 'dic ': name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "DIC", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_M32_M32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_M32_M32", 0, &refFile);
if(!rc)
{
count = strlen(pos_m32_m32);
wRc = FSWrite(refFile, &count, pos_m32_m32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = -32768;
finderInfo.fdLocation.v = -32768;
rc = HSetFInfo(refNum, dirId, "\pPOS_M32_M32", &finderInfo);
}
}
printf("\tFile with position -32768,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M32_M32", rc, wRc,
cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_32_32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_32_32", 0, &refFile);
if(!rc)
{
count = strlen(pos_32_32);
wRc = FSWrite(refFile, &count, pos_32_32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = 32767;
finderInfo.fdLocation.v = 32767;
rc = HSetFInfo(refNum, dirId, "\pPOS_32_32", &finderInfo);
}
}
printf("\tFile with position 32767,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_32_32", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_M1_M1", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_M1_M1", 0, &refFile);
if(!rc)
{
count = strlen(pos_m1_m1);
wRc = FSWrite(refFile, &count, pos_m1_m1);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = -1024;
finderInfo.fdLocation.v = -1024;
rc = HSetFInfo(refNum, dirId, "\pPOS_M1_M1", &finderInfo);
}
}
printf("\tFile with position -1024,-1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_M1", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_M1_M32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_M1_M32", 0, &refFile);
if(!rc)
{
count = strlen(pos_m1_m32);
wRc = FSWrite(refFile, &count, pos_m1_m32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = -1024;
finderInfo.fdLocation.v = -32768;
rc = HSetFInfo(refNum, dirId, "\pPOS_M1_M32", &finderInfo);
}
}
printf("\tFile with position -1024,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_M32", rc, wRc,
cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_M1_32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_M1_32", 0, &refFile);
if(!rc)
{
count = strlen(pos_m1_32);
wRc = FSWrite(refFile, &count, pos_m1_32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = -1024;
finderInfo.fdLocation.v = 32767;
rc = HSetFInfo(refNum, dirId, "\pPOS_M1_32", &finderInfo);
}
}
printf("\tFile with position -1024,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_32", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_M1_1", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_M1_1", 0, &refFile);
if(!rc)
{
count = strlen(pos_m1_1);
wRc = FSWrite(refFile, &count, pos_m1_1);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = -1024;
finderInfo.fdLocation.v = 1024;
rc = HSetFInfo(refNum, dirId, "\pPOS_M1_1", &finderInfo);
}
}
printf("\tFile with position -1024,1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_1", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_1_M1", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_1_M1", 0, &refFile);
if(!rc)
{
count = strlen(pos_1_m1);
wRc = FSWrite(refFile, &count, pos_1_m1);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = 1024;
finderInfo.fdLocation.v = -1024;
rc = HSetFInfo(refNum, dirId, "\pPOS_1_M1", &finderInfo);
}
}
printf("\tFile with position 1024,-1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_M1", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_1_M32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_1_M32", 0, &refFile);
if(!rc)
{
count = strlen(pos_1_m32);
wRc = FSWrite(refFile, &count, pos_1_m32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = 1024;
finderInfo.fdLocation.v = -32768;
rc = HSetFInfo(refNum, dirId, "\pPOS_1_M32", &finderInfo);
}
}
printf("\tFile with position 1024,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_M32", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_1_32", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_1_32", 0, &refFile);
if(!rc)
{
count = strlen(pos_1_32);
wRc = FSWrite(refFile, &count, pos_1_32);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = 1024;
finderInfo.fdLocation.v = 32767;
rc = HSetFInfo(refNum, dirId, "\pPOS_1_32", &finderInfo);
}
}
printf("\tFile with position 1024,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_32", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPOS_1_1", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pPOS_1_1", 0, &refFile);
if(!rc)
{
count = strlen(pos_1_1);
wRc = FSWrite(refFile, &count, pos_1_1);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdLocation.h = 1024;
finderInfo.fdLocation.v = 1024;
rc = HSetFInfo(refNum, dirId, "\pPOS_1_1", &finderInfo);
}
}
printf("\tFile with position 1024,1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_1", rc, wRc, cRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pALL", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pALL", 0, &refFile);
if(!rc)
{
count = strlen(allText);
wRc = FSWrite(refFile, &count, allText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostUnknown;
finderInfo.fdFlags = 0xFFFF;
rc = HSetFInfo(refNum, dirId, "\pALL", &finderInfo);
}
}
printf("\tFile has all flags bits set: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ALL", rc, wRc, cRc);
}
void FilePermissions(const char *path)
{
/* Do nothing, not supported by target operating system */
}
void ExtendedAttributes(const char *path)
{
/* Do nothing, not supported by target operating system */
}
static OSErr
SaveResourceToNewFile(int16_t vRefNum, int32_t dirID, Str255 filename, ResType type, int16_t resId, Str255 resName,
unsigned char *buffer, size_t length)
{
Handle h;
OSErr rc;
int16_t resRef;
h = NewHandle(length);
if(!h)
return notEnoughMemoryErr;
memcpy(*h, buffer, length);
HCreateResFile(vRefNum, dirID, filename);
resRef = HOpenResFile(vRefNum, dirID, filename, fsCurPerm);
rc = ResError();
if(resRef == -1 || rc)
return rc;
UseResFile(resRef);
AddResource(h, type, resId, resName);
rc = ResError();
CloseResFile(resRef);
DisposeHandle(h);
return rc;
}
void ResourceFork(const char *path)
{
OSErr rc, wRc, cRc, rRc, rRc2, rRc3;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
HFileInfo *fpb;
CInfoPBRec cipbr;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pRSRC", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating resource forks.\n");
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pICON", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rRc = SaveResourceToNewFile(refNum, dirId, "\pICON", rtIcons, -16455, "\pIcon resource", IcnsResource,
sizeof(IcnsResource));
rc = HOpenDF(refNum, dirId, "\pICON", 0, &refFile);
if(!rc)
{
count = strlen(rsrcText);
wRc = FSWrite(refFile, &count, rsrcText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostDiscImageChef;
finderInfo.fdFlags = kHasCustomIcon;
rc = HSetFInfo(refNum, dirId, "\pICON", &finderInfo);
}
}
printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
"ICON", rc, wRc, cRc, rRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pPICT", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rRc = SaveResourceToNewFile(refNum, dirId, "\pPICT", ftPICTFile, 29876, "\pPicture resource", PictResource,
sizeof(PictResource));
rc = HOpenDF(refNum, dirId, "\pPICT", 0, &refFile);
if(!rc)
{
count = strlen(rsrcText);
wRc = FSWrite(refFile, &count, rsrcText);
cRc = FSClose(refFile);
finderInfo.fdType = ftPICTFile;
finderInfo.fdCreator = ostDiscImageChef;
rc = HSetFInfo(refNum, dirId, "\pPICT", &finderInfo);
}
}
printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
"PICT", rc, wRc, cRc, rRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pVERSION", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rRc = SaveResourceToNewFile(refNum, dirId, "\pVERSION", rtVersion, 1, "\pVersion resource", VersResource,
sizeof(VersResource));
rc = HOpenDF(refNum, dirId, "\pVERSION", 0, &refFile);
if(!rc)
{
count = strlen(rsrcText);
wRc = FSWrite(refFile, &count, rsrcText);
cRc = FSClose(refFile);
finderInfo.fdType = ftGenericDocumentPC;
finderInfo.fdCreator = ostDiscImageChef;
rc = HSetFInfo(refNum, dirId, "\pVERSION", &finderInfo);
}
}
printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
"VERSION", rc, wRc, cRc, rRc);
memset(&finderInfo, 0, sizeof(FInfo));
rc = HCreate(refNum, dirId, "\pALL", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rRc = SaveResourceToNewFile(refNum, dirId, "\pALL", rtIcons, -16455, "\pIcon resource", IcnsResource,
sizeof(IcnsResource));
rRc2 = SaveResourceToNewFile(refNum, dirId, "\pALL", ftPICTFile, 29876, "\pPicture resource", PictResource,
sizeof(PictResource));
rRc3 = SaveResourceToNewFile(refNum, dirId, "\pALL", rtVersion, 1, "\pVersion resource", VersResource,
sizeof(VersResource));
rc = HOpenDF(refNum, dirId, "\pALL", 0, &refFile);
if(!rc)
{
count = strlen(rsrcText);
wRc = FSWrite(refFile, &count, rsrcText);
cRc = FSClose(refFile);
finderInfo.fdType = ftPICTFile;
finderInfo.fdCreator = ostDiscImageChef;
finderInfo.fdFlags = kHasCustomIcon;
rc = HSetFInfo(refNum, dirId, "\pALL", &finderInfo);
}
}
printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d, rRc2 = %d, rRc3 = %d\n",
"ALL", rc, wRc, cRc, rRc, rRc2, rRc3);
}
void Filenames(const char *path)
{
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
char message[300];
int pos = 0;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pFILENAME", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating files with different filenames.\n");
for(pos = 0; filenames[pos]; pos++)
{
count = strlen(filenames[pos]);
memset(&str255, 0, sizeof(Str255));
if(count > 255)
{
continue;
}
str255[0] = (char)count;
memcpy(str255 + 1, filenames[pos], count);
rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, str255, 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, FILENAME_FORMAT, filenames[pos]);
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", filenames[pos], rc, wRc, cRc);
}
}
void Timestamps(const char *path)
{
OSErr rc, wRc, cRc, tRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
HFileInfo *fpb;
CInfoPBRec cipbr;
char message[300];
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pTIMES", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating timestamped files.\n");
rc = HCreate(refNum, dirId, "\pMAXCTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMAXCTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "creation");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMAXCTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = MAXTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXCTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMAXMTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMAXMTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "modification");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMAXMTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = MAXTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXMTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMAXBTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMAXBTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "backup");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMAXBTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = MAXTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXBTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMINCTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMINCTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "creation");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMINCTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = MINTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINCTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMINMTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMINMTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "modification");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMINMTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = MINTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINMTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMINBTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMINBTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "backup");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMINBTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = MINTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINBTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY2KCTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY2KCTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "creation");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY2KCTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = Y2KTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KCTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY2KMTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY2KMTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "modification");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY2KMTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = Y2KTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KMTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY2KBTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY2KBTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "backup");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY2KBTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = Y2KTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KBTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY1KCTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY1KCTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "creation");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY1KCTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = Y1KTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KCTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY1KMTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY1KMTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "modification");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY1KMTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = Y1KTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KMTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY1KBTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY1KBTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "backup");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY1KBTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = Y1KTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KBTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMAXTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMAXTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "all");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMAXTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = MAXTIMESTAMP;
fpb->ioFlMdDat = MAXTIMESTAMP;
fpb->ioFlBkDat = MAXTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pMINTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pMINTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "all");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pMINTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = MINTIMESTAMP;
fpb->ioFlMdDat = MINTIMESTAMP;
fpb->ioFlBkDat = MINTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pNOTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pNOTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, NONDATETIME, "all");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pNOTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = NONTIMESTAMP;
fpb->ioFlMdDat = NONTIMESTAMP;
fpb->ioFlBkDat = NONTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "NOTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY2KTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY2KTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "all");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY2KTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = Y2KTIMESTAMP;
fpb->ioFlMdDat = Y2KTIMESTAMP;
fpb->ioFlBkDat = Y2KTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KTIME", rc, wRc, cRc, tRc);
rc = HCreate(refNum, dirId, "\pY1KTIME", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pY1KTIME", 0, &refFile);
if(!rc)
{
memset(&message, 0, 300);
sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "all");
count = strlen(message);
wRc = FSWrite(refFile, &count, message);
cRc = FSClose(refFile);
}
memset(&cipbr, 0, sizeof(CInfoPBRec));
fpb = (HFileInfo * ) & cipbr;
fpb->ioVRefNum = refNum;
fpb->ioNamePtr = "\pY1KTIME";
fpb->ioDirID = dirId;
fpb->ioFDirIndex = 0;
PBGetCatInfoSync(&cipbr);
fpb->ioFlCrDat = Y1KTIMESTAMP;
fpb->ioFlMdDat = Y1KTIMESTAMP;
fpb->ioFlBkDat = Y1KTIMESTAMP;
fpb->ioDirID = dirId;
tRc = PBSetCatInfoSync(&cipbr);
}
printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KTIME", rc, wRc, cRc, tRc);
}
void DirectoryDepth(const char *path)
{
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
char filename[9];
int pos = 0;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pDEPTH", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating deepest directory tree.\n");
while(!rc)
{
memset(&filename, 0, 9);
sprintf((char *)filename, "%08d", pos);
str255[0] = 8;
memcpy(str255 + 1, filename, 8);
rc = DirCreate(refNum, dirId, str255, &dirId);
pos++;
/* Mac OS has no limit, but it will crash because the catalog is single threaded */
if(pos == 500)
break;
}
printf("\tCreated %d levels of directory hierarchy\n", pos);
}
void Fragmentation(const char *path, size_t clusterSize)
{
size_t halfCluster = clusterSize / 2;
size_t quarterCluster = clusterSize / 4;
size_t twoCluster = clusterSize * 2;
size_t threeQuartersCluster = halfCluster + quarterCluster;
size_t twoAndThreeQuartCluster = threeQuartersCluster + twoCluster;
unsigned char *buffer;
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
int32_t count;
long i;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pFRAGS", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
rc = HCreate(refNum, dirId, "\pHALFCLST", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pHALFCLST", 0, &refFile);
if(!rc)
{
buffer = malloc(halfCluster);
memset(buffer, 0, halfCluster);
for(i = 0; i < halfCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = halfCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "HALFCLST", halfCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pQUARCLST", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pQUARCLST", 0, &refFile);
if(!rc)
{
buffer = malloc(quarterCluster);
memset(buffer, 0, quarterCluster);
for(i = 0; i < quarterCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = quarterCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "QUARCLST", quarterCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pTWOCLST", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTWOCLST", 0, &refFile);
if(!rc)
{
buffer = malloc(twoCluster);
memset(buffer, 0, twoCluster);
for(i = 0; i < twoCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWOCLST", twoCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pTRQTCLST", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTRQTCLST", 0, &refFile);
if(!rc)
{
buffer = malloc(threeQuartersCluster);
memset(buffer, 0, threeQuartersCluster);
for(i = 0; i < threeQuartersCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = threeQuartersCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TRQTCLST", threeQuartersCluster, rc, wRc,
cRc);
rc = HCreate(refNum, dirId, "\pTWOQCLST", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTWOQCLST", 0, &refFile);
if(!rc)
{
buffer = malloc(twoAndThreeQuartCluster);
memset(buffer, 0, twoAndThreeQuartCluster);
for(i = 0; i < twoAndThreeQuartCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoAndThreeQuartCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWTQCLST", twoAndThreeQuartCluster, rc,
wRc, cRc);
rc = HCreate(refNum, dirId, "\pTWO1", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTWO1", 0, &refFile);
if(!rc)
{
buffer = malloc(twoCluster);
memset(buffer, 0, twoCluster);
for(i = 0; i < twoCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO1", twoCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pTWO2", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTWO2", 0, &refFile);
if(!rc)
{
buffer = malloc(twoCluster);
memset(buffer, 0, twoCluster);
for(i = 0; i < twoCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO2", twoCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pTWO3", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pTWO3", 0, &refFile);
if(!rc)
{
buffer = malloc(twoCluster);
memset(buffer, 0, twoCluster);
for(i = 0; i < twoCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tDeleting \"TWO2\".\n");
rc = HDelete(refNum, dirId, "\pTWO2");
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO3", twoCluster, rc, wRc, cRc);
rc = HCreate(refNum, dirId, "\pFRAGTHRQ", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pFRAGTHRQ", 0, &refFile);
if(!rc)
{
buffer = malloc(threeQuartersCluster);
memset(buffer, 0, threeQuartersCluster);
for(i = 0; i < threeQuartersCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = threeQuartersCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tDeleting \"TWO1\".\n");
rc = HDelete(refNum, dirId, "\pTWO1");
printf("\tDeleting \"TWO3\".\n");
rc = HDelete(refNum, dirId, "\pTWO3");
rc = HCreate(refNum, dirId, "\pFRAGSIXQ", ostUnknown, ftGenericDocumentPC);
if(!rc)
{
rc = HOpenDF(refNum, dirId, "\pFRAGSIXQ", 0, &refFile);
if(!rc)
{
buffer = malloc(twoAndThreeQuartCluster);
memset(buffer, 0, twoAndThreeQuartCluster);
for(i = 0; i < twoAndThreeQuartCluster; i++)
buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
count = twoAndThreeQuartCluster;
wRc = FSWrite(refFile, &count, buffer);
cRc = FSClose(refFile);
free(buffer);
}
}
printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "FRAGSIXQ", twoAndThreeQuartCluster, rc,
wRc, cRc);
}
void Sparse(const char *path)
{
/* Do nothing, not supported by target operating system */
}
static pascal OSErr
CreateAliasFile(const FSSpec *targetFile, const FSSpec *aliasFile, OSType fileCreator, OSType fileType)
{
short rsrcID;
short aliasRefnum;
FInfo finf;
OSErr err;
AliasHandle alias;
FSpCreateResFile(aliasFile, fileCreator, fileType, 0);
err = ResError();
if(err != noErr)
return err;
err = NewAlias(aliasFile, targetFile, &alias);
if(err != noErr || alias == NULL)
return err;
aliasRefnum = FSpOpenResFile(aliasFile, fsRdWrPerm);
AddResource((Handle)alias, rAliasType, 0, "\pDiscImageChef alias");
err = ResError();
CloseResFile(aliasRefnum);
FSpGetFInfo(aliasFile, &finf);
finf.fdCreator = fileCreator;
finf.fdType = fileType;
finf.fdFlags |= 0x8000;
finf.fdFlags &= (~0x0100);
FSpSetFInfo(aliasFile, &finf);
return err;
}
void Links(const char *path)
{
int32_t gestaltResponse;
OSErr rc, wRc, cRc, oRc, aRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
char filename[9];
int pos = 0;
FSSpec targetSpec, aliasSpec;
int32_t count;
rc = Gestalt(gestaltAliasMgrAttr, &gestaltResponse);
if(rc || !(gestaltResponse & (1 << gestaltAliasMgrPresent)))
{
printf("Alias Manager not present, cannot create aliases.\n");
return;
}
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pLINKS", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating aliases.\n");
for(pos = 0; pos < 64; pos++)
{
memset(&filename, 0, 9);
sprintf((char *)filename, "TARGET%02d", pos);
str255[0] = 8;
memcpy(str255 + 1, filename, 8);
rc = HCreate(refNum, dirId, str255, ostSimpleText, ftGenericDocumentPC);
if(rc)
break;
oRc = HOpenDF(refNum, dirId, str255, 0, &refFile);
if(oRc)
break;
count = strlen(targetText);
wRc = FSWrite(refFile, &count, targetText);
cRc = FSClose(refFile);
memset(&targetSpec, 0, sizeof(FSSpec));
targetSpec.vRefNum = refNum;
targetSpec.parID = dirId;
targetSpec.name[0] = 8;
memcpy(targetSpec.name + 1, filename, 8);
memset(&filename, 0, 9);
sprintf((char *)filename, "ALIAS_%02d", pos);
memset(&aliasSpec, 0, sizeof(FSSpec));
aliasSpec.vRefNum = refNum;
aliasSpec.parID = dirId;
aliasSpec.name[0] = 8;
memcpy(aliasSpec.name + 1, filename, 8);
aRc = CreateAliasFile(&targetSpec, &aliasSpec, ostSimpleText, ftGenericDocumentPC);
if(aRc)
break;
}
printf("pos = %d, rc = %d, wRc = %d, cRc = %d, oRc = %d, aRc = %d\n", pos, rc, wRc, cRc, oRc, aRc);
}
void MillionFiles(const char *path)
{
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
char filename[9];
int pos = 0;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pMILLION", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating lots of files.\n");
for(pos = 0; pos < 5000; pos++)
{
memset(&filename, 0, 9);
sprintf((char *)filename, "%08d", pos);
str255[0] = 8;
memcpy(str255 + 1, filename, 8);
rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
if(rc)
break;
}
printf("\tCreated %d files\n", pos);
}
void DeleteFiles(const char *path)
{
OSErr rc, wRc, cRc;
Str255 str255;
HVolumeParam hpb;
int16_t refNum;
int16_t refFile;
int32_t dirId;
FInfo finderInfo;
int32_t count;
char filename[9];
int pos = 0;
snprintf((char *)str255, 255, "%s", path);
hpb.ioNamePtr = str255;
hpb.ioVRefNum = 0;
hpb.ioVolIndex = -1;
rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
if(rc)
{
printf("Could not get volume information.\n");
return;
}
refNum = hpb.ioVRefNum;
rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pDELETED", &dirId);
if(rc)
{
printf("Error %d creating working directory.\n", rc);
return;
}
printf("Creating and deleting files.\n");
for(pos = 0; pos < 64; pos++)
{
memset(&filename, 0, 9);
sprintf((char *)filename, "%08d", pos);
str255[0] = 8;
memcpy(str255 + 1, filename, 8);
rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
if(rc)
break;
HDelete(refNum, dirId, str255);
}
}
#endif
\ No newline at end of file
+/****************************************************************************
+The Disc Image Chef
+-----------------------------------------------------------------------------
+
+Filename : macos.c
+Author(s) : Natalia Portillo
+
+Component : fstester.setter
+
+--[ Description ] -----------------------------------------------------------
+
+Contains Mac OS code
+
+--[ License ] ---------------------------------------------------------------
+ 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 3 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 warraty of
+ MERCHANTIBILITY 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, see .
+
+-----------------------------------------------------------------------------
+Copyright (C) 2011-2018 Natalia Portillo
+*****************************************************************************/
+
+#if defined(macintosh)
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "consts.h"
+#include "defs.h"
+#include "macos.h"
+
+void GetOsInfo()
+{
+ int32_t gestaltResponse;
+ OSErr rc;
+
+ printf("OS information:\n");
+
+ rc = Gestalt(gestaltAUXVersion, &gestaltResponse);
+ if(!rc)
+ {
+ printf("Running under A/UX version 0x%08X\n", gestaltResponse);
+ }
+ else
+ {
+ rc = Gestalt(gestaltSystemVersion, &gestaltResponse);
+ if(rc)
+ {
+ printf("Could not get Mac OS version.\n");
+ }
+ else
+ {
+ printf("Running under Mac OS version %d.%d.%d", (gestaltResponse & 0xF00) >> 8,
+ (gestaltResponse & 0xF0) >> 4, gestaltResponse & 0xF);
+ rc = Gestalt(gestaltSysArchitecture, &gestaltResponse);
+ if(!rc)
+ {
+ printf(" for ");
+ switch(gestaltResponse)
+ {
+ case 1:
+ printf("Motorola 68k architecture.");
+ break;
+ case 2:
+ printf("PowerPC architecture.");
+ break;
+ case 3:
+ printf("x86 architecture.");
+ break;
+ default:
+ printf("unknown architecture code %d.", gestaltResponse);
+ break;
+ }
+ }
+ printf("\n");
+ }
+ rc = Gestalt(gestaltMacOSCompatibilityBoxAttr, &gestaltResponse);
+ if(!rc)
+ {
+ printf("Running under Classic.\n");
+ }
+ }
+}
+
+void GetVolumeInfo(const char *path, size_t *clusterSize)
+{
+ OSErr rc;
+ Str255 str255;
+ HVolumeParam hpb;
+ XVolumeParam xpb;
+ int32_t gestaltResponse;
+ int16_t drvInfo;
+ int16_t refNum;
+ uint64_t totalBlocks;
+ uint64_t freeBlocks;
+ uint32_t crDate;
+ uint32_t lwDate;
+ uint32_t bkDate;
+ uint16_t fsId;
+ uint64_t totalBytes;
+ uint64_t freeBytes;
+ int hfsPlusApis = 0;
+ int bigVol = 0;
+ *clusterSize = 0;
+
+ snprintf((char *)str255, 255, "%s", path);
+
+ rc = Gestalt(gestaltFSAttr, &gestaltResponse);
+ if(!rc)
+ {
+ hfsPlusApis = gestaltResponse & (1 << gestaltHasHFSPlusAPIs);
+ bigVol = gestaltResponse & (1 << gestaltFSSupports2TBVols);
+ }
+
+ if(!bigVol)
+ {
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ drvInfo = hpb.ioVDrvInfo;
+ refNum = hpb.ioVRefNum;
+ totalBlocks = hpb.ioVNmAlBlks;
+ freeBlocks = hpb.ioVFrBlk;
+ crDate = hpb.ioVCrDate;
+ lwDate = hpb.ioVLsMod;
+ bkDate = hpb.ioVBkUp;
+ fsId = hpb.ioVSigWord;
+ *clusterSize = hpb.ioVAlBlkSiz;
+ totalBytes = totalBlocks * *clusterSize;
+ freeBytes = freeBlocks * *clusterSize;
+ if(hpb.ioVFSID != 0)
+ {
+ fsId = hpb.ioVFSID;
+ }
+ }
+ else
+ {
+ xpb.ioNamePtr = str255;
+ xpb.ioVRefNum = 0;
+ xpb.ioVolIndex = -1;
+ rc = PBXGetVolInfo((XVolumeParamPtr) & xpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ drvInfo = xpb.ioVDrvInfo;
+ refNum = xpb.ioVRefNum;
+ totalBlocks = xpb.ioVTotalBytes / xpb.ioVAlBlkSiz;
+ freeBlocks = xpb.ioVFreeBytes / xpb.ioVAlBlkSiz;
+ crDate = xpb.ioVCrDate;
+ lwDate = xpb.ioVLsMod;
+ bkDate = xpb.ioVBkUp;
+ fsId = xpb.ioVSigWord;
+ *clusterSize = xpb.ioVAlBlkSiz;
+ totalBytes = xpb.ioVTotalBytes;
+ freeBytes = xpb.ioVFreeBytes;
+ if(xpb.ioVFSID != 0)
+ {
+ fsId = xpb.ioVFSID;
+ }
+ }
+
+ printf("Volume information:\n");
+ printf("\tPath: %s\n", path);
+ if(bigVol)
+ {
+ printf("\tVolume supports up to 2Tb disks.\n");
+ }
+ if(hfsPlusApis)
+ {
+ printf("\tVolume supports HFS Plus APIs.\n");
+ }
+ printf("\tDrive number: %d\n", drvInfo);
+ printf("\tVolume number: %d\n", refNum);
+ printf("\tVolume name: %#s\n", str255);
+ printf("\t%llu allocation blocks in volume, %llu free\n", totalBlocks, freeBlocks);
+ printf("\t%llu bytes in volume, %llu free\n", totalBytes, freeBytes);
+ printf("\t%d bytes per allocation block.\n", *clusterSize);
+ printf("\tVolume created on 0x%08X\n", crDate);
+ printf("\tVolume last written on 0x%08X\n", lwDate);
+ printf("\tVolume last backed up on 0x%08X\n", bkDate);
+ printf("\tFilesystem type: ");
+ switch(fsId)
+ {
+ case 0xD2D7:
+ printf("MFS\n");
+ break;
+ case 0x4244:
+ printf("HFS\n");
+ break;
+ case 0x482B:
+ printf("HFS Plus\n");
+ break;
+ case 0x4147:
+ printf("ISO9660\n");
+ break;
+ case 0x55DF:
+ printf("UDF\n");
+ break;
+ case 0x4242:
+ printf("High Sierra\n");
+ break;
+ case 0x4A48:
+ printf("Audio CD\n");
+ break;
+ case 0x0100:
+ printf("ProDOS\n");
+ break;
+ default:
+ printf("unknown id 0x%04X\n", fsId);
+ break;
+ }
+}
+
+void FileAttributes(const char *path)
+{
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ HFileInfo *fpb;
+ CInfoPBRec cipbr;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pATTRS", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating attribute files.\n");
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pNONE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pNONE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(noAttributeText);
+ wRc = FSWrite(refFile, &count, noAttributeText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ rc = HSetFInfo(refNum, dirId, "\pNONE", &finderInfo);
+ }
+ }
+ printf("\tFile with no attributes: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "NONE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pINDESK", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pINDESK", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(desktopText);
+ wRc = FSWrite(refFile, &count, desktopText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kIsOnDesk;
+ rc = HSetFInfo(refNum, dirId, "\pINDESK", &finderInfo);
+ }
+ }
+ printf("\tFile is in desktop: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INDESK", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pBROWN", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pBROWN", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(color2Text);
+ wRc = FSWrite(refFile, &count, color2Text);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x02;
+ rc = HSetFInfo(refNum, dirId, "\pBROWN", &finderInfo);
+ }
+ }
+ printf("\tFile is colored brown: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BROWN", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pGREEN", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pGREEN", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(color4Text);
+ wRc = FSWrite(refFile, &count, color4Text);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x04;
+ rc = HSetFInfo(refNum, dirId, "\pGREEN", &finderInfo);
+ }
+ }
+ printf("\tFile is colored green: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "GREEN", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pLILAC", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pLILAC", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(color6Text);
+ wRc = FSWrite(refFile, &count, color6Text);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x06;
+ rc = HSetFInfo(refNum, dirId, "\pLILAC", &finderInfo);
+ }
+ }
+ printf("\tFile is colored lilac: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "LILAC", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pBLUE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pBLUE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(color8Text);
+ wRc = FSWrite(refFile, &count, color8Text);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x08;
+ rc = HSetFInfo(refNum, dirId, "\pBLUE", &finderInfo);
+ }
+ }
+ printf("\tFile is colored blue: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BLUE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pMAGENTA", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMAGENTA", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(colorAText);
+ wRc = FSWrite(refFile, &count, colorAText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x0A;
+ rc = HSetFInfo(refNum, dirId, "\pMAGENTA", &finderInfo);
+ }
+ }
+ printf("\tFile is colored magenta: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "MAGENTA", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pRED", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pRED", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(colorCText);
+ wRc = FSWrite(refFile, &count, colorCText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x0C;
+ rc = HSetFInfo(refNum, dirId, "\pRED", &finderInfo);
+ }
+ }
+ printf("\tFile is colored red: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "RED", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pORANGE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pORANGE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(colorEText);
+ wRc = FSWrite(refFile, &count, colorEText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0x0E;
+ rc = HSetFInfo(refNum, dirId, "\pORANGE", &finderInfo);
+ }
+ }
+ printf("\tFile is colored orange: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ORANGE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pSWITCH", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pSWITCH", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(requireSwitchText);
+ wRc = FSWrite(refFile, &count, requireSwitchText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kRequireSwitchLaunch;
+ rc = HSetFInfo(refNum, dirId, "\pSWITCH", &finderInfo);
+ }
+ }
+ printf("\tFile require switch launch: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SWITCH", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pSHARED", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pSHARED", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(sharedText);
+ wRc = FSWrite(refFile, &count, sharedText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kIsShared;
+ rc = HSetFInfo(refNum, dirId, "\pSHARED", &finderInfo);
+ }
+ }
+ printf("\tFile is shared: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SHARED", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pNOINIT", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pNOINIT", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(noInitText);
+ wRc = FSWrite(refFile, &count, noInitText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kHasNoINITs;
+ rc = HSetFInfo(refNum, dirId, "\pNOINIT", &finderInfo);
+ }
+ }
+ printf("\tFile has no INITs: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "NOINIT", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pINITED", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pINITED", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(initedText);
+ wRc = FSWrite(refFile, &count, initedText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kHasBeenInited;
+ rc = HSetFInfo(refNum, dirId, "\pINITED", &finderInfo);
+ }
+ }
+ printf("\tFile has been INITed: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INITED", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pAOCE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pAOCE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(aoceText);
+ wRc = FSWrite(refFile, &count, aoceText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kAOCE;
+ rc = HSetFInfo(refNum, dirId, "\pAOCE", &finderInfo);
+ }
+ }
+ printf("\tFile with AOCE set: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "AOCE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pICON", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pICON", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(customIconText);
+ wRc = FSWrite(refFile, &count, customIconText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kHasCustomIcon;
+ rc = HSetFInfo(refNum, dirId, "\pICON", &finderInfo);
+ }
+ }
+ printf("\tFile has custom icon (not really): name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ICON", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pSTATIONERY", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pSTATIONERY", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(stationeryText);
+ wRc = FSWrite(refFile, &count, stationeryText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kIsStationery;
+ rc = HSetFInfo(refNum, dirId, "\pSTATIONERY", &finderInfo);
+ }
+ }
+ printf("\tFile is stationery: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "STATIONERY", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pLOCKED", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pLOCKED", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(nameLockText);
+ wRc = FSWrite(refFile, &count, nameLockText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kNameLocked;
+ rc = HSetFInfo(refNum, dirId, "\pLOCKED", &finderInfo);
+ }
+ }
+ printf("\tFile is locked: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "LOCKED", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pBUNDLE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pBUNDLE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(bundleText);
+ wRc = FSWrite(refFile, &count, bundleText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kHasBundle;
+ rc = HSetFInfo(refNum, dirId, "\pBUNDLE", &finderInfo);
+ }
+ }
+ printf("\tFile has bundle (not really): name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "BUNDLE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pINVISIBLE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pINVISIBLE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(invisibleText);
+ wRc = FSWrite(refFile, &count, invisibleText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kIsInvisible;
+ rc = HSetFInfo(refNum, dirId, "\pINVISIBLE", &finderInfo);
+ }
+ }
+ printf("\tFile is invisible: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "INVISIBLE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pALIAS", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pALIAS", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(aliasText);
+ wRc = FSWrite(refFile, &count, aliasText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = kIsAlias;
+ rc = HSetFInfo(refNum, dirId, "\pALIAS", &finderInfo);
+ }
+ }
+ printf("\tFile is alias to nowhere: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ALIAS", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pSIMPLE", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pSIMPLE", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(simpletextText);
+ wRc = FSWrite(refFile, &count, simpletextText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostSimpleText;
+ rc = HSetFInfo(refNum, dirId, "\pSIMPLE", &finderInfo);
+ }
+ }
+ printf("\tFile with creator SimpleText: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "SIMPLE", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pDIC", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pDIC", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(dicText);
+ wRc = FSWrite(refFile, &count, dicText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostDiscImageChef;
+ rc = HSetFInfo(refNum, dirId, "\pDIC", &finderInfo);
+ }
+ }
+ printf("\tFile with creator 'dic ': name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "DIC", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_M32_M32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_M32_M32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_m32_m32);
+ wRc = FSWrite(refFile, &count, pos_m32_m32);
+ cRc = FSClose(refFile);
+
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = -32768;
+ finderInfo.fdLocation.v = -32768;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_M32_M32", &finderInfo);
+ }
+ }
+ printf("\tFile with position -32768,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M32_M32", rc, wRc,
+ cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_32_32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_32_32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_32_32);
+ wRc = FSWrite(refFile, &count, pos_32_32);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = 32767;
+ finderInfo.fdLocation.v = 32767;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_32_32", &finderInfo);
+ }
+ }
+ printf("\tFile with position 32767,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_32_32", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_M1_M1", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_M1_M1", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_m1_m1);
+ wRc = FSWrite(refFile, &count, pos_m1_m1);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = -1024;
+ finderInfo.fdLocation.v = -1024;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_M1_M1", &finderInfo);
+ }
+ }
+ printf("\tFile with position -1024,-1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_M1", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_M1_M32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_M1_M32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_m1_m32);
+ wRc = FSWrite(refFile, &count, pos_m1_m32);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = -1024;
+ finderInfo.fdLocation.v = -32768;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_M1_M32", &finderInfo);
+ }
+ }
+ printf("\tFile with position -1024,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_M32", rc, wRc,
+ cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_M1_32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_M1_32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_m1_32);
+ wRc = FSWrite(refFile, &count, pos_m1_32);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = -1024;
+ finderInfo.fdLocation.v = 32767;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_M1_32", &finderInfo);
+ }
+ }
+ printf("\tFile with position -1024,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_32", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_M1_1", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_M1_1", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_m1_1);
+ wRc = FSWrite(refFile, &count, pos_m1_1);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = -1024;
+ finderInfo.fdLocation.v = 1024;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_M1_1", &finderInfo);
+ }
+ }
+ printf("\tFile with position -1024,1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_M1_1", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_1_M1", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_1_M1", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_1_m1);
+ wRc = FSWrite(refFile, &count, pos_1_m1);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = 1024;
+ finderInfo.fdLocation.v = -1024;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_1_M1", &finderInfo);
+ }
+ }
+ printf("\tFile with position 1024,-1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_M1", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_1_M32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_1_M32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_1_m32);
+ wRc = FSWrite(refFile, &count, pos_1_m32);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = 1024;
+ finderInfo.fdLocation.v = -32768;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_1_M32", &finderInfo);
+ }
+ }
+ printf("\tFile with position 1024,-32768: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_M32", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_1_32", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_1_32", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_1_32);
+ wRc = FSWrite(refFile, &count, pos_1_32);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = 1024;
+ finderInfo.fdLocation.v = 32767;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_1_32", &finderInfo);
+ }
+ }
+ printf("\tFile with position 1024,32767: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_32", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPOS_1_1", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pPOS_1_1", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(pos_1_1);
+ wRc = FSWrite(refFile, &count, pos_1_1);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdLocation.h = 1024;
+ finderInfo.fdLocation.v = 1024;
+ rc = HSetFInfo(refNum, dirId, "\pPOS_1_1", &finderInfo);
+ }
+ }
+ printf("\tFile with position 1024,1024: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "POS_1_1", rc, wRc, cRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pALL", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pALL", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(allText);
+ wRc = FSWrite(refFile, &count, allText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostUnknown;
+ finderInfo.fdFlags = 0xFFFF;
+ rc = HSetFInfo(refNum, dirId, "\pALL", &finderInfo);
+ }
+ }
+ printf("\tFile has all flags bits set: name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", "ALL", rc, wRc, cRc);
+}
+
+void FilePermissions(const char *path)
+{
+ /* Do nothing, not supported by target operating system */
+}
+
+void ExtendedAttributes(const char *path)
+{
+ /* Do nothing, not supported by target operating system */
+}
+
+static OSErr
+SaveResourceToNewFile(int16_t vRefNum, int32_t dirID, Str255 filename, ResType type, int16_t resId, Str255 resName,
+ unsigned char *buffer, size_t length)
+{
+ Handle h;
+ OSErr rc;
+ int16_t resRef;
+
+ h = NewHandle(length);
+
+ if(!h)
+ return notEnoughMemoryErr;
+
+ memcpy(*h, buffer, length);
+
+ HCreateResFile(vRefNum, dirID, filename);
+
+ resRef = HOpenResFile(vRefNum, dirID, filename, fsCurPerm);
+ rc = ResError();
+
+ if(resRef == -1 || rc)
+ return rc;
+
+ UseResFile(resRef);
+
+ AddResource(h, type, resId, resName);
+ rc = ResError();
+
+ CloseResFile(resRef);
+
+ DisposeHandle(h);
+
+ return rc;
+}
+
+void ResourceFork(const char *path)
+{
+ OSErr rc, wRc, cRc, rRc, rRc2, rRc3;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ HFileInfo *fpb;
+ CInfoPBRec cipbr;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pRSRC", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating resource forks.\n");
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pICON", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rRc = SaveResourceToNewFile(refNum, dirId, "\pICON", rtIcons, -16455, "\pIcon resource", IcnsResource,
+ sizeof(IcnsResource));
+ rc = HOpenDF(refNum, dirId, "\pICON", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(rsrcText);
+ wRc = FSWrite(refFile, &count, rsrcText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostDiscImageChef;
+ finderInfo.fdFlags = kHasCustomIcon;
+ rc = HSetFInfo(refNum, dirId, "\pICON", &finderInfo);
+ }
+ }
+ printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
+ "ICON", rc, wRc, cRc, rRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pPICT", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rRc = SaveResourceToNewFile(refNum, dirId, "\pPICT", ftPICTFile, 29876, "\pPicture resource", PictResource,
+ sizeof(PictResource));
+ rc = HOpenDF(refNum, dirId, "\pPICT", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(rsrcText);
+ wRc = FSWrite(refFile, &count, rsrcText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftPICTFile;
+ finderInfo.fdCreator = ostDiscImageChef;
+ rc = HSetFInfo(refNum, dirId, "\pPICT", &finderInfo);
+ }
+ }
+ printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
+ "PICT", rc, wRc, cRc, rRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pVERSION", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rRc = SaveResourceToNewFile(refNum, dirId, "\pVERSION", rtVersion, 1, "\pVersion resource", VersResource,
+ sizeof(VersResource));
+ rc = HOpenDF(refNum, dirId, "\pVERSION", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(rsrcText);
+ wRc = FSWrite(refFile, &count, rsrcText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftGenericDocumentPC;
+ finderInfo.fdCreator = ostDiscImageChef;
+ rc = HSetFInfo(refNum, dirId, "\pVERSION", &finderInfo);
+ }
+ }
+ printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
+ "VERSION", rc, wRc, cRc, rRc);
+
+ memset(&finderInfo, 0, sizeof(FInfo));
+ rc = HCreate(refNum, dirId, "\pALL", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rRc = SaveResourceToNewFile(refNum, dirId, "\pALL", rtIcons, -16455, "\pIcon resource", IcnsResource,
+ sizeof(IcnsResource));
+ rRc2 = SaveResourceToNewFile(refNum, dirId, "\pALL", ftPICTFile, 29876, "\pPicture resource", PictResource,
+ sizeof(PictResource));
+ rRc3 = SaveResourceToNewFile(refNum, dirId, "\pALL", rtVersion, 1, "\pVersion resource", VersResource,
+ sizeof(VersResource));
+ rc = HOpenDF(refNum, dirId, "\pALL", 0, &refFile);
+ if(!rc)
+ {
+ count = strlen(rsrcText);
+ wRc = FSWrite(refFile, &count, rsrcText);
+ cRc = FSClose(refFile);
+ finderInfo.fdType = ftPICTFile;
+ finderInfo.fdCreator = ostDiscImageChef;
+ finderInfo.fdFlags = kHasCustomIcon;
+ rc = HSetFInfo(refNum, dirId, "\pALL", &finderInfo);
+ }
+ }
+ printf("\tFile with three items in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d, rRc2 = %d, rRc3 = %d\n",
+ "ALL", rc, wRc, cRc, rRc, rRc2, rRc3);
+}
+
+void Filenames(const char *path)
+{
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ char message[300];
+ int pos = 0;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pFILENAME", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating files with different filenames.\n");
+
+ for(pos = 0; filenames[pos]; pos++)
+ {
+ count = strlen(filenames[pos]);
+ memset(&str255, 0, sizeof(Str255));
+ if(count > 255)
+ {
+ continue;
+ }
+ str255[0] = (char)count;
+ memcpy(str255 + 1, filenames[pos], count);
+
+ rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, str255, 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, FILENAME_FORMAT, filenames[pos]);
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ }
+
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", filenames[pos], rc, wRc, cRc);
+ }
+}
+
+void Timestamps(const char *path)
+{
+ OSErr rc, wRc, cRc, tRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ HFileInfo *fpb;
+ CInfoPBRec cipbr;
+ char message[300];
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pTIMES", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating timestamped files.\n");
+
+ rc = HCreate(refNum, dirId, "\pMAXCTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMAXCTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "creation");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMAXCTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = MAXTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXCTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMAXMTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMAXMTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "modification");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMAXMTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = MAXTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXMTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMAXBTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMAXBTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "backup");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMAXBTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = MAXTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXBTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMINCTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMINCTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "creation");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMINCTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = MINTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINCTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMINMTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMINMTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "modification");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMINMTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = MINTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINMTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMINBTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMINBTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "backup");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMINBTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = MINTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINBTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY2KCTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY2KCTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "creation");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY2KCTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = Y2KTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KCTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY2KMTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY2KMTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "modification");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY2KMTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = Y2KTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KMTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY2KBTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY2KBTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "backup");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY2KBTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = Y2KTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KBTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY1KCTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY1KCTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "creation");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY1KCTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = Y1KTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KCTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY1KMTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY1KMTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "modification");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY1KMTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = Y1KTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KMTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY1KBTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY1KBTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "backup");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY1KBTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = Y1KTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KBTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMAXTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMAXTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MAXDATETIME, "all");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMAXTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = MAXTIMESTAMP;
+ fpb->ioFlMdDat = MAXTIMESTAMP;
+ fpb->ioFlBkDat = MAXTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MAXTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pMINTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pMINTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, MINDATETIME, "all");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pMINTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = MINTIMESTAMP;
+ fpb->ioFlMdDat = MINTIMESTAMP;
+ fpb->ioFlBkDat = MINTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "MINTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pNOTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pNOTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, NONDATETIME, "all");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pNOTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = NONTIMESTAMP;
+ fpb->ioFlMdDat = NONTIMESTAMP;
+ fpb->ioFlBkDat = NONTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "NOTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY2KTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY2KTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y2KDATETIME, "all");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY2KTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = Y2KTIMESTAMP;
+ fpb->ioFlMdDat = Y2KTIMESTAMP;
+ fpb->ioFlBkDat = Y2KTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y2KTIME", rc, wRc, cRc, tRc);
+
+ rc = HCreate(refNum, dirId, "\pY1KTIME", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pY1KTIME", 0, &refFile);
+ if(!rc)
+ {
+ memset(&message, 0, 300);
+ sprintf((char *)message, DATETIME_FORMAT, Y1KDATETIME, "all");
+ count = strlen(message);
+ wRc = FSWrite(refFile, &count, message);
+ cRc = FSClose(refFile);
+ }
+ memset(&cipbr, 0, sizeof(CInfoPBRec));
+ fpb = (HFileInfo * ) & cipbr;
+ fpb->ioVRefNum = refNum;
+ fpb->ioNamePtr = "\pY1KTIME";
+ fpb->ioDirID = dirId;
+ fpb->ioFDirIndex = 0;
+ PBGetCatInfoSync(&cipbr);
+
+ fpb->ioFlCrDat = Y1KTIMESTAMP;
+ fpb->ioFlMdDat = Y1KTIMESTAMP;
+ fpb->ioFlBkDat = Y1KTIMESTAMP;
+ fpb->ioDirID = dirId;
+ tRc = PBSetCatInfoSync(&cipbr);
+ }
+ printf("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d, tRc = %d\n", "Y1KTIME", rc, wRc, cRc, tRc);
+}
+
+void DirectoryDepth(const char *path)
+{
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ char filename[9];
+ int pos = 0;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pDEPTH", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating deepest directory tree.\n");
+
+ while(!rc)
+ {
+ memset(&filename, 0, 9);
+ sprintf((char *)filename, "%08d", pos);
+ str255[0] = 8;
+ memcpy(str255 + 1, filename, 8);
+
+ rc = DirCreate(refNum, dirId, str255, &dirId);
+
+ pos++;
+ /* Mac OS has no limit, but it will crash because the catalog is single threaded */
+ if(pos == 500)
+ break;
+ }
+
+ printf("\tCreated %d levels of directory hierarchy\n", pos);
+}
+
+void Fragmentation(const char *path, size_t clusterSize)
+{
+ size_t halfCluster = clusterSize / 2;
+ size_t quarterCluster = clusterSize / 4;
+ size_t twoCluster = clusterSize * 2;
+ size_t threeQuartersCluster = halfCluster + quarterCluster;
+ size_t twoAndThreeQuartCluster = threeQuartersCluster + twoCluster;
+ unsigned char *buffer;
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ int32_t count;
+ long i;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pFRAGS", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ rc = HCreate(refNum, dirId, "\pHALFCLST", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pHALFCLST", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(halfCluster);
+ memset(buffer, 0, halfCluster);
+
+ for(i = 0; i < halfCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = halfCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "HALFCLST", halfCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pQUARCLST", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pQUARCLST", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(quarterCluster);
+ memset(buffer, 0, quarterCluster);
+
+ for(i = 0; i < quarterCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = quarterCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "QUARCLST", quarterCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pTWOCLST", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTWOCLST", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoCluster);
+ memset(buffer, 0, twoCluster);
+
+ for(i = 0; i < twoCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWOCLST", twoCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pTRQTCLST", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTRQTCLST", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(threeQuartersCluster);
+ memset(buffer, 0, threeQuartersCluster);
+
+ for(i = 0; i < threeQuartersCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = threeQuartersCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TRQTCLST", threeQuartersCluster, rc, wRc,
+ cRc);
+
+ rc = HCreate(refNum, dirId, "\pTWOQCLST", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTWOQCLST", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoAndThreeQuartCluster);
+ memset(buffer, 0, twoAndThreeQuartCluster);
+
+ for(i = 0; i < twoAndThreeQuartCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoAndThreeQuartCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWTQCLST", twoAndThreeQuartCluster, rc,
+ wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pTWO1", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTWO1", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoCluster);
+ memset(buffer, 0, twoCluster);
+
+ for(i = 0; i < twoCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO1", twoCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pTWO2", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTWO2", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoCluster);
+ memset(buffer, 0, twoCluster);
+
+ for(i = 0; i < twoCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO2", twoCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pTWO3", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pTWO3", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoCluster);
+ memset(buffer, 0, twoCluster);
+
+ for(i = 0; i < twoCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tDeleting \"TWO2\".\n");
+ rc = HDelete(refNum, dirId, "\pTWO2");
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "TWO3", twoCluster, rc, wRc, cRc);
+
+ rc = HCreate(refNum, dirId, "\pFRAGTHRQ", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pFRAGTHRQ", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(threeQuartersCluster);
+ memset(buffer, 0, threeQuartersCluster);
+
+ for(i = 0; i < threeQuartersCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = threeQuartersCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tDeleting \"TWO1\".\n");
+ rc = HDelete(refNum, dirId, "\pTWO1");
+ printf("\tDeleting \"TWO3\".\n");
+ rc = HDelete(refNum, dirId, "\pTWO3");
+
+ rc = HCreate(refNum, dirId, "\pFRAGSIXQ", ostUnknown, ftGenericDocumentPC);
+ if(!rc)
+ {
+ rc = HOpenDF(refNum, dirId, "\pFRAGSIXQ", 0, &refFile);
+ if(!rc)
+ {
+ buffer = malloc(twoAndThreeQuartCluster);
+ memset(buffer, 0, twoAndThreeQuartCluster);
+
+ for(i = 0; i < twoAndThreeQuartCluster; i++)
+ buffer[i] = clauniaBytes[i % CLAUNIA_SIZE];
+
+ count = twoAndThreeQuartCluster;
+ wRc = FSWrite(refFile, &count, buffer);
+ cRc = FSClose(refFile);
+ free(buffer);
+ }
+ }
+
+ printf("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d\n", "FRAGSIXQ", twoAndThreeQuartCluster, rc,
+ wRc, cRc);
+}
+
+void Sparse(const char *path)
+{
+ /* Do nothing, not supported by target operating system */
+}
+
+static pascal OSErr
+
+CreateAliasFile(const FSSpec *targetFile, const FSSpec *aliasFile, OSType fileCreator, OSType fileType)
+{
+ short rsrcID;
+ short aliasRefnum;
+ FInfo finf;
+ OSErr err;
+ AliasHandle alias;
+
+ FSpCreateResFile(aliasFile, fileCreator, fileType, 0);
+ err = ResError();
+ if(err != noErr)
+ return err;
+
+ err = NewAlias(aliasFile, targetFile, &alias);
+ if(err != noErr || alias == NULL)
+ return err;
+
+ aliasRefnum = FSpOpenResFile(aliasFile, fsRdWrPerm);
+
+ AddResource((Handle)alias, rAliasType, 0, "\pDiscImageChef alias");
+ err = ResError();
+
+ CloseResFile(aliasRefnum);
+ FSpGetFInfo(aliasFile, &finf);
+
+ finf.fdCreator = fileCreator;
+ finf.fdType = fileType;
+ finf.fdFlags |= 0x8000;
+ finf.fdFlags &= (~0x0100);
+
+ FSpSetFInfo(aliasFile, &finf);
+
+ return err;
+}
+
+void Links(const char *path)
+{
+ int32_t gestaltResponse;
+ OSErr rc, wRc, cRc, oRc, aRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ char filename[9];
+ int pos = 0;
+ FSSpec targetSpec, aliasSpec;
+ int32_t count;
+
+ rc = Gestalt(gestaltAliasMgrAttr, &gestaltResponse);
+ if(rc || !(gestaltResponse & (1 << gestaltAliasMgrPresent)))
+ {
+ printf("Alias Manager not present, cannot create aliases.\n");
+ return;
+ }
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pLINKS", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating aliases.\n");
+
+ for(pos = 0; pos < 64; pos++)
+ {
+ memset(&filename, 0, 9);
+ sprintf((char *)filename, "TARGET%02d", pos);
+ str255[0] = 8;
+ memcpy(str255 + 1, filename, 8);
+
+ rc = HCreate(refNum, dirId, str255, ostSimpleText, ftGenericDocumentPC);
+
+ if(rc)
+ break;
+
+ oRc = HOpenDF(refNum, dirId, str255, 0, &refFile);
+ if(oRc)
+ break;
+
+ count = strlen(targetText);
+ wRc = FSWrite(refFile, &count, targetText);
+ cRc = FSClose(refFile);
+
+ memset(&targetSpec, 0, sizeof(FSSpec));
+ targetSpec.vRefNum = refNum;
+ targetSpec.parID = dirId;
+ targetSpec.name[0] = 8;
+ memcpy(targetSpec.name + 1, filename, 8);
+
+ memset(&filename, 0, 9);
+ sprintf((char *)filename, "ALIAS_%02d", pos);
+ memset(&aliasSpec, 0, sizeof(FSSpec));
+ aliasSpec.vRefNum = refNum;
+ aliasSpec.parID = dirId;
+ aliasSpec.name[0] = 8;
+ memcpy(aliasSpec.name + 1, filename, 8);
+
+ aRc = CreateAliasFile(&targetSpec, &aliasSpec, ostSimpleText, ftGenericDocumentPC);
+
+ if(aRc)
+ break;
+ }
+
+ printf("pos = %d, rc = %d, wRc = %d, cRc = %d, oRc = %d, aRc = %d\n", pos, rc, wRc, cRc, oRc, aRc);
+}
+
+void MillionFiles(const char *path)
+{
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ char filename[9];
+ int pos = 0;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pMILLION", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating lots of files.\n");
+
+ for(pos = 0; pos < 5000; pos++)
+ {
+ memset(&filename, 0, 9);
+ sprintf((char *)filename, "%08d", pos);
+ str255[0] = 8;
+ memcpy(str255 + 1, filename, 8);
+
+ rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
+
+ if(rc)
+ break;
+ }
+
+ printf("\tCreated %d files\n", pos);
+}
+
+void DeleteFiles(const char *path)
+{
+ OSErr rc, wRc, cRc;
+ Str255 str255;
+ HVolumeParam hpb;
+ int16_t refNum;
+ int16_t refFile;
+ int32_t dirId;
+ FInfo finderInfo;
+ int32_t count;
+ char filename[9];
+ int pos = 0;
+
+ snprintf((char *)str255, 255, "%s", path);
+ hpb.ioNamePtr = str255;
+ hpb.ioVRefNum = 0;
+ hpb.ioVolIndex = -1;
+ rc = PBHGetVInfo((HParmBlkPtr) & hpb, 0);
+ if(rc)
+ {
+ printf("Could not get volume information.\n");
+ return;
+ }
+ refNum = hpb.ioVRefNum;
+
+ rc = DirCreate(refNum, fsRtDirID, (unsigned char *)"\pDELETED", &dirId);
+ if(rc)
+ {
+ printf("Error %d creating working directory.\n", rc);
+ return;
+ }
+
+ printf("Creating and deleting files.\n");
+
+ for(pos = 0; pos < 64; pos++)
+ {
+ memset(&filename, 0, 9);
+ sprintf((char *)filename, "%08d", pos);
+ str255[0] = 8;
+ memcpy(str255 + 1, filename, 8);
+
+ rc = HCreate(refNum, dirId, str255, ostUnknown, ftGenericDocumentPC);
+
+ if(rc)
+ break;
+
+ HDelete(refNum, dirId, str255);
+ }
+}
+#endif
diff --git a/setter/macos.h b/setter/macos.h
index ae7c7ba..c406123 100644
--- a/setter/macos.h
+++ b/setter/macos.h
@@ -1 +1,1222 @@
-/****************************************************************************
The Disc Image Chef
-----------------------------------------------------------------------------
Filename : macos.h
Author(s) : Natalia Portillo
Component : fstester.setter
--[ Description ] -----------------------------------------------------------
Contains Mac OS definitions
--[ License ] ---------------------------------------------------------------
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 3 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 warraty of
MERCHANTIBILITY 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, see .
-----------------------------------------------------------------------------
Copyright (C) 2011-2018 Natalia Portillo
*****************************************************************************/
#if defined(macintosh)
#ifndef DIC_FSTESTER_SETTER_MACINTOSH_H
#define DIC_FSTESTER_SETTER_MACINTOSH_H
#include
const char *noAttributeText = "This file has all flags bits clear.\r";
const char *desktopText = "This file is on desktop.\r";
const char *color2Text = "This file is colored brown.\r";
const char *color4Text = "This file is colored green.\r";
const char *color6Text = "This file is colored lilac.\r";
const char *color8Text = "This file is colored blue.\r";
const char *colorAText = "This file is colored magenta.\r";
const char *colorCText = "This file is colored red.\r";
const char *colorEText = "This file is colored orange.\r";
const char *requireSwitchText = "This file requires switch launch.\r";
const char *sharedText = "This file is shared.\r";
const char *noInitText = "This file contains no init.\r";
const char *initedText = "This file has been inited.\r";
const char *aoceText = "This file has AOCE bit set.\r";
const char *customIconText = "This file has a custom icon.\r";
const char *stationeryText = "This is a stationery.\r";
const char *nameLockText = "This file has the name locked.\r";
const char *bundleText = "This file has a BNDL resource.\r";
const char *invisibleText = "This file is invisible.\r";
const char *aliasText = "This file is an alias to nowhere.\r";
const char *simpletextText = "This file has creator 'ttxt'.\r";
const char *dicText = "This file has creator 'dic '.\r";
const char *pos_m32_m32 = "This file position is -32k,-32k.\r";
const char *pos_32_32 = "This file position is 32k,32k.\r";
const char *pos_m1_m1 = "This file position is -1k,-1k.\r";
const char *pos_m1_m32 = "This file position is -1k,-32k.\r";
const char *pos_m1_32 = "This file position is -1k,32k.\r";
const char *pos_m1_1 = "This file position is -1k,1k.\r";
const char *pos_1_m1 = "This file position is 1k,-1k.\r";
const char *pos_1_m32 = "This file position is 1k,-32k.\r";
const char *pos_1_32 = "This file position is 1k,32k.\r";
const char *pos_1_1 = "This file position is 1k,1k.\r";
const char *allText = "This file has all flags bits set.\r";
const char *targetText = "This file is the target of an alias.\r";
const char *icnsText = "This file has a custom icon in the resource fork.\r";
const char *versText = "This file has a version in the resource fork.\r";
const char *pictText = "This file has a picture in the resource fork.\r";
const char *rsrcText = "This file has a custom icon, a version, and a picture, in the resource fork.\r";
enum
{
gestaltMacOSCompatibilityBoxAttr = FOUR_CHAR_CODE('bbox'),
ostDiscImageChef = FOUR_CHAR_CODE('dic '),
ostSimpleText = FOUR_CHAR_CODE('ttxt'),
ostUnknown = FOUR_CHAR_CODE('????'),
rtIcons = FOUR_CHAR_CODE('icns'),
rtVersion = FOUR_CHAR_CODE('vers'),
};
enum
{
kRequireSwitchLaunch = 0x0020,
kAOCE = 0x0200
};
#define DATETIME_FORMAT "This file is dated %s for %s\r"
#define MAXDATETIME "2040/02/06 06:28:15"
#define MINDATETIME "1904/01/01 00:00:01"
#define NONDATETIME "1904/01/01 00:00:00"
#define Y2KDATETIME "2000/01/01 00:00:00"
#define Y1KDATETIME "1999/12/31 23:59:59"
#define MAXTIMESTAMP 0xFFFFFFFF
#define MINTIMESTAMP 0x00000001
#define NONTIMESTAMP 0x00000000
#define Y2KTIMESTAMP 0xB492F400
#define Y1KTIMESTAMP 0xB492F3FF
unsigned char IcnsResource[5618] = {
0x69, 0x63, 0x6E, 0x73, 0x00, 0x00, 0x15, 0xF2, 0x69, 0x63, 0x73, 0x23, 0x00, 0x00, 0x00, 0x48,
0x00, 0xF0, 0x01, 0xE0, 0xFF, 0xFE, 0x82, 0x03, 0x96, 0x43, 0x94, 0x43, 0x84, 0x03, 0x84, 0x03,
0x87, 0x83, 0x81, 0x03, 0x99, 0x33, 0x87, 0xC3, 0x81, 0x03, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0xF0,
0x00, 0xF0, 0x01, 0xE0, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0xF0,
0x69, 0x63, 0x73, 0x38, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0xFE, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD,
0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A,
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A,
0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xF1, 0x7F, 0xFF, 0x2A, 0x2A,
0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A,
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A,
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF,
0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF,
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xFF, 0xF1, 0x7F, 0x7F, 0xFF,
0x2A, 0x2A, 0xFF, 0xFF, 0x2A, 0x2A, 0xFD, 0xAD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xF1, 0xF1, 0xFF,
0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFE, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF,
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD,
0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x69, 0x73, 0x33, 0x32, 0x00, 0x00, 0x01, 0xDF,
0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF,
0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0B, 0x22, 0x44, 0x00, 0x66,
0x66, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x07, 0x22, 0x44, 0x00, 0x66, 0x66,
0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00,
0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44,
0x00, 0x81, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83,
0xCC, 0x12, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x00,
0xCC, 0xCC, 0x22, 0x44, 0x00, 0x81, 0x66, 0x82, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83,
0x66, 0x00, 0x00, 0x83, 0xCC, 0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00,
0x00, 0x84, 0x44, 0x85, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x85, 0xFF, 0x03, 0x44,
0x11, 0x44, 0x44, 0x88, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF,
0x00, 0x82, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0B, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66,
0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x07, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x00, 0x80,
0xCC, 0x00, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02,
0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x81,
0x00, 0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x12, 0x22, 0x44,
0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x22, 0x44,
0x00, 0x81, 0x66, 0x82, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83,
0xCC, 0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85,
0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88,
0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0xCC, 0x00,
0x00, 0x84, 0xFF, 0x0B, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00,
0x81, 0xFF, 0x07, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x81,
0xFF, 0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x81,
0xCC, 0x00, 0x00, 0x85, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x02,
0x22, 0x44, 0x00, 0x83, 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x12, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55,
0x55, 0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x00, 0x81, 0xCC, 0x01,
0x55, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x83, 0xCC, 0x00, 0x00, 0x83, 0xFF,
0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF,
0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x73, 0x38, 0x6D, 0x6B, 0x00, 0x00, 0x01, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00,
0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0xFF, 0x86, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x49,
0x43, 0x4E, 0x23, 0x00, 0x00, 0x01, 0x08, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1C, 0x78, 0x00, 0x00,
0x70, 0x0E, 0x00, 0x01, 0xC0, 0x03, 0x80, 0x01, 0x40, 0x00, 0xE0, 0x01, 0x10, 0x00, 0x38, 0x01,
0x04, 0x00, 0x18, 0x01, 0x61, 0x00, 0x38, 0x01, 0x58, 0x40, 0xF8, 0x01, 0x4E, 0x17, 0xF8, 0x01,
0x43, 0x83, 0xF8, 0x01, 0x42, 0xE3, 0xF8, 0x01, 0x40, 0x33, 0xF8, 0x01, 0x45, 0x73, 0xF8, 0x01,
0x60, 0x33, 0xF8, 0x01, 0xD5, 0x73, 0xF8, 0xFF, 0xFF, 0xB3, 0xF8, 0x81, 0x01, 0xF3, 0xF8, 0x8B,
0x21, 0xB3, 0xF8, 0x8A, 0x21, 0xF3, 0xF8, 0x82, 0x01, 0xF3, 0xF8, 0x82, 0x01, 0x83, 0xFC, 0x82,
0x01, 0xC3, 0xFF, 0x83, 0xC1, 0xE3, 0xFF, 0x80, 0x81, 0x83, 0xFF, 0x98, 0x99, 0x83, 0xFF, 0x87,
0xE1, 0x83, 0xFF, 0x80, 0x81, 0x83, 0xFE, 0xFF, 0xFF, 0xE7, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00,
0x7B, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00,
0x7F, 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xF8, 0x01,
0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01,
0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01,
0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF,
0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00,
0x7B, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x69, 0x63, 0x6C, 0x38, 0x00, 0x00, 0x04, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xFF,
0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0xF9,
0xFC, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0x00, 0x00, 0xF5,
0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0xF6, 0x00, 0xF5, 0xF6, 0xF6,
0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF9, 0xFC, 0xF7, 0xF6, 0x00, 0xF6, 0xF6, 0xF6, 0xF6,
0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6,
0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6,
0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF8, 0xF9, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7,
0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF7, 0xF9, 0xFF, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0xFD, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9,
0xFC, 0xF7, 0xF5, 0xF6, 0x2B, 0xF7, 0xF9, 0xFF, 0xFD, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0xAB, 0xFD, 0xFC, 0xF7, 0xF7,
0xF7, 0xF9, 0xFC, 0xF9, 0xFB, 0xFF, 0xFD, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x54, 0xAB, 0xFE, 0xFC,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x2B, 0xFD, 0x54, 0x54, 0x54, 0x54, 0x7E, 0x54, 0xAB,
0xFD, 0xFC, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
0x54, 0xAB, 0xFC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x7E, 0x54, 0x7E, 0x54,
0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xFF, 0xAA, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xAA, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x54,
0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E,
0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0xF1, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC,
0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0x82, 0xFD, 0xAC, 0x2B, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0x00, 0x00, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC,
0xFD, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0xFB, 0xFD, 0xF9, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
0x7F, 0x7F, 0xF1, 0xF1, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0xFF, 0x2A, 0x2A, 0xFF, 0xAA,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0xF1, 0xF1, 0xF1, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF,
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1,
0xFF, 0xFB, 0xF9, 0xF7, 0xFC, 0xFF, 0xFF, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00,
0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD,
0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0xFD, 0xFD, 0xFD,
0xFF, 0xFE, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD,
0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69,
0x6C, 0x33, 0x32, 0x00, 0x00, 0x08, 0x9B, 0x8A, 0xFF, 0x04, 0x22, 0x54, 0x33, 0x22, 0x22, 0x96,
0xFF, 0x09, 0x22, 0x54, 0x44, 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22,
0x54, 0x44, 0x88, 0xBB, 0xFF, 0xE5, 0xE1, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11,
0x22, 0x54, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD1, 0xAA, 0x88, 0x44,
0x22, 0x22, 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x54, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7, 0xE1, 0xDD, 0xD8,
0xD4, 0xD1, 0xCD, 0xC9, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88,
0x54, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD3, 0xCF, 0xCB, 0xC8, 0xC4, 0xC1, 0xAA, 0x88, 0x44,
0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9, 0x88, 0x54, 0xBB, 0xEE, 0xD9, 0xD5,
0xD1, 0xCE, 0xCA, 0xC6, 0xC2, 0xBF, 0xBC, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDA,
0x54, 0x77, 0xAA, 0xD7, 0xD6, 0x88, 0x54, 0xBB, 0xEE, 0xD0, 0xCC, 0xC8, 0xC5, 0xC2, 0xBF, 0xBB,
0x88, 0x44, 0x6D, 0x20, 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42, 0x66, 0x54, 0x77, 0xAA, 0xD4, 0xD4,
0x88, 0x54, 0xBB, 0xEC, 0xC7, 0xC3, 0xC0, 0x88, 0x44, 0x54, 0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11,
0x44, 0xD7, 0x42, 0x66, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xD1, 0xD1, 0x88, 0x54, 0x88, 0xAA, 0x44,
0x54, 0x6D, 0x80, 0x77, 0x00, 0x1E, 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42, 0x66, 0x92, 0x90, 0x7F,
0x66, 0x54, 0x77, 0xAA, 0xCF, 0xCE, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E,
0x44, 0xD5, 0x42, 0x66, 0x8F, 0x8C, 0x8A, 0x87, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xCD, 0x88, 0x82,
0x77, 0x01, 0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42, 0x66, 0x8C, 0x89, 0x86, 0x83, 0x82,
0x7F, 0x71, 0x66, 0x54, 0xCB, 0x88, 0x81, 0x77, 0x02, 0x73, 0x6C, 0x19, 0x87, 0xFF, 0x0E, 0x44,
0xD2, 0x42, 0x66, 0x89, 0x86, 0x83, 0x80, 0x7F, 0x7C, 0x7B, 0x77, 0x44, 0xCB, 0x88, 0x80, 0x77,
0x03, 0x72, 0x6A, 0x64, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00, 0x33, 0x85, 0x83, 0x80, 0x7E,
0x7C, 0x7A, 0x77, 0x76, 0x44, 0xC9, 0x88, 0x77, 0x77, 0x70, 0x69, 0x62, 0x5C, 0x16, 0x87, 0xFF,
0x15, 0x44, 0x00, 0x33, 0x66, 0x82, 0x80, 0x7D, 0x7C, 0x79, 0x77, 0x76, 0x73, 0x44, 0xC9, 0x88,
0x76, 0x6E, 0x67, 0x61, 0x5A, 0x54, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0x75, 0x73, 0x71, 0x44,
0xC7, 0x88, 0x6D, 0x66, 0x5F, 0x59, 0x53, 0x4E, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0x66, 0x00,
0x00, 0x84, 0xCC, 0x0D, 0x00, 0x33, 0x71, 0x6F, 0x44, 0xC7, 0x88, 0x64, 0x5E, 0x58, 0x53, 0x4D,
0x48, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x06, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00,
0x81, 0xCC, 0x0D, 0x00, 0x33, 0x6E, 0x6D, 0x44, 0xC5, 0x88, 0x5D, 0x57, 0x52, 0x4C, 0x47, 0x43,
0x10, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x02, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81,
0xCC, 0x0D, 0x00, 0x33, 0x22, 0x6A, 0x44, 0xC4, 0x88, 0x56, 0x51, 0x4B, 0x47, 0x42, 0x3E, 0x0E,
0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x6D, 0x22, 0x44,
0xC3, 0x88, 0x4F, 0x4A, 0x46, 0x41, 0x3C, 0x38, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00,
0x00, 0x85, 0xCC, 0x11, 0x00, 0x33, 0xC5, 0xAA, 0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3B, 0x37,
0x33, 0x0B, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x00,
0xC3, 0xC2, 0xC2, 0x88, 0x44, 0x3F, 0x3A, 0x36, 0x33, 0x2F, 0x08, 0x80, 0x22, 0x00, 0x00, 0x82,
0x66, 0x81, 0x00, 0x82, 0xCC, 0x0D, 0x00, 0x33, 0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x3A, 0x35,
0x33, 0x33, 0x2B, 0x07, 0x80, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0D, 0x00,
0x33, 0xC1, 0xC1, 0xC0, 0xC0, 0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x14, 0x80, 0x22, 0x04,
0x00, 0x66, 0x66, 0x00, 0x00, 0x80, 0x66, 0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00,
0x33, 0xC0, 0xC0, 0xBF, 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E, 0x22, 0x14, 0x08, 0x80, 0x22, 0x00,
0x00, 0x81, 0x66, 0x83, 0x00, 0x81, 0xCC, 0x0C, 0x00, 0x33, 0xC0, 0xBF, 0xBF, 0xBE, 0x88, 0x33,
0x2F, 0x28, 0x11, 0x14, 0x08, 0x81, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0B,
0x00, 0x33, 0xBF, 0xBF, 0xBE, 0xBD, 0x88, 0x2E, 0x22, 0x11, 0x14, 0x08, 0x81, 0x22, 0x00, 0xFF,
0x8D, 0x00, 0x09, 0x11, 0x22, 0x55, 0x88, 0xBD, 0x44, 0x18, 0x14, 0x11, 0x08, 0x81, 0x22, 0x80,
0xFF, 0x85, 0x22, 0x00, 0x00, 0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22,
0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00,
0x11, 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82, 0x22,
0x82, 0xFF, 0x8A, 0xFF, 0x04, 0x22, 0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x55, 0x44,
0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF,
0xE5, 0xE0, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22, 0x55, 0x44, 0x88, 0xBB,
0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD2, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B, 0xFF, 0x13,
0x44, 0x88, 0x55, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7, 0xE2, 0xDD, 0xD8, 0xD4, 0xD0, 0xCD, 0xC9, 0xAA,
0x88, 0x44, 0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x55, 0xBB, 0xFF, 0xE5, 0xE0,
0xDB, 0xD6, 0xD3, 0xCF, 0xCB, 0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15,
0x44, 0xDB, 0xDB, 0xDA, 0xDA, 0x88, 0x55, 0xBB, 0xEE, 0xD9, 0xD5, 0xD1, 0xCE, 0xCA, 0xC7, 0xC3,
0xBF, 0xBC, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0x55, 0x77, 0xAA, 0xD8, 0xD6,
0x88, 0x55, 0xBB, 0xEE, 0xCF, 0xCC, 0xC8, 0xC5, 0xC2, 0xBE, 0xBB, 0x88, 0x44, 0x6D, 0x20, 0x87,
0xFF, 0x15, 0x44, 0xD9, 0x42, 0x66, 0x55, 0x77, 0xAA, 0xD4, 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC7,
0xC4, 0xC0, 0x88, 0x44, 0x55, 0x6D, 0x77, 0x1F, 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0x66, 0x7E,
0x66, 0x55, 0x77, 0xAA, 0xD1, 0xD1, 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D, 0x80, 0x77, 0x00,
0x1E, 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42, 0x66, 0x92, 0x90, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCF,
0xCE, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5, 0x42, 0x66, 0x90,
0x8C, 0x8A, 0x86, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCC, 0x88, 0x82, 0x77, 0x01, 0x74, 0x1B, 0x87,
0xFF, 0x0E, 0x44, 0xD4, 0x42, 0x66, 0x8C, 0x89, 0x86, 0x84, 0x81, 0x7F, 0x71, 0x66, 0x55, 0xCB,
0x88, 0x81, 0x77, 0x02, 0x72, 0x6B, 0x19, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42, 0x66, 0x88, 0x86,
0x83, 0x81, 0x7E, 0x7C, 0x7A, 0x78, 0x44, 0xCB, 0x88, 0x80, 0x77, 0x03, 0x72, 0x6A, 0x63, 0x18,
0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00, 0x33, 0x85, 0x83, 0x80, 0x7E, 0x7B, 0x7A, 0x78, 0x75, 0x44,
0xCA, 0x88, 0x77, 0x77, 0x70, 0x69, 0x63, 0x5B, 0x17, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x33, 0x66,
0x82, 0x7F, 0x7D, 0x7B, 0x79, 0x77, 0x75, 0x73, 0x44, 0xC9, 0x88, 0x76, 0x6E, 0x67, 0x61, 0x5B,
0x55, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0x74, 0x72, 0x71, 0x44, 0xC7, 0x88, 0x6D, 0x66, 0x5F,
0x59, 0x53, 0x4F, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0D, 0x00,
0x33, 0x71, 0x6F, 0x44, 0xC6, 0x88, 0x64, 0x5E, 0x58, 0x52, 0x4E, 0x48, 0x12, 0x80, 0xFF, 0x00,
0x00, 0x80, 0x66, 0x06, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33,
0x6E, 0x6C, 0x44, 0xC6, 0x88, 0x5D, 0x57, 0x52, 0x4D, 0x47, 0x43, 0x10, 0x80, 0xFF, 0x00, 0x00,
0x80, 0x66, 0x02, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x22,
0x6A, 0x44, 0xC4, 0x88, 0x55, 0x51, 0x4B, 0x46, 0x42, 0x3D, 0x0F, 0x80, 0xFF, 0x00, 0x00, 0x82,
0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x6D, 0x22, 0x44, 0xC4, 0x88, 0x50, 0x4B, 0x46,
0x41, 0x3C, 0x37, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x11, 0x00,
0x33, 0xC4, 0xAA, 0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3C, 0x37, 0x33, 0x0B, 0x22, 0xFF, 0xFF,
0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x00, 0xC3, 0xC3, 0xC1, 0x88, 0x44,
0x3F, 0x3A, 0x36, 0x33, 0x30, 0x08, 0x80, 0x22, 0x00, 0x00, 0x82, 0x66, 0x81, 0x00, 0x82, 0xCC,
0x0D, 0x00, 0x33, 0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x39, 0x34, 0x33, 0x33, 0x2B, 0x06, 0x80,
0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0D, 0x00, 0x33, 0xC1, 0xC1, 0xC0, 0xC0,
0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x13, 0x80, 0x22, 0x04, 0x00, 0x66, 0x66, 0x00, 0x00,
0x80, 0x66, 0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00, 0x33, 0xC1, 0xC0, 0xC0, 0xBF,
0x88, 0x33, 0x33, 0x30, 0x2E, 0x22, 0x13, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0x66, 0x83, 0x00,
0x81, 0xCC, 0x0C, 0x00, 0x33, 0xBF, 0xBF, 0xBE, 0xBE, 0x88, 0x33, 0x30, 0x27, 0x11, 0x13, 0x08,
0x81, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0B, 0x00, 0x33, 0xBF, 0xBE, 0xBE,
0xBD, 0x88, 0x2E, 0x22, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09, 0x11, 0x22,
0x55, 0x88, 0xBC, 0x44, 0x18, 0x13, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00,
0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89,
0xFF, 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01, 0x11,
0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x8A, 0xFF, 0x04,
0x22, 0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x55, 0x44, 0x88, 0xBB, 0x88, 0x44, 0x33,
0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xE6, 0xE0, 0xDC, 0xAA, 0x88,
0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF,
0xDA, 0xD6, 0xD1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x55, 0xBB, 0xFF,
0xEE, 0xEC, 0xE7, 0xE1, 0xDC, 0xD8, 0xD4, 0xD0, 0xCC, 0xC8, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x89,
0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x55, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD2, 0xCE, 0xCB,
0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9,
0x88, 0x55, 0xBB, 0xEE, 0xD9, 0xD6, 0xD1, 0xCE, 0xCA, 0xC7, 0xC3, 0xC0, 0xBD, 0xBB, 0x88, 0x44,
0x22, 0x87, 0xFF, 0x15, 0x44, 0xDA, 0x55, 0x77, 0xAA, 0xD7, 0xD7, 0x88, 0x55, 0xBB, 0xEE, 0xD0,
0xCC, 0xC9, 0xC6, 0xC2, 0xBE, 0xBB, 0x88, 0x44, 0x6D, 0x21, 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42,
0xCC, 0x55, 0x77, 0xAA, 0xD4, 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC8, 0xC4, 0xC0, 0x88, 0x44, 0x55,
0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0xCC, 0xE5, 0xCC, 0x55, 0x77, 0xAA, 0xD1,
0xD1, 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D, 0x80, 0x77, 0x00, 0x1D, 0x87, 0xFF, 0x0F, 0x44,
0xD6, 0x42, 0xCC, 0xF9, 0xF6, 0xE5, 0xCC, 0x55, 0x77, 0xAA, 0xCF, 0xCF, 0xAA, 0x55, 0x6D, 0x82,
0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5, 0x42, 0xCC, 0xF5, 0xF2, 0xEF, 0xED, 0xE5, 0xCC,
0x55, 0x77, 0xAA, 0xCD, 0x88, 0x82, 0x77, 0x01, 0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42,
0xCC, 0xF2, 0xEF, 0xEC, 0xE9, 0xE7, 0xE5, 0xD7, 0xCC, 0x55, 0xCB, 0x88, 0x81, 0x77, 0x02, 0x72,
0x6C, 0x1A, 0x87, 0xFF, 0x0E, 0x44, 0xD2, 0x42, 0xCC, 0xEE, 0xEB, 0xE9, 0xE7, 0xE5, 0xE3, 0xE0,
0xDD, 0x44, 0xCA, 0x88, 0x80, 0x77, 0x03, 0x71, 0x6A, 0x63, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1,
0x00, 0x66, 0xEB, 0xE9, 0xE6, 0xE4, 0xE1, 0xE0, 0xDD, 0xDC, 0x44, 0xC9, 0x88, 0x77, 0x77, 0x70,
0x69, 0x62, 0x5C, 0x17, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x66, 0xCC, 0xE8, 0xE6, 0xE3, 0xE1, 0xDF,
0xDD, 0xDB, 0xD9, 0x44, 0xC8, 0x88, 0x76, 0x6F, 0x68, 0x60, 0x5A, 0x55, 0x15, 0x80, 0xFF, 0x8D,
0x00, 0x0C, 0xDB, 0xD9, 0xD7, 0x44, 0xC7, 0x88, 0x6D, 0x66, 0x5F, 0x59, 0x54, 0x4F, 0x14, 0x80,
0xFF, 0x00, 0x00, 0x83, 0xCC, 0x00, 0x00, 0x84, 0xFF, 0x0D, 0x00, 0x99, 0xD7, 0xD4, 0x44, 0xC6,
0x88, 0x65, 0x5E, 0x58, 0x53, 0x4D, 0x49, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0xCC, 0x06, 0x55,
0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x81, 0xFF, 0x0D, 0x00, 0x99, 0xD5, 0xD2, 0x44, 0xC5, 0x88,
0x5D, 0x57, 0x51, 0x4C, 0x47, 0x42, 0x11, 0x80, 0xFF, 0x00, 0x00, 0x80, 0xCC, 0x02, 0x55, 0xCC,
0x00, 0x80, 0xFF, 0x00, 0x00, 0x81, 0xFF, 0x0D, 0x00, 0x66, 0x22, 0xD0, 0x44, 0xC4, 0x88, 0x56,
0x51, 0x4C, 0x47, 0x42, 0x3D, 0x0E, 0x80, 0xFF, 0x00, 0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF,
0x0D, 0x00, 0x99, 0x6D, 0x22, 0x44, 0xC3, 0x88, 0x4F, 0x4B, 0x45, 0x41, 0x3C, 0x38, 0x0D, 0x80,
0xFF, 0x00, 0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x11, 0x00, 0x99, 0xC5, 0xAA, 0x88, 0xC3,
0x88, 0x49, 0x45, 0x40, 0x3B, 0x37, 0x33, 0x0A, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0xCC, 0x00, 0x00,
0x85, 0xFF, 0x0D, 0x00, 0x66, 0x00, 0xC3, 0xC2, 0xC2, 0x88, 0x43, 0x3F, 0x3B, 0x36, 0x33, 0x2F,
0x08, 0x80, 0x22, 0x00, 0x00, 0x82, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x0D, 0x00, 0x99, 0x55, 0x00,
0x88, 0xC1, 0x88, 0x3E, 0x39, 0x35, 0x33, 0x33, 0x2C, 0x07, 0x80, 0x22, 0x00, 0x00, 0x84, 0xCC,
0x00, 0x00, 0x83, 0xFF, 0x01, 0x00, 0x99, 0x80, 0xC1, 0x08, 0xC0, 0x88, 0x38, 0x34, 0x33, 0x33,
0x2E, 0x22, 0x13, 0x80, 0x22, 0x04, 0x00, 0xCC, 0xCC, 0x55, 0x55, 0x80, 0xCC, 0x14, 0x00, 0xFF,
0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x99, 0xC0, 0xC1, 0xBF, 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E,
0x22, 0x13, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0xCC, 0x80, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x01,
0x00, 0x99, 0x80, 0xBF, 0x07, 0xBE, 0x88, 0x33, 0x2F, 0x28, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00,
0x00, 0x84, 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x0B, 0x00, 0x99, 0xBE, 0xBE, 0xBD, 0xBD, 0x88, 0x2E,
0x22, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09, 0x11, 0x22, 0x55, 0x88, 0xBC,
0x44, 0x18, 0x13, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00, 0x82, 0x22, 0x09,
0x00, 0x00, 0x22, 0x22, 0x1A, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22,
0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22,
0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x6C, 0x38, 0x6D, 0x6B, 0x00, 0x00,
0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,
0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C,
0x2C, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86,
0x63, 0x2C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0,
0x89, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97,
0x71, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x88,
0x4C, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C,
0x23, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C, 0x23,
0x00, 0x00, 0x00, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0xFF, 0x86, 0x4C, 0x4C, 0x4C,
0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C, 0x23, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00,
0x18, 0x3C, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x3C, 0x9A, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00
};
unsigned char VersResource[44] = {0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x03, 0x30, 0x2E, 0x31, 0x21, 0x30, 0x2E, 0x31,
0x2C, 0x20, 0xA9, 0x20, 0x32, 0x30, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x31, 0x38, 0x20,
0x4E, 0x61, 0x74, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x69, 0x6C,
0x6C, 0x6F};
unsigned char PictResource[9874] = {
0x26, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x11, 0x02, 0xFF, 0x0C, 0x00,
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x0A, 0x80, 0x01,
0x80, 0x01, 0x7F, 0xFF, 0x7F, 0xFF, 0x00, 0x9A, 0x00, 0x00, 0x00, 0xFF, 0x82, 0xAC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00,
0x00, 0x00, 0x3C, 0xCE, 0x35, 0x68, 0x3C, 0xCE, 0x3A, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x40, 0x00, 0x25, 0xA0, 0xD6,
0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB4, 0xC9, 0xEE, 0xC1, 0xE7, 0x9F, 0xDE, 0x01, 0xE4,
0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC1, 0xEF, 0x9E, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00,
0xF4, 0xBF, 0xFF, 0x00, 0x28, 0xA1, 0xD6, 0x03, 0xD7, 0xDA, 0xD2, 0xB6, 0xFE, 0xBE, 0x03, 0xBD,
0xB2, 0xE9, 0xEC, 0xC1, 0xE7, 0x9F, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1,
0xC1, 0xEF, 0x9E, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xBF, 0xFF, 0x00, 0x29, 0xA1,
0xD6, 0x0A, 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xC1, 0xE7, 0xA0,
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xC0, 0xEF, 0x9E, 0xFF, 0x05,
0xF5, 0xF9, 0xE8, 0xF9, 0xF6, 0xF3, 0xBF, 0xFF, 0x00, 0x29, 0xA1, 0xD6, 0x0A, 0xD9, 0xCF, 0xB4,
0xBA, 0xC0, 0xAF, 0xC0, 0xB7, 0xCD, 0xF2, 0xE8, 0xC1, 0xE7, 0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xC0, 0xEF, 0x9F, 0xFF, 0x05, 0xF3, 0xF6, 0xFA, 0xE9, 0xFA,
0xF5, 0xBE, 0xFF, 0x00, 0x27, 0xA1, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xC1, 0xB0, 0xC0, 0xB3,
0xD9, 0xED, 0xC0, 0xE7, 0xA0, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC0,
0xEF, 0x9F, 0xFF, 0x05, 0xF4, 0xF8, 0xFB, 0xEA, 0xFA, 0xF4, 0xBE, 0xFF, 0x00, 0x29, 0xA1, 0xD6,
0x09, 0xDB, 0xD3, 0xB8, 0xBF, 0xB0, 0xB0, 0xBC, 0xAE, 0xE4, 0xEA, 0xC0, 0xE7, 0xA1, 0xDE, 0x02,
0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xC0, 0xEF, 0x9F, 0xFF, 0x05, 0xF5,
0xF9, 0xEA, 0xEA, 0xF8, 0xF3, 0xBE, 0xFF, 0x00, 0x29, 0xA2, 0xD6, 0x0A, 0xD7, 0xDE, 0xB2, 0xBA,
0xBF, 0xAF, 0xC0, 0xB9, 0xCE, 0xF3, 0xE8, 0xC0, 0xE7, 0xA1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE,
0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBF, 0xEF, 0xA0, 0xFF, 0x05, 0xF3, 0xF6, 0xF9, 0xE9, 0xFA, 0xF6,
0xBD, 0xFF, 0x00, 0x27, 0xA2, 0xD6, 0x03, 0xD8, 0xD0, 0xB5, 0xBD, 0xFE, 0xBE, 0x02, 0xB4, 0xC9,
0xEE, 0xBF, 0xE7, 0xA1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBF, 0xEF,
0xA0, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00, 0xF4, 0xBD, 0xFF, 0x00, 0x25, 0xA2, 0xD6, 0x02,
0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xBF, 0xE7, 0xA1, 0xDE, 0x01, 0xE4, 0xC8,
0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBF, 0xEF, 0xA0, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4,
0xBD, 0xFF, 0x00, 0x28, 0xA2, 0xD6, 0x09, 0xDB, 0xD4, 0xB9, 0xBF, 0xBE, 0xBE, 0xBA, 0xAD, 0xE3,
0xE9, 0xBF, 0xE7, 0xA2, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBE,
0xEF, 0xA0, 0xFF, 0x05, 0xF6, 0xF9, 0xF8, 0xF8, 0xF6, 0xF3, 0xBD, 0xFF, 0x00, 0x29, 0xA3, 0xD6,
0x0A, 0xD7, 0xDE, 0xB3, 0xAA, 0xBF, 0xAD, 0xBE, 0xB8, 0xCE, 0xF3, 0xE8, 0xBF, 0xE7, 0xA2, 0xDE,
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBE, 0xEF, 0xA1, 0xFF, 0x05, 0xF4,
0xE6, 0xF9, 0xE7, 0xF8, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x03, 0xD8, 0xD0, 0xB6, 0xBE,
0xFE, 0xBF, 0x02, 0xB5, 0xC9, 0xEE, 0xBE, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02,
0xC5, 0xDB, 0xF3, 0xBE, 0xEF, 0xA1, 0xFF, 0x01, 0xF5, 0xF8, 0xFE, 0xF9, 0x00, 0xF5, 0xBC, 0xFF,
0x00, 0x27, 0xA3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBE, 0xAD, 0xB3, 0xE9, 0xEC, 0xBE,
0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBE, 0xEF, 0xA1, 0xFF,
0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xE7, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xD9, 0xD1,
0xB6, 0xBE, 0xBE, 0xBF, 0xBB, 0xAF, 0xE4, 0xEA, 0xBE, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFE,
0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBD, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF8, 0xF8, 0xF9, 0xF7, 0xF4,
0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xDB, 0xD3, 0xB8, 0xBE, 0xAE, 0xBF, 0xB9, 0xCF, 0xE1,
0xE9, 0xBE, 0xE7, 0xA3, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBD,
0xEF, 0xA1, 0xFF, 0x04, 0xF5, 0xF8, 0xE8, 0xF9, 0xF6, 0xBB, 0xFF, 0x00, 0x29, 0xA4, 0xD6, 0x0A,
0xD7, 0xDE, 0xB2, 0xBA, 0xBE, 0xBF, 0xAE, 0xB7, 0xCC, 0xF1, 0xE8, 0xBE, 0xE7, 0xA3, 0xDE, 0x02,
0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF3, 0xF6,
0xF8, 0xF9, 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBE,
0xC0, 0xC0, 0xB6, 0xC9, 0xEE, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5,
0xDB, 0xF3, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF4, 0xF7, 0xF8, 0xFA, 0xFA, 0xF6, 0xBB, 0xFF, 0x00,
0x27, 0xA4, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xBD, 0xE7,
0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBD, 0xEF, 0xA2, 0xFF, 0x05,
0xF5, 0xF8, 0xF9, 0xE8, 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x03, 0xD9, 0xD1, 0xB7,
0xAD, 0xFE, 0xBF, 0x02, 0xB1, 0xE7, 0xEA, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
0x02, 0xCD, 0xC0, 0xFA, 0xBC, 0xEF, 0xA2, 0xFF, 0x01, 0xF5, 0xE7, 0xFE, 0xF9, 0x00, 0xF5, 0xBB,
0xFF, 0x00, 0x28, 0xA4, 0xD6, 0x09, 0xDA, 0xD2, 0xB8, 0xBE, 0xBE, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9,
0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xBC, 0xEF,
0xA2, 0xFF, 0x05, 0xF6, 0xF8, 0xF8, 0xF7, 0xF6, 0xF3, 0xBB, 0xFF, 0x00, 0x29, 0xA5, 0xD6, 0x0A,
0xD7, 0xDD, 0xC4, 0xB9, 0xBD, 0xBE, 0xBE, 0xB9, 0xCE, 0xF3, 0xE8, 0xBD, 0xE7, 0xA4, 0xDE, 0x02,
0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF3, 0xF6,
0xF7, 0xF8, 0xF8, 0xF6, 0xBA, 0xFF, 0x00, 0x27, 0xA5, 0xD6, 0x09, 0xD8, 0xCF, 0xB4, 0xBB, 0xBD,
0xBE, 0xAD, 0xB6, 0xCA, 0xEF, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8,
0xDD, 0xF5, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xE7, 0xF5, 0xBA, 0xFF, 0x00,
0x27, 0xA5, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBE, 0xBE, 0xB4, 0xD9, 0xED, 0xBC, 0xE7,
0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBC, 0xEF, 0xA3, 0xFF, 0x05,
0xF4, 0xF7, 0xF7, 0xF8, 0xF8, 0xF5, 0xBA, 0xFF, 0x00, 0x31, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB6,
0xFD, 0xBD, 0x02, 0xB1, 0xE8, 0xEB, 0xEE, 0xE7, 0x04, 0xE8, 0xE9, 0xEB, 0xEA, 0xE9, 0xD4, 0xE7,
0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xEC, 0xEF, 0xFE, 0xF1, 0xD4,
0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x39, 0xA5, 0xD6, 0x02,
0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x07, 0xE8, 0xEB, 0xF1, 0xE3,
0xE8, 0xD1, 0xEF, 0xE8, 0xD5, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0,
0xFA, 0xEE, 0xEF, 0x05, 0xF1, 0xF4, 0xF8, 0xFC, 0xD5, 0xF5, 0xD4, 0xEF, 0xA3, 0xFF, 0x00, 0xF4,
0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x46, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB7, 0xFE, 0xBE,
0x03, 0xBB, 0xAE, 0xE3, 0xE9, 0xF2, 0xE7, 0x09, 0xE8, 0xEB, 0xF1, 0xE5, 0xCC, 0xAD, 0xB1, 0xA9,
0xE3, 0xEA, 0xD5, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF0,
0xEF, 0x08, 0xF1, 0xF5, 0xFB, 0xDC, 0xCF, 0xC2, 0xBD, 0xFB, 0xF1, 0xD5, 0xEF, 0xA3, 0xFF, 0x00,
0xF5, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xEB, 0xFF, 0x02, 0xF3, 0xF4, 0xF2, 0xD3, 0xFF, 0x00, 0x4A,
0xA6, 0xD6, 0x0A, 0xD7, 0xDC, 0xD4, 0xB9, 0xAD, 0xBE, 0xBF, 0xA9, 0xD0, 0xF3, 0xE8, 0xF2, 0xE7,
0x09, 0xEB, 0xE0, 0xCA, 0xB0, 0xB8, 0xBD, 0xBF, 0xB4, 0xD9, 0xED, 0xD5, 0xE7, 0xA5, 0xDE, 0x02,
0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xF1, 0xEF, 0x09, 0xF1, 0xF7, 0xDB, 0xC1,
0xC6, 0xCB, 0xCD, 0xC5, 0xDB, 0xF3, 0xD5, 0xEF, 0xA3, 0xFF, 0x04, 0xF6, 0xE7, 0xF8, 0xF9, 0xE6,
0xEC, 0xFF, 0x04, 0xF4, 0xF7, 0xF9, 0xF9, 0xF5, 0xD3, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD8,
0xCE, 0xB3, 0xBB, 0xBE, 0xBE, 0xBF, 0xA7, 0xCD, 0xF0, 0xF1, 0xE7, 0x0A, 0xED, 0xC5, 0xB1, 0xBC,
0xB0, 0xB2, 0xB0, 0xB9, 0xCD, 0xF2, 0xE8, 0xD6, 0xE7, 0xA5, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE,
0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x03, 0xF3, 0xD9, 0xC3, 0xCC, 0xFE, 0xCE, 0x02, 0xCA,
0xDF, 0xF7, 0xD5, 0xEF, 0xA4, 0xFF, 0x05, 0xF3, 0xF7, 0xF8, 0xF8, 0xF9, 0xE5, 0xED, 0xFF, 0x05,
0xF3, 0xF8, 0xEA, 0xEC, 0xEA, 0xF7, 0xD3, 0xFF, 0x00, 0x4D, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6,
0xFE, 0xBD, 0x03, 0xBE, 0xB6, 0xCB, 0xEF, 0xF1, 0xE7, 0x0A, 0xED, 0xD9, 0xB3, 0xC0, 0xB2, 0xB5,
0xB2, 0xBD, 0xAF, 0xE5, 0xEB, 0xD6, 0xE7, 0xA5, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02,
0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1,
0xD6, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFE, 0xF7, 0x01, 0xF8, 0xF5, 0xED, 0xFF, 0x06, 0xF4, 0xFA,
0xEC, 0xEF, 0xEC, 0xF9, 0xF3, 0xD4, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD,
0xBD, 0x02, 0xB3, 0xD9, 0xED, 0xF1, 0xE7, 0x0B, 0xEA, 0xE4, 0xAE, 0xBC, 0xB1, 0xB4, 0xB2, 0xC0,
0xB6, 0xCC, 0xF1, 0xE8, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB,
0xF3, 0xF1, 0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xD6, 0xEF,
0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xED, 0xFF, 0x06, 0xF3, 0xF8, 0xEB, 0xEE, 0xEC,
0xFA, 0xF5, 0xD4, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB1,
0xE8, 0xEB, 0xF1, 0xE7, 0x0B, 0xE8, 0xF1, 0xCC, 0xB7, 0xC0, 0xB1, 0xB0, 0xBF, 0xBA, 0xAE, 0xE4,
0xEA, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xF0, 0xEF,
0x02, 0xF5, 0xDD, 0xC7, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xD7, 0xEF, 0xA4, 0xFF, 0x00,
0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEC, 0xFF, 0x06, 0xF6, 0xFA, 0xEB, 0xEA, 0xF9, 0xF6, 0xF3, 0xD5,
0xFF, 0x00, 0x49, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0,
0xE7, 0x03, 0xEB, 0xE5, 0xAF, 0xBB, 0xFE, 0xBF, 0x03, 0xBE, 0xB4, 0xD9, 0xED, 0xD7, 0xE7, 0xA5,
0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEF, 0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC,
0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4,
0xEC, 0xFF, 0x01, 0xF3, 0xF7, 0xFE, 0xF9, 0x01, 0xF8, 0xF5, 0xD5, 0xFF, 0x00, 0x48, 0xA6, 0xD6,
0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x0B, 0xE8, 0xF3, 0xCE,
0xB8, 0xBD, 0xBD, 0xBE, 0xAD, 0xB8, 0xCD, 0xF2, 0xE8, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8,
0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEE, 0xEF, 0x02, 0xF7, 0xDF, 0xCA, 0xFD, 0xCE, 0x02, 0xCA, 0xDF,
0xF7, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEB, 0xFF, 0x05, 0xF5, 0xF7,
0xF7, 0xF8, 0xE7, 0xF6, 0xD5, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x03, 0xD9, 0xD1, 0xB6, 0xBD, 0xFE,
0xBE, 0x02, 0xB0, 0xE7, 0xEA, 0xEF, 0xE7, 0x0A, 0xEE, 0xC9, 0xB4, 0xBE, 0xBF, 0xC0, 0xBF, 0xBB,
0xAF, 0xE5, 0xEB, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEE,
0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xD8, 0xEF, 0xA4, 0xFF,
0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00, 0xF4, 0xEB, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xFA, 0xF9, 0xF7,
0xF3, 0xD6, 0xFF, 0x00, 0x4D, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBF, 0xAE, 0xBF, 0xB0,
0xE7, 0xEA, 0xEF, 0xE7, 0x0B, 0xEB, 0xE5, 0xAF, 0xBC, 0xB0, 0xB1, 0xC0, 0xBE, 0xB6, 0xCC, 0xF1,
0xE8, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xEE, 0xEF,
0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC6, 0xDC, 0xF4, 0xD8, 0xEF, 0xA4, 0xFF, 0x05,
0xF4, 0xF7, 0xF9, 0xE8, 0xF9, 0xF4, 0xEB, 0xFF, 0x06, 0xF3, 0xF8, 0xEA, 0xEB, 0xFA, 0xF8, 0xF5,
0xD6, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xC0, 0xAF, 0xBC, 0xAD, 0xE3,
0xE9, 0xEF, 0xE7, 0x0B, 0xE8, 0xF1, 0xCC, 0xB8, 0xB0, 0xB2, 0xB0, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9,
0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xED, 0xEF, 0x02,
0xF5, 0xDD, 0xC7, 0xFD, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xD8, 0xEF, 0xA4, 0xFF, 0x05, 0xF4, 0xF8,
0xFA, 0xE9, 0xF8, 0xF3, 0xEA, 0xFF, 0x06, 0xF7, 0xEA, 0xEC, 0xEA, 0xF9, 0xF6, 0xF3, 0xD7, 0xFF,
0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xB9, 0xCE, 0xF3, 0xE8, 0xEE,
0xE7, 0x0A, 0xEC, 0xE6, 0xB1, 0xBC, 0xC2, 0xB0, 0xC0, 0xBD, 0xB2, 0xE9, 0xEC, 0xD9, 0xE7, 0xA5,
0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xED, 0xEF, 0x03, 0xF1, 0xFB, 0xC1,
0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xD9, 0xEF, 0xA4, 0xFF, 0x04, 0xF4, 0xF9, 0xE9,
0xFA, 0xF6, 0xE9, 0xFF, 0x06, 0xF4, 0xF8, 0xFC, 0xEA, 0xFA, 0xF7, 0xF4, 0xD7, 0xFF, 0x00, 0x49,
0xA6, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB6, 0xCB, 0xF0, 0xED, 0xE7, 0x0B, 0xE9,
0xE1, 0xCF, 0xB8, 0xC0, 0xAF, 0xC0, 0xBD, 0xB6, 0xCC, 0xF1, 0xE8, 0xDA, 0xE7, 0xA5, 0xDE, 0x01,
0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x02, 0xF7, 0xDF, 0xCA, 0xFD, 0xCE,
0x02, 0xC7, 0xDD, 0xF5, 0xD9, 0xEF, 0xA4, 0xFF, 0x04, 0xF4, 0xFA, 0xE9, 0xFA, 0xF4, 0xE8, 0xFF,
0x05, 0xF5, 0xFA, 0xE9, 0xFA, 0xF7, 0xF5, 0xD7, 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x08, 0xD9, 0xD1,
0xB6, 0xBF, 0xAE, 0xBF, 0xB6, 0xCB, 0xF0, 0xED, 0xE7, 0x0B, 0xE8, 0xEF, 0xCA, 0xB4, 0xBF, 0xAE,
0xBF, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xD9,
0xEF, 0xA4, 0xFF, 0x04, 0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF9, 0xE8, 0xF9,
0xF7, 0xF6, 0xF3, 0xD8, 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x02,
0xB6, 0xCB, 0xF0, 0xEC, 0xE7, 0x0A, 0xEB, 0xE5, 0xB0, 0xBC, 0xBF, 0xBB, 0xB6, 0xB2, 0xA7, 0xE1,
0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF,
0x09, 0xF1, 0xFB, 0xC1, 0xCC, 0xCE, 0xCC, 0xC7, 0xC3, 0xB9, 0xF7, 0xD9, 0xEF, 0xA4, 0xFF, 0x00,
0xF4, 0xFE, 0xF8, 0x00, 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xF7, 0xF5, 0xF4, 0xF2, 0xD8,
0xFF, 0x00, 0x46, 0xA6, 0xD6, 0x02, 0xDB, 0xD3, 0xB8, 0xFE, 0xBD, 0x02, 0xB6, 0xCB, 0xF0, 0xEC,
0xE7, 0x0A, 0xE8, 0xF1, 0xCB, 0xA2, 0xB5, 0xAF, 0xCC, 0xE9, 0xE1, 0xEE, 0xE8, 0xDA, 0xE7, 0xA6,
0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEB, 0xEF, 0x08, 0xF5, 0xDB,
0xC3, 0xC5, 0xC1, 0xDD, 0xFD, 0xF7, 0xF3, 0xD9, 0xEF, 0xA4, 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x00,
0xF4, 0xE7, 0xFF, 0x02, 0xE3, 0xF5, 0xF3, 0xD5, 0xFF, 0x00, 0x3E, 0xA7, 0xD6, 0x09, 0xD7, 0xDE,
0xB2, 0xBA, 0xBE, 0xBF, 0xBF, 0xB7, 0xCB, 0xF0, 0xEB, 0xE7, 0x08, 0xEB, 0xE2, 0xC9, 0xCB, 0xE5,
0xF1, 0xEC, 0xE9, 0xE8, 0xD9, 0xE7, 0xA6, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8,
0xDD, 0xF5, 0xEB, 0xEF, 0x06, 0xF1, 0xF7, 0xD9, 0xDB, 0xFB, 0xF5, 0xF1, 0xD7, 0xEF, 0xA5, 0xFF,
0x05, 0xF3, 0xF6, 0xF8, 0xF9, 0xF9, 0xF5, 0xB8, 0xFF, 0x00, 0x38, 0xA7, 0xD6, 0x09, 0xD8, 0xD0,
0xB5, 0xBD, 0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xEB, 0xE7, 0x05, 0xE8, 0xEC, 0xDC, 0xEF, 0xEB,
0xE8, 0xD6, 0xE7, 0xA6, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEA,
0xEF, 0x03, 0xF1, 0xF3, 0xF3, 0xF1, 0xD5, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA, 0xEA,
0xF6, 0xB8, 0xFF, 0x00, 0x2B, 0xA7, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9,
0xCB, 0xF0, 0xEA, 0xE7, 0xFE, 0xE8, 0xD4, 0xE7, 0xA6, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02,
0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF,
0x00, 0x2F, 0xBD, 0xD6, 0x04, 0xD7, 0xD8, 0xD9, 0xD8, 0xD7, 0xF0, 0xD6, 0x09, 0xD9, 0xD1, 0xB6,
0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xA6, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE,
0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8,
0xFF, 0x00, 0x36, 0xBF, 0xD6, 0x07, 0xD7, 0xD8, 0xDA, 0xCC, 0xCD, 0xCC, 0xD9, 0xD7, 0xF1, 0xD6,
0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xBC, 0xDE, 0xFE,
0xDF, 0xEE, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF,
0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF, 0x00, 0x41, 0xC2, 0xD6, 0x0A, 0xD7, 0xD8,
0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB0, 0xD1, 0xCA, 0xD8, 0xF1, 0xD6, 0x09, 0xD8, 0xE1, 0xB5, 0xBD,
0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xBD, 0xDE, 0x03, 0xDF, 0xE1, 0xD0, 0xE0, 0xEE,
0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBB, 0xFF, 0x00,
0xF1, 0xEC, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA, 0xEA, 0xF6, 0xB8, 0xFF, 0x00, 0x45, 0xC2, 0xD6,
0x0A, 0xD8, 0xC9, 0xCD, 0xD0, 0xD3, 0xD6, 0xB6, 0xB4, 0xD4, 0xCB, 0xD9, 0xF1, 0xD6, 0x09, 0xD8,
0xD0, 0xB5, 0xBD, 0xBE, 0xC0, 0xC0, 0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x06, 0xDF, 0xE0,
0xE1, 0xE2, 0xD3, 0xD2, 0xE1, 0xEE, 0xDE, 0x02, 0xE3, 0xD8, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
0xF5, 0xBA, 0xEF, 0xBC, 0xFF, 0x01, 0xF4, 0xF3, 0xEC, 0xFF, 0x05, 0xF4, 0xF7, 0xF8, 0xFA, 0xFA,
0xF6, 0xB8, 0xFF, 0x00, 0x4A, 0xC2, 0xD6, 0x0B, 0xD8, 0xCA, 0xD1, 0xB2, 0xB4, 0xB6, 0xB8, 0xB8,
0xD6, 0xCE, 0xDA, 0xD7, 0xF2, 0xD6, 0x09, 0xD9, 0xCF, 0xB4, 0xBA, 0xBD, 0xBE, 0xAD, 0xB7, 0xCB,
0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x07, 0xE0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD4, 0xE2, 0xDF, 0xEF, 0xDE,
0x02, 0xE1, 0xC5, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF, 0xFF, 0x04, 0xF2,
0xF3, 0xF4, 0xF5, 0xF5, 0xEC, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xE7, 0xF5, 0xB8, 0xFF, 0x00,
0x4B, 0xC2, 0xD6, 0x0B, 0xD7, 0xDA, 0xD0, 0xB4, 0xB6, 0xDC, 0xB8, 0xBA, 0xB6, 0xD3, 0xCC, 0xD8,
0xF2, 0xD6, 0x09, 0xD8, 0xCC, 0xD5, 0xB8, 0xBE, 0xBF, 0xBF, 0xB7, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0,
0xDE, 0x08, 0xE0, 0xD2, 0xD3, 0xE5, 0xD4, 0xD5, 0xD3, 0xE1, 0xDF, 0xF0, 0xDE, 0x02, 0xE0, 0xE6,
0xCA, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF, 0xFF, 0x05, 0xF3, 0xF4, 0xFF, 0xF5,
0xF6, 0xF4, 0xEC, 0xFF, 0x04, 0xF5, 0xF8, 0xF9, 0xF9, 0xF5, 0xB8, 0xFF, 0x00, 0x49, 0xC1, 0xD6,
0x0A, 0xD9, 0xCD, 0xD6, 0xB4, 0xDC, 0xB8, 0xBD, 0xBA, 0xB4, 0xCF, 0xD9, 0xF2, 0xD6, 0x09, 0xD7,
0xDA, 0xD2, 0xB6, 0xBF, 0xAE, 0xBF, 0xB6, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x08, 0xDF, 0xE2,
0xD2, 0xE5, 0xD4, 0xD6, 0xD5, 0xD2, 0xE0, 0xEF, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8,
0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF, 0x05, 0xF3, 0xFF, 0xF5, 0xF7, 0xF6, 0xF3, 0xED, 0xFF, 0x04,
0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xB8, 0xFF, 0x00, 0x48, 0xC1, 0xD6, 0x0B, 0xD8, 0xCA, 0xD3, 0xB4,
0xBA, 0xBA, 0xBD, 0xBD, 0xB6, 0xD2, 0xDA, 0xD7, 0xF2, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF,
0xC0, 0xB6, 0xCB, 0xF0, 0xBA, 0xE7, 0xBF, 0xDE, 0x07, 0xE1, 0xD2, 0xD5, 0xD5, 0xD6, 0xD6, 0xD3,
0xE1, 0xEF, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF,
0x05, 0xF3, 0xF6, 0xF6, 0xF7, 0xF7, 0xF4, 0xED, 0xFF, 0x04, 0xF4, 0xFA, 0xE9, 0xFA, 0xF4, 0xB8,
0xFF, 0x00, 0x4A, 0xC1, 0xD6, 0x04, 0xD7, 0xDA, 0xD0, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8, 0xD5,
0xCC, 0xD8, 0xF2, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB8, 0xCE, 0xF3, 0xE8, 0xBB,
0xE7, 0xBF, 0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF0, 0xDE, 0x01,
0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xBA, 0xEF, 0xBE, 0xFF, 0x01, 0xF3, 0xF6, 0xFE,
0xF7, 0x00, 0xF5, 0xED, 0xFF, 0x04, 0xF4, 0xFA, 0xE9, 0xFA, 0xF5, 0xB8, 0xFF, 0x00, 0x4B, 0xC0,
0xD6, 0x03, 0xD8, 0xCC, 0xD5, 0xB8, 0xFE, 0xBD, 0x04, 0xBA, 0xB4, 0xD0, 0xDA, 0xD7, 0xF3, 0xD6,
0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xBB, 0xE7, 0xBF, 0xDE, 0x02,
0xDF, 0xE2, 0xD4, 0xFE, 0xD6, 0x02, 0xD5, 0xD2, 0xE0, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
0x02, 0xCB, 0xCF, 0xF8, 0xBA, 0xEF, 0xBD, 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xF3, 0xEE,
0xFF, 0x05, 0xF4, 0xF9, 0xE8, 0xF9, 0xF6, 0xF3, 0xB9, 0xFF, 0x00, 0x47, 0xC0, 0xD6, 0x03, 0xD7,
0xDA, 0xD2, 0xB6, 0xFD, 0xBD, 0x03, 0xB6, 0xD3, 0xCA, 0xD8, 0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6,
0xFE, 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x01, 0xE1, 0xD3, 0xFD, 0xD6,
0x01, 0xD3, 0xE1, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xBA, 0xEF,
0xBD, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEE, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7,
0xF4, 0xB9, 0xFF, 0x00, 0x47, 0xBF, 0xD6, 0x03, 0xD9, 0xCF, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8,
0xD6, 0xCD, 0xD9, 0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xBB,
0xE7, 0xBE, 0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF1, 0xDE, 0x01,
0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF, 0xBD, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7,
0x00, 0xF5, 0xEE, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xB9, 0xFF, 0x00, 0x4A, 0xBF, 0xD6,
0x0B, 0xD8, 0xCC, 0xD3, 0xB6, 0xBA, 0xBD, 0xBD, 0xBA, 0xB4, 0xD0, 0xDA, 0xD7, 0xF4, 0xD6, 0x02,
0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x08, 0xDF,
0xE1, 0xD3, 0xD5, 0xD6, 0xD6, 0xD5, 0xD2, 0xE0, 0xF1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01,
0xC1, 0xFB, 0xBA, 0xEF, 0xBC, 0xFF, 0x05, 0xF4, 0xF6, 0xF7, 0xF7, 0xF6, 0xF3, 0xEF, 0xFF, 0x00,
0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x49, 0xBF, 0xD6, 0x04, 0xD7, 0xDA, 0xCE,
0xD6, 0xB8, 0xFE, 0xBD, 0x03, 0xB8, 0xD5, 0xCC, 0xD8, 0xF4, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF,
0xAE, 0xBF, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBD, 0xDE, 0x02, 0xDF, 0xE2, 0xD4, 0xFE, 0xD6,
0x02, 0xD4, 0xE2, 0xDF, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF,
0xBB, 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x00, 0xF5, 0xEF, 0xFF, 0x05, 0xF4, 0xF9, 0xE8, 0xF9, 0xF7,
0xF4, 0xB9, 0xFF, 0x00, 0x4A, 0xBE, 0xD6, 0x0B, 0xD8, 0xCA, 0xD3, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8,
0xB2, 0xD0, 0xDA, 0xD7, 0xF5, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD, 0xB1, 0xE8,
0xEB, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xE1, 0xD3, 0xD6, 0xD6, 0xD5, 0xD4, 0xD1, 0xE0, 0xF2, 0xDE,
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBB, 0xEF, 0xBB, 0xFF, 0x05, 0xF4, 0xF7,
0xF7, 0xF6, 0xF5, 0xF2, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00,
0x4A, 0xBE, 0xD6, 0x0B, 0xD7, 0xDA, 0xD0, 0xB4, 0xBA, 0xBD, 0xBA, 0xDF, 0xB4, 0xD3, 0xCA, 0xD8,
0xF5, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD, 0xB3, 0xD9, 0xED, 0xBB, 0xE7, 0xBC,
0xDE, 0x07, 0xE0, 0xD2, 0xD5, 0xD6, 0xD5, 0xE6, 0xD2, 0xE1, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD,
0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBB, 0xEF, 0xBB, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF6, 0xFF, 0xF3,
0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x49, 0xBD, 0xD6, 0x0A,
0xD9, 0xCD, 0xD6, 0xB6, 0xB8, 0xB4, 0xB4, 0xB0, 0xD1, 0xCA, 0xD8, 0xF5, 0xD6, 0x09, 0xD8, 0xD0,
0xB5, 0xC0, 0xAF, 0xC0, 0xBD, 0xB5, 0xCA, 0xEF, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xDF, 0xE2, 0xD3,
0xD4, 0xD2, 0xD2, 0xD0, 0xE0, 0xF2, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
0xF5, 0xBB, 0xEF, 0xBA, 0xFF, 0x04, 0xF4, 0xF5, 0xF3, 0xF3, 0xF1, 0xF0, 0xFF, 0x05, 0xF4, 0xFA,
0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x44, 0xBD, 0xD6, 0x0A, 0xD8, 0xCA, 0xD1, 0xB0, 0xD6,
0xD3, 0xD2, 0xCF, 0xCC, 0xD9, 0xD7, 0xF5, 0xD6, 0x09, 0xD7, 0xDE, 0xB2, 0xBD, 0xAF, 0xC0, 0xBD,
0xB6, 0xCB, 0xF0, 0xBB, 0xE7, 0xBB, 0xDE, 0x06, 0xE0, 0xD0, 0xE2, 0xE1, 0xE1, 0xE0, 0xDF, 0xF2,
0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBB, 0xEF, 0xBA, 0xFF, 0x00,
0xF1, 0xEC, 0xFF, 0x05, 0xF3, 0xF9, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x38, 0xBD, 0xD6,
0x09, 0xD7, 0xDA, 0xCE, 0xCF, 0xCE, 0xCA, 0xDA, 0xD9, 0xD8, 0xD7, 0xF3, 0xD6, 0x09, 0xDB, 0xD3,
0xBA, 0xAE, 0xBF, 0xBD, 0xB8, 0xCE, 0xF3, 0xE8, 0xBC, 0xE7, 0xBB, 0xDE, 0xFE, 0xDF, 0xEE, 0xDE,
0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBB, 0xEF, 0xA3, 0xFF, 0x04, 0xF7,
0xE8, 0xF9, 0xF7, 0xF5, 0xB9, 0xFF, 0x00, 0x30, 0xBC, 0xD6, 0x05, 0xD8, 0xC9, 0xCA, 0xDA, 0xD8,
0xD7, 0xF0, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBE, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xBC, 0xE7,
0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBB, 0xEF, 0xA3, 0xFF, 0x05,
0xF5, 0xF8, 0xF8, 0xF7, 0xF6, 0xF3, 0xBA, 0xFF, 0x00, 0x2B, 0xBC, 0xD6, 0x03, 0xD7, 0xD8, 0xD8,
0xD7, 0xEE, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xBC, 0xE7, 0xA4,
0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBB, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD,
0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x25, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02,
0xB2, 0xE9, 0xEC, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1,
0xBC, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x25, 0xA5, 0xD6,
0x02, 0xD8, 0xD0, 0xB5, 0xFD, 0xBD, 0x02, 0xB4, 0xC9, 0xEE, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4,
0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBC, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00,
0xF4, 0xBA, 0xFF, 0x00, 0x29, 0xA5, 0xD6, 0x03, 0xD7, 0xDE, 0xB2, 0xBA, 0xFE, 0xBD, 0x03, 0xB6,
0xCC, 0xF1, 0xE8, 0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
0xF5, 0xBC, 0xEF, 0xA3, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x2E,
0xA4, 0xD6, 0x09, 0xDB, 0xD3, 0xB9, 0xBE, 0xBE, 0xBD, 0xB8, 0xCF, 0xE1, 0xE9, 0xEC, 0xE7, 0x03,
0xE8, 0xE9, 0xE9, 0xE8, 0xD6, 0xE7, 0xA4, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCA,
0xDF, 0xF7, 0xBC, 0xEF, 0xA2, 0xFF, 0x04, 0xF6, 0xF8, 0xF8, 0xF7, 0xF5, 0xBA, 0xFF, 0x00, 0x39,
0xA4, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xAD, 0xBF, 0xBF, 0xBC, 0xAF, 0xE4, 0xEA, 0xEE, 0xE7, 0x06,
0xE8, 0xEB, 0xF1, 0xE3, 0xE1, 0xEE, 0xE8, 0xD7, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
0x02, 0xCC, 0xBF, 0xF9, 0xEC, 0xEF, 0x04, 0xF1, 0xF5, 0xF8, 0xF6, 0xF2, 0xD6, 0xEF, 0xA2, 0xFF,
0x05, 0xF5, 0xE7, 0xF9, 0xF9, 0xF8, 0xF4, 0xBB, 0xFF, 0x00, 0x44, 0xA4, 0xD6, 0x09, 0xD9, 0xD1,
0xB7, 0xBE, 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xF1, 0xE7, 0x09, 0xE8, 0xEA, 0xED, 0xF2, 0xE5,
0xCC, 0xAD, 0xA7, 0xE1, 0xE9, 0xD7, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3,
0xFD, 0xF1, 0xF0, 0xEF, 0x07, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD, 0xBE, 0xC9, 0xF6, 0xD6, 0xEF, 0xA2,
0xFF, 0x05, 0xF5, 0xF8, 0xF9, 0xE8, 0xE8, 0xF5, 0xE9, 0xFF, 0x01, 0xF3, 0xF2, 0xD5, 0xFF, 0x00,
0x4E, 0xA4, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBE, 0xBF, 0xBF, 0xB5, 0xC9, 0xEE, 0xF3, 0xE7,
0x0B, 0xE8, 0xEB, 0xF1, 0xE4, 0xD9, 0xCD, 0xAF, 0xB6, 0xBA, 0xB0, 0xE7, 0xEA, 0xE5, 0xE7, 0xFE,
0xE8, 0xF6, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF2, 0xEF,
0x09, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCB, 0xC0, 0xFA, 0xD6, 0xEF, 0xA2, 0xFF, 0x05,
0xF4, 0xF7, 0xF8, 0xF9, 0xF9, 0xF5, 0xEB, 0xFF, 0x03, 0xF3, 0xF5, 0xF6, 0xF4, 0xD5, 0xFF, 0x00,
0x65, 0xA4, 0xD6, 0x03, 0xD7, 0xDE, 0xB2, 0xBA, 0xFE, 0xBD, 0x03, 0xB8, 0xCE, 0xF3, 0xE8, 0xF7,
0xE7, 0x0E, 0xE8, 0xEA, 0xED, 0xF2, 0xE5, 0xCC, 0xAE, 0xB4, 0xB8, 0xBB, 0xBD, 0xBD, 0xB0, 0xE7,
0xEA, 0xE6, 0xE7, 0x05, 0xE8, 0xEE, 0xDE, 0xF1, 0xEB, 0xE8, 0xF8, 0xE7, 0xA3, 0xDE, 0x02, 0xE2,
0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xF5, 0xEF, 0x0C, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD,
0xC1, 0xC5, 0xCA, 0xCC, 0xCE, 0xCE, 0xC1, 0xFB, 0xE4, 0xEF, 0x03, 0xF3, 0xF5, 0xF5, 0xF1, 0xF7,
0xEF, 0xA2, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xEE, 0xFF, 0x02, 0xF3, 0xF5, 0xF6,
0xFE, 0xF7, 0x00, 0xF4, 0xD5, 0xFF, 0x00, 0x72, 0xA3, 0xD6, 0x02, 0xDB, 0xD3, 0xB8, 0xFE, 0xBE,
0x03, 0xBA, 0xAD, 0xE3, 0xE9, 0xF9, 0xE7, 0x10, 0xE8, 0xEB, 0xF1, 0xE4, 0xD9, 0xCD, 0xAF, 0xB6,
0xBB, 0xC0, 0xB0, 0xC1, 0xBF, 0xBE, 0xB2, 0xE9, 0xEC, 0xE7, 0xE7, 0x07, 0xE8, 0xEE, 0xE7, 0xA8,
0xCC, 0xE4, 0xEF, 0xE9, 0xF9, 0xE7, 0xA3, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC,
0xBF, 0xF9, 0xF7, 0xEF, 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x02,
0xC3, 0xFD, 0xF1, 0xE6, 0xEF, 0x06, 0xF3, 0xFB, 0xBB, 0xDD, 0xFB, 0xF5, 0xF1, 0xF9, 0xEF, 0xA1,
0xFF, 0x00, 0xF5, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xF1, 0xFF, 0x08, 0xF3, 0xF5, 0xF7, 0xFA, 0xEA,
0xFB, 0xF9, 0xF8, 0xF4, 0xE2, 0xFF, 0x00, 0xF2, 0xF5, 0xFF, 0x00, 0x80, 0xA3, 0xD6, 0x09, 0xD9,
0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xBE, 0xB2, 0xE9, 0xEC, 0xFC, 0xE7, 0x13, 0xE8, 0xEB, 0xEE, 0xF3,
0xE5, 0xCC, 0xAE, 0xB4, 0xB8, 0xBB, 0xBD, 0xBF, 0xB1, 0xB3, 0xB3, 0xB0, 0xBF, 0xB4, 0xC9, 0xEE,
0xE8, 0xE7, 0x0A, 0xE8, 0xEE, 0xE7, 0xAF, 0xB6, 0xB6, 0xAE, 0xD9, 0xF2, 0xEB, 0xE8, 0xFB, 0xE7,
0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xFB, 0xEF, 0x08, 0xF1, 0xF3,
0xF7, 0xFB, 0xDD, 0xC1, 0xC5, 0xCA, 0xCC, 0xFA, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xE7, 0xEF, 0x08,
0xF3, 0xFB, 0xC1, 0xC7, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xFA, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF9,
0xE9, 0xFA, 0xF8, 0xF4, 0xF4, 0xFF, 0x0B, 0xF3, 0xF5, 0xF6, 0xF7, 0xF7, 0xF9, 0xEB, 0xED, 0xED,
0xEA, 0xF9, 0xF4, 0xE3, 0xFF, 0x03, 0xF4, 0xF5, 0xF5, 0xF3, 0xF7, 0xFF, 0x00, 0x88, 0xA3, 0xD6,
0x22, 0xD9, 0xD1, 0xB6, 0xBF, 0xB0, 0xB0, 0xBF, 0xB4, 0xC9, 0xEE, 0xE7, 0xE7, 0xE8, 0xE9, 0xEC,
0xF1, 0xE5, 0xC9, 0xCE, 0xB0, 0xB8, 0xBC, 0xC0, 0xAE, 0xBF, 0xBD, 0xC0, 0xB2, 0xB5, 0xB5, 0xB2,
0xC0, 0xB6, 0xCB, 0xF0, 0xE9, 0xE7, 0x0B, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBE, 0xBA, 0xB2,
0xCA, 0xDF, 0xEA, 0xFB, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3,
0xFD, 0xEF, 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xF7, 0xCE, 0x02, 0xC8, 0xDD,
0xF5, 0xE8, 0xEF, 0x0A, 0xF2, 0xFA, 0xC0, 0xC9, 0xCE, 0xCE, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xFB,
0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF9, 0xEA, 0xEA, 0xF9, 0xF4, 0xF6, 0xFF, 0x0D, 0xF4, 0xF7, 0xF8,
0xFA, 0xE8, 0xF9, 0xF7, 0xFA, 0xEC, 0xEF, 0xEF, 0xEC, 0xFA, 0xF4, 0xE4, 0xFF, 0x05, 0xF4, 0xF6,
0xF8, 0xF8, 0xF7, 0xF4, 0xF8, 0xFF, 0x00, 0x8F, 0xA3, 0xD6, 0x23, 0xD8, 0xCE, 0xB3, 0xBB, 0xC1,
0xB1, 0xC1, 0xB9, 0xCE, 0xF3, 0xE9, 0xEB, 0xEF, 0xE1, 0xE6, 0xCC, 0xAF, 0xB4, 0xB9, 0xBD, 0xB0,
0xB0, 0xC2, 0xB0, 0xC0, 0xBD, 0xBF, 0xB0, 0xB3, 0xB4, 0xB2, 0xC0, 0xB8, 0xCE, 0xF3, 0xE8, 0xEB,
0xE7, 0x0C, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBF, 0xAE, 0xBE, 0xB8, 0xAC, 0xD1, 0xEA, 0xFB,
0xE7, 0xA2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x0C, 0xCA, 0xDF, 0xF7, 0xEF, 0xF1, 0xF3,
0xF7, 0xFB, 0xDD, 0xC1, 0xC5, 0xCA, 0xCC, 0xF5, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xE9, 0xEF, 0x03,
0xF3, 0xFA, 0xD1, 0xC8, 0xFD, 0xCE, 0x03, 0xCA, 0xBF, 0xD5, 0xF1, 0xFB, 0xEF, 0xA1, 0xFF, 0x05,
0xF3, 0xF7, 0xFB, 0xEB, 0xFB, 0xF6, 0xF9, 0xFF, 0x10, 0xF3, 0xF4, 0xF6, 0xF9, 0xEA, 0xEA, 0xFC,
0xEA, 0xFA, 0xF7, 0xF9, 0xEA, 0xED, 0xEE, 0xEC, 0xFA, 0xF5, 0xE5, 0xFF, 0x07, 0xF4, 0xF6, 0xF8,
0xF9, 0xE8, 0xF8, 0xF5, 0xF2, 0xF9, 0xFF, 0x00, 0x96, 0xA3, 0xD6, 0x23, 0xD7, 0xDC, 0xD4, 0xB8,
0xC0, 0xB1, 0xB1, 0xBC, 0xAF, 0xE8, 0xF4, 0xE5, 0xCA, 0xD0, 0xB2, 0xB9, 0xBC, 0xBE, 0xBF, 0xB0,
0xB2, 0xC3, 0xB2, 0xB0, 0xBF, 0xBD, 0xBB, 0xBC, 0xBE, 0xB1, 0xB0, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9,
0xEC, 0xE7, 0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD, 0xBE, 0xAE, 0xBF, 0xBB, 0xB4, 0xCB, 0xF2,
0xE9, 0xFB, 0xE7, 0xA2, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1, 0xFD, 0xF7,
0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xF8, 0xCE, 0xFE, 0xCC, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9,
0xEA, 0xEF, 0x04, 0xF3, 0xFB, 0xC0, 0xC8, 0xCD, 0xFE, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1,
0xFB, 0xEF, 0xA0, 0xFF, 0x05, 0xF5, 0xFA, 0xEB, 0xEB, 0xF8, 0xF3, 0xFC, 0xFF, 0x00, 0xF5, 0xFE,
0xF8, 0x0F, 0xF9, 0xEA, 0xEC, 0xFD, 0xEC, 0xEA, 0xF9, 0xF7, 0xF7, 0xF8, 0xFA, 0xEB, 0xEA, 0xF9,
0xF6, 0xF3, 0xE7, 0xFF, 0x07, 0xF4, 0xF6, 0xF7, 0xF8, 0xE8, 0xF9, 0xF7, 0xF4, 0xF8, 0xFF, 0x00,
0x96, 0xA2, 0xD6, 0x22, 0xD9, 0xD1, 0xB7, 0xC1, 0xB2, 0xB1, 0xBF, 0xB6, 0xD3, 0xCF, 0xAF, 0xB4,
0xB9, 0xAB, 0xB0, 0xAF, 0xBF, 0xC0, 0xB0, 0xC2, 0xB0, 0xB0, 0xBD, 0xB9, 0xB6, 0xB4, 0xDA, 0xB9,
0xBF, 0xBF, 0xBE, 0xBD, 0xB0, 0xE7, 0xEA, 0xED, 0xE7, 0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD,
0xBD, 0xBE, 0xBE, 0xBB, 0xB4, 0xCD, 0xE1, 0xEB, 0xFA, 0xE7, 0xA1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD,
0xCE, 0x06, 0xC7, 0xE3, 0xDF, 0xC1, 0xC5, 0xCA, 0xCC, 0xF9, 0xCE, 0x05, 0xCC, 0xCA, 0xC8, 0xC6,
0xEA, 0xCA, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEB, 0xEF, 0x03, 0xF3, 0xFB, 0xC1, 0xC9, 0xFD, 0xCE,
0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xFA, 0xEF, 0xA0, 0xFF, 0x1E, 0xF5, 0xFB, 0xEC, 0xEB, 0xF9,
0xF5, 0xFF, 0xFF, 0xF3, 0xF4, 0xF6, 0xE7, 0xEA, 0xE9, 0xF9, 0xFA, 0xEA, 0xFC, 0xEA, 0xEA, 0xF9,
0xF6, 0xF4, 0xF3, 0xFF, 0xF6, 0xF9, 0xF9, 0xF8, 0xF7, 0xF4, 0xE8, 0xFF, 0x07, 0xF4, 0xF6, 0xF7,
0xF7, 0xF8, 0xF8, 0xF7, 0xF4, 0xF7, 0xFF, 0x00, 0x96, 0xA2, 0xD6, 0x1B, 0xD9, 0xCF, 0xB5, 0xAC,
0xB1, 0xC1, 0xC0, 0xBB, 0xB9, 0xB8, 0xBB, 0xBE, 0xBF, 0xBF, 0xC1, 0xAF, 0xBF, 0xBF, 0xAE, 0xC0,
0xBC, 0xBA, 0xB4, 0xD4, 0xD1, 0xD0, 0xD5, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xEE, 0xE7,
0x0E, 0xE9, 0xEF, 0xE8, 0xAF, 0xB9, 0xBE, 0xBE, 0xBD, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8,
0xFA, 0xE7, 0xA1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xCA, 0xCA, 0xCC, 0xF8,
0xCE, 0x07, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE6, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1,
0xEE, 0xEF, 0x04, 0xF1, 0xF5, 0xFD, 0xC1, 0xC9, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1,
0xF9, 0xEF, 0xA0, 0xFF, 0x14, 0xF4, 0xE8, 0xEB, 0xFB, 0xFA, 0xF7, 0xF6, 0xF5, 0xF7, 0xF8, 0xF9,
0xF9, 0xFB, 0xE9, 0xF9, 0xF9, 0xE8, 0xFA, 0xF8, 0xF7, 0xF4, 0xFD, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
0x00, 0xF4, 0xE9, 0xFF, 0x07, 0xF4, 0xF7, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4, 0xF6, 0xFF, 0x00,
0x91, 0xA2, 0xD6, 0x1B, 0xD8, 0xCC, 0xD6, 0xBA, 0xC0, 0xAE, 0xBF, 0xAD, 0xBE, 0xBD, 0xBF, 0xAF,
0xC1, 0xBF, 0xBF, 0xBE, 0xBE, 0xBB, 0xB9, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xDA, 0xD1, 0xB5,
0xFE, 0xBE, 0x03, 0xBD, 0xB4, 0xC9, 0xEE, 0xEF, 0xE7, 0x0E, 0xEA, 0xF1, 0xD9, 0xB0, 0xB8, 0xBF,
0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF9, 0xE7, 0xA1, 0xDE, 0x02, 0xE0, 0xE6,
0xCA, 0xF4, 0xCE, 0x0A, 0xCC, 0xCA, 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xDE, 0xDE, 0xE4, 0xC8, 0xFD,
0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xEF, 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFD, 0xCE, 0x04,
0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF8, 0xEF, 0x9F, 0xFF, 0x11, 0xF7, 0xFA, 0xE8, 0xF9, 0xE7, 0xF8,
0xF7, 0xF9, 0xE9, 0xFB, 0xF9, 0xF9, 0xF8, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3, 0xFB, 0xFF, 0x00, 0xF4,
0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xEA, 0xFF, 0x07, 0xF4, 0xF6, 0xF9, 0xE8, 0xF9, 0xF7, 0xF6, 0xF4,
0xF5, 0xFF, 0x00, 0x91, 0xA2, 0xD6, 0x23, 0xD7, 0xDA, 0xD2, 0xB6, 0xBE, 0xBF, 0xC1, 0xC0, 0xBF,
0xBD, 0xBF, 0xAF, 0xB0, 0xAE, 0xBE, 0xBA, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xD6,
0xD7, 0xDE, 0xB2, 0xBC, 0xAE, 0xBF, 0xBD, 0xB8, 0xCE, 0xF3, 0xE8, 0xF2, 0xE7, 0x0F, 0xE8, 0xEB,
0xF3, 0xCA, 0xB2, 0xB9, 0xBE, 0xC0, 0xAF, 0xBF, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF8, 0xE7,
0xA0, 0xDE, 0x01, 0xE4, 0xC8, 0xF6, 0xCE, 0x06, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xFD,
0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xF0, 0xEF, 0x04, 0xF1, 0xF7,
0xDD, 0xC5, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF7, 0xEF, 0x9F, 0xFF, 0x0E,
0xF4, 0xF8, 0xF9, 0xFB, 0xFA, 0xF9, 0xF7, 0xF9, 0xE9, 0xEA, 0xE8, 0xF8, 0xF6, 0xF5, 0xF3, 0xF8,
0xFF, 0x05, 0xF3, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5, 0xEB, 0xFF, 0x07, 0xF4, 0xF6, 0xF8, 0xFA, 0xE9,
0xF9, 0xF6, 0xF4, 0xF4, 0xFF, 0x00, 0x8E, 0xA1, 0xD6, 0x14, 0xD8, 0xCE, 0xB3, 0xBA, 0xBE, 0xAE,
0xAE, 0xBE, 0xBD, 0xBE, 0xBF, 0xBD, 0xBA, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xFD,
0xD6, 0x09, 0xDB, 0xD3, 0xBA, 0xAF, 0xC0, 0xBF, 0xBB, 0xAE, 0xE3, 0xE9, 0xF3, 0xE7, 0x0F, 0xE8,
0xEE, 0xE3, 0xCE, 0xB4, 0xBC, 0xBF, 0xC0, 0xAF, 0xC0, 0xBB, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF7,
0xE7, 0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFA, 0xCE, 0x06, 0xCC, 0xCA, 0xC8, 0xC6, 0xE6, 0xE2,
0xE0, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF1, 0xEF, 0x04,
0xF3, 0xF9, 0xDF, 0xC5, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF6, 0xEF, 0x9F,
0xFF, 0x0C, 0xF3, 0xF6, 0xF8, 0xE8, 0xE8, 0xF8, 0xF7, 0xF8, 0xF9, 0xF9, 0xF7, 0xF5, 0xF3, 0xF5,
0xFF, 0x05, 0xF7, 0xE9, 0xFA, 0xF9, 0xF7, 0xF4, 0xED, 0xFF, 0x07, 0xF5, 0xF8, 0xF9, 0xFA, 0xE9,
0xFA, 0xF7, 0xF4, 0xF3, 0xFF, 0x00, 0x8A, 0xA1, 0xD6, 0x11, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE, 0xBF,
0xBF, 0xBE, 0xBD, 0xBA, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xFA, 0xD6, 0x09, 0xD9,
0xD1, 0xB7, 0xC0, 0xAF, 0xC0, 0xAD, 0xB2, 0xE8, 0xEB, 0xF5, 0xE7, 0x10, 0xE8, 0xEB, 0xF1, 0xE9,
0xAD, 0xB6, 0xBC, 0xB0, 0xB0, 0xC1, 0xAE, 0xBC, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF6, 0xE7, 0xA0,
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x06, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xF7,
0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xF4, 0xEF, 0x05, 0xF1, 0xF5,
0xFD, 0xBF, 0xC7, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF5, 0xEF, 0x9E, 0xFF,
0x08, 0xF5, 0xF8, 0xF9, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3, 0xF2, 0xFF, 0x05, 0xF5, 0xFA, 0xE9,
0xFA, 0xE7, 0xF5, 0xEF, 0xFF, 0x08, 0xF3, 0xF5, 0xF8, 0xEA, 0xEA, 0xFB, 0xE8, 0xF8, 0xF4, 0xF2,
0xFF, 0x00, 0x81, 0xA0, 0xD6, 0x0E, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8, 0xB6, 0xB3, 0xD4,
0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xF8, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC1, 0xBE, 0xB4,
0xD9, 0xED, 0xF6, 0xE7, 0x10, 0xE8, 0xEC, 0xE1, 0xCA, 0xB1, 0xB8, 0xBD, 0xBF, 0xB1, 0xB1, 0xC1,
0xBB, 0xB4, 0xCC, 0xE1, 0xEC, 0xE8, 0xF5, 0xE7, 0x9F, 0xDE, 0x0A, 0xE4, 0xC8, 0xCE, 0xCE, 0xCC,
0xCA, 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xF4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB,
0xF3, 0xF5, 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7,
0xF1, 0xF4, 0xEF, 0x9E, 0xFF, 0x06, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF0, 0xFF, 0x05,
0xF4, 0xFA, 0xE9, 0xFB, 0xF8, 0xF5, 0xF0, 0xFF, 0x08, 0xF4, 0xF6, 0xF7, 0xF9, 0xEB, 0xEB, 0xFB,
0xF7, 0xF5, 0xF1, 0xFF, 0x00, 0x7D, 0xA0, 0xD6, 0x0B, 0xD8, 0xCE, 0xB3, 0xB8, 0xB8, 0xB3, 0xD4,
0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xF5, 0xD6, 0x0A, 0xD8, 0xCE, 0xB3, 0xBD, 0xAF, 0xC0, 0xBD, 0xB7,
0xCD, 0xF2, 0xE8, 0xF9, 0xE7, 0x11, 0xE8, 0xEB, 0xF1, 0xE6, 0xCF, 0xB4, 0xBA, 0xBD, 0xBD, 0xBE,
0xC0, 0xAF, 0xBB, 0xB2, 0xCA, 0xF3, 0xEB, 0xE8, 0xF4, 0xE7, 0x9F, 0xDE, 0x08, 0xE2, 0xC5, 0xC9,
0xC9, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xF2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9,
0xDE, 0xF6, 0xF7, 0xEF, 0x05, 0xF1, 0xF5, 0xFB, 0xDF, 0xC5, 0xCC, 0xFC, 0xCE, 0x04, 0xCC, 0xC5,
0xDD, 0xF7, 0xF1, 0xF3, 0xEF, 0x9E, 0xFF, 0x03, 0xF3, 0xF5, 0xF5, 0xF3, 0xED, 0xFF, 0x05, 0xF3,
0xF9, 0xE9, 0xFA, 0xF7, 0xF5, 0xF1, 0xFF, 0x08, 0xF4, 0xF6, 0xF7, 0xF7, 0xF8, 0xFA, 0xE9, 0xF8,
0xF4, 0xF0, 0xFF, 0x00, 0x76, 0xA0, 0xD6, 0x09, 0xD7, 0xDC, 0xD2, 0xB1, 0xD4, 0xCE, 0xDC, 0xD9,
0xD8, 0xD7, 0xF3, 0xD6, 0x0A, 0xD7, 0xDC, 0xD4, 0xBA, 0xAE, 0xBF, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9,
0xFA, 0xE7, 0x06, 0xE8, 0xEC, 0xE1, 0xCA, 0xAF, 0xB6, 0xBA, 0xFE, 0xBE, 0x06, 0xBD, 0xBB, 0xB7,
0xAF, 0xD9, 0xF1, 0xEA, 0xF2, 0xE7, 0x9F, 0xDE, 0x05, 0xE0, 0xE3, 0xD4, 0xE5, 0xE2, 0xE0, 0xEF,
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF8, 0xEF, 0x05, 0xF1, 0xF7,
0xDB, 0xC1, 0xC7, 0xCC, 0xFD, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xF2, 0xEF, 0x9D,
0xFF, 0x00, 0xF2, 0xEA, 0xFF, 0x05, 0xF7, 0xE8, 0xF9, 0xF7, 0xF6, 0xF3, 0xF4, 0xFF, 0x02, 0xF3,
0xF5, 0xF6, 0xFE, 0xF8, 0x03, 0xF7, 0xF7, 0xF6, 0xF4, 0xEF, 0xFF, 0x00, 0x68, 0x9F, 0xD6, 0x05,
0xD8, 0xCB, 0xCC, 0xDC, 0xD8, 0xD7, 0xEF, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBE, 0xBD, 0xBD,
0xB2, 0xE9, 0xEC, 0xFC, 0xE7, 0x06, 0xE8, 0xEB, 0xF1, 0xE6, 0xCF, 0xB5, 0xBC, 0xFE, 0xBF, 0x07,
0xAE, 0xBE, 0xBA, 0xB4, 0xCF, 0xE5, 0xEF, 0xE9, 0xF1, 0xE7, 0x9E, 0xDE, 0xFE, 0xDF, 0xEC, 0xDE,
0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xFB, 0xEF, 0x05, 0xF1, 0xF5, 0xFB,
0xDF, 0xC5, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC5, 0xDF, 0xFB, 0xF5, 0xF1, 0xF1, 0xEF, 0x85, 0xFF,
0x05, 0xF5, 0xF8, 0xF8, 0xF7, 0xF7, 0xF4, 0xF5, 0xFF, 0x01, 0xF5, 0xF8, 0xFE, 0xF9, 0x03, 0xE8,
0xF8, 0xF6, 0xF4, 0xED, 0xFF, 0x00, 0x61, 0x9F, 0xD6, 0x03, 0xD7, 0xD8, 0xD8, 0xD7, 0xED, 0xD6,
0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x18, 0xB4, 0xCA, 0xEF, 0xE8, 0xE7, 0xE7, 0xE8, 0xEB, 0xF1,
0xE5, 0xCD, 0xB0, 0xB7, 0xBB, 0xAF, 0xAF, 0xC0, 0xAF, 0xC0, 0xBB, 0xB2, 0xCB, 0xE1, 0xEC, 0xE8,
0xF0, 0xE7, 0x86, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xFD, 0xEF, 0x06,
0xF1, 0xF5, 0xFB, 0xDD, 0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEF,
0xEF, 0x85, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xF7, 0xFF, 0x09, 0xF4, 0xF6, 0xF7, 0xE9,
0xE9, 0xFA, 0xE9, 0xFA, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x5D, 0x87, 0xD6, 0x1E, 0xD8, 0xCE, 0xB3,
0xBA, 0xBD, 0xBE, 0xBE, 0xB9, 0xCF, 0xE1, 0xE9, 0xE7, 0xE9, 0xED, 0xE2, 0xCA, 0xAF, 0xB8, 0xAB,
0xBF, 0xBF, 0xC1, 0xB0, 0xC0, 0xBC, 0xA7, 0xAF, 0xD9, 0xF2, 0xEB, 0xE8, 0xEF, 0xE7, 0x86, 0xDE,
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x0B, 0xCA, 0xDF, 0xF7, 0xEF, 0xEF, 0xF1, 0xF3, 0xF9, 0xDB,
0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xEE, 0xEF, 0x85, 0xFF,
0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xF8, 0xF6, 0xF9, 0xFF, 0x0A, 0xF3, 0xF7, 0xE7, 0xF9, 0xF9, 0xFB,
0xEA, 0xFA, 0xF8, 0xE6, 0xF4, 0xEB, 0xFF, 0x00, 0x58, 0x87, 0xD6, 0x1C, 0xD7, 0xDC, 0xD4, 0xB8,
0xBD, 0xBE, 0xAD, 0xBB, 0xB0, 0xE6, 0xED, 0xEB, 0xF2, 0xD6, 0xD0, 0xB5, 0xBC, 0xC2, 0xB0, 0xC0,
0xBE, 0xAE, 0xBF, 0xBB, 0xB5, 0xD0, 0xE6, 0xEF, 0xE9, 0xED, 0xE7, 0x86, 0xDE, 0x02, 0xE0, 0xE6,
0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1, 0xFB, 0xF1, 0xF1, 0xF7, 0xD9, 0xE1, 0xC5, 0xCC, 0xFB, 0xCE,
0x05, 0xCC, 0xC5, 0xDF, 0xFB, 0xF5, 0xF1, 0xED, 0xEF, 0x84, 0xFF, 0x05, 0xF5, 0xF7, 0xF8, 0xE7,
0xF7, 0xF3, 0xFB, 0xFF, 0x09, 0xF5, 0xF8, 0xFC, 0xEA, 0xFA, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5, 0xE9,
0xFF, 0x00, 0x54, 0x86, 0xD6, 0x03, 0xD9, 0xD1, 0xB6, 0xBD, 0xFE, 0xBE, 0x13, 0xB6, 0xCE, 0xFA,
0xE5, 0xCD, 0xB0, 0xB7, 0xBC, 0xB0, 0xB2, 0xB0, 0xBF, 0xBE, 0xBB, 0xB7, 0xAF, 0xCA, 0xE1, 0xEC,
0xE8, 0xEC, 0xE7, 0x85, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x07, 0xC7, 0xDF, 0xFB, 0xFB, 0xDF,
0xC3, 0xCA, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xEB, 0xEF, 0x84, 0xFF,
0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00, 0xF5, 0xFD, 0xFF, 0x0A, 0xF3, 0xF5, 0xF8, 0xEA, 0xEC, 0xEA,
0xF9, 0xF8, 0xF7, 0xF6, 0xF3, 0xE8, 0xFF, 0x00, 0x51, 0x86, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA,
0xFE, 0xBE, 0x12, 0xBA, 0xB3, 0xD3, 0xAF, 0xB6, 0xBB, 0xBF, 0xC1, 0xB1, 0xB1, 0xC0, 0xBE, 0xB9,
0xB2, 0xCD, 0xE5, 0xF1, 0xEB, 0xE8, 0xEB, 0xE7, 0x85, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
0x05, 0xCC, 0xC5, 0xE3, 0xC1, 0xC7, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC5, 0xDF, 0xFB, 0xF5, 0xF1,
0xEA, 0xEF, 0x84, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF8, 0x0D, 0xF6, 0xF4, 0xFF, 0xF3, 0xF5, 0xF7,
0xF9, 0xFB, 0xEB, 0xEB, 0xFA, 0xF8, 0xF6, 0xF4, 0xE6, 0xFF, 0x00, 0x48, 0x86, 0xD6, 0x07, 0xD7,
0xDC, 0xD4, 0xB8, 0xBE, 0xAE, 0xBF, 0xBE, 0xFE, 0xBA, 0x0C, 0xBD, 0xBF, 0xB0, 0xB1, 0xC1, 0xBF,
0xBB, 0xB6, 0xAE, 0xD9, 0xF2, 0xEB, 0xE8, 0xE9, 0xE7, 0x85, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD,
0xCE, 0xFE, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xE8, 0xEF, 0x83, 0xFF,
0x04, 0xF5, 0xF8, 0xE8, 0xF9, 0xF8, 0xFE, 0xF6, 0x08, 0xF7, 0xF9, 0xEA, 0xEB, 0xFB, 0xF9, 0xF7,
0xF5, 0xF3, 0xE5, 0xFF, 0x00, 0x3F, 0x85, 0xD6, 0x14, 0xD9, 0xD1, 0xB6, 0xBE, 0xBF, 0xAF, 0xC0,
0xC0, 0xBF, 0xBE, 0xBD, 0xBF, 0xB0, 0xB0, 0xBC, 0xB6, 0xAF, 0xCC, 0xE4, 0xEF, 0xE9, 0xE7, 0xE7,
0x84, 0xDE, 0x01, 0xE4, 0xC8, 0xF6, 0xCE, 0x06, 0xCC, 0xC7, 0xC1, 0xDD, 0xFB, 0xF5, 0xF1, 0xE7,
0xEF, 0x83, 0xFF, 0x0E, 0xF4, 0xF8, 0xF9, 0xE9, 0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF9, 0xEA, 0xEA,
0xF8, 0xF5, 0xF3, 0xE3, 0xFF, 0x00, 0x3F, 0x88, 0xD6, 0x16, 0xD7, 0xD8, 0xD9, 0xDB, 0xD2, 0xB6,
0xBD, 0xBE, 0xBF, 0xAF, 0xAF, 0xAE, 0xBE, 0xBD, 0xBE, 0xBC, 0xB9, 0xB1, 0xCD, 0xE5, 0xF1, 0xEB,
0xE8, 0xE6, 0xE7, 0x84, 0xDE, 0x01, 0xE4, 0xC8, 0xF8, 0xCE, 0x06, 0xCC, 0xCA, 0xC3, 0xDF, 0xFB,
0xF5, 0xF1, 0xE5, 0xEF, 0x83, 0xFF, 0x0C, 0xF4, 0xF7, 0xF8, 0xF9, 0xE9, 0xE9, 0xE8, 0xF8, 0xF7,
0xF8, 0xF8, 0xF7, 0xF4, 0xE1, 0xFF, 0x00, 0x41, 0x8A, 0xD6, 0x16, 0xD7, 0xD8, 0xDA, 0xCC, 0xCF,
0xD2, 0xD7, 0xB8, 0xBD, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBD, 0xB9, 0xB2, 0xCE, 0xD5, 0xF2,
0xEB, 0xE8, 0xE4, 0xE7, 0x87, 0xDE, 0x05, 0xDF, 0xE0, 0xE1, 0xE5, 0xC8, 0xCD, 0xFB, 0xCE, 0x06,
0xCD, 0xCB, 0xC4, 0xE1, 0xD9, 0xF7, 0xF1, 0xE3, 0xEF, 0x83, 0xFF, 0x0A, 0xF5, 0xF7, 0xF8, 0xF9,
0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF4, 0xDF, 0xFF, 0x00, 0x45, 0x8D, 0xD6, 0x17, 0xD7, 0xD8,
0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB4, 0xB6, 0xB8, 0xBA, 0xBD, 0xBE, 0xAE, 0xC0, 0xBF, 0xBE, 0xBA,
0xB6, 0xAE, 0xD9, 0xF3, 0xEC, 0xE9, 0xE2, 0xE7, 0x88, 0xDE, 0x06, 0xDF, 0xE1, 0xD2, 0xD3, 0xD5,
0xD9, 0xCC, 0xFC, 0xCE, 0x06, 0xCC, 0xC6, 0xD1, 0xDA, 0xF9, 0xF3, 0xF1, 0xE2, 0xEF, 0x86, 0xFF,
0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xE8, 0xFA, 0xF9, 0xF8, 0xF6, 0xF5, 0xF3, 0xDE, 0xFF,
0x00, 0x47, 0x90, 0xD6, 0x0B, 0xD7, 0xD8, 0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB6, 0xBA,
0xBD, 0xFE, 0xBA, 0x09, 0xBE, 0xC0, 0xB1, 0xB1, 0xC0, 0xB9, 0xD3, 0xE7, 0xEF, 0xE9, 0xE0, 0xE7,
0x8B, 0xDE, 0x0A, 0xDF, 0xE0, 0xE1, 0xE2, 0xD3, 0xD5, 0xD6, 0xD5, 0xD7, 0xC9, 0xCD, 0xFD, 0xCE,
0x04, 0xCA, 0xE2, 0xFC, 0xF4, 0xF1, 0xE0, 0xEF, 0x87, 0xFF, 0x02, 0xF4, 0xF6, 0xF7, 0xFE, 0xF6,
0x05, 0xF8, 0xFA, 0xEB, 0xEB, 0xFA, 0xF6, 0xDC, 0xFF, 0x00, 0x4D, 0x93, 0xD6, 0x1A, 0xD7, 0xD8,
0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD1, 0xD2, 0xB0, 0xB4, 0xB8, 0xBA, 0xBD, 0xBD, 0xBA, 0xDF, 0xBA,
0xBD, 0xBF, 0xB1, 0xB3, 0xB1, 0xBA, 0xCF, 0xF4, 0xE9, 0xDF, 0xE7, 0x8E, 0xDE, 0x00, 0xDF, 0xFE,
0xE0, 0x09, 0xD0, 0xD2, 0xD4, 0xD5, 0xD6, 0xD6, 0xD5, 0xE7, 0xD9, 0xCC, 0xFD, 0xCE, 0x02, 0xCA,
0xDF, 0xF7, 0xDE, 0xEF, 0x8A, 0xFF, 0x0E, 0xF1, 0xF3, 0xF5, 0xF6, 0xF7, 0xF7, 0xF6, 0xFF, 0xF6,
0xF7, 0xF9, 0xEB, 0xED, 0xEB, 0xF7, 0xDC, 0xFF, 0x00, 0x5A, 0x97, 0xD6, 0x0F, 0xD7, 0xD8, 0xD9,
0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xD8, 0xD8, 0xB8, 0xBA, 0xFE, 0xBD, 0x0B,
0xB8, 0xB6, 0xB4, 0xB8, 0xBB, 0xC1, 0xB3, 0xB2, 0xBD, 0xAF, 0xE5, 0xEB, 0xDF, 0xE7, 0x91, 0xDE,
0x09, 0xDF, 0xE0, 0xE1, 0xE2, 0xD2, 0xD2, 0xE3, 0xE3, 0xD4, 0xD5, 0xFE, 0xD6, 0x04, 0xD4, 0xD3,
0xD4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xDF, 0xEF, 0x8D, 0xFF, 0x05, 0xF3,
0xF3, 0xFF, 0xFF, 0xF5, 0xF6, 0xFE, 0xF7, 0x09, 0xF5, 0xF4, 0xF3, 0xF5, 0xF7, 0xFB, 0xED, 0xEC,
0xF9, 0xF3, 0xDD, 0xFF, 0x00, 0x65, 0x9B, 0xD6, 0x23, 0xD7, 0xD8, 0xD9, 0xD9, 0xDA, 0xCA, 0xCD,
0xCF, 0xD2, 0xD3, 0xD6, 0xB4, 0xB6, 0xB8, 0xBA, 0xB8, 0xB4, 0xB2, 0xDA, 0xBA, 0xBD, 0xBA, 0xB8,
0xB4, 0xD6, 0xD4, 0xD8, 0xB8, 0xC0, 0xB2, 0xB2, 0xC0, 0xB6, 0xCC, 0xF1, 0xE8, 0xE0, 0xE7, 0x95,
0xDE, 0x15, 0xDF, 0xE0, 0xE1, 0xE1, 0xE2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD4, 0xD2, 0xD1, 0xE4, 0xD5,
0xD6, 0xD5, 0xD4, 0xD2, 0xE2, 0xE2, 0xE7, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xDF, 0xEF,
0x90, 0xFF, 0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5, 0xF3, 0xF2, 0xFF, 0xF6, 0xF7, 0xF6, 0xF5, 0xF3,
0xFE, 0xFF, 0x05, 0xF5, 0xFA, 0xEC, 0xEC, 0xFA, 0xF5, 0xDD, 0xFF, 0x00, 0x72, 0xA0, 0xD6, 0x01,
0xD7, 0xD8, 0xFE, 0xD9, 0x0B, 0xDA, 0xCA, 0xCB, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xB2, 0xB4,
0xB8, 0xFE, 0xBD, 0x02, 0xBA, 0xDC, 0xDA, 0xFE, 0xB8, 0x0E, 0xB4, 0xD6, 0xD1, 0xCE, 0xCB, 0xD0,
0xB3, 0xBC, 0xB0, 0xB0, 0xBF, 0xBA, 0xAF, 0xE5, 0xEB, 0xE0, 0xE7, 0x98, 0xDE, 0x08, 0xDF, 0xE0,
0xE1, 0xE2, 0xD2, 0xD2, 0xD1, 0xD2, 0xD4, 0xFE, 0xD6, 0x02, 0xD5, 0xE5, 0xE4, 0xFE, 0xD4, 0x07,
0xD2, 0xE2, 0xE0, 0xDF, 0xDE, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE0,
0xEF, 0x94, 0xFF, 0x04, 0xF3, 0xF3, 0xF2, 0xF3, 0xF5, 0xFE, 0xF7, 0x02, 0xF6, 0xFF, 0xFF, 0xFE,
0xF5, 0x00, 0xF3, 0xFC, 0xFF, 0x06, 0xF3, 0xF8, 0xEA, 0xEA, 0xF9, 0xF6, 0xF3, 0xDE, 0xFF, 0x00,
0x7B, 0xB6, 0xD6, 0x01, 0xD7, 0xD8, 0xED, 0xD9, 0x10, 0xDA, 0xCA, 0xCB, 0xCD, 0xCF, 0xD2, 0xD3,
0xD4, 0xD6, 0xB4, 0xB6, 0xB8, 0xBA, 0xB8, 0xD8, 0xD8, 0xB8, 0xFE, 0xBD, 0x01, 0xBA, 0xB6, 0xFE,
0xB4, 0x10, 0xD5, 0xD0, 0xCD, 0xCA, 0xDA, 0xD9, 0xDD, 0xD4, 0xB9, 0xBF, 0xBF, 0xBE, 0xBD, 0xB6,
0xCC, 0xF1, 0xE8, 0xE1, 0xE7, 0x9D, 0xDE, 0x01, 0xDF, 0xE0, 0xFE, 0xE1, 0x08, 0xE2, 0xD2, 0xD3,
0xD4, 0xD5, 0xD4, 0xE3, 0xE3, 0xD4, 0xFE, 0xD6, 0x01, 0xD5, 0xD3, 0xFE, 0xD2, 0x02, 0xE2, 0xE0,
0xDF, 0xFE, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xE0, 0xEF, 0x97,
0xFF, 0x07, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5, 0xFF, 0xFF, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xF4, 0xFE,
0xF3, 0xF9, 0xFF, 0x05, 0xF6, 0xF9, 0xF9, 0xF8, 0xF7, 0xF5, 0xDE, 0xFF, 0x00, 0x88, 0xB6, 0xD6,
0x01, 0xD8, 0xC9, 0xF2, 0xCB, 0x01, 0xCD, 0xCF, 0xFE, 0xD1, 0x09, 0xD2, 0xD3, 0xD4, 0xD6, 0xB4,
0xB4, 0xB2, 0xB0, 0xB4, 0xB8, 0xFE, 0xBD, 0x15, 0xB6, 0xD6, 0xD6, 0xB8, 0xBD, 0xBA, 0xB8, 0xB6,
0xB4, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD8, 0xCE, 0xB3, 0xBA, 0xFE, 0xBD,
0x03, 0xBA, 0xAF, 0xE5, 0xEB, 0xE1, 0xE7, 0xA5, 0xDE, 0x01, 0xDF, 0xE0, 0xFB, 0xE1, 0x06, 0xE2,
0xD2, 0xD2, 0xD1, 0xD0, 0xD2, 0xD4, 0xFE, 0xD6, 0x0C, 0xD3, 0xE2, 0xE2, 0xD4, 0xD6, 0xD5, 0xD4,
0xD3, 0xD2, 0xE2, 0xE1, 0xE0, 0xDF, 0xFB, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC,
0xC1, 0xFB, 0xF1, 0xE1, 0xEF, 0x9C, 0xFF, 0x05, 0xF3, 0xF3, 0xF2, 0xF1, 0xF3, 0xF5, 0xFE, 0xF7,
0x08, 0xF4, 0xFF, 0xFF, 0xF5, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFE,
0xF7, 0x01, 0xF6, 0xF3, 0xDF, 0xFF, 0x00, 0x90, 0xB6, 0xD6, 0x03, 0xD9, 0xCB, 0xD0, 0xD2, 0xF4,
0xD4, 0x03, 0xD6, 0xB4, 0xB6, 0xB6, 0xFE, 0xB4, 0x07, 0xB6, 0xB8, 0xBA, 0xBA, 0xDC, 0xDA, 0xDC,
0xBA, 0xFE, 0xBD, 0x0D, 0xB8, 0xDA, 0xB4, 0xB6, 0xB6, 0xB4, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9,
0xD8, 0xD7, 0xFD, 0xD6, 0x03, 0xD7, 0xDC, 0xD4, 0xB8, 0xFD, 0xBD, 0x03, 0xB6, 0xCC, 0xF1, 0xE8,
0xE2, 0xE7, 0xB4, 0xDE, 0x01, 0xDF, 0xE0, 0xF4, 0xE1, 0x03, 0xE2, 0xD2, 0xD3, 0xD3, 0xFE, 0xD2,
0x07, 0xD3, 0xD4, 0xD5, 0xD5, 0xE5, 0xE4, 0xE5, 0xD5, 0xFE, 0xD6, 0x09, 0xD4, 0xE4, 0xD2, 0xD3,
0xD3, 0xD2, 0xE2, 0xE1, 0xE0, 0xDF, 0xF8, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x02, 0xC7,
0xDD, 0xF5, 0xE1, 0xEF, 0xA4, 0xFF, 0x02, 0xF3, 0xF4, 0xF4, 0xFE, 0xF3, 0x03, 0xF4, 0xF5, 0xF6,
0xF6, 0xFE, 0xFF, 0x00, 0xF6, 0xFE, 0xF7, 0x05, 0xF5, 0xFF, 0xF3, 0xF4, 0xF4, 0xF3, 0xF2, 0xFF,
0x00, 0xF5, 0xFD, 0xF7, 0x00, 0xF5, 0xDF, 0xFF, 0x00, 0x91, 0xB6, 0xD6, 0x03, 0xD9, 0xCD, 0xD4,
0xB4, 0xF4, 0xB6, 0x06, 0xB8, 0xBA, 0xBD, 0xBD, 0xB8, 0xDC, 0xB8, 0xFE, 0xBD, 0x12, 0xB8, 0xB6,
0xB4, 0xB8, 0xBA, 0xBD, 0xBA, 0xB8, 0xB4, 0xB4, 0xB2, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8,
0xD7, 0xF9, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFE, 0xBD, 0x04, 0xBA, 0xAF, 0xE6, 0xEC, 0xE8,
0xE3, 0xE7, 0xB5, 0xDE, 0x02, 0xDF, 0xE1, 0xD2, 0xF4, 0xD3, 0x06, 0xD4, 0xD5, 0xD6, 0xD6, 0xD4,
0xE5, 0xD4, 0xFE, 0xD6, 0x0E, 0xD4, 0xD3, 0xD2, 0xD4, 0xD5, 0xD6, 0xD5, 0xD4, 0xD2, 0xD2, 0xD1,
0xE2, 0xE1, 0xE0, 0xDF, 0xF4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB,
0xF1, 0xE2, 0xEF, 0xB3, 0xFF, 0x00, 0xF3, 0xF4, 0xF4, 0x06, 0xF5, 0xF6, 0xF7, 0xF7, 0xF5, 0xFF,
0xF5, 0xFE, 0xF7, 0x0A, 0xF5, 0xF4, 0xF3, 0xF5, 0xF6, 0xF7, 0xF6, 0xF5, 0xF3, 0xF3, 0xF2, 0xEF,
0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x01, 0xF6, 0xF3, 0xE0, 0xFF, 0x00, 0x78, 0xB6, 0xD6, 0x03,
0xD9, 0xCF, 0xB4, 0xBA, 0xF0, 0xBD, 0x02, 0xB8, 0xDC, 0xB8, 0xFE, 0xBD, 0x01, 0xBA, 0xDC, 0xFD,
0xB6, 0x09, 0xB4, 0xD6, 0xD3, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xF6, 0xD6, 0x0B, 0xD7,
0xDC, 0xD4, 0xB8, 0xBD, 0xBD, 0xBE, 0xBE, 0xB7, 0xCE, 0xE0, 0xEA, 0xE3, 0xE7, 0xB5, 0xDE, 0x02,
0xE0, 0xD2, 0xD5, 0xF0, 0xD6, 0x02, 0xD4, 0xE5, 0xD4, 0xFE, 0xD6, 0x01, 0xD5, 0xE5, 0xFD, 0xD3,
0x05, 0xD2, 0xE2, 0xE1, 0xE1, 0xE0, 0xDF, 0xF1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03,
0xC7, 0xDF, 0xF7, 0xF1, 0xE3, 0xEF, 0xB4, 0xFF, 0x01, 0xF3, 0xF6, 0xF0, 0xF7, 0x02, 0xF5, 0xFF,
0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xFF, 0xFD, 0xF4, 0x00, 0xF3, 0xEA, 0xFF, 0x05, 0xF5, 0xF7, 0xF7,
0xF8, 0xF8, 0xF6, 0xE0, 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0C, 0xD7, 0xDA, 0xD2, 0xB6, 0xBD, 0xBD,
0xBA, 0xB8, 0xB6, 0xB8, 0xBA, 0xBD, 0xBD, 0xFE, 0xBA, 0xFB, 0xBD, 0x12, 0xBA, 0xBA, 0xB8, 0xB8,
0xB6, 0xB6, 0xB4, 0xB2, 0xD4, 0xD4, 0xD3, 0xD2, 0xCF, 0xCD, 0xCA, 0xDA, 0xD9, 0xD8, 0xD7, 0xF2,
0xD6, 0x0B, 0xD8, 0xCE, 0xB3, 0xBA, 0xBD, 0xBF, 0xAE, 0xBC, 0xB3, 0xDA, 0xF0, 0xE8, 0xE4, 0xE7,
0xB5, 0xDE, 0x0A, 0xE1, 0xD3, 0xD6, 0xD6, 0xD5, 0xD4, 0xD3, 0xD4, 0xD5, 0xD6, 0xD6, 0xFE, 0xD5,
0xFB, 0xD6, 0x07, 0xD5, 0xD5, 0xD4, 0xD4, 0xD3, 0xD3, 0xD2, 0xD1, 0xFD, 0xE1, 0x01, 0xE0, 0xDF,
0xEC, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC5, 0xDB, 0xF5, 0xE3, 0xEF, 0xB4,
0xFF, 0x09, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF4, 0xF5, 0xF6, 0xF7, 0xF7, 0xFE, 0xF6, 0xFB, 0xF7,
0x07, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 0xF2, 0xE5, 0xFF, 0x06, 0xF3, 0xF6, 0xF7, 0xF9,
0xE8, 0xF8, 0xF4, 0xE1, 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0F, 0xD8, 0xCA, 0xD1, 0xB2, 0xB8, 0xBA,
0xBA, 0xDC, 0xD8, 0xDA, 0xB8, 0xBD, 0xBD, 0xBA, 0xDF, 0xBA, 0xFE, 0xBD, 0x01, 0xBA, 0xB8, 0xFE,
0xB6, 0x0D, 0xB4, 0xD6, 0xD4, 0xD4, 0xD3, 0xD0, 0xCD, 0xCB, 0xCA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7,
0xEF, 0xD6, 0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xC0, 0xAF, 0xC0, 0xB9, 0xAE, 0xE4, 0xEB, 0xE4,
0xE7, 0xB5, 0xDE, 0x0D, 0xE0, 0xD1, 0xD4, 0xD5, 0xD5, 0xE5, 0xE3, 0xE4, 0xD4, 0xD6, 0xD6, 0xD5,
0xE6, 0xD5, 0xFE, 0xD6, 0x01, 0xD5, 0xD4, 0xFE, 0xD3, 0x01, 0xD2, 0xE2, 0xFE, 0xE1, 0x01, 0xE0,
0xDF, 0xE7, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE4, 0xEF,
0xB4, 0xFF, 0x03, 0xF2, 0xF5, 0xF6, 0xF6, 0xFE, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF6, 0xFF, 0xF6,
0xFE, 0xF7, 0x01, 0xF6, 0xF5, 0xFE, 0xF4, 0x00, 0xF3, 0xDF, 0xFF, 0x06, 0xF5, 0xF7, 0xFA, 0xE9,
0xFA, 0xF6, 0xF3, 0xE2, 0xFF, 0x00, 0x7A, 0xB7, 0xD6, 0x0C, 0xD8, 0xCA, 0xCF, 0xD2, 0xD6, 0xB4,
0xB4, 0xB2, 0xAE, 0xD4, 0xB2, 0xB6, 0xB6, 0xFE, 0xB4, 0xFE, 0xB6, 0x0E, 0xB4, 0xD6, 0xD4, 0xD4,
0xD3, 0xD0, 0xCD, 0xCB, 0xCB, 0xCA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xEA, 0xD6, 0x0B, 0xD8, 0xCE,
0xB3, 0xBA, 0xBF, 0xAF, 0xC1, 0xBF, 0xB7, 0xCC, 0xF1, 0xE8, 0xE5, 0xE7, 0xB5, 0xDE, 0x0A, 0xDF,
0xE0, 0xE2, 0xD2, 0xD2, 0xD1, 0xCF, 0xE1, 0xD1, 0xD3, 0xD3, 0xFE, 0xD2, 0xFE, 0xD3, 0x01, 0xD2,
0xE2, 0xFE, 0xE1, 0x01, 0xE0, 0xDF, 0xE1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x02, 0xC7,
0xDD, 0xF5, 0xE4, 0xEF, 0xB2, 0xFF, 0x07, 0xF3, 0xF3, 0xF2, 0xF0, 0xFF, 0xF2, 0xF4, 0xF4, 0xFE,
0xF3, 0xFE, 0xF4, 0x00, 0xF3, 0xDA, 0xFF, 0x06, 0xF3, 0xF6, 0xF9, 0xE9, 0xFB, 0xF9, 0xF6, 0xE2,
0xFF, 0x00, 0x59, 0xB7, 0xD6, 0x07, 0xD7, 0xD9, 0xCA, 0xCB, 0xCD, 0xCF, 0xD1, 0xD1, 0xFE, 0xCF,
0xF9, 0xD1, 0x05, 0xCF, 0xCD, 0xCB, 0xCB, 0xCA, 0xDA, 0xFE, 0xD9, 0x01, 0xD8, 0xD7, 0xE6, 0xD6,
0x0C, 0xD7, 0xDB, 0xD1, 0xB5, 0xBB, 0xBF, 0xAF, 0xAE, 0xBB, 0xB1, 0xE9, 0xEE, 0xE8, 0xE6, 0xE7,
0xB3, 0xDE, 0x03, 0xDF, 0xE0, 0xE1, 0xE1, 0xFE, 0xE0, 0xF9, 0xE1, 0x01, 0xE0, 0xDF, 0xDC, 0xDE,
0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC2, 0xFC, 0xF2, 0xE5, 0xEF, 0x81, 0xFF,
0xFB, 0xFF, 0x06, 0xF4, 0xF7, 0xF9, 0xE9, 0xE8, 0xF7, 0xF4, 0xE3, 0xFF, 0x00, 0x3A, 0xB6, 0xD6,
0x01, 0xD7, 0xD8, 0xED, 0xD9, 0x01, 0xD8, 0xD7, 0xE0, 0xD6, 0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE,
0xBF, 0xBF, 0xBE, 0xB8, 0xAD, 0xE3, 0xEB, 0xE6, 0xE7, 0x81, 0xDE, 0xFC, 0xDE, 0x02, 0xE0, 0xE6,
0xCA, 0xFD, 0xCE, 0x03, 0xC8, 0xCF, 0xF8, 0xF1, 0xE6, 0xEF, 0x81, 0xFF, 0xFA, 0xFF, 0x06, 0xF5,
0xF8, 0xF9, 0xF9, 0xF8, 0xF6, 0xF3, 0xE4, 0xFF, 0x00, 0x32, 0x81, 0xD6, 0xFC, 0xD6, 0x04, 0xD8,
0xCE, 0xB3, 0xBA, 0xBD, 0xFE, 0xBE, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xE7, 0xE7, 0x81, 0xDE, 0xFB,
0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC6, 0xDC, 0xF5, 0xE6, 0xEF, 0x81, 0xFF,
0xFA, 0xFF, 0x02, 0xF3, 0xF6, 0xF7, 0xFE, 0xF8, 0x00, 0xF5, 0xE4, 0xFF, 0x00, 0x34, 0x81, 0xD6,
0xFC, 0xD6, 0x0C, 0xD7, 0xDC, 0xD2, 0xB6, 0xBA, 0xBF, 0xAE, 0xBF, 0xBA, 0xB1, 0xE9, 0xEE, 0xE8,
0xE8, 0xE7, 0x81, 0xDE, 0xFB, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC3,
0xFD, 0xF3, 0xE7, 0xEF, 0x81, 0xFF, 0xF9, 0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xF9, 0xF6, 0xF4,
0xE5, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xFB, 0xD6, 0x0C, 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAF, 0xC0,
0xBE, 0xB8, 0xAD, 0xE4, 0xEC, 0xE8, 0xE9, 0xE7, 0x81, 0xDE, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA,
0xFD, 0xCE, 0x03, 0xC9, 0xBF, 0xF9, 0xF1, 0xE8, 0xEF, 0x81, 0xFF, 0xF8, 0xFF, 0x06, 0xF5, 0xF9,
0xE9, 0xFA, 0xF8, 0xF6, 0xF3, 0xE6, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xFB, 0xD6, 0x0C, 0xD7, 0xD9,
0xCF, 0xB3, 0xBB, 0xC0, 0xAF, 0xBF, 0xBD, 0xB6, 0xCF, 0xE1, 0xEB, 0xE9, 0xE7, 0x81, 0xDE, 0xF9,
0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xE9, 0xEF, 0x81, 0xFF,
0xF8, 0xFF, 0x06, 0xF3, 0xF7, 0xFA, 0xE9, 0xF9, 0xF7, 0xF5, 0xE6, 0xFF, 0x00, 0x35, 0x81, 0xD6,
0xFA, 0xD6, 0x0C, 0xD7, 0xDB, 0xD1, 0xB5, 0xBC, 0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCB, 0xF2, 0xE9,
0xEA, 0xE7, 0x81, 0xDE, 0xF9, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x04, 0xCC, 0xC5,
0xDD, 0xF7, 0xF1, 0xEA, 0xEF, 0x81, 0xFF, 0xF7, 0xFF, 0x06, 0xF4, 0xF8, 0xE8, 0xF9, 0xF7, 0xF6,
0xF4, 0xE7, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xF9, 0xD6, 0x0C, 0xD7, 0xDC, 0xD4, 0xB9, 0xBE, 0xBE,
0xBD, 0xBD, 0xBA, 0xB2, 0xD9, 0xEF, 0xE8, 0xEB, 0xE7, 0x81, 0xDE, 0xF8, 0xDE, 0x02, 0xE0, 0xE6,
0xCA, 0xFD, 0xCE, 0x03, 0xCC, 0xC5, 0xDB, 0xF5, 0xEA, 0xEF, 0x81, 0xFF, 0xF6, 0xFF, 0x06, 0xF6,
0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4, 0xE8, 0xFF, 0x00, 0x32, 0x81, 0xD6, 0xF8, 0xD6, 0x03, 0xD8,
0xCE, 0xB3, 0xBA, 0xFD, 0xBD, 0x04, 0xB9, 0xB0, 0xE8, 0xEE, 0xE8, 0xEC, 0xE7, 0x81, 0xDE, 0xF7,
0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03, 0xCC, 0xC3, 0xFD, 0xF3, 0xEB, 0xEF, 0x81, 0xFF,
0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFD, 0xF7, 0x01, 0xF6, 0xF4, 0xE9, 0xFF, 0x00, 0x36, 0x81, 0xD6,
0xF8, 0xD6, 0x05, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBD, 0xFE, 0xBE, 0x04, 0xB8, 0xAD, 0xE4, 0xEC,
0xE8, 0xED, 0xE7, 0x81, 0xDE, 0xF7, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC9,
0xBF, 0xF9, 0xF1, 0xEC, 0xEF, 0x81, 0xFF, 0xF5, 0xFF, 0x02, 0xF4, 0xF6, 0xF7, 0xFE, 0xF8, 0x01,
0xF6, 0xF3, 0xEA, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xF7, 0xD6, 0x0D, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA,
0xBF, 0xAE, 0xC0, 0xBE, 0xB7, 0xCF, 0xE2, 0xEC, 0xE8, 0xEE, 0xE7, 0x81, 0xDE, 0xF6, 0xDE, 0x03,
0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xED, 0xEF, 0x81, 0xFF, 0xF4,
0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xFA, 0xF8, 0xF6, 0xEA, 0xFF, 0x00, 0x36, 0x81, 0xD6, 0xF6,
0xD6, 0x0D, 0xD7, 0xDC, 0xD4, 0xB8, 0xBF, 0xAE, 0xC1, 0xAF, 0xBD, 0xB5, 0xCD, 0xE2, 0xEC, 0xE8,
0xEF, 0xE7, 0x81, 0xDE, 0xF5, 0xDE, 0x03, 0xE0, 0xE5, 0xC9, 0xCD, 0xFE, 0xCE, 0x04, 0xCC, 0xC5,
0xDD, 0xF7, 0xF1, 0xEE, 0xEF, 0x81, 0xFF, 0xF3, 0xFF, 0x06, 0xF5, 0xF9, 0xE8, 0xFB, 0xE9, 0xF9,
0xF5, 0xEB, 0xFF, 0x00, 0x36, 0x81, 0xD6, 0xF5, 0xD6, 0x0D, 0xD8, 0xCE, 0xB3, 0xBB, 0xBE, 0xC1,
0xB1, 0xB1, 0xBC, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF0, 0xE7, 0x81, 0xDE, 0xF4, 0xDE, 0x02, 0xE1,
0xD6, 0xCB, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEF, 0xEF, 0x81, 0xFF, 0xF3, 0xFF,
0x07, 0xF3, 0xF7, 0xF8, 0xFB, 0xEB, 0xEB, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF5,
0xD6, 0x0E, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBF, 0xB1, 0xB1, 0xC0, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC,
0xE8, 0xF1, 0xE7, 0x81, 0xDE, 0xF4, 0xDE, 0x03, 0xDF, 0xE3, 0xC7, 0xCC, 0xFD, 0xCE, 0x04, 0xCC,
0xC5, 0xDD, 0xF7, 0xF1, 0xF0, 0xEF, 0x81, 0xFF, 0xF2, 0xFF, 0x07, 0xF4, 0xF6, 0xF9, 0xEB, 0xEB,
0xFA, 0xF6, 0xF4, 0xED, 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF4, 0xD6, 0x0E, 0xD7, 0xDB, 0xD1, 0xB5,
0xBB, 0xC0, 0xAF, 0xBF, 0xBE, 0xBB, 0xB5, 0xCD, 0xE2, 0xEC, 0xE8, 0xF2, 0xE7, 0x81, 0xDE, 0xF3,
0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF1, 0xEF,
0x81, 0xFF, 0xF1, 0xFF, 0x07, 0xF4, 0xF7, 0xFA, 0xE9, 0xF9, 0xF8, 0xF7, 0xF5, 0xEE, 0xFF, 0x00,
0x38, 0x81, 0xD6, 0xF3, 0xD6, 0x04, 0xD7, 0xDB, 0xD1, 0xB5, 0xBB, 0xFE, 0xBE, 0x06, 0xAD, 0xBB,
0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF3, 0xE7, 0x81, 0xDE, 0xF2, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC,
0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF2, 0xEF, 0x81, 0xFF, 0xF0, 0xFF, 0x01, 0xF4,
0xF7, 0xFE, 0xF8, 0x02, 0xE7, 0xF7, 0xF4, 0xEF, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xF2, 0xD6, 0x05,
0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xBD, 0xFE, 0xBE, 0x04, 0xBA, 0xB2, 0xC9, 0xDD, 0xE9, 0xF3, 0xE7,
0x81, 0xDE, 0xF1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x03, 0xCC, 0xC3, 0xD9, 0xF3, 0xF2,
0xEF, 0x81, 0xFF, 0xEF, 0xFF, 0x02, 0xF5, 0xF7, 0xF7, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xF0, 0xFF,
0x00, 0xFF
};
#endif
#endif
\ No newline at end of file
+/****************************************************************************
+The Disc Image Chef
+-----------------------------------------------------------------------------
+
+Filename : macos.h
+Author(s) : Natalia Portillo
+
+Component : fstester.setter
+
+--[ Description ] -----------------------------------------------------------
+
+Contains Mac OS definitions
+
+--[ License ] ---------------------------------------------------------------
+ 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 3 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 warraty of
+ MERCHANTIBILITY 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, see .
+
+-----------------------------------------------------------------------------
+Copyright (C) 2011-2018 Natalia Portillo
+*****************************************************************************/
+
+//#if defined(macintosh)
+
+#ifndef DIC_FSTESTER_SETTER_MACINTOSH_H
+#define DIC_FSTESTER_SETTER_MACINTOSH_H
+
+#include
+
+const char *noAttributeText = "This file has all flags bits clear.\r";
+const char *desktopText = "This file is on desktop.\r";
+const char *color2Text = "This file is colored brown.\r";
+const char *color4Text = "This file is colored green.\r";
+const char *color6Text = "This file is colored lilac.\r";
+const char *color8Text = "This file is colored blue.\r";
+const char *colorAText = "This file is colored magenta.\r";
+const char *colorCText = "This file is colored red.\r";
+const char *colorEText = "This file is colored orange.\r";
+const char *requireSwitchText = "This file requires switch launch.\r";
+const char *sharedText = "This file is shared.\r";
+const char *noInitText = "This file contains no init.\r";
+const char *initedText = "This file has been inited.\r";
+const char *aoceText = "This file has AOCE bit set.\r";
+const char *customIconText = "This file has a custom icon.\r";
+const char *stationeryText = "This is a stationery.\r";
+const char *nameLockText = "This file has the name locked.\r";
+const char *bundleText = "This file has a BNDL resource.\r";
+const char *invisibleText = "This file is invisible.\r";
+const char *aliasText = "This file is an alias to nowhere.\r";
+const char *simpletextText = "This file has creator 'ttxt'.\r";
+const char *dicText = "This file has creator 'dic '.\r";
+const char *pos_m32_m32 = "This file position is -32k,-32k.\r";
+const char *pos_32_32 = "This file position is 32k,32k.\r";
+const char *pos_m1_m1 = "This file position is -1k,-1k.\r";
+const char *pos_m1_m32 = "This file position is -1k,-32k.\r";
+const char *pos_m1_32 = "This file position is -1k,32k.\r";
+const char *pos_m1_1 = "This file position is -1k,1k.\r";
+const char *pos_1_m1 = "This file position is 1k,-1k.\r";
+const char *pos_1_m32 = "This file position is 1k,-32k.\r";
+const char *pos_1_32 = "This file position is 1k,32k.\r";
+const char *pos_1_1 = "This file position is 1k,1k.\r";
+const char *allText = "This file has all flags bits set.\r";
+const char *targetText = "This file is the target of an alias.\r";
+const char *icnsText = "This file has a custom icon in the resource fork.\r";
+const char *versText = "This file has a version in the resource fork.\r";
+const char *pictText = "This file has a picture in the resource fork.\r";
+const char *rsrcText = "This file has a custom icon, a version, and a picture, in the resource fork.\r";
+
+enum
+{
+ gestaltMacOSCompatibilityBoxAttr = FOUR_CHAR_CODE('bbox'),
+ ostDiscImageChef = FOUR_CHAR_CODE('dic '),
+ ostSimpleText = FOUR_CHAR_CODE('ttxt'),
+ ostUnknown = FOUR_CHAR_CODE('????'),
+ rtIcons = FOUR_CHAR_CODE('icns'),
+ rtVersion = FOUR_CHAR_CODE('vers'),
+};
+
+enum
+{
+ kRequireSwitchLaunch = 0x0020, kAOCE = 0x0200
+};
+
+#define DATETIME_FORMAT "This file is dated %s for %s\r"
+#define MAXDATETIME "2040/02/06 06:28:15"
+#define MINDATETIME "1904/01/01 00:00:01"
+#define NONDATETIME "1904/01/01 00:00:00"
+#define Y2KDATETIME "2000/01/01 00:00:00"
+#define Y1KDATETIME "1999/12/31 23:59:59"
+#define MAXTIMESTAMP 0xFFFFFFFF
+#define MINTIMESTAMP 0x00000001
+#define NONTIMESTAMP 0x00000000
+#define Y2KTIMESTAMP 0xB492F400
+#define Y1KTIMESTAMP 0xB492F3FF
+
+unsigned char IcnsResource[5618] = {0x69, 0x63, 0x6E, 0x73, 0x00, 0x00, 0x15, 0xF2, 0x69, 0x63, 0x73, 0x23, 0x00, 0x00,
+ 0x00, 0x48, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0xFE, 0x82, 0x03, 0x96, 0x43, 0x94, 0x43,
+ 0x84, 0x03, 0x84, 0x03, 0x87, 0x83, 0x81, 0x03, 0x99, 0x33, 0x87, 0xC3, 0x81, 0x03,
+ 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0xFE, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0xF0, 0x69, 0x63, 0x73, 0x38,
+ 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFE,
+ 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD,
+ 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F,
+ 0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD,
+ 0xFF, 0x7F, 0x7F, 0xF1, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xFF,
+ 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0xFF, 0x2A, 0x2A, 0xFD, 0xAD, 0xFF, 0x7F,
+ 0x7F, 0x7F, 0x7F, 0xF1, 0xF1, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFE,
+ 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0xFD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFD,
+ 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x69, 0x73, 0x33, 0x32, 0x00, 0x00,
+ 0x01, 0xDF, 0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88, 0xFF, 0x03, 0x44, 0x00,
+ 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x84,
+ 0xCC, 0x0B, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00,
+ 0x81, 0xCC, 0x07, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00,
+ 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02,
+ 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81,
+ 0x66, 0x81, 0x00, 0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83,
+ 0xCC, 0x12, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC,
+ 0x00, 0x00, 0xCC, 0xCC, 0x22, 0x44, 0x00, 0x81, 0x66, 0x82, 0x00, 0x81, 0xCC, 0x02,
+ 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x01, 0x22, 0x44, 0x8C, 0x00,
+ 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF, 0x03, 0x44, 0x00,
+ 0x44, 0x44, 0x81, 0xFF, 0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88, 0xFF, 0x03,
+ 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0x66, 0x00,
+ 0x00, 0x84, 0xCC, 0x0B, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0xCC,
+ 0xCC, 0x00, 0x81, 0xCC, 0x07, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x00, 0x80,
+ 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85,
+ 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44,
+ 0x00, 0x81, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00,
+ 0x00, 0x83, 0xCC, 0x12, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00,
+ 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x22, 0x44, 0x00, 0x81, 0x66, 0x82, 0x00, 0x81,
+ 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x01, 0x22, 0x44,
+ 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF, 0x03,
+ 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88,
+ 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82,
+ 0xCC, 0x00, 0x00, 0x84, 0xFF, 0x0B, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC, 0xCC,
+ 0x00, 0xFF, 0xFF, 0x00, 0x81, 0xFF, 0x07, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC,
+ 0x00, 0x80, 0xFF, 0x00, 0x00, 0x81, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x00,
+ 0x00, 0x85, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x02,
+ 0x22, 0x44, 0x00, 0x81, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x83,
+ 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x12, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0x55, 0xCC,
+ 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x00, 0x81, 0xCC, 0x01,
+ 0x55, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x83, 0xCC, 0x00, 0x00,
+ 0x83, 0xFF, 0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00,
+ 0x84, 0x44, 0x85, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x73, 0x38, 0x6D,
+ 0x6B, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,
+ 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0xFF,
+ 0x86, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x49, 0x43, 0x4E, 0x23, 0x00,
+ 0x00, 0x01, 0x08, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1C, 0x78, 0x00, 0x00, 0x70, 0x0E,
+ 0x00, 0x01, 0xC0, 0x03, 0x80, 0x01, 0x40, 0x00, 0xE0, 0x01, 0x10, 0x00, 0x38, 0x01,
+ 0x04, 0x00, 0x18, 0x01, 0x61, 0x00, 0x38, 0x01, 0x58, 0x40, 0xF8, 0x01, 0x4E, 0x17,
+ 0xF8, 0x01, 0x43, 0x83, 0xF8, 0x01, 0x42, 0xE3, 0xF8, 0x01, 0x40, 0x33, 0xF8, 0x01,
+ 0x45, 0x73, 0xF8, 0x01, 0x60, 0x33, 0xF8, 0x01, 0xD5, 0x73, 0xF8, 0xFF, 0xFF, 0xB3,
+ 0xF8, 0x81, 0x01, 0xF3, 0xF8, 0x8B, 0x21, 0xB3, 0xF8, 0x8A, 0x21, 0xF3, 0xF8, 0x82,
+ 0x01, 0xF3, 0xF8, 0x82, 0x01, 0x83, 0xFC, 0x82, 0x01, 0xC3, 0xFF, 0x83, 0xC1, 0xE3,
+ 0xFF, 0x80, 0x81, 0x83, 0xFF, 0x98, 0x99, 0x83, 0xFF, 0x87, 0xE1, 0x83, 0xFF, 0x80,
+ 0x81, 0x83, 0xFE, 0xFF, 0xFF, 0xE7, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00, 0x7B, 0xFF,
+ 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00,
+ 0x7F, 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF,
+ 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01,
+ 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF,
+ 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0xFF,
+ 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00,
+ 0x7B, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x69, 0x63, 0x6C, 0x38, 0x00, 0x00, 0x04,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFD, 0xFC, 0xFD, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0xF9, 0xFC, 0xFF, 0xFF, 0xFD, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0x00, 0x00, 0xF5, 0xF6, 0xF8,
+ 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0xF6, 0x00, 0xF5,
+ 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF9, 0xFC, 0xF7,
+ 0xF6, 0x00, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC,
+ 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFC, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6,
+ 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6,
+ 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF8, 0xF9, 0xFF, 0xFF, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0xFC, 0xF7, 0xF7,
+ 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF7, 0xF9, 0xFF,
+ 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7,
+ 0xAC, 0x54, 0xFD, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0x2B, 0xF7,
+ 0xF9, 0xFF, 0xFD, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0xAB, 0xFD, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9,
+ 0xFC, 0xF9, 0xFB, 0xFF, 0xFD, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x54, 0xAB,
+ 0xFE, 0xFC, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x2B, 0xFD, 0x54,
+ 0x54, 0x54, 0x54, 0x7E, 0x54, 0xAB, 0xFD, 0xFC, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB,
+ 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xAB, 0xFC, 0xF7,
+ 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x7E, 0x54, 0x7E, 0x54,
+ 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xFF, 0xAA, 0x54, 0x54,
+ 0x54, 0x54, 0x54, 0x54, 0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC,
+ 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,
+ 0xAA, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB,
+ 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x54, 0x7E,
+ 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0xFF, 0xAA, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF,
+ 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF,
+ 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB,
+ 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0xF1, 0x7F, 0xFF,
+ 0x2A, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC, 0x7E, 0x7E, 0xAC, 0xF7,
+ 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
+ 0x82, 0xFD, 0xAC, 0x2B, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00,
+ 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC,
+ 0xAC, 0xFF, 0xFD, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A,
+ 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC, 0xFD, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB,
+ 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0xFB, 0xFD,
+ 0xF9, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
+ 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF,
+ 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xF1, 0xF1, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A,
+ 0xFF, 0xFF, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB,
+ 0xFC, 0xAC, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xF1, 0xF1,
+ 0xF1, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7,
+ 0xF9, 0xFB, 0xFB, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA,
+ 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD,
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFB, 0xF9, 0xF7, 0xFC, 0xFF, 0xFF, 0xFD, 0xFD, 0xFF,
+ 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD,
+ 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFD,
+ 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0xFD, 0xFD, 0xFD, 0xFF, 0xFE,
+ 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x69, 0x6C, 0x33, 0x32, 0x00, 0x00, 0x08, 0x9B, 0x8A, 0xFF, 0x04,
+ 0x22, 0x54, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x54, 0x44, 0x88, 0xBB, 0x88,
+ 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22, 0x54, 0x44, 0x88, 0xBB, 0xFF, 0xE5,
+ 0xE1, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22, 0x54, 0x44, 0x88,
+ 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD1, 0xAA, 0x88, 0x44, 0x22, 0x22,
+ 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x54, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7, 0xE1, 0xDD, 0xD8,
+ 0xD4, 0xD1, 0xCD, 0xC9, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD,
+ 0xAA, 0x88, 0x54, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD3, 0xCF, 0xCB, 0xC8, 0xC4,
+ 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9,
+ 0x88, 0x54, 0xBB, 0xEE, 0xD9, 0xD5, 0xD1, 0xCE, 0xCA, 0xC6, 0xC2, 0xBF, 0xBC, 0xBB,
+ 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDA, 0x54, 0x77, 0xAA, 0xD7, 0xD6, 0x88,
+ 0x54, 0xBB, 0xEE, 0xD0, 0xCC, 0xC8, 0xC5, 0xC2, 0xBF, 0xBB, 0x88, 0x44, 0x6D, 0x20,
+ 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42, 0x66, 0x54, 0x77, 0xAA, 0xD4, 0xD4, 0x88, 0x54,
+ 0xBB, 0xEC, 0xC7, 0xC3, 0xC0, 0x88, 0x44, 0x54, 0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11,
+ 0x44, 0xD7, 0x42, 0x66, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xD1, 0xD1, 0x88, 0x54, 0x88,
+ 0xAA, 0x44, 0x54, 0x6D, 0x80, 0x77, 0x00, 0x1E, 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42,
+ 0x66, 0x92, 0x90, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xCF, 0xCE, 0xAA, 0x55, 0x6D, 0x82,
+ 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5, 0x42, 0x66, 0x8F, 0x8C, 0x8A, 0x87,
+ 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xCD, 0x88, 0x82, 0x77, 0x01, 0x74, 0x1B, 0x87, 0xFF,
+ 0x0E, 0x44, 0xD3, 0x42, 0x66, 0x8C, 0x89, 0x86, 0x83, 0x82, 0x7F, 0x71, 0x66, 0x54,
+ 0xCB, 0x88, 0x81, 0x77, 0x02, 0x73, 0x6C, 0x19, 0x87, 0xFF, 0x0E, 0x44, 0xD2, 0x42,
+ 0x66, 0x89, 0x86, 0x83, 0x80, 0x7F, 0x7C, 0x7B, 0x77, 0x44, 0xCB, 0x88, 0x80, 0x77,
+ 0x03, 0x72, 0x6A, 0x64, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00, 0x33, 0x85, 0x83,
+ 0x80, 0x7E, 0x7C, 0x7A, 0x77, 0x76, 0x44, 0xC9, 0x88, 0x77, 0x77, 0x70, 0x69, 0x62,
+ 0x5C, 0x16, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x33, 0x66, 0x82, 0x80, 0x7D, 0x7C, 0x79,
+ 0x77, 0x76, 0x73, 0x44, 0xC9, 0x88, 0x76, 0x6E, 0x67, 0x61, 0x5A, 0x54, 0x15, 0x80,
+ 0xFF, 0x8D, 0x00, 0x0C, 0x75, 0x73, 0x71, 0x44, 0xC7, 0x88, 0x6D, 0x66, 0x5F, 0x59,
+ 0x53, 0x4E, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0D,
+ 0x00, 0x33, 0x71, 0x6F, 0x44, 0xC7, 0x88, 0x64, 0x5E, 0x58, 0x53, 0x4D, 0x48, 0x12,
+ 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x06, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00,
+ 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x6E, 0x6D, 0x44, 0xC5, 0x88, 0x5D, 0x57, 0x52, 0x4C,
+ 0x47, 0x43, 0x10, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x02, 0x00, 0x66, 0x00, 0x80,
+ 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x22, 0x6A, 0x44, 0xC4, 0x88, 0x56,
+ 0x51, 0x4B, 0x47, 0x42, 0x3E, 0x0E, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00,
+ 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x6D, 0x22, 0x44, 0xC3, 0x88, 0x4F, 0x4A, 0x46, 0x41,
+ 0x3C, 0x38, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x11,
+ 0x00, 0x33, 0xC5, 0xAA, 0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3B, 0x37, 0x33, 0x0B,
+ 0x22, 0xFF, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x00,
+ 0xC3, 0xC2, 0xC2, 0x88, 0x44, 0x3F, 0x3A, 0x36, 0x33, 0x2F, 0x08, 0x80, 0x22, 0x00,
+ 0x00, 0x82, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x0D, 0x00, 0x33, 0x55, 0x00, 0x88, 0xC1,
+ 0x88, 0x3E, 0x3A, 0x35, 0x33, 0x33, 0x2B, 0x07, 0x80, 0x22, 0x00, 0x00, 0x84, 0x66,
+ 0x00, 0x00, 0x83, 0xCC, 0x0D, 0x00, 0x33, 0xC1, 0xC1, 0xC0, 0xC0, 0x88, 0x38, 0x34,
+ 0x33, 0x33, 0x2E, 0x22, 0x14, 0x80, 0x22, 0x04, 0x00, 0x66, 0x66, 0x00, 0x00, 0x80,
+ 0x66, 0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00, 0x33, 0xC0, 0xC0, 0xBF,
+ 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E, 0x22, 0x14, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81,
+ 0x66, 0x83, 0x00, 0x81, 0xCC, 0x0C, 0x00, 0x33, 0xC0, 0xBF, 0xBF, 0xBE, 0x88, 0x33,
+ 0x2F, 0x28, 0x11, 0x14, 0x08, 0x81, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83,
+ 0xCC, 0x0B, 0x00, 0x33, 0xBF, 0xBF, 0xBE, 0xBD, 0x88, 0x2E, 0x22, 0x11, 0x14, 0x08,
+ 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09, 0x11, 0x22, 0x55, 0x88, 0xBD, 0x44, 0x18,
+ 0x14, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00, 0x82, 0x22, 0x09,
+ 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89, 0xFF,
+ 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01,
+ 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF,
+ 0x8A, 0xFF, 0x04, 0x22, 0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x55, 0x44,
+ 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22, 0x55, 0x44, 0x88,
+ 0xBB, 0xFF, 0xE5, 0xE0, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22,
+ 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD2, 0xAA, 0x88,
+ 0x44, 0x22, 0x22, 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x55, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7,
+ 0xE2, 0xDD, 0xD8, 0xD4, 0xD0, 0xCD, 0xC9, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x89, 0xFF,
+ 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x55, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD3, 0xCF,
+ 0xCB, 0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB,
+ 0xDB, 0xDA, 0xDA, 0x88, 0x55, 0xBB, 0xEE, 0xD9, 0xD5, 0xD1, 0xCE, 0xCA, 0xC7, 0xC3,
+ 0xBF, 0xBC, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0x55, 0x77, 0xAA,
+ 0xD8, 0xD6, 0x88, 0x55, 0xBB, 0xEE, 0xCF, 0xCC, 0xC8, 0xC5, 0xC2, 0xBE, 0xBB, 0x88,
+ 0x44, 0x6D, 0x20, 0x87, 0xFF, 0x15, 0x44, 0xD9, 0x42, 0x66, 0x55, 0x77, 0xAA, 0xD4,
+ 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC7, 0xC4, 0xC0, 0x88, 0x44, 0x55, 0x6D, 0x77, 0x1F,
+ 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0x66, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xD1, 0xD1,
+ 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D, 0x80, 0x77, 0x00, 0x1E, 0x87, 0xFF, 0x0F,
+ 0x44, 0xD6, 0x42, 0x66, 0x92, 0x90, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCF, 0xCE, 0xAA,
+ 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5, 0x42, 0x66, 0x90,
+ 0x8C, 0x8A, 0x86, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCC, 0x88, 0x82, 0x77, 0x01, 0x74,
+ 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD4, 0x42, 0x66, 0x8C, 0x89, 0x86, 0x84, 0x81, 0x7F,
+ 0x71, 0x66, 0x55, 0xCB, 0x88, 0x81, 0x77, 0x02, 0x72, 0x6B, 0x19, 0x87, 0xFF, 0x0E,
+ 0x44, 0xD3, 0x42, 0x66, 0x88, 0x86, 0x83, 0x81, 0x7E, 0x7C, 0x7A, 0x78, 0x44, 0xCB,
+ 0x88, 0x80, 0x77, 0x03, 0x72, 0x6A, 0x63, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00,
+ 0x33, 0x85, 0x83, 0x80, 0x7E, 0x7B, 0x7A, 0x78, 0x75, 0x44, 0xCA, 0x88, 0x77, 0x77,
+ 0x70, 0x69, 0x63, 0x5B, 0x17, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x33, 0x66, 0x82, 0x7F,
+ 0x7D, 0x7B, 0x79, 0x77, 0x75, 0x73, 0x44, 0xC9, 0x88, 0x76, 0x6E, 0x67, 0x61, 0x5B,
+ 0x55, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0x74, 0x72, 0x71, 0x44, 0xC7, 0x88, 0x6D,
+ 0x66, 0x5F, 0x59, 0x53, 0x4F, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0x66, 0x00, 0x00,
+ 0x84, 0xCC, 0x0D, 0x00, 0x33, 0x71, 0x6F, 0x44, 0xC6, 0x88, 0x64, 0x5E, 0x58, 0x52,
+ 0x4E, 0x48, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x06, 0x00, 0x66, 0x66, 0x00,
+ 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x6E, 0x6C, 0x44, 0xC6, 0x88, 0x5D,
+ 0x57, 0x52, 0x4D, 0x47, 0x43, 0x10, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x02, 0x00,
+ 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x22, 0x6A, 0x44,
+ 0xC4, 0x88, 0x55, 0x51, 0x4B, 0x46, 0x42, 0x3D, 0x0F, 0x80, 0xFF, 0x00, 0x00, 0x82,
+ 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x6D, 0x22, 0x44, 0xC4, 0x88, 0x50,
+ 0x4B, 0x46, 0x41, 0x3C, 0x37, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00,
+ 0x85, 0xCC, 0x11, 0x00, 0x33, 0xC4, 0xAA, 0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3C,
+ 0x37, 0x33, 0x0B, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D,
+ 0x00, 0x33, 0x00, 0xC3, 0xC3, 0xC1, 0x88, 0x44, 0x3F, 0x3A, 0x36, 0x33, 0x30, 0x08,
+ 0x80, 0x22, 0x00, 0x00, 0x82, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x0D, 0x00, 0x33, 0x55,
+ 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x39, 0x34, 0x33, 0x33, 0x2B, 0x06, 0x80, 0x22, 0x00,
+ 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0D, 0x00, 0x33, 0xC1, 0xC1, 0xC0, 0xC0,
+ 0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x13, 0x80, 0x22, 0x04, 0x00, 0x66, 0x66,
+ 0x00, 0x00, 0x80, 0x66, 0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00, 0x33,
+ 0xC1, 0xC0, 0xC0, 0xBF, 0x88, 0x33, 0x33, 0x30, 0x2E, 0x22, 0x13, 0x08, 0x80, 0x22,
+ 0x00, 0x00, 0x81, 0x66, 0x83, 0x00, 0x81, 0xCC, 0x0C, 0x00, 0x33, 0xBF, 0xBF, 0xBE,
+ 0xBE, 0x88, 0x33, 0x30, 0x27, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0x00, 0x84, 0x66,
+ 0x00, 0x00, 0x83, 0xCC, 0x0B, 0x00, 0x33, 0xBF, 0xBE, 0xBE, 0xBD, 0x88, 0x2E, 0x22,
+ 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09, 0x11, 0x22, 0x55, 0x88,
+ 0xBC, 0x44, 0x18, 0x13, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00,
+ 0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81,
+ 0x22, 0x89, 0xFF, 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11,
+ 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82,
+ 0x22, 0x82, 0xFF, 0x8A, 0xFF, 0x04, 0x22, 0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09,
+ 0x22, 0x55, 0x44, 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22,
+ 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xE6, 0xE0, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D,
+ 0xFF, 0x11, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6,
+ 0xD1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x55, 0xBB, 0xFF,
+ 0xEE, 0xEC, 0xE7, 0xE1, 0xDC, 0xD8, 0xD4, 0xD0, 0xCC, 0xC8, 0xAA, 0x88, 0x44, 0x22,
+ 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x55, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB,
+ 0xD6, 0xD2, 0xCE, 0xCB, 0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF,
+ 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9, 0x88, 0x55, 0xBB, 0xEE, 0xD9, 0xD6, 0xD1, 0xCE,
+ 0xCA, 0xC7, 0xC3, 0xC0, 0xBD, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDA,
+ 0x55, 0x77, 0xAA, 0xD7, 0xD7, 0x88, 0x55, 0xBB, 0xEE, 0xD0, 0xCC, 0xC9, 0xC6, 0xC2,
+ 0xBE, 0xBB, 0x88, 0x44, 0x6D, 0x21, 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42, 0xCC, 0x55,
+ 0x77, 0xAA, 0xD4, 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC8, 0xC4, 0xC0, 0x88, 0x44, 0x55,
+ 0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0xCC, 0xE5, 0xCC, 0x55, 0x77,
+ 0xAA, 0xD1, 0xD1, 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D, 0x80, 0x77, 0x00, 0x1D,
+ 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42, 0xCC, 0xF9, 0xF6, 0xE5, 0xCC, 0x55, 0x77, 0xAA,
+ 0xCF, 0xCF, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5,
+ 0x42, 0xCC, 0xF5, 0xF2, 0xEF, 0xED, 0xE5, 0xCC, 0x55, 0x77, 0xAA, 0xCD, 0x88, 0x82,
+ 0x77, 0x01, 0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42, 0xCC, 0xF2, 0xEF, 0xEC,
+ 0xE9, 0xE7, 0xE5, 0xD7, 0xCC, 0x55, 0xCB, 0x88, 0x81, 0x77, 0x02, 0x72, 0x6C, 0x1A,
+ 0x87, 0xFF, 0x0E, 0x44, 0xD2, 0x42, 0xCC, 0xEE, 0xEB, 0xE9, 0xE7, 0xE5, 0xE3, 0xE0,
+ 0xDD, 0x44, 0xCA, 0x88, 0x80, 0x77, 0x03, 0x71, 0x6A, 0x63, 0x18, 0x87, 0xFF, 0x15,
+ 0x44, 0xD1, 0x00, 0x66, 0xEB, 0xE9, 0xE6, 0xE4, 0xE1, 0xE0, 0xDD, 0xDC, 0x44, 0xC9,
+ 0x88, 0x77, 0x77, 0x70, 0x69, 0x62, 0x5C, 0x17, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x66,
+ 0xCC, 0xE8, 0xE6, 0xE3, 0xE1, 0xDF, 0xDD, 0xDB, 0xD9, 0x44, 0xC8, 0x88, 0x76, 0x6F,
+ 0x68, 0x60, 0x5A, 0x55, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0xDB, 0xD9, 0xD7, 0x44,
+ 0xC7, 0x88, 0x6D, 0x66, 0x5F, 0x59, 0x54, 0x4F, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83,
+ 0xCC, 0x00, 0x00, 0x84, 0xFF, 0x0D, 0x00, 0x99, 0xD7, 0xD4, 0x44, 0xC6, 0x88, 0x65,
+ 0x5E, 0x58, 0x53, 0x4D, 0x49, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0xCC, 0x06, 0x55,
+ 0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x81, 0xFF, 0x0D, 0x00, 0x99, 0xD5, 0xD2, 0x44,
+ 0xC5, 0x88, 0x5D, 0x57, 0x51, 0x4C, 0x47, 0x42, 0x11, 0x80, 0xFF, 0x00, 0x00, 0x80,
+ 0xCC, 0x02, 0x55, 0xCC, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x81, 0xFF, 0x0D, 0x00, 0x66,
+ 0x22, 0xD0, 0x44, 0xC4, 0x88, 0x56, 0x51, 0x4C, 0x47, 0x42, 0x3D, 0x0E, 0x80, 0xFF,
+ 0x00, 0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x0D, 0x00, 0x99, 0x6D, 0x22, 0x44,
+ 0xC3, 0x88, 0x4F, 0x4B, 0x45, 0x41, 0x3C, 0x38, 0x0D, 0x80, 0xFF, 0x00, 0x00, 0x82,
+ 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x11, 0x00, 0x99, 0xC5, 0xAA, 0x88, 0xC3, 0x88, 0x49,
+ 0x45, 0x40, 0x3B, 0x37, 0x33, 0x0A, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0xCC, 0x00, 0x00,
+ 0x85, 0xFF, 0x0D, 0x00, 0x66, 0x00, 0xC3, 0xC2, 0xC2, 0x88, 0x43, 0x3F, 0x3B, 0x36,
+ 0x33, 0x2F, 0x08, 0x80, 0x22, 0x00, 0x00, 0x82, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x0D,
+ 0x00, 0x99, 0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x39, 0x35, 0x33, 0x33, 0x2C, 0x07,
+ 0x80, 0x22, 0x00, 0x00, 0x84, 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x01, 0x00, 0x99, 0x80,
+ 0xC1, 0x08, 0xC0, 0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x13, 0x80, 0x22, 0x04,
+ 0x00, 0xCC, 0xCC, 0x55, 0x55, 0x80, 0xCC, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF,
+ 0xFF, 0x00, 0x99, 0xC0, 0xC1, 0xBF, 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E, 0x22, 0x13,
+ 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0xCC, 0x80, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x01,
+ 0x00, 0x99, 0x80, 0xBF, 0x07, 0xBE, 0x88, 0x33, 0x2F, 0x28, 0x11, 0x13, 0x08, 0x81,
+ 0x22, 0x00, 0x00, 0x84, 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x0B, 0x00, 0x99, 0xBE, 0xBE,
+ 0xBD, 0xBD, 0x88, 0x2E, 0x22, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00,
+ 0x09, 0x11, 0x22, 0x55, 0x88, 0xBC, 0x44, 0x18, 0x13, 0x11, 0x08, 0x81, 0x22, 0x80,
+ 0xFF, 0x85, 0x22, 0x00, 0x00, 0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x1A, 0x11,
+ 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF,
+ 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF,
+ 0x80, 0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x6C, 0x38, 0x6D, 0x6B, 0x00, 0x00,
+ 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x2C, 0x11, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x63, 0x2C,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xA0, 0x89, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x71, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x18, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C,
+ 0x23, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xAA, 0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C,
+ 0x4C, 0xFF, 0x86, 0x4C, 0x4C, 0x4C, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x18, 0x3C, 0x9A, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x18, 0x3C, 0x9A, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x18, 0x00,
+ 0x00, 0x00, 0x00, 0x00};
+
+unsigned char VersResource[44] = {0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x03, 0x30, 0x2E, 0x31, 0x21, 0x30, 0x2E, 0x31,
+ 0x2C, 0x20, 0xA9, 0x20, 0x32, 0x30, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x31, 0x38, 0x20,
+ 0x4E, 0x61, 0x74, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x69, 0x6C,
+ 0x6C, 0x6F};
+
+unsigned char PictResource[9874] = {0x26, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x11, 0x02, 0xFF,
+ 0x0C, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
+ 0x00, 0x01, 0x00, 0x0A, 0x80, 0x01, 0x80, 0x01, 0x7F, 0xFF, 0x7F, 0xFF, 0x00, 0x9A,
+ 0x00, 0x00, 0x00, 0xFF, 0x82, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x3C, 0xCE, 0x35, 0x68, 0x3C, 0xCE, 0x3A, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x40, 0x00, 0x25,
+ 0xA0, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB4, 0xC9, 0xEE, 0xC1, 0xE7,
+ 0x9F, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC1, 0xEF, 0x9E,
+ 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBF, 0xFF, 0x00, 0x28, 0xA1, 0xD6, 0x03,
+ 0xD7, 0xDA, 0xD2, 0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB2, 0xE9, 0xEC, 0xC1, 0xE7, 0x9F,
+ 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xC1, 0xEF, 0x9E, 0xFF,
+ 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xBF, 0xFF, 0x00, 0x29, 0xA1, 0xD6, 0x0A,
+ 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xC1, 0xE7, 0xA0,
+ 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xC0, 0xEF, 0x9E,
+ 0xFF, 0x05, 0xF5, 0xF9, 0xE8, 0xF9, 0xF6, 0xF3, 0xBF, 0xFF, 0x00, 0x29, 0xA1, 0xD6,
+ 0x0A, 0xD9, 0xCF, 0xB4, 0xBA, 0xC0, 0xAF, 0xC0, 0xB7, 0xCD, 0xF2, 0xE8, 0xC1, 0xE7,
+ 0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xC0, 0xEF,
+ 0x9F, 0xFF, 0x05, 0xF3, 0xF6, 0xFA, 0xE9, 0xFA, 0xF5, 0xBE, 0xFF, 0x00, 0x27, 0xA1,
+ 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xC1, 0xB0, 0xC0, 0xB3, 0xD9, 0xED, 0xC0, 0xE7,
+ 0xA0, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC0, 0xEF, 0x9F,
+ 0xFF, 0x05, 0xF4, 0xF8, 0xFB, 0xEA, 0xFA, 0xF4, 0xBE, 0xFF, 0x00, 0x29, 0xA1, 0xD6,
+ 0x09, 0xDB, 0xD3, 0xB8, 0xBF, 0xB0, 0xB0, 0xBC, 0xAE, 0xE4, 0xEA, 0xC0, 0xE7, 0xA1,
+ 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xC0, 0xEF,
+ 0x9F, 0xFF, 0x05, 0xF5, 0xF9, 0xEA, 0xEA, 0xF8, 0xF3, 0xBE, 0xFF, 0x00, 0x29, 0xA2,
+ 0xD6, 0x0A, 0xD7, 0xDE, 0xB2, 0xBA, 0xBF, 0xAF, 0xC0, 0xB9, 0xCE, 0xF3, 0xE8, 0xC0,
+ 0xE7, 0xA1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBF,
+ 0xEF, 0xA0, 0xFF, 0x05, 0xF3, 0xF6, 0xF9, 0xE9, 0xFA, 0xF6, 0xBD, 0xFF, 0x00, 0x27,
+ 0xA2, 0xD6, 0x03, 0xD8, 0xD0, 0xB5, 0xBD, 0xFE, 0xBE, 0x02, 0xB4, 0xC9, 0xEE, 0xBF,
+ 0xE7, 0xA1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBF, 0xEF,
+ 0xA0, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00, 0xF4, 0xBD, 0xFF, 0x00, 0x25, 0xA2,
+ 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xBF, 0xE7, 0xA1,
+ 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBF, 0xEF, 0xA0, 0xFF,
+ 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBD, 0xFF, 0x00, 0x28, 0xA2, 0xD6, 0x09, 0xDB,
+ 0xD4, 0xB9, 0xBF, 0xBE, 0xBE, 0xBA, 0xAD, 0xE3, 0xE9, 0xBF, 0xE7, 0xA2, 0xDE, 0x02,
+ 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBE, 0xEF, 0xA0, 0xFF, 0x05,
+ 0xF6, 0xF9, 0xF8, 0xF8, 0xF6, 0xF3, 0xBD, 0xFF, 0x00, 0x29, 0xA3, 0xD6, 0x0A, 0xD7,
+ 0xDE, 0xB3, 0xAA, 0xBF, 0xAD, 0xBE, 0xB8, 0xCE, 0xF3, 0xE8, 0xBF, 0xE7, 0xA2, 0xDE,
+ 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBE, 0xEF, 0xA1, 0xFF,
+ 0x05, 0xF4, 0xE6, 0xF9, 0xE7, 0xF8, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x03,
+ 0xD8, 0xD0, 0xB6, 0xBE, 0xFE, 0xBF, 0x02, 0xB5, 0xC9, 0xEE, 0xBE, 0xE7, 0xA2, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBE, 0xEF, 0xA1, 0xFF, 0x01,
+ 0xF5, 0xF8, 0xFE, 0xF9, 0x00, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xD9,
+ 0xD1, 0xB6, 0xBD, 0xBD, 0xBE, 0xAD, 0xB3, 0xE9, 0xEC, 0xBE, 0xE7, 0xA2, 0xDE, 0x01,
+ 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBE, 0xEF, 0xA1, 0xFF, 0x05, 0xF4,
+ 0xF7, 0xF7, 0xF8, 0xE7, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xD9, 0xD1,
+ 0xB6, 0xBE, 0xBE, 0xBF, 0xBB, 0xAF, 0xE4, 0xEA, 0xBE, 0xE7, 0xA2, 0xDE, 0x01, 0xE4,
+ 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBD, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF8,
+ 0xF8, 0xF9, 0xF7, 0xF4, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xDB, 0xD3, 0xB8,
+ 0xBE, 0xAE, 0xBF, 0xB9, 0xCF, 0xE1, 0xE9, 0xBE, 0xE7, 0xA3, 0xDE, 0x02, 0xE0, 0xE6,
+ 0xCA, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBD, 0xEF, 0xA1, 0xFF, 0x04, 0xF5, 0xF8,
+ 0xE8, 0xF9, 0xF6, 0xBB, 0xFF, 0x00, 0x29, 0xA4, 0xD6, 0x0A, 0xD7, 0xDE, 0xB2, 0xBA,
+ 0xBE, 0xBF, 0xAE, 0xB7, 0xCC, 0xF1, 0xE8, 0xBE, 0xE7, 0xA3, 0xDE, 0x02, 0xE2, 0xC6,
+ 0xCC, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF3, 0xF6,
+ 0xF8, 0xF9, 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x09, 0xD8, 0xD0, 0xB5,
+ 0xBD, 0xBE, 0xC0, 0xC0, 0xB6, 0xC9, 0xEE, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF4, 0xF7, 0xF8,
+ 0xFA, 0xFA, 0xF6, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE,
+ 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD,
+ 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF5, 0xF8, 0xF9, 0xE8,
+ 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x03, 0xD9, 0xD1, 0xB7, 0xAD, 0xFE,
+ 0xBF, 0x02, 0xB1, 0xE7, 0xEA, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
+ 0x02, 0xCD, 0xC0, 0xFA, 0xBC, 0xEF, 0xA2, 0xFF, 0x01, 0xF5, 0xE7, 0xFE, 0xF9, 0x00,
+ 0xF5, 0xBB, 0xFF, 0x00, 0x28, 0xA4, 0xD6, 0x09, 0xDA, 0xD2, 0xB8, 0xBE, 0xBE, 0xBD,
+ 0xBA, 0xAD, 0xE3, 0xE9, 0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE,
+ 0x02, 0xCB, 0xCF, 0xF8, 0xBC, 0xEF, 0xA2, 0xFF, 0x05, 0xF6, 0xF8, 0xF8, 0xF7, 0xF6,
+ 0xF3, 0xBB, 0xFF, 0x00, 0x29, 0xA5, 0xD6, 0x0A, 0xD7, 0xDD, 0xC4, 0xB9, 0xBD, 0xBE,
+ 0xBE, 0xB9, 0xCE, 0xF3, 0xE8, 0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE,
+ 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF8,
+ 0xF8, 0xF6, 0xBA, 0xFF, 0x00, 0x27, 0xA5, 0xD6, 0x09, 0xD8, 0xCF, 0xB4, 0xBB, 0xBD,
+ 0xBE, 0xAD, 0xB6, 0xCA, 0xEF, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE,
+ 0x02, 0xC8, 0xDD, 0xF5, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xE7,
+ 0xF5, 0xBA, 0xFF, 0x00, 0x27, 0xA5, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBE,
+ 0xBE, 0xB4, 0xD9, 0xED, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02,
+ 0xC5, 0xDB, 0xF3, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xF8, 0xF5,
+ 0xBA, 0xFF, 0x00, 0x31, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB1,
+ 0xE8, 0xEB, 0xEE, 0xE7, 0x04, 0xE8, 0xE9, 0xEB, 0xEA, 0xE9, 0xD4, 0xE7, 0xA4, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xEC, 0xEF, 0xFE, 0xF1, 0xD4,
+ 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x39, 0xA5,
+ 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x07,
+ 0xE8, 0xEB, 0xF1, 0xE3, 0xE8, 0xD1, 0xEF, 0xE8, 0xD5, 0xE7, 0xA4, 0xDE, 0x01, 0xE4,
+ 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xEE, 0xEF, 0x05, 0xF1, 0xF4, 0xF8, 0xFC,
+ 0xD5, 0xF5, 0xD4, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF,
+ 0x00, 0x46, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB7, 0xFE, 0xBE, 0x03, 0xBB, 0xAE, 0xE3,
+ 0xE9, 0xF2, 0xE7, 0x09, 0xE8, 0xEB, 0xF1, 0xE5, 0xCC, 0xAD, 0xB1, 0xA9, 0xE3, 0xEA,
+ 0xD5, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF0,
+ 0xEF, 0x08, 0xF1, 0xF5, 0xFB, 0xDC, 0xCF, 0xC2, 0xBD, 0xFB, 0xF1, 0xD5, 0xEF, 0xA3,
+ 0xFF, 0x00, 0xF5, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xEB, 0xFF, 0x02, 0xF3, 0xF4, 0xF2,
+ 0xD3, 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x0A, 0xD7, 0xDC, 0xD4, 0xB9, 0xAD, 0xBE, 0xBF,
+ 0xA9, 0xD0, 0xF3, 0xE8, 0xF2, 0xE7, 0x09, 0xEB, 0xE0, 0xCA, 0xB0, 0xB8, 0xBD, 0xBF,
+ 0xB4, 0xD9, 0xED, 0xD5, 0xE7, 0xA5, 0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02,
+ 0xC9, 0xDE, 0xF6, 0xF1, 0xEF, 0x09, 0xF1, 0xF7, 0xDB, 0xC1, 0xC6, 0xCB, 0xCD, 0xC5,
+ 0xDB, 0xF3, 0xD5, 0xEF, 0xA3, 0xFF, 0x04, 0xF6, 0xE7, 0xF8, 0xF9, 0xE6, 0xEC, 0xFF,
+ 0x04, 0xF4, 0xF7, 0xF9, 0xF9, 0xF5, 0xD3, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD8,
+ 0xCE, 0xB3, 0xBB, 0xBE, 0xBE, 0xBF, 0xA7, 0xCD, 0xF0, 0xF1, 0xE7, 0x0A, 0xED, 0xC5,
+ 0xB1, 0xBC, 0xB0, 0xB2, 0xB0, 0xB9, 0xCD, 0xF2, 0xE8, 0xD6, 0xE7, 0xA5, 0xDE, 0x02,
+ 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x03, 0xF3, 0xD9,
+ 0xC3, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xD5, 0xEF, 0xA4, 0xFF, 0x05, 0xF3,
+ 0xF7, 0xF8, 0xF8, 0xF9, 0xE5, 0xED, 0xFF, 0x05, 0xF3, 0xF8, 0xEA, 0xEC, 0xEA, 0xF7,
+ 0xD3, 0xFF, 0x00, 0x4D, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBD, 0x03, 0xBE,
+ 0xB6, 0xCB, 0xEF, 0xF1, 0xE7, 0x0A, 0xED, 0xD9, 0xB3, 0xC0, 0xB2, 0xB5, 0xB2, 0xBD,
+ 0xAF, 0xE5, 0xEB, 0xD6, 0xE7, 0xA5, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02,
+ 0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x03, 0xCC, 0xC1,
+ 0xFB, 0xF1, 0xD6, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFE, 0xF7, 0x01, 0xF8, 0xF5, 0xED,
+ 0xFF, 0x06, 0xF4, 0xFA, 0xEC, 0xEF, 0xEC, 0xF9, 0xF3, 0xD4, 0xFF, 0x00, 0x4B, 0xA6,
+ 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB3, 0xD9, 0xED, 0xF1, 0xE7, 0x0B,
+ 0xEA, 0xE4, 0xAE, 0xBC, 0xB1, 0xB4, 0xB2, 0xC0, 0xB6, 0xCC, 0xF1, 0xE8, 0xD7, 0xE7,
+ 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF1, 0xEF, 0x03,
+ 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xD6, 0xEF, 0xA4, 0xFF,
+ 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xED, 0xFF, 0x06, 0xF3, 0xF8, 0xEB, 0xEE, 0xEC,
+ 0xFA, 0xF5, 0xD4, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD,
+ 0x02, 0xB1, 0xE8, 0xEB, 0xF1, 0xE7, 0x0B, 0xE8, 0xF1, 0xCC, 0xB7, 0xC0, 0xB1, 0xB0,
+ 0xBF, 0xBA, 0xAE, 0xE4, 0xEA, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE,
+ 0x02, 0xC3, 0xFD, 0xF1, 0xF0, 0xEF, 0x02, 0xF5, 0xDD, 0xC7, 0xFD, 0xCE, 0x03, 0xCC,
+ 0xC1, 0xFB, 0xF1, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEC,
+ 0xFF, 0x06, 0xF6, 0xFA, 0xEB, 0xEA, 0xF9, 0xF6, 0xF3, 0xD5, 0xFF, 0x00, 0x49, 0xA6,
+ 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x03,
+ 0xEB, 0xE5, 0xAF, 0xBB, 0xFE, 0xBF, 0x03, 0xBE, 0xB4, 0xD9, 0xED, 0xD7, 0xE7, 0xA5,
+ 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEF, 0xEF, 0x03, 0xF1, 0xFB,
+ 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4,
+ 0xFD, 0xF7, 0x00, 0xF4, 0xEC, 0xFF, 0x01, 0xF3, 0xF7, 0xFE, 0xF9, 0x01, 0xF8, 0xF5,
+ 0xD5, 0xFF, 0x00, 0x48, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0,
+ 0xE7, 0xEA, 0xF0, 0xE7, 0x0B, 0xE8, 0xF3, 0xCE, 0xB8, 0xBD, 0xBD, 0xBE, 0xAD, 0xB8,
+ 0xCD, 0xF2, 0xE8, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1,
+ 0xFB, 0xEE, 0xEF, 0x02, 0xF7, 0xDF, 0xCA, 0xFD, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xD7,
+ 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEB, 0xFF, 0x05, 0xF5, 0xF7,
+ 0xF7, 0xF8, 0xE7, 0xF6, 0xD5, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x03, 0xD9, 0xD1, 0xB6,
+ 0xBD, 0xFE, 0xBE, 0x02, 0xB0, 0xE7, 0xEA, 0xEF, 0xE7, 0x0A, 0xEE, 0xC9, 0xB4, 0xBE,
+ 0xBF, 0xC0, 0xBF, 0xBB, 0xAF, 0xE5, 0xEB, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEE, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x03,
+ 0xCC, 0xC1, 0xFB, 0xF1, 0xD8, 0xEF, 0xA4, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00,
+ 0xF4, 0xEB, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xFA, 0xF9, 0xF7, 0xF3, 0xD6, 0xFF, 0x00,
+ 0x4D, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBF, 0xAE, 0xBF, 0xB0, 0xE7, 0xEA,
+ 0xEF, 0xE7, 0x0B, 0xEB, 0xE5, 0xAF, 0xBC, 0xB0, 0xB1, 0xC0, 0xBE, 0xB6, 0xCC, 0xF1,
+ 0xE8, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA,
+ 0xEE, 0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC6, 0xDC, 0xF4, 0xD8,
+ 0xEF, 0xA4, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xE8, 0xF9, 0xF4, 0xEB, 0xFF, 0x06, 0xF3,
+ 0xF8, 0xEA, 0xEB, 0xFA, 0xF8, 0xF5, 0xD6, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD9,
+ 0xD1, 0xB6, 0xBE, 0xC0, 0xAF, 0xBC, 0xAD, 0xE3, 0xE9, 0xEF, 0xE7, 0x0B, 0xE8, 0xF1,
+ 0xCC, 0xB8, 0xB0, 0xB2, 0xB0, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xD9, 0xE7, 0xA5, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xED, 0xEF, 0x02, 0xF5, 0xDD,
+ 0xC7, 0xFD, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xD8, 0xEF, 0xA4, 0xFF, 0x05, 0xF4, 0xF8,
+ 0xFA, 0xE9, 0xF8, 0xF3, 0xEA, 0xFF, 0x06, 0xF7, 0xEA, 0xEC, 0xEA, 0xF9, 0xF6, 0xF3,
+ 0xD7, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xB9,
+ 0xCE, 0xF3, 0xE8, 0xEE, 0xE7, 0x0A, 0xEC, 0xE6, 0xB1, 0xBC, 0xC2, 0xB0, 0xC0, 0xBD,
+ 0xB2, 0xE9, 0xEC, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC9,
+ 0xDE, 0xF6, 0xED, 0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC2,
+ 0xFC, 0xF1, 0xD9, 0xEF, 0xA4, 0xFF, 0x04, 0xF4, 0xF9, 0xE9, 0xFA, 0xF6, 0xE9, 0xFF,
+ 0x06, 0xF4, 0xF8, 0xFC, 0xEA, 0xFA, 0xF7, 0xF4, 0xD7, 0xFF, 0x00, 0x49, 0xA6, 0xD6,
+ 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB6, 0xCB, 0xF0, 0xED, 0xE7, 0x0B, 0xE9,
+ 0xE1, 0xCF, 0xB8, 0xC0, 0xAF, 0xC0, 0xBD, 0xB6, 0xCC, 0xF1, 0xE8, 0xDA, 0xE7, 0xA5,
+ 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x02, 0xF7,
+ 0xDF, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xD9, 0xEF, 0xA4, 0xFF, 0x04, 0xF4,
+ 0xFA, 0xE9, 0xFA, 0xF4, 0xE8, 0xFF, 0x05, 0xF5, 0xFA, 0xE9, 0xFA, 0xF7, 0xF5, 0xD7,
+ 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xB6, 0xCB,
+ 0xF0, 0xED, 0xE7, 0x0B, 0xE8, 0xEF, 0xCA, 0xB4, 0xBF, 0xAE, 0xBF, 0xBD, 0xBA, 0xAD,
+ 0xE3, 0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
+ 0xF5, 0xEC, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xD9,
+ 0xEF, 0xA4, 0xFF, 0x04, 0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF9,
+ 0xE8, 0xF9, 0xF7, 0xF6, 0xF3, 0xD8, 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x02, 0xD9, 0xD1,
+ 0xB6, 0xFE, 0xBE, 0x02, 0xB6, 0xCB, 0xF0, 0xEC, 0xE7, 0x0A, 0xEB, 0xE5, 0xB0, 0xBC,
+ 0xBF, 0xBB, 0xB6, 0xB2, 0xA7, 0xE1, 0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x09, 0xF1, 0xFB, 0xC1, 0xCC, 0xCE,
+ 0xCC, 0xC7, 0xC3, 0xB9, 0xF7, 0xD9, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x00,
+ 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xF7, 0xF5, 0xF4, 0xF2, 0xD8, 0xFF, 0x00,
+ 0x46, 0xA6, 0xD6, 0x02, 0xDB, 0xD3, 0xB8, 0xFE, 0xBD, 0x02, 0xB6, 0xCB, 0xF0, 0xEC,
+ 0xE7, 0x0A, 0xE8, 0xF1, 0xCB, 0xA2, 0xB5, 0xAF, 0xCC, 0xE9, 0xE1, 0xEE, 0xE8, 0xDA,
+ 0xE7, 0xA6, 0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEB,
+ 0xEF, 0x08, 0xF5, 0xDB, 0xC3, 0xC5, 0xC1, 0xDD, 0xFD, 0xF7, 0xF3, 0xD9, 0xEF, 0xA4,
+ 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x00, 0xF4, 0xE7, 0xFF, 0x02, 0xE3, 0xF5, 0xF3, 0xD5,
+ 0xFF, 0x00, 0x3E, 0xA7, 0xD6, 0x09, 0xD7, 0xDE, 0xB2, 0xBA, 0xBE, 0xBF, 0xBF, 0xB7,
+ 0xCB, 0xF0, 0xEB, 0xE7, 0x08, 0xEB, 0xE2, 0xC9, 0xCB, 0xE5, 0xF1, 0xEC, 0xE9, 0xE8,
+ 0xD9, 0xE7, 0xA6, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5,
+ 0xEB, 0xEF, 0x06, 0xF1, 0xF7, 0xD9, 0xDB, 0xFB, 0xF5, 0xF1, 0xD7, 0xEF, 0xA5, 0xFF,
+ 0x05, 0xF3, 0xF6, 0xF8, 0xF9, 0xF9, 0xF5, 0xB8, 0xFF, 0x00, 0x38, 0xA7, 0xD6, 0x09,
+ 0xD8, 0xD0, 0xB5, 0xBD, 0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xEB, 0xE7, 0x05, 0xE8,
+ 0xEC, 0xDC, 0xEF, 0xEB, 0xE8, 0xD6, 0xE7, 0xA6, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE,
+ 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEA, 0xEF, 0x03, 0xF1, 0xF3, 0xF3, 0xF1, 0xD5, 0xEF,
+ 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA, 0xEA, 0xF6, 0xB8, 0xFF, 0x00, 0x2B, 0xA7,
+ 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xEA, 0xE7,
+ 0xFE, 0xE8, 0xD4, 0xE7, 0xA6, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD,
+ 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF,
+ 0x00, 0x2F, 0xBD, 0xD6, 0x04, 0xD7, 0xD8, 0xD9, 0xD8, 0xD7, 0xF0, 0xD6, 0x09, 0xD9,
+ 0xD1, 0xB6, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xA6, 0xDE, 0x01,
+ 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4,
+ 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF, 0x00, 0x36, 0xBF, 0xD6, 0x07, 0xD7, 0xD8,
+ 0xDA, 0xCC, 0xCD, 0xCC, 0xD9, 0xD7, 0xF1, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xC0,
+ 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xBC, 0xDE, 0xFE, 0xDF, 0xEE, 0xDE, 0x01,
+ 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4,
+ 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF, 0x00, 0x41, 0xC2, 0xD6, 0x0A, 0xD7, 0xD8,
+ 0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB0, 0xD1, 0xCA, 0xD8, 0xF1, 0xD6, 0x09, 0xD8, 0xE1,
+ 0xB5, 0xBD, 0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xBD, 0xDE, 0x03, 0xDF,
+ 0xE1, 0xD0, 0xE0, 0xEE, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
+ 0xF5, 0xBA, 0xEF, 0xBB, 0xFF, 0x00, 0xF1, 0xEC, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA,
+ 0xEA, 0xF6, 0xB8, 0xFF, 0x00, 0x45, 0xC2, 0xD6, 0x0A, 0xD8, 0xC9, 0xCD, 0xD0, 0xD3,
+ 0xD6, 0xB6, 0xB4, 0xD4, 0xCB, 0xD9, 0xF1, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBE,
+ 0xC0, 0xC0, 0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x06, 0xDF, 0xE0, 0xE1, 0xE2,
+ 0xD3, 0xD2, 0xE1, 0xEE, 0xDE, 0x02, 0xE3, 0xD8, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
+ 0xF5, 0xBA, 0xEF, 0xBC, 0xFF, 0x01, 0xF4, 0xF3, 0xEC, 0xFF, 0x05, 0xF4, 0xF7, 0xF8,
+ 0xFA, 0xFA, 0xF6, 0xB8, 0xFF, 0x00, 0x4A, 0xC2, 0xD6, 0x0B, 0xD8, 0xCA, 0xD1, 0xB2,
+ 0xB4, 0xB6, 0xB8, 0xB8, 0xD6, 0xCE, 0xDA, 0xD7, 0xF2, 0xD6, 0x09, 0xD9, 0xCF, 0xB4,
+ 0xBA, 0xBD, 0xBE, 0xAD, 0xB7, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x07, 0xE0, 0xD1,
+ 0xD2, 0xD3, 0xD4, 0xD4, 0xE2, 0xDF, 0xEF, 0xDE, 0x02, 0xE1, 0xC5, 0xCB, 0xFE, 0xCE,
+ 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF, 0xFF, 0x04, 0xF2, 0xF3, 0xF4, 0xF5, 0xF5,
+ 0xEC, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xE7, 0xF5, 0xB8, 0xFF, 0x00, 0x4B, 0xC2,
+ 0xD6, 0x0B, 0xD7, 0xDA, 0xD0, 0xB4, 0xB6, 0xDC, 0xB8, 0xBA, 0xB6, 0xD3, 0xCC, 0xD8,
+ 0xF2, 0xD6, 0x09, 0xD8, 0xCC, 0xD5, 0xB8, 0xBE, 0xBF, 0xBF, 0xB7, 0xCB, 0xF0, 0xBA,
+ 0xE7, 0xC0, 0xDE, 0x08, 0xE0, 0xD2, 0xD3, 0xE5, 0xD4, 0xD5, 0xD3, 0xE1, 0xDF, 0xF0,
+ 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF,
+ 0xFF, 0x05, 0xF3, 0xF4, 0xFF, 0xF5, 0xF6, 0xF4, 0xEC, 0xFF, 0x04, 0xF5, 0xF8, 0xF9,
+ 0xF9, 0xF5, 0xB8, 0xFF, 0x00, 0x49, 0xC1, 0xD6, 0x0A, 0xD9, 0xCD, 0xD6, 0xB4, 0xDC,
+ 0xB8, 0xBD, 0xBA, 0xB4, 0xCF, 0xD9, 0xF2, 0xD6, 0x09, 0xD7, 0xDA, 0xD2, 0xB6, 0xBF,
+ 0xAE, 0xBF, 0xB6, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x08, 0xDF, 0xE2, 0xD2, 0xE5,
+ 0xD4, 0xD6, 0xD5, 0xD2, 0xE0, 0xEF, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC8,
+ 0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF, 0x05, 0xF3, 0xFF, 0xF5, 0xF7, 0xF6, 0xF3, 0xED,
+ 0xFF, 0x04, 0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xB8, 0xFF, 0x00, 0x48, 0xC1, 0xD6, 0x0B,
+ 0xD8, 0xCA, 0xD3, 0xB4, 0xBA, 0xBA, 0xBD, 0xBD, 0xB6, 0xD2, 0xDA, 0xD7, 0xF2, 0xD6,
+ 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB6, 0xCB, 0xF0, 0xBA, 0xE7, 0xBF, 0xDE,
+ 0x07, 0xE1, 0xD2, 0xD5, 0xD5, 0xD6, 0xD6, 0xD3, 0xE1, 0xEF, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF, 0x05, 0xF3, 0xF6, 0xF6,
+ 0xF7, 0xF7, 0xF4, 0xED, 0xFF, 0x04, 0xF4, 0xFA, 0xE9, 0xFA, 0xF4, 0xB8, 0xFF, 0x00,
+ 0x4A, 0xC1, 0xD6, 0x04, 0xD7, 0xDA, 0xD0, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8, 0xD5,
+ 0xCC, 0xD8, 0xF2, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB8, 0xCE, 0xF3,
+ 0xE8, 0xBB, 0xE7, 0xBF, 0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2,
+ 0xDF, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xBA, 0xEF,
+ 0xBE, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xED, 0xFF, 0x04, 0xF4, 0xFA,
+ 0xE9, 0xFA, 0xF5, 0xB8, 0xFF, 0x00, 0x4B, 0xC0, 0xD6, 0x03, 0xD8, 0xCC, 0xD5, 0xB8,
+ 0xFE, 0xBD, 0x04, 0xBA, 0xB4, 0xD0, 0xDA, 0xD7, 0xF3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6,
+ 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xBB, 0xE7, 0xBF, 0xDE, 0x02, 0xDF, 0xE2,
+ 0xD4, 0xFE, 0xD6, 0x02, 0xD5, 0xD2, 0xE0, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
+ 0x02, 0xCB, 0xCF, 0xF8, 0xBA, 0xEF, 0xBD, 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x01, 0xF6,
+ 0xF3, 0xEE, 0xFF, 0x05, 0xF4, 0xF9, 0xE8, 0xF9, 0xF6, 0xF3, 0xB9, 0xFF, 0x00, 0x47,
+ 0xC0, 0xD6, 0x03, 0xD7, 0xDA, 0xD2, 0xB6, 0xFD, 0xBD, 0x03, 0xB6, 0xD3, 0xCA, 0xD8,
+ 0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB,
+ 0xE7, 0xBE, 0xDE, 0x01, 0xE1, 0xD3, 0xFD, 0xD6, 0x01, 0xD3, 0xE1, 0xF0, 0xDE, 0x01,
+ 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xBA, 0xEF, 0xBD, 0xFF, 0x00, 0xF4,
+ 0xFD, 0xF7, 0x00, 0xF4, 0xEE, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xB9,
+ 0xFF, 0x00, 0x47, 0xBF, 0xD6, 0x03, 0xD9, 0xCF, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8,
+ 0xD6, 0xCD, 0xD9, 0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7,
+ 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2,
+ 0xDF, 0xF1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF, 0xBD,
+ 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xEE, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
+ 0x00, 0xF4, 0xB9, 0xFF, 0x00, 0x4A, 0xBF, 0xD6, 0x0B, 0xD8, 0xCC, 0xD3, 0xB6, 0xBA,
+ 0xBD, 0xBD, 0xBA, 0xB4, 0xD0, 0xDA, 0xD7, 0xF4, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE,
+ 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x08, 0xDF, 0xE1, 0xD3,
+ 0xD5, 0xD6, 0xD6, 0xD5, 0xD2, 0xE0, 0xF1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01,
+ 0xC1, 0xFB, 0xBA, 0xEF, 0xBC, 0xFF, 0x05, 0xF4, 0xF6, 0xF7, 0xF7, 0xF6, 0xF3, 0xEF,
+ 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x49, 0xBF, 0xD6,
+ 0x04, 0xD7, 0xDA, 0xCE, 0xD6, 0xB8, 0xFE, 0xBD, 0x03, 0xB8, 0xD5, 0xCC, 0xD8, 0xF4,
+ 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7,
+ 0xBD, 0xDE, 0x02, 0xDF, 0xE2, 0xD4, 0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF2, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF, 0xBB, 0xFF, 0x00, 0xF5,
+ 0xFE, 0xF7, 0x00, 0xF5, 0xEF, 0xFF, 0x05, 0xF4, 0xF9, 0xE8, 0xF9, 0xF7, 0xF4, 0xB9,
+ 0xFF, 0x00, 0x4A, 0xBE, 0xD6, 0x0B, 0xD8, 0xCA, 0xD3, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8,
+ 0xB2, 0xD0, 0xDA, 0xD7, 0xF5, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD,
+ 0xB1, 0xE8, 0xEB, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xE1, 0xD3, 0xD6, 0xD6, 0xD5, 0xD4,
+ 0xD1, 0xE0, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBB,
+ 0xEF, 0xBB, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF2, 0xF0, 0xFF, 0x05, 0xF4,
+ 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x4A, 0xBE, 0xD6, 0x0B, 0xD7, 0xDA,
+ 0xD0, 0xB4, 0xBA, 0xBD, 0xBA, 0xDF, 0xB4, 0xD3, 0xCA, 0xD8, 0xF5, 0xD6, 0x09, 0xD9,
+ 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD, 0xB3, 0xD9, 0xED, 0xBB, 0xE7, 0xBC, 0xDE, 0x07,
+ 0xE0, 0xD2, 0xD5, 0xD6, 0xD5, 0xE6, 0xD2, 0xE1, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD,
+ 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBB, 0xEF, 0xBB, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF6,
+ 0xFF, 0xF3, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00,
+ 0x49, 0xBD, 0xD6, 0x0A, 0xD9, 0xCD, 0xD6, 0xB6, 0xB8, 0xB4, 0xB4, 0xB0, 0xD1, 0xCA,
+ 0xD8, 0xF5, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xC0, 0xAF, 0xC0, 0xBD, 0xB5, 0xCA, 0xEF,
+ 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xDF, 0xE2, 0xD3, 0xD4, 0xD2, 0xD2, 0xD0, 0xE0, 0xF2,
+ 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBB, 0xEF, 0xBA,
+ 0xFF, 0x04, 0xF4, 0xF5, 0xF3, 0xF3, 0xF1, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA,
+ 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x44, 0xBD, 0xD6, 0x0A, 0xD8, 0xCA, 0xD1, 0xB0, 0xD6,
+ 0xD3, 0xD2, 0xCF, 0xCC, 0xD9, 0xD7, 0xF5, 0xD6, 0x09, 0xD7, 0xDE, 0xB2, 0xBD, 0xAF,
+ 0xC0, 0xBD, 0xB6, 0xCB, 0xF0, 0xBB, 0xE7, 0xBB, 0xDE, 0x06, 0xE0, 0xD0, 0xE2, 0xE1,
+ 0xE1, 0xE0, 0xDF, 0xF2, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD,
+ 0xF5, 0xBB, 0xEF, 0xBA, 0xFF, 0x00, 0xF1, 0xEC, 0xFF, 0x05, 0xF3, 0xF9, 0xE9, 0xFA,
+ 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x38, 0xBD, 0xD6, 0x09, 0xD7, 0xDA, 0xCE, 0xCF, 0xCE,
+ 0xCA, 0xDA, 0xD9, 0xD8, 0xD7, 0xF3, 0xD6, 0x09, 0xDB, 0xD3, 0xBA, 0xAE, 0xBF, 0xBD,
+ 0xB8, 0xCE, 0xF3, 0xE8, 0xBC, 0xE7, 0xBB, 0xDE, 0xFE, 0xDF, 0xEE, 0xDE, 0x02, 0xDF,
+ 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBB, 0xEF, 0xA3, 0xFF, 0x04, 0xF7,
+ 0xE8, 0xF9, 0xF7, 0xF5, 0xB9, 0xFF, 0x00, 0x30, 0xBC, 0xD6, 0x05, 0xD8, 0xC9, 0xCA,
+ 0xDA, 0xD8, 0xD7, 0xF0, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBE, 0xBD, 0xBA, 0xAD,
+ 0xE3, 0xE9, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF,
+ 0xF9, 0xBB, 0xEF, 0xA3, 0xFF, 0x05, 0xF5, 0xF8, 0xF8, 0xF7, 0xF6, 0xF3, 0xBA, 0xFF,
+ 0x00, 0x2B, 0xBC, 0xD6, 0x03, 0xD7, 0xD8, 0xD8, 0xD7, 0xEE, 0xD6, 0x02, 0xD9, 0xD1,
+ 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBB, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00,
+ 0xF4, 0xBA, 0xFF, 0x00, 0x25, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02,
+ 0xB2, 0xE9, 0xEC, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3,
+ 0xFD, 0xF1, 0xBC, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF,
+ 0x00, 0x25, 0xA5, 0xD6, 0x02, 0xD8, 0xD0, 0xB5, 0xFD, 0xBD, 0x02, 0xB4, 0xC9, 0xEE,
+ 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBC,
+ 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x29, 0xA5,
+ 0xD6, 0x03, 0xD7, 0xDE, 0xB2, 0xBA, 0xFE, 0xBD, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xBD,
+ 0xE7, 0xA4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBC,
+ 0xEF, 0xA3, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x2E,
+ 0xA4, 0xD6, 0x09, 0xDB, 0xD3, 0xB9, 0xBE, 0xBE, 0xBD, 0xB8, 0xCF, 0xE1, 0xE9, 0xEC,
+ 0xE7, 0x03, 0xE8, 0xE9, 0xE9, 0xE8, 0xD6, 0xE7, 0xA4, 0xDE, 0x02, 0xE0, 0xE6, 0xCA,
+ 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBC, 0xEF, 0xA2, 0xFF, 0x04, 0xF6, 0xF8, 0xF8,
+ 0xF7, 0xF5, 0xBA, 0xFF, 0x00, 0x39, 0xA4, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xAD, 0xBF,
+ 0xBF, 0xBC, 0xAF, 0xE4, 0xEA, 0xEE, 0xE7, 0x06, 0xE8, 0xEB, 0xF1, 0xE3, 0xE1, 0xEE,
+ 0xE8, 0xD7, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9,
+ 0xEC, 0xEF, 0x04, 0xF1, 0xF5, 0xF8, 0xF6, 0xF2, 0xD6, 0xEF, 0xA2, 0xFF, 0x05, 0xF5,
+ 0xE7, 0xF9, 0xF9, 0xF8, 0xF4, 0xBB, 0xFF, 0x00, 0x44, 0xA4, 0xD6, 0x09, 0xD9, 0xD1,
+ 0xB7, 0xBE, 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xF1, 0xE7, 0x09, 0xE8, 0xEA, 0xED,
+ 0xF2, 0xE5, 0xCC, 0xAD, 0xA7, 0xE1, 0xE9, 0xD7, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8,
+ 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xF0, 0xEF, 0x07, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD,
+ 0xBE, 0xC9, 0xF6, 0xD6, 0xEF, 0xA2, 0xFF, 0x05, 0xF5, 0xF8, 0xF9, 0xE8, 0xE8, 0xF5,
+ 0xE9, 0xFF, 0x01, 0xF3, 0xF2, 0xD5, 0xFF, 0x00, 0x4E, 0xA4, 0xD6, 0x09, 0xD8, 0xD0,
+ 0xB5, 0xBD, 0xBE, 0xBF, 0xBF, 0xB5, 0xC9, 0xEE, 0xF3, 0xE7, 0x0B, 0xE8, 0xEB, 0xF1,
+ 0xE4, 0xD9, 0xCD, 0xAF, 0xB6, 0xBA, 0xB0, 0xE7, 0xEA, 0xE5, 0xE7, 0xFE, 0xE8, 0xF6,
+ 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF2, 0xEF,
+ 0x09, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCB, 0xC0, 0xFA, 0xD6, 0xEF, 0xA2,
+ 0xFF, 0x05, 0xF4, 0xF7, 0xF8, 0xF9, 0xF9, 0xF5, 0xEB, 0xFF, 0x03, 0xF3, 0xF5, 0xF6,
+ 0xF4, 0xD5, 0xFF, 0x00, 0x65, 0xA4, 0xD6, 0x03, 0xD7, 0xDE, 0xB2, 0xBA, 0xFE, 0xBD,
+ 0x03, 0xB8, 0xCE, 0xF3, 0xE8, 0xF7, 0xE7, 0x0E, 0xE8, 0xEA, 0xED, 0xF2, 0xE5, 0xCC,
+ 0xAE, 0xB4, 0xB8, 0xBB, 0xBD, 0xBD, 0xB0, 0xE7, 0xEA, 0xE6, 0xE7, 0x05, 0xE8, 0xEE,
+ 0xDE, 0xF1, 0xEB, 0xE8, 0xF8, 0xE7, 0xA3, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
+ 0x02, 0xCA, 0xDF, 0xF7, 0xF5, 0xEF, 0x0C, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD, 0xC1, 0xC5,
+ 0xCA, 0xCC, 0xCE, 0xCE, 0xC1, 0xFB, 0xE4, 0xEF, 0x03, 0xF3, 0xF5, 0xF5, 0xF1, 0xF7,
+ 0xEF, 0xA2, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xEE, 0xFF, 0x02, 0xF3,
+ 0xF5, 0xF6, 0xFE, 0xF7, 0x00, 0xF4, 0xD5, 0xFF, 0x00, 0x72, 0xA3, 0xD6, 0x02, 0xDB,
+ 0xD3, 0xB8, 0xFE, 0xBE, 0x03, 0xBA, 0xAD, 0xE3, 0xE9, 0xF9, 0xE7, 0x10, 0xE8, 0xEB,
+ 0xF1, 0xE4, 0xD9, 0xCD, 0xAF, 0xB6, 0xBB, 0xC0, 0xB0, 0xC1, 0xBF, 0xBE, 0xB2, 0xE9,
+ 0xEC, 0xE7, 0xE7, 0x07, 0xE8, 0xEE, 0xE7, 0xA8, 0xCC, 0xE4, 0xEF, 0xE9, 0xF9, 0xE7,
+ 0xA3, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xF7, 0xEF,
+ 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x02, 0xC3, 0xFD,
+ 0xF1, 0xE6, 0xEF, 0x06, 0xF3, 0xFB, 0xBB, 0xDD, 0xFB, 0xF5, 0xF1, 0xF9, 0xEF, 0xA1,
+ 0xFF, 0x00, 0xF5, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xF1, 0xFF, 0x08, 0xF3, 0xF5, 0xF7,
+ 0xFA, 0xEA, 0xFB, 0xF9, 0xF8, 0xF4, 0xE2, 0xFF, 0x00, 0xF2, 0xF5, 0xFF, 0x00, 0x80,
+ 0xA3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xBE, 0xB2, 0xE9, 0xEC, 0xFC,
+ 0xE7, 0x13, 0xE8, 0xEB, 0xEE, 0xF3, 0xE5, 0xCC, 0xAE, 0xB4, 0xB8, 0xBB, 0xBD, 0xBF,
+ 0xB1, 0xB3, 0xB3, 0xB0, 0xBF, 0xB4, 0xC9, 0xEE, 0xE8, 0xE7, 0x0A, 0xE8, 0xEE, 0xE7,
+ 0xAF, 0xB6, 0xB6, 0xAE, 0xD9, 0xF2, 0xEB, 0xE8, 0xFB, 0xE7, 0xA2, 0xDE, 0x01, 0xE4,
+ 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xFB, 0xEF, 0x08, 0xF1, 0xF3, 0xF7, 0xFB,
+ 0xDD, 0xC1, 0xC5, 0xCA, 0xCC, 0xFA, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xE7, 0xEF, 0x08,
+ 0xF3, 0xFB, 0xC1, 0xC7, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xFA, 0xEF, 0xA1, 0xFF, 0x05,
+ 0xF4, 0xF9, 0xE9, 0xFA, 0xF8, 0xF4, 0xF4, 0xFF, 0x0B, 0xF3, 0xF5, 0xF6, 0xF7, 0xF7,
+ 0xF9, 0xEB, 0xED, 0xED, 0xEA, 0xF9, 0xF4, 0xE3, 0xFF, 0x03, 0xF4, 0xF5, 0xF5, 0xF3,
+ 0xF7, 0xFF, 0x00, 0x88, 0xA3, 0xD6, 0x22, 0xD9, 0xD1, 0xB6, 0xBF, 0xB0, 0xB0, 0xBF,
+ 0xB4, 0xC9, 0xEE, 0xE7, 0xE7, 0xE8, 0xE9, 0xEC, 0xF1, 0xE5, 0xC9, 0xCE, 0xB0, 0xB8,
+ 0xBC, 0xC0, 0xAE, 0xBF, 0xBD, 0xC0, 0xB2, 0xB5, 0xB5, 0xB2, 0xC0, 0xB6, 0xCB, 0xF0,
+ 0xE9, 0xE7, 0x0B, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBE, 0xBA, 0xB2, 0xCA, 0xDF,
+ 0xEA, 0xFB, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3,
+ 0xFD, 0xEF, 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xF7, 0xCE, 0x02,
+ 0xC8, 0xDD, 0xF5, 0xE8, 0xEF, 0x0A, 0xF2, 0xFA, 0xC0, 0xC9, 0xCE, 0xCE, 0xCC, 0xC5,
+ 0xDD, 0xF7, 0xF1, 0xFB, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF9, 0xEA, 0xEA, 0xF9, 0xF4,
+ 0xF6, 0xFF, 0x0D, 0xF4, 0xF7, 0xF8, 0xFA, 0xE8, 0xF9, 0xF7, 0xFA, 0xEC, 0xEF, 0xEF,
+ 0xEC, 0xFA, 0xF4, 0xE4, 0xFF, 0x05, 0xF4, 0xF6, 0xF8, 0xF8, 0xF7, 0xF4, 0xF8, 0xFF,
+ 0x00, 0x8F, 0xA3, 0xD6, 0x23, 0xD8, 0xCE, 0xB3, 0xBB, 0xC1, 0xB1, 0xC1, 0xB9, 0xCE,
+ 0xF3, 0xE9, 0xEB, 0xEF, 0xE1, 0xE6, 0xCC, 0xAF, 0xB4, 0xB9, 0xBD, 0xB0, 0xB0, 0xC2,
+ 0xB0, 0xC0, 0xBD, 0xBF, 0xB0, 0xB3, 0xB4, 0xB2, 0xC0, 0xB8, 0xCE, 0xF3, 0xE8, 0xEB,
+ 0xE7, 0x0C, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBF, 0xAE, 0xBE, 0xB8, 0xAC, 0xD1,
+ 0xEA, 0xFB, 0xE7, 0xA2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x0C, 0xCA, 0xDF,
+ 0xF7, 0xEF, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD, 0xC1, 0xC5, 0xCA, 0xCC, 0xF5, 0xCE, 0x02,
+ 0xCA, 0xDF, 0xF7, 0xE9, 0xEF, 0x03, 0xF3, 0xFA, 0xD1, 0xC8, 0xFD, 0xCE, 0x03, 0xCA,
+ 0xBF, 0xD5, 0xF1, 0xFB, 0xEF, 0xA1, 0xFF, 0x05, 0xF3, 0xF7, 0xFB, 0xEB, 0xFB, 0xF6,
+ 0xF9, 0xFF, 0x10, 0xF3, 0xF4, 0xF6, 0xF9, 0xEA, 0xEA, 0xFC, 0xEA, 0xFA, 0xF7, 0xF9,
+ 0xEA, 0xED, 0xEE, 0xEC, 0xFA, 0xF5, 0xE5, 0xFF, 0x07, 0xF4, 0xF6, 0xF8, 0xF9, 0xE8,
+ 0xF8, 0xF5, 0xF2, 0xF9, 0xFF, 0x00, 0x96, 0xA3, 0xD6, 0x23, 0xD7, 0xDC, 0xD4, 0xB8,
+ 0xC0, 0xB1, 0xB1, 0xBC, 0xAF, 0xE8, 0xF4, 0xE5, 0xCA, 0xD0, 0xB2, 0xB9, 0xBC, 0xBE,
+ 0xBF, 0xB0, 0xB2, 0xC3, 0xB2, 0xB0, 0xBF, 0xBD, 0xBB, 0xBC, 0xBE, 0xB1, 0xB0, 0xBF,
+ 0xBA, 0xAD, 0xE3, 0xE9, 0xEC, 0xE7, 0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD, 0xBE,
+ 0xAE, 0xBF, 0xBB, 0xB4, 0xCB, 0xF2, 0xE9, 0xFB, 0xE7, 0xA2, 0xDE, 0x02, 0xE0, 0xE6,
+ 0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1, 0xFD, 0xF7, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC,
+ 0xF8, 0xCE, 0xFE, 0xCC, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xEA, 0xEF, 0x04, 0xF3,
+ 0xFB, 0xC0, 0xC8, 0xCD, 0xFE, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xFB, 0xEF,
+ 0xA0, 0xFF, 0x05, 0xF5, 0xFA, 0xEB, 0xEB, 0xF8, 0xF3, 0xFC, 0xFF, 0x00, 0xF5, 0xFE,
+ 0xF8, 0x0F, 0xF9, 0xEA, 0xEC, 0xFD, 0xEC, 0xEA, 0xF9, 0xF7, 0xF7, 0xF8, 0xFA, 0xEB,
+ 0xEA, 0xF9, 0xF6, 0xF3, 0xE7, 0xFF, 0x07, 0xF4, 0xF6, 0xF7, 0xF8, 0xE8, 0xF9, 0xF7,
+ 0xF4, 0xF8, 0xFF, 0x00, 0x96, 0xA2, 0xD6, 0x22, 0xD9, 0xD1, 0xB7, 0xC1, 0xB2, 0xB1,
+ 0xBF, 0xB6, 0xD3, 0xCF, 0xAF, 0xB4, 0xB9, 0xAB, 0xB0, 0xAF, 0xBF, 0xC0, 0xB0, 0xC2,
+ 0xB0, 0xB0, 0xBD, 0xB9, 0xB6, 0xB4, 0xDA, 0xB9, 0xBF, 0xBF, 0xBE, 0xBD, 0xB0, 0xE7,
+ 0xEA, 0xED, 0xE7, 0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD, 0xBD, 0xBE, 0xBE, 0xBB,
+ 0xB4, 0xCD, 0xE1, 0xEB, 0xFA, 0xE7, 0xA1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x06,
+ 0xC7, 0xE3, 0xDF, 0xC1, 0xC5, 0xCA, 0xCC, 0xF9, 0xCE, 0x05, 0xCC, 0xCA, 0xC8, 0xC6,
+ 0xEA, 0xCA, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEB, 0xEF, 0x03, 0xF3, 0xFB, 0xC1, 0xC9,
+ 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xFA, 0xEF, 0xA0, 0xFF, 0x1E, 0xF5,
+ 0xFB, 0xEC, 0xEB, 0xF9, 0xF5, 0xFF, 0xFF, 0xF3, 0xF4, 0xF6, 0xE7, 0xEA, 0xE9, 0xF9,
+ 0xFA, 0xEA, 0xFC, 0xEA, 0xEA, 0xF9, 0xF6, 0xF4, 0xF3, 0xFF, 0xF6, 0xF9, 0xF9, 0xF8,
+ 0xF7, 0xF4, 0xE8, 0xFF, 0x07, 0xF4, 0xF6, 0xF7, 0xF7, 0xF8, 0xF8, 0xF7, 0xF4, 0xF7,
+ 0xFF, 0x00, 0x96, 0xA2, 0xD6, 0x1B, 0xD9, 0xCF, 0xB5, 0xAC, 0xB1, 0xC1, 0xC0, 0xBB,
+ 0xB9, 0xB8, 0xBB, 0xBE, 0xBF, 0xBF, 0xC1, 0xAF, 0xBF, 0xBF, 0xAE, 0xC0, 0xBC, 0xBA,
+ 0xB4, 0xD4, 0xD1, 0xD0, 0xD5, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xEE, 0xE7,
+ 0x0E, 0xE9, 0xEF, 0xE8, 0xAF, 0xB9, 0xBE, 0xBE, 0xBD, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2,
+ 0xEC, 0xE8, 0xFA, 0xE7, 0xA1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC,
+ 0xCA, 0xCA, 0xCC, 0xF8, 0xCE, 0x07, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE6, 0xC8,
+ 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xEE, 0xEF, 0x04, 0xF1, 0xF5, 0xFD, 0xC1, 0xC9,
+ 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF9, 0xEF, 0xA0, 0xFF, 0x14, 0xF4,
+ 0xE8, 0xEB, 0xFB, 0xFA, 0xF7, 0xF6, 0xF5, 0xF7, 0xF8, 0xF9, 0xF9, 0xFB, 0xE9, 0xF9,
+ 0xF9, 0xE8, 0xFA, 0xF8, 0xF7, 0xF4, 0xFD, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4,
+ 0xE9, 0xFF, 0x07, 0xF4, 0xF7, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4, 0xF6, 0xFF, 0x00,
+ 0x91, 0xA2, 0xD6, 0x1B, 0xD8, 0xCC, 0xD6, 0xBA, 0xC0, 0xAE, 0xBF, 0xAD, 0xBE, 0xBD,
+ 0xBF, 0xAF, 0xC1, 0xBF, 0xBF, 0xBE, 0xBE, 0xBB, 0xB9, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC,
+ 0xD9, 0xDA, 0xD1, 0xB5, 0xFE, 0xBE, 0x03, 0xBD, 0xB4, 0xC9, 0xEE, 0xEF, 0xE7, 0x0E,
+ 0xEA, 0xF1, 0xD9, 0xB0, 0xB8, 0xBF, 0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC,
+ 0xE8, 0xF9, 0xE7, 0xA1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xF4, 0xCE, 0x0A, 0xCC, 0xCA,
+ 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xDE, 0xDE, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB,
+ 0xF3, 0xEF, 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFD, 0xCE, 0x04, 0xCC, 0xC5,
+ 0xDD, 0xF7, 0xF1, 0xF8, 0xEF, 0x9F, 0xFF, 0x11, 0xF7, 0xFA, 0xE8, 0xF9, 0xE7, 0xF8,
+ 0xF7, 0xF9, 0xE9, 0xFB, 0xF9, 0xF9, 0xF8, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3, 0xFB, 0xFF,
+ 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xEA, 0xFF, 0x07, 0xF4, 0xF6, 0xF9, 0xE8,
+ 0xF9, 0xF7, 0xF6, 0xF4, 0xF5, 0xFF, 0x00, 0x91, 0xA2, 0xD6, 0x23, 0xD7, 0xDA, 0xD2,
+ 0xB6, 0xBE, 0xBF, 0xC1, 0xC0, 0xBF, 0xBD, 0xBF, 0xAF, 0xB0, 0xAE, 0xBE, 0xBA, 0xB8,
+ 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xD6, 0xD7, 0xDE, 0xB2, 0xBC, 0xAE, 0xBF,
+ 0xBD, 0xB8, 0xCE, 0xF3, 0xE8, 0xF2, 0xE7, 0x0F, 0xE8, 0xEB, 0xF3, 0xCA, 0xB2, 0xB9,
+ 0xBE, 0xC0, 0xAF, 0xBF, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF8, 0xE7, 0xA0, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xF6, 0xCE, 0x06, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xFD,
+ 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xF0, 0xEF, 0x04,
+ 0xF1, 0xF7, 0xDD, 0xC5, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF7,
+ 0xEF, 0x9F, 0xFF, 0x0E, 0xF4, 0xF8, 0xF9, 0xFB, 0xFA, 0xF9, 0xF7, 0xF9, 0xE9, 0xEA,
+ 0xE8, 0xF8, 0xF6, 0xF5, 0xF3, 0xF8, 0xFF, 0x05, 0xF3, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5,
+ 0xEB, 0xFF, 0x07, 0xF4, 0xF6, 0xF8, 0xFA, 0xE9, 0xF9, 0xF6, 0xF4, 0xF4, 0xFF, 0x00,
+ 0x8E, 0xA1, 0xD6, 0x14, 0xD8, 0xCE, 0xB3, 0xBA, 0xBE, 0xAE, 0xAE, 0xBE, 0xBD, 0xBE,
+ 0xBF, 0xBD, 0xBA, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xFD, 0xD6, 0x09,
+ 0xDB, 0xD3, 0xBA, 0xAF, 0xC0, 0xBF, 0xBB, 0xAE, 0xE3, 0xE9, 0xF3, 0xE7, 0x0F, 0xE8,
+ 0xEE, 0xE3, 0xCE, 0xB4, 0xBC, 0xBF, 0xC0, 0xAF, 0xC0, 0xBB, 0xB4, 0xCD, 0xE2, 0xEC,
+ 0xE8, 0xF7, 0xE7, 0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFA, 0xCE, 0x06, 0xCC, 0xCA,
+ 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02,
+ 0xCB, 0xCF, 0xF8, 0xF1, 0xEF, 0x04, 0xF3, 0xF9, 0xDF, 0xC5, 0xCC, 0xFD, 0xCE, 0x04,
+ 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF6, 0xEF, 0x9F, 0xFF, 0x0C, 0xF3, 0xF6, 0xF8, 0xE8,
+ 0xE8, 0xF8, 0xF7, 0xF8, 0xF9, 0xF9, 0xF7, 0xF5, 0xF3, 0xF5, 0xFF, 0x05, 0xF7, 0xE9,
+ 0xFA, 0xF9, 0xF7, 0xF4, 0xED, 0xFF, 0x07, 0xF5, 0xF8, 0xF9, 0xFA, 0xE9, 0xFA, 0xF7,
+ 0xF4, 0xF3, 0xFF, 0x00, 0x8A, 0xA1, 0xD6, 0x11, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE, 0xBF,
+ 0xBF, 0xBE, 0xBD, 0xBA, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xFA, 0xD6,
+ 0x09, 0xD9, 0xD1, 0xB7, 0xC0, 0xAF, 0xC0, 0xAD, 0xB2, 0xE8, 0xEB, 0xF5, 0xE7, 0x10,
+ 0xE8, 0xEB, 0xF1, 0xE9, 0xAD, 0xB6, 0xBC, 0xB0, 0xB0, 0xC1, 0xAE, 0xBC, 0xB4, 0xCD,
+ 0xE2, 0xEC, 0xE8, 0xF6, 0xE7, 0xA0, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x06,
+ 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xF7, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
+ 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xF4, 0xEF, 0x05, 0xF1, 0xF5, 0xFD, 0xBF, 0xC7, 0xCC,
+ 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF5, 0xEF, 0x9E, 0xFF, 0x08, 0xF5,
+ 0xF8, 0xF9, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3, 0xF2, 0xFF, 0x05, 0xF5, 0xFA, 0xE9,
+ 0xFA, 0xE7, 0xF5, 0xEF, 0xFF, 0x08, 0xF3, 0xF5, 0xF8, 0xEA, 0xEA, 0xFB, 0xE8, 0xF8,
+ 0xF4, 0xF2, 0xFF, 0x00, 0x81, 0xA0, 0xD6, 0x0E, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBA,
+ 0xB8, 0xB6, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xF8, 0xD6, 0x09, 0xD9, 0xD1,
+ 0xB6, 0xC0, 0xAF, 0xC1, 0xBE, 0xB4, 0xD9, 0xED, 0xF6, 0xE7, 0x10, 0xE8, 0xEC, 0xE1,
+ 0xCA, 0xB1, 0xB8, 0xBD, 0xBF, 0xB1, 0xB1, 0xC1, 0xBB, 0xB4, 0xCC, 0xE1, 0xEC, 0xE8,
+ 0xF5, 0xE7, 0x9F, 0xDE, 0x0A, 0xE4, 0xC8, 0xCE, 0xCE, 0xCC, 0xCA, 0xC8, 0xC6, 0xE6,
+ 0xE2, 0xE0, 0xF4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF5,
+ 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7,
+ 0xF1, 0xF4, 0xEF, 0x9E, 0xFF, 0x06, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF0,
+ 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFB, 0xF8, 0xF5, 0xF0, 0xFF, 0x08, 0xF4, 0xF6, 0xF7,
+ 0xF9, 0xEB, 0xEB, 0xFB, 0xF7, 0xF5, 0xF1, 0xFF, 0x00, 0x7D, 0xA0, 0xD6, 0x0B, 0xD8,
+ 0xCE, 0xB3, 0xB8, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7, 0xF5, 0xD6, 0x0A,
+ 0xD8, 0xCE, 0xB3, 0xBD, 0xAF, 0xC0, 0xBD, 0xB7, 0xCD, 0xF2, 0xE8, 0xF9, 0xE7, 0x11,
+ 0xE8, 0xEB, 0xF1, 0xE6, 0xCF, 0xB4, 0xBA, 0xBD, 0xBD, 0xBE, 0xC0, 0xAF, 0xBB, 0xB2,
+ 0xCA, 0xF3, 0xEB, 0xE8, 0xF4, 0xE7, 0x9F, 0xDE, 0x08, 0xE2, 0xC5, 0xC9, 0xC9, 0xC6,
+ 0xE6, 0xE4, 0xE2, 0xE0, 0xF2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9,
+ 0xDE, 0xF6, 0xF7, 0xEF, 0x05, 0xF1, 0xF5, 0xFB, 0xDF, 0xC5, 0xCC, 0xFC, 0xCE, 0x04,
+ 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF3, 0xEF, 0x9E, 0xFF, 0x03, 0xF3, 0xF5, 0xF5, 0xF3,
+ 0xED, 0xFF, 0x05, 0xF3, 0xF9, 0xE9, 0xFA, 0xF7, 0xF5, 0xF1, 0xFF, 0x08, 0xF4, 0xF6,
+ 0xF7, 0xF7, 0xF8, 0xFA, 0xE9, 0xF8, 0xF4, 0xF0, 0xFF, 0x00, 0x76, 0xA0, 0xD6, 0x09,
+ 0xD7, 0xDC, 0xD2, 0xB1, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xF3, 0xD6, 0x0A, 0xD7,
+ 0xDC, 0xD4, 0xBA, 0xAE, 0xBF, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xFA, 0xE7, 0x06, 0xE8,
+ 0xEC, 0xE1, 0xCA, 0xAF, 0xB6, 0xBA, 0xFE, 0xBE, 0x06, 0xBD, 0xBB, 0xB7, 0xAF, 0xD9,
+ 0xF1, 0xEA, 0xF2, 0xE7, 0x9F, 0xDE, 0x05, 0xE0, 0xE3, 0xD4, 0xE5, 0xE2, 0xE0, 0xEF,
+ 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF8, 0xEF, 0x05,
+ 0xF1, 0xF7, 0xDB, 0xC1, 0xC7, 0xCC, 0xFD, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7,
+ 0xF1, 0xF2, 0xEF, 0x9D, 0xFF, 0x00, 0xF2, 0xEA, 0xFF, 0x05, 0xF7, 0xE8, 0xF9, 0xF7,
+ 0xF6, 0xF3, 0xF4, 0xFF, 0x02, 0xF3, 0xF5, 0xF6, 0xFE, 0xF8, 0x03, 0xF7, 0xF7, 0xF6,
+ 0xF4, 0xEF, 0xFF, 0x00, 0x68, 0x9F, 0xD6, 0x05, 0xD8, 0xCB, 0xCC, 0xDC, 0xD8, 0xD7,
+ 0xEF, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBE, 0xBD, 0xBD, 0xB2, 0xE9, 0xEC, 0xFC,
+ 0xE7, 0x06, 0xE8, 0xEB, 0xF1, 0xE6, 0xCF, 0xB5, 0xBC, 0xFE, 0xBF, 0x07, 0xAE, 0xBE,
+ 0xBA, 0xB4, 0xCF, 0xE5, 0xEF, 0xE9, 0xF1, 0xE7, 0x9E, 0xDE, 0xFE, 0xDF, 0xEC, 0xDE,
+ 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xFB, 0xEF, 0x05, 0xF1,
+ 0xF5, 0xFB, 0xDF, 0xC5, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC5, 0xDF, 0xFB, 0xF5, 0xF1,
+ 0xF1, 0xEF, 0x85, 0xFF, 0x05, 0xF5, 0xF8, 0xF8, 0xF7, 0xF7, 0xF4, 0xF5, 0xFF, 0x01,
+ 0xF5, 0xF8, 0xFE, 0xF9, 0x03, 0xE8, 0xF8, 0xF6, 0xF4, 0xED, 0xFF, 0x00, 0x61, 0x9F,
+ 0xD6, 0x03, 0xD7, 0xD8, 0xD8, 0xD7, 0xED, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD,
+ 0x18, 0xB4, 0xCA, 0xEF, 0xE8, 0xE7, 0xE7, 0xE8, 0xEB, 0xF1, 0xE5, 0xCD, 0xB0, 0xB7,
+ 0xBB, 0xAF, 0xAF, 0xC0, 0xAF, 0xC0, 0xBB, 0xB2, 0xCB, 0xE1, 0xEC, 0xE8, 0xF0, 0xE7,
+ 0x86, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xFD, 0xEF, 0x06,
+ 0xF1, 0xF5, 0xFB, 0xDD, 0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7,
+ 0xF1, 0xEF, 0xEF, 0x85, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xF7, 0xFF, 0x09,
+ 0xF4, 0xF6, 0xF7, 0xE9, 0xE9, 0xFA, 0xE9, 0xFA, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x5D,
+ 0x87, 0xD6, 0x1E, 0xD8, 0xCE, 0xB3, 0xBA, 0xBD, 0xBE, 0xBE, 0xB9, 0xCF, 0xE1, 0xE9,
+ 0xE7, 0xE9, 0xED, 0xE2, 0xCA, 0xAF, 0xB8, 0xAB, 0xBF, 0xBF, 0xC1, 0xB0, 0xC0, 0xBC,
+ 0xA7, 0xAF, 0xD9, 0xF2, 0xEB, 0xE8, 0xEF, 0xE7, 0x86, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
+ 0xFE, 0xCE, 0x0B, 0xCA, 0xDF, 0xF7, 0xEF, 0xEF, 0xF1, 0xF3, 0xF9, 0xDB, 0xC1, 0xC7,
+ 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xEE, 0xEF, 0x85, 0xFF,
+ 0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xF8, 0xF6, 0xF9, 0xFF, 0x0A, 0xF3, 0xF7, 0xE7, 0xF9,
+ 0xF9, 0xFB, 0xEA, 0xFA, 0xF8, 0xE6, 0xF4, 0xEB, 0xFF, 0x00, 0x58, 0x87, 0xD6, 0x1C,
+ 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xBE, 0xAD, 0xBB, 0xB0, 0xE6, 0xED, 0xEB, 0xF2, 0xD6,
+ 0xD0, 0xB5, 0xBC, 0xC2, 0xB0, 0xC0, 0xBE, 0xAE, 0xBF, 0xBB, 0xB5, 0xD0, 0xE6, 0xEF,
+ 0xE9, 0xED, 0xE7, 0x86, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1,
+ 0xFB, 0xF1, 0xF1, 0xF7, 0xD9, 0xE1, 0xC5, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC5, 0xDF,
+ 0xFB, 0xF5, 0xF1, 0xED, 0xEF, 0x84, 0xFF, 0x05, 0xF5, 0xF7, 0xF8, 0xE7, 0xF7, 0xF3,
+ 0xFB, 0xFF, 0x09, 0xF5, 0xF8, 0xFC, 0xEA, 0xFA, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5, 0xE9,
+ 0xFF, 0x00, 0x54, 0x86, 0xD6, 0x03, 0xD9, 0xD1, 0xB6, 0xBD, 0xFE, 0xBE, 0x13, 0xB6,
+ 0xCE, 0xFA, 0xE5, 0xCD, 0xB0, 0xB7, 0xBC, 0xB0, 0xB2, 0xB0, 0xBF, 0xBE, 0xBB, 0xB7,
+ 0xAF, 0xCA, 0xE1, 0xEC, 0xE8, 0xEC, 0xE7, 0x85, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE,
+ 0x07, 0xC7, 0xDF, 0xFB, 0xFB, 0xDF, 0xC3, 0xCA, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC7,
+ 0xC1, 0xDB, 0xF7, 0xF1, 0xEB, 0xEF, 0x84, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00,
+ 0xF5, 0xFD, 0xFF, 0x0A, 0xF3, 0xF5, 0xF8, 0xEA, 0xEC, 0xEA, 0xF9, 0xF8, 0xF7, 0xF6,
+ 0xF3, 0xE8, 0xFF, 0x00, 0x51, 0x86, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFE, 0xBE,
+ 0x12, 0xBA, 0xB3, 0xD3, 0xAF, 0xB6, 0xBB, 0xBF, 0xC1, 0xB1, 0xB1, 0xC0, 0xBE, 0xB9,
+ 0xB2, 0xCD, 0xE5, 0xF1, 0xEB, 0xE8, 0xEB, 0xE7, 0x85, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
+ 0xFE, 0xCE, 0x05, 0xCC, 0xC5, 0xE3, 0xC1, 0xC7, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC5,
+ 0xDF, 0xFB, 0xF5, 0xF1, 0xEA, 0xEF, 0x84, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF8, 0x0D,
+ 0xF6, 0xF4, 0xFF, 0xF3, 0xF5, 0xF7, 0xF9, 0xFB, 0xEB, 0xEB, 0xFA, 0xF8, 0xF6, 0xF4,
+ 0xE6, 0xFF, 0x00, 0x48, 0x86, 0xD6, 0x07, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE, 0xAE, 0xBF,
+ 0xBE, 0xFE, 0xBA, 0x0C, 0xBD, 0xBF, 0xB0, 0xB1, 0xC1, 0xBF, 0xBB, 0xB6, 0xAE, 0xD9,
+ 0xF2, 0xEB, 0xE8, 0xE9, 0xE7, 0x85, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0xFE,
+ 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xE8, 0xEF, 0x83, 0xFF,
+ 0x04, 0xF5, 0xF8, 0xE8, 0xF9, 0xF8, 0xFE, 0xF6, 0x08, 0xF7, 0xF9, 0xEA, 0xEB, 0xFB,
+ 0xF9, 0xF7, 0xF5, 0xF3, 0xE5, 0xFF, 0x00, 0x3F, 0x85, 0xD6, 0x14, 0xD9, 0xD1, 0xB6,
+ 0xBE, 0xBF, 0xAF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBD, 0xBF, 0xB0, 0xB0, 0xBC, 0xB6, 0xAF,
+ 0xCC, 0xE4, 0xEF, 0xE9, 0xE7, 0xE7, 0x84, 0xDE, 0x01, 0xE4, 0xC8, 0xF6, 0xCE, 0x06,
+ 0xCC, 0xC7, 0xC1, 0xDD, 0xFB, 0xF5, 0xF1, 0xE7, 0xEF, 0x83, 0xFF, 0x0E, 0xF4, 0xF8,
+ 0xF9, 0xE9, 0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF9, 0xEA, 0xEA, 0xF8, 0xF5, 0xF3, 0xE3,
+ 0xFF, 0x00, 0x3F, 0x88, 0xD6, 0x16, 0xD7, 0xD8, 0xD9, 0xDB, 0xD2, 0xB6, 0xBD, 0xBE,
+ 0xBF, 0xAF, 0xAF, 0xAE, 0xBE, 0xBD, 0xBE, 0xBC, 0xB9, 0xB1, 0xCD, 0xE5, 0xF1, 0xEB,
+ 0xE8, 0xE6, 0xE7, 0x84, 0xDE, 0x01, 0xE4, 0xC8, 0xF8, 0xCE, 0x06, 0xCC, 0xCA, 0xC3,
+ 0xDF, 0xFB, 0xF5, 0xF1, 0xE5, 0xEF, 0x83, 0xFF, 0x0C, 0xF4, 0xF7, 0xF8, 0xF9, 0xE9,
+ 0xE9, 0xE8, 0xF8, 0xF7, 0xF8, 0xF8, 0xF7, 0xF4, 0xE1, 0xFF, 0x00, 0x41, 0x8A, 0xD6,
+ 0x16, 0xD7, 0xD8, 0xDA, 0xCC, 0xCF, 0xD2, 0xD7, 0xB8, 0xBD, 0xBE, 0xBF, 0xC0, 0xC0,
+ 0xBF, 0xBE, 0xBD, 0xB9, 0xB2, 0xCE, 0xD5, 0xF2, 0xEB, 0xE8, 0xE4, 0xE7, 0x87, 0xDE,
+ 0x05, 0xDF, 0xE0, 0xE1, 0xE5, 0xC8, 0xCD, 0xFB, 0xCE, 0x06, 0xCD, 0xCB, 0xC4, 0xE1,
+ 0xD9, 0xF7, 0xF1, 0xE3, 0xEF, 0x83, 0xFF, 0x0A, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFA,
+ 0xF9, 0xF8, 0xF7, 0xF6, 0xF4, 0xDF, 0xFF, 0x00, 0x45, 0x8D, 0xD6, 0x17, 0xD7, 0xD8,
+ 0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB4, 0xB6, 0xB8, 0xBA, 0xBD, 0xBE, 0xAE, 0xC0, 0xBF,
+ 0xBE, 0xBA, 0xB6, 0xAE, 0xD9, 0xF3, 0xEC, 0xE9, 0xE2, 0xE7, 0x88, 0xDE, 0x06, 0xDF,
+ 0xE1, 0xD2, 0xD3, 0xD5, 0xD9, 0xCC, 0xFC, 0xCE, 0x06, 0xCC, 0xC6, 0xD1, 0xDA, 0xF9,
+ 0xF3, 0xF1, 0xE2, 0xEF, 0x86, 0xFF, 0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xE8,
+ 0xFA, 0xF9, 0xF8, 0xF6, 0xF5, 0xF3, 0xDE, 0xFF, 0x00, 0x47, 0x90, 0xD6, 0x0B, 0xD7,
+ 0xD8, 0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB6, 0xBA, 0xBD, 0xFE, 0xBA, 0x09,
+ 0xBE, 0xC0, 0xB1, 0xB1, 0xC0, 0xB9, 0xD3, 0xE7, 0xEF, 0xE9, 0xE0, 0xE7, 0x8B, 0xDE,
+ 0x0A, 0xDF, 0xE0, 0xE1, 0xE2, 0xD3, 0xD5, 0xD6, 0xD5, 0xD7, 0xC9, 0xCD, 0xFD, 0xCE,
+ 0x04, 0xCA, 0xE2, 0xFC, 0xF4, 0xF1, 0xE0, 0xEF, 0x87, 0xFF, 0x02, 0xF4, 0xF6, 0xF7,
+ 0xFE, 0xF6, 0x05, 0xF8, 0xFA, 0xEB, 0xEB, 0xFA, 0xF6, 0xDC, 0xFF, 0x00, 0x4D, 0x93,
+ 0xD6, 0x1A, 0xD7, 0xD8, 0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD1, 0xD2, 0xB0, 0xB4, 0xB8,
+ 0xBA, 0xBD, 0xBD, 0xBA, 0xDF, 0xBA, 0xBD, 0xBF, 0xB1, 0xB3, 0xB1, 0xBA, 0xCF, 0xF4,
+ 0xE9, 0xDF, 0xE7, 0x8E, 0xDE, 0x00, 0xDF, 0xFE, 0xE0, 0x09, 0xD0, 0xD2, 0xD4, 0xD5,
+ 0xD6, 0xD6, 0xD5, 0xE7, 0xD9, 0xCC, 0xFD, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xDE, 0xEF,
+ 0x8A, 0xFF, 0x0E, 0xF1, 0xF3, 0xF5, 0xF6, 0xF7, 0xF7, 0xF6, 0xFF, 0xF6, 0xF7, 0xF9,
+ 0xEB, 0xED, 0xEB, 0xF7, 0xDC, 0xFF, 0x00, 0x5A, 0x97, 0xD6, 0x0F, 0xD7, 0xD8, 0xD9,
+ 0xD9, 0xDA, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xD8, 0xD8, 0xB8, 0xBA, 0xFE,
+ 0xBD, 0x0B, 0xB8, 0xB6, 0xB4, 0xB8, 0xBB, 0xC1, 0xB3, 0xB2, 0xBD, 0xAF, 0xE5, 0xEB,
+ 0xDF, 0xE7, 0x91, 0xDE, 0x09, 0xDF, 0xE0, 0xE1, 0xE2, 0xD2, 0xD2, 0xE3, 0xE3, 0xD4,
+ 0xD5, 0xFE, 0xD6, 0x04, 0xD4, 0xD3, 0xD4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1,
+ 0xFB, 0xF1, 0xDF, 0xEF, 0x8D, 0xFF, 0x05, 0xF3, 0xF3, 0xFF, 0xFF, 0xF5, 0xF6, 0xFE,
+ 0xF7, 0x09, 0xF5, 0xF4, 0xF3, 0xF5, 0xF7, 0xFB, 0xED, 0xEC, 0xF9, 0xF3, 0xDD, 0xFF,
+ 0x00, 0x65, 0x9B, 0xD6, 0x23, 0xD7, 0xD8, 0xD9, 0xD9, 0xDA, 0xCA, 0xCD, 0xCF, 0xD2,
+ 0xD3, 0xD6, 0xB4, 0xB6, 0xB8, 0xBA, 0xB8, 0xB4, 0xB2, 0xDA, 0xBA, 0xBD, 0xBA, 0xB8,
+ 0xB4, 0xD6, 0xD4, 0xD8, 0xB8, 0xC0, 0xB2, 0xB2, 0xC0, 0xB6, 0xCC, 0xF1, 0xE8, 0xE0,
+ 0xE7, 0x95, 0xDE, 0x15, 0xDF, 0xE0, 0xE1, 0xE1, 0xE2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD4,
+ 0xD2, 0xD1, 0xE4, 0xD5, 0xD6, 0xD5, 0xD4, 0xD2, 0xE2, 0xE2, 0xE7, 0xCA, 0xFD, 0xCE,
+ 0x02, 0xC7, 0xDD, 0xF5, 0xDF, 0xEF, 0x90, 0xFF, 0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5,
+ 0xF3, 0xF2, 0xFF, 0xF6, 0xF7, 0xF6, 0xF5, 0xF3, 0xFE, 0xFF, 0x05, 0xF5, 0xFA, 0xEC,
+ 0xEC, 0xFA, 0xF5, 0xDD, 0xFF, 0x00, 0x72, 0xA0, 0xD6, 0x01, 0xD7, 0xD8, 0xFE, 0xD9,
+ 0x0B, 0xDA, 0xCA, 0xCB, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xB2, 0xB4, 0xB8, 0xFE,
+ 0xBD, 0x02, 0xBA, 0xDC, 0xDA, 0xFE, 0xB8, 0x0E, 0xB4, 0xD6, 0xD1, 0xCE, 0xCB, 0xD0,
+ 0xB3, 0xBC, 0xB0, 0xB0, 0xBF, 0xBA, 0xAF, 0xE5, 0xEB, 0xE0, 0xE7, 0x98, 0xDE, 0x08,
+ 0xDF, 0xE0, 0xE1, 0xE2, 0xD2, 0xD2, 0xD1, 0xD2, 0xD4, 0xFE, 0xD6, 0x02, 0xD5, 0xE5,
+ 0xE4, 0xFE, 0xD4, 0x07, 0xD2, 0xE2, 0xE0, 0xDF, 0xDE, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
+ 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE0, 0xEF, 0x94, 0xFF, 0x04, 0xF3, 0xF3, 0xF2, 0xF3,
+ 0xF5, 0xFE, 0xF7, 0x02, 0xF6, 0xFF, 0xFF, 0xFE, 0xF5, 0x00, 0xF3, 0xFC, 0xFF, 0x06,
+ 0xF3, 0xF8, 0xEA, 0xEA, 0xF9, 0xF6, 0xF3, 0xDE, 0xFF, 0x00, 0x7B, 0xB6, 0xD6, 0x01,
+ 0xD7, 0xD8, 0xED, 0xD9, 0x10, 0xDA, 0xCA, 0xCB, 0xCD, 0xCF, 0xD2, 0xD3, 0xD4, 0xD6,
+ 0xB4, 0xB6, 0xB8, 0xBA, 0xB8, 0xD8, 0xD8, 0xB8, 0xFE, 0xBD, 0x01, 0xBA, 0xB6, 0xFE,
+ 0xB4, 0x10, 0xD5, 0xD0, 0xCD, 0xCA, 0xDA, 0xD9, 0xDD, 0xD4, 0xB9, 0xBF, 0xBF, 0xBE,
+ 0xBD, 0xB6, 0xCC, 0xF1, 0xE8, 0xE1, 0xE7, 0x9D, 0xDE, 0x01, 0xDF, 0xE0, 0xFE, 0xE1,
+ 0x08, 0xE2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD4, 0xE3, 0xE3, 0xD4, 0xFE, 0xD6, 0x01, 0xD5,
+ 0xD3, 0xFE, 0xD2, 0x02, 0xE2, 0xE0, 0xDF, 0xFE, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD,
+ 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xE0, 0xEF, 0x97, 0xFF, 0x07, 0xF3, 0xF4, 0xF5, 0xF6,
+ 0xF5, 0xFF, 0xFF, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xF4, 0xFE, 0xF3, 0xF9, 0xFF, 0x05,
+ 0xF6, 0xF9, 0xF9, 0xF8, 0xF7, 0xF5, 0xDE, 0xFF, 0x00, 0x88, 0xB6, 0xD6, 0x01, 0xD8,
+ 0xC9, 0xF2, 0xCB, 0x01, 0xCD, 0xCF, 0xFE, 0xD1, 0x09, 0xD2, 0xD3, 0xD4, 0xD6, 0xB4,
+ 0xB4, 0xB2, 0xB0, 0xB4, 0xB8, 0xFE, 0xBD, 0x15, 0xB6, 0xD6, 0xD6, 0xB8, 0xBD, 0xBA,
+ 0xB8, 0xB6, 0xB4, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD8, 0xCE,
+ 0xB3, 0xBA, 0xFE, 0xBD, 0x03, 0xBA, 0xAF, 0xE5, 0xEB, 0xE1, 0xE7, 0xA5, 0xDE, 0x01,
+ 0xDF, 0xE0, 0xFB, 0xE1, 0x06, 0xE2, 0xD2, 0xD2, 0xD1, 0xD0, 0xD2, 0xD4, 0xFE, 0xD6,
+ 0x0C, 0xD3, 0xE2, 0xE2, 0xD4, 0xD6, 0xD5, 0xD4, 0xD3, 0xD2, 0xE2, 0xE1, 0xE0, 0xDF,
+ 0xFB, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE1,
+ 0xEF, 0x9C, 0xFF, 0x05, 0xF3, 0xF3, 0xF2, 0xF1, 0xF3, 0xF5, 0xFE, 0xF7, 0x08, 0xF4,
+ 0xFF, 0xFF, 0xF5, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFE,
+ 0xF7, 0x01, 0xF6, 0xF3, 0xDF, 0xFF, 0x00, 0x90, 0xB6, 0xD6, 0x03, 0xD9, 0xCB, 0xD0,
+ 0xD2, 0xF4, 0xD4, 0x03, 0xD6, 0xB4, 0xB6, 0xB6, 0xFE, 0xB4, 0x07, 0xB6, 0xB8, 0xBA,
+ 0xBA, 0xDC, 0xDA, 0xDC, 0xBA, 0xFE, 0xBD, 0x0D, 0xB8, 0xDA, 0xB4, 0xB6, 0xB6, 0xB4,
+ 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xFD, 0xD6, 0x03, 0xD7, 0xDC, 0xD4,
+ 0xB8, 0xFD, 0xBD, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xE2, 0xE7, 0xB4, 0xDE, 0x01, 0xDF,
+ 0xE0, 0xF4, 0xE1, 0x03, 0xE2, 0xD2, 0xD3, 0xD3, 0xFE, 0xD2, 0x07, 0xD3, 0xD4, 0xD5,
+ 0xD5, 0xE5, 0xE4, 0xE5, 0xD5, 0xFE, 0xD6, 0x09, 0xD4, 0xE4, 0xD2, 0xD3, 0xD3, 0xD2,
+ 0xE2, 0xE1, 0xE0, 0xDF, 0xF8, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x02, 0xC7,
+ 0xDD, 0xF5, 0xE1, 0xEF, 0xA4, 0xFF, 0x02, 0xF3, 0xF4, 0xF4, 0xFE, 0xF3, 0x03, 0xF4,
+ 0xF5, 0xF6, 0xF6, 0xFE, 0xFF, 0x00, 0xF6, 0xFE, 0xF7, 0x05, 0xF5, 0xFF, 0xF3, 0xF4,
+ 0xF4, 0xF3, 0xF2, 0xFF, 0x00, 0xF5, 0xFD, 0xF7, 0x00, 0xF5, 0xDF, 0xFF, 0x00, 0x91,
+ 0xB6, 0xD6, 0x03, 0xD9, 0xCD, 0xD4, 0xB4, 0xF4, 0xB6, 0x06, 0xB8, 0xBA, 0xBD, 0xBD,
+ 0xB8, 0xDC, 0xB8, 0xFE, 0xBD, 0x12, 0xB8, 0xB6, 0xB4, 0xB8, 0xBA, 0xBD, 0xBA, 0xB8,
+ 0xB4, 0xB4, 0xB2, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xF9, 0xD6, 0x03,
+ 0xD8, 0xCE, 0xB3, 0xBA, 0xFE, 0xBD, 0x04, 0xBA, 0xAF, 0xE6, 0xEC, 0xE8, 0xE3, 0xE7,
+ 0xB5, 0xDE, 0x02, 0xDF, 0xE1, 0xD2, 0xF4, 0xD3, 0x06, 0xD4, 0xD5, 0xD6, 0xD6, 0xD4,
+ 0xE5, 0xD4, 0xFE, 0xD6, 0x0E, 0xD4, 0xD3, 0xD2, 0xD4, 0xD5, 0xD6, 0xD5, 0xD4, 0xD2,
+ 0xD2, 0xD1, 0xE2, 0xE1, 0xE0, 0xDF, 0xF4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
+ 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE2, 0xEF, 0xB3, 0xFF, 0x00, 0xF3, 0xF4, 0xF4, 0x06,
+ 0xF5, 0xF6, 0xF7, 0xF7, 0xF5, 0xFF, 0xF5, 0xFE, 0xF7, 0x0A, 0xF5, 0xF4, 0xF3, 0xF5,
+ 0xF6, 0xF7, 0xF6, 0xF5, 0xF3, 0xF3, 0xF2, 0xEF, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7,
+ 0x01, 0xF6, 0xF3, 0xE0, 0xFF, 0x00, 0x78, 0xB6, 0xD6, 0x03, 0xD9, 0xCF, 0xB4, 0xBA,
+ 0xF0, 0xBD, 0x02, 0xB8, 0xDC, 0xB8, 0xFE, 0xBD, 0x01, 0xBA, 0xDC, 0xFD, 0xB6, 0x09,
+ 0xB4, 0xD6, 0xD3, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xF6, 0xD6, 0x0B, 0xD7,
+ 0xDC, 0xD4, 0xB8, 0xBD, 0xBD, 0xBE, 0xBE, 0xB7, 0xCE, 0xE0, 0xEA, 0xE3, 0xE7, 0xB5,
+ 0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xF0, 0xD6, 0x02, 0xD4, 0xE5, 0xD4, 0xFE, 0xD6, 0x01,
+ 0xD5, 0xE5, 0xFD, 0xD3, 0x05, 0xD2, 0xE2, 0xE1, 0xE1, 0xE0, 0xDF, 0xF1, 0xDE, 0x02,
+ 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xE3, 0xEF, 0xB4, 0xFF,
+ 0x01, 0xF3, 0xF6, 0xF0, 0xF7, 0x02, 0xF5, 0xFF, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xFF,
+ 0xFD, 0xF4, 0x00, 0xF3, 0xEA, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF8, 0xF8, 0xF6, 0xE0,
+ 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0C, 0xD7, 0xDA, 0xD2, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8,
+ 0xB6, 0xB8, 0xBA, 0xBD, 0xBD, 0xFE, 0xBA, 0xFB, 0xBD, 0x12, 0xBA, 0xBA, 0xB8, 0xB8,
+ 0xB6, 0xB6, 0xB4, 0xB2, 0xD4, 0xD4, 0xD3, 0xD2, 0xCF, 0xCD, 0xCA, 0xDA, 0xD9, 0xD8,
+ 0xD7, 0xF2, 0xD6, 0x0B, 0xD8, 0xCE, 0xB3, 0xBA, 0xBD, 0xBF, 0xAE, 0xBC, 0xB3, 0xDA,
+ 0xF0, 0xE8, 0xE4, 0xE7, 0xB5, 0xDE, 0x0A, 0xE1, 0xD3, 0xD6, 0xD6, 0xD5, 0xD4, 0xD3,
+ 0xD4, 0xD5, 0xD6, 0xD6, 0xFE, 0xD5, 0xFB, 0xD6, 0x07, 0xD5, 0xD5, 0xD4, 0xD4, 0xD3,
+ 0xD3, 0xD2, 0xD1, 0xFD, 0xE1, 0x01, 0xE0, 0xDF, 0xEC, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
+ 0xFE, 0xCE, 0x03, 0xCC, 0xC5, 0xDB, 0xF5, 0xE3, 0xEF, 0xB4, 0xFF, 0x09, 0xF4, 0xF7,
+ 0xF7, 0xF6, 0xF5, 0xF4, 0xF5, 0xF6, 0xF7, 0xF7, 0xFE, 0xF6, 0xFB, 0xF7, 0x07, 0xF6,
+ 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 0xF2, 0xE5, 0xFF, 0x06, 0xF3, 0xF6, 0xF7, 0xF9,
+ 0xE8, 0xF8, 0xF4, 0xE1, 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0F, 0xD8, 0xCA, 0xD1, 0xB2,
+ 0xB8, 0xBA, 0xBA, 0xDC, 0xD8, 0xDA, 0xB8, 0xBD, 0xBD, 0xBA, 0xDF, 0xBA, 0xFE, 0xBD,
+ 0x01, 0xBA, 0xB8, 0xFE, 0xB6, 0x0D, 0xB4, 0xD6, 0xD4, 0xD4, 0xD3, 0xD0, 0xCD, 0xCB,
+ 0xCA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xEF, 0xD6, 0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD,
+ 0xC0, 0xAF, 0xC0, 0xB9, 0xAE, 0xE4, 0xEB, 0xE4, 0xE7, 0xB5, 0xDE, 0x0D, 0xE0, 0xD1,
+ 0xD4, 0xD5, 0xD5, 0xE5, 0xE3, 0xE4, 0xD4, 0xD6, 0xD6, 0xD5, 0xE6, 0xD5, 0xFE, 0xD6,
+ 0x01, 0xD5, 0xD4, 0xFE, 0xD3, 0x01, 0xD2, 0xE2, 0xFE, 0xE1, 0x01, 0xE0, 0xDF, 0xE7,
+ 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE4, 0xEF,
+ 0xB4, 0xFF, 0x03, 0xF2, 0xF5, 0xF6, 0xF6, 0xFE, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF6,
+ 0xFF, 0xF6, 0xFE, 0xF7, 0x01, 0xF6, 0xF5, 0xFE, 0xF4, 0x00, 0xF3, 0xDF, 0xFF, 0x06,
+ 0xF5, 0xF7, 0xFA, 0xE9, 0xFA, 0xF6, 0xF3, 0xE2, 0xFF, 0x00, 0x7A, 0xB7, 0xD6, 0x0C,
+ 0xD8, 0xCA, 0xCF, 0xD2, 0xD6, 0xB4, 0xB4, 0xB2, 0xAE, 0xD4, 0xB2, 0xB6, 0xB6, 0xFE,
+ 0xB4, 0xFE, 0xB6, 0x0E, 0xB4, 0xD6, 0xD4, 0xD4, 0xD3, 0xD0, 0xCD, 0xCB, 0xCB, 0xCA,
+ 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xEA, 0xD6, 0x0B, 0xD8, 0xCE, 0xB3, 0xBA, 0xBF, 0xAF,
+ 0xC1, 0xBF, 0xB7, 0xCC, 0xF1, 0xE8, 0xE5, 0xE7, 0xB5, 0xDE, 0x0A, 0xDF, 0xE0, 0xE2,
+ 0xD2, 0xD2, 0xD1, 0xCF, 0xE1, 0xD1, 0xD3, 0xD3, 0xFE, 0xD2, 0xFE, 0xD3, 0x01, 0xD2,
+ 0xE2, 0xFE, 0xE1, 0x01, 0xE0, 0xDF, 0xE1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE,
+ 0x02, 0xC7, 0xDD, 0xF5, 0xE4, 0xEF, 0xB2, 0xFF, 0x07, 0xF3, 0xF3, 0xF2, 0xF0, 0xFF,
+ 0xF2, 0xF4, 0xF4, 0xFE, 0xF3, 0xFE, 0xF4, 0x00, 0xF3, 0xDA, 0xFF, 0x06, 0xF3, 0xF6,
+ 0xF9, 0xE9, 0xFB, 0xF9, 0xF6, 0xE2, 0xFF, 0x00, 0x59, 0xB7, 0xD6, 0x07, 0xD7, 0xD9,
+ 0xCA, 0xCB, 0xCD, 0xCF, 0xD1, 0xD1, 0xFE, 0xCF, 0xF9, 0xD1, 0x05, 0xCF, 0xCD, 0xCB,
+ 0xCB, 0xCA, 0xDA, 0xFE, 0xD9, 0x01, 0xD8, 0xD7, 0xE6, 0xD6, 0x0C, 0xD7, 0xDB, 0xD1,
+ 0xB5, 0xBB, 0xBF, 0xAF, 0xAE, 0xBB, 0xB1, 0xE9, 0xEE, 0xE8, 0xE6, 0xE7, 0xB3, 0xDE,
+ 0x03, 0xDF, 0xE0, 0xE1, 0xE1, 0xFE, 0xE0, 0xF9, 0xE1, 0x01, 0xE0, 0xDF, 0xDC, 0xDE,
+ 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC2, 0xFC, 0xF2, 0xE5, 0xEF,
+ 0x81, 0xFF, 0xFB, 0xFF, 0x06, 0xF4, 0xF7, 0xF9, 0xE9, 0xE8, 0xF7, 0xF4, 0xE3, 0xFF,
+ 0x00, 0x3A, 0xB6, 0xD6, 0x01, 0xD7, 0xD8, 0xED, 0xD9, 0x01, 0xD8, 0xD7, 0xE0, 0xD6,
+ 0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE, 0xBF, 0xBF, 0xBE, 0xB8, 0xAD, 0xE3, 0xEB, 0xE6,
+ 0xE7, 0x81, 0xDE, 0xFC, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xC8, 0xCF,
+ 0xF8, 0xF1, 0xE6, 0xEF, 0x81, 0xFF, 0xFA, 0xFF, 0x06, 0xF5, 0xF8, 0xF9, 0xF9, 0xF8,
+ 0xF6, 0xF3, 0xE4, 0xFF, 0x00, 0x32, 0x81, 0xD6, 0xFC, 0xD6, 0x04, 0xD8, 0xCE, 0xB3,
+ 0xBA, 0xBD, 0xFE, 0xBE, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xE7, 0xE7, 0x81, 0xDE, 0xFB,
+ 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC6, 0xDC, 0xF5, 0xE6, 0xEF,
+ 0x81, 0xFF, 0xFA, 0xFF, 0x02, 0xF3, 0xF6, 0xF7, 0xFE, 0xF8, 0x00, 0xF5, 0xE4, 0xFF,
+ 0x00, 0x34, 0x81, 0xD6, 0xFC, 0xD6, 0x0C, 0xD7, 0xDC, 0xD2, 0xB6, 0xBA, 0xBF, 0xAE,
+ 0xBF, 0xBA, 0xB1, 0xE9, 0xEE, 0xE8, 0xE8, 0xE7, 0x81, 0xDE, 0xFB, 0xDE, 0x03, 0xE0,
+ 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC3, 0xFD, 0xF3, 0xE7, 0xEF, 0x81, 0xFF,
+ 0xF9, 0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xF9, 0xF6, 0xF4, 0xE5, 0xFF, 0x00, 0x33,
+ 0x81, 0xD6, 0xFB, 0xD6, 0x0C, 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAF, 0xC0, 0xBE, 0xB8,
+ 0xAD, 0xE4, 0xEC, 0xE8, 0xE9, 0xE7, 0x81, 0xDE, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA,
+ 0xFD, 0xCE, 0x03, 0xC9, 0xBF, 0xF9, 0xF1, 0xE8, 0xEF, 0x81, 0xFF, 0xF8, 0xFF, 0x06,
+ 0xF5, 0xF9, 0xE9, 0xFA, 0xF8, 0xF6, 0xF3, 0xE6, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xFB,
+ 0xD6, 0x0C, 0xD7, 0xD9, 0xCF, 0xB3, 0xBB, 0xC0, 0xAF, 0xBF, 0xBD, 0xB6, 0xCF, 0xE1,
+ 0xEB, 0xE9, 0xE7, 0x81, 0xDE, 0xF9, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03,
+ 0xC7, 0xDF, 0xF7, 0xF1, 0xE9, 0xEF, 0x81, 0xFF, 0xF8, 0xFF, 0x06, 0xF3, 0xF7, 0xFA,
+ 0xE9, 0xF9, 0xF7, 0xF5, 0xE6, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xFA, 0xD6, 0x0C, 0xD7,
+ 0xDB, 0xD1, 0xB5, 0xBC, 0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCB, 0xF2, 0xE9, 0xEA, 0xE7,
+ 0x81, 0xDE, 0xF9, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x04, 0xCC, 0xC5,
+ 0xDD, 0xF7, 0xF1, 0xEA, 0xEF, 0x81, 0xFF, 0xF7, 0xFF, 0x06, 0xF4, 0xF8, 0xE8, 0xF9,
+ 0xF7, 0xF6, 0xF4, 0xE7, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xF9, 0xD6, 0x0C, 0xD7, 0xDC,
+ 0xD4, 0xB9, 0xBE, 0xBE, 0xBD, 0xBD, 0xBA, 0xB2, 0xD9, 0xEF, 0xE8, 0xEB, 0xE7, 0x81,
+ 0xDE, 0xF8, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xCC, 0xC5, 0xDB, 0xF5,
+ 0xEA, 0xEF, 0x81, 0xFF, 0xF6, 0xFF, 0x06, 0xF6, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4,
+ 0xE8, 0xFF, 0x00, 0x32, 0x81, 0xD6, 0xF8, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFD,
+ 0xBD, 0x04, 0xB9, 0xB0, 0xE8, 0xEE, 0xE8, 0xEC, 0xE7, 0x81, 0xDE, 0xF7, 0xDE, 0x02,
+ 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03, 0xCC, 0xC3, 0xFD, 0xF3, 0xEB, 0xEF, 0x81, 0xFF,
+ 0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFD, 0xF7, 0x01, 0xF6, 0xF4, 0xE9, 0xFF, 0x00, 0x36,
+ 0x81, 0xD6, 0xF8, 0xD6, 0x05, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBD, 0xFE, 0xBE, 0x04,
+ 0xB8, 0xAD, 0xE4, 0xEC, 0xE8, 0xED, 0xE7, 0x81, 0xDE, 0xF7, 0xDE, 0x03, 0xE0, 0xE4,
+ 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC9, 0xBF, 0xF9, 0xF1, 0xEC, 0xEF, 0x81, 0xFF, 0xF5,
+ 0xFF, 0x02, 0xF4, 0xF6, 0xF7, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xEA, 0xFF, 0x00, 0x35,
+ 0x81, 0xD6, 0xF7, 0xD6, 0x0D, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBF, 0xAE, 0xC0, 0xBE,
+ 0xB7, 0xCF, 0xE2, 0xEC, 0xE8, 0xEE, 0xE7, 0x81, 0xDE, 0xF6, 0xDE, 0x03, 0xE0, 0xE4,
+ 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xED, 0xEF, 0x81, 0xFF, 0xF4,
+ 0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xFA, 0xF8, 0xF6, 0xEA, 0xFF, 0x00, 0x36, 0x81,
+ 0xD6, 0xF6, 0xD6, 0x0D, 0xD7, 0xDC, 0xD4, 0xB8, 0xBF, 0xAE, 0xC1, 0xAF, 0xBD, 0xB5,
+ 0xCD, 0xE2, 0xEC, 0xE8, 0xEF, 0xE7, 0x81, 0xDE, 0xF5, 0xDE, 0x03, 0xE0, 0xE5, 0xC9,
+ 0xCD, 0xFE, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEE, 0xEF, 0x81, 0xFF, 0xF3,
+ 0xFF, 0x06, 0xF5, 0xF9, 0xE8, 0xFB, 0xE9, 0xF9, 0xF5, 0xEB, 0xFF, 0x00, 0x36, 0x81,
+ 0xD6, 0xF5, 0xD6, 0x0D, 0xD8, 0xCE, 0xB3, 0xBB, 0xBE, 0xC1, 0xB1, 0xB1, 0xBC, 0xB4,
+ 0xCD, 0xE2, 0xEC, 0xE8, 0xF0, 0xE7, 0x81, 0xDE, 0xF4, 0xDE, 0x02, 0xE1, 0xD6, 0xCB,
+ 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEF, 0xEF, 0x81, 0xFF, 0xF3, 0xFF,
+ 0x07, 0xF3, 0xF7, 0xF8, 0xFB, 0xEB, 0xEB, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x38, 0x81,
+ 0xD6, 0xF5, 0xD6, 0x0E, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBF, 0xB1, 0xB1, 0xC0, 0xBA,
+ 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF1, 0xE7, 0x81, 0xDE, 0xF4, 0xDE, 0x03, 0xDF, 0xE3,
+ 0xC7, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF0, 0xEF, 0x81, 0xFF,
+ 0xF2, 0xFF, 0x07, 0xF4, 0xF6, 0xF9, 0xEB, 0xEB, 0xFA, 0xF6, 0xF4, 0xED, 0xFF, 0x00,
+ 0x38, 0x81, 0xD6, 0xF4, 0xD6, 0x0E, 0xD7, 0xDB, 0xD1, 0xB5, 0xBB, 0xC0, 0xAF, 0xBF,
+ 0xBE, 0xBB, 0xB5, 0xCD, 0xE2, 0xEC, 0xE8, 0xF2, 0xE7, 0x81, 0xDE, 0xF3, 0xDE, 0x03,
+ 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF1, 0xEF,
+ 0x81, 0xFF, 0xF1, 0xFF, 0x07, 0xF4, 0xF7, 0xFA, 0xE9, 0xF9, 0xF8, 0xF7, 0xF5, 0xEE,
+ 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF3, 0xD6, 0x04, 0xD7, 0xDB, 0xD1, 0xB5, 0xBB, 0xFE,
+ 0xBE, 0x06, 0xAD, 0xBB, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF3, 0xE7, 0x81, 0xDE, 0xF2,
+ 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1,
+ 0xF2, 0xEF, 0x81, 0xFF, 0xF0, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x02, 0xE7, 0xF7,
+ 0xF4, 0xEF, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xF2, 0xD6, 0x05, 0xD7, 0xDC, 0xD4, 0xB8,
+ 0xBD, 0xBD, 0xFE, 0xBE, 0x04, 0xBA, 0xB2, 0xC9, 0xDD, 0xE9, 0xF3, 0xE7, 0x81, 0xDE,
+ 0xF1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x03, 0xCC, 0xC3, 0xD9, 0xF3, 0xF2,
+ 0xEF, 0x81, 0xFF, 0xEF, 0xFF, 0x02, 0xF5, 0xF7, 0xF7, 0xFE, 0xF8, 0x01, 0xF6, 0xF3,
+ 0xF0, 0xFF, 0x00, 0xFF};
+
+#endif
+
+//#endif
\ No newline at end of file
diff --git a/setter/macos.r b/setter/macos.r
index ff00cda..a449fbe 100644
--- a/setter/macos.r
+++ b/setter/macos.r
@@ -1 +1,42 @@
-/****************************************************************************
The Disc Image Chef
-----------------------------------------------------------------------------
Filename : macos.r
Author(s) : Natalia Portillo
Component : fstester.setter
--[ Description ] -----------------------------------------------------------
Contains Mac OS resources
--[ License ] ---------------------------------------------------------------
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 3 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 warraty of
MERCHANTIBILITY 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, see .
-----------------------------------------------------------------------------
Copyright (C) 2011-2018 Natalia Portillo
*****************************************************************************/
#include "Types.r"
resource 'vers' (1) {
0x00,
0x01,
development,
0x00,
verUS,
"0.1",
"0.1, © 2011-2018 Natalia Portillo"
};
\ No newline at end of file
+/****************************************************************************
+The Disc Image Chef
+-----------------------------------------------------------------------------
+
+Filename : macos.r
+Author(s) : Natalia Portillo
+
+Component : fstester.setter
+
+--[ Description ] -----------------------------------------------------------
+
+Contains Mac OS resources
+
+--[ License ] ---------------------------------------------------------------
+ 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 3 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 warraty of
+ MERCHANTIBILITY 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, see .
+
+-----------------------------------------------------------------------------
+Copyright (C) 2011-2018 Natalia Portillo
+*****************************************************************************/
+
+#include "Types.r"
+
+ resource 'vers' (1) {
+ 0x00,
+ 0x01,
+ development,
+ 0x00,
+ verUS,
+ "0.1",
+ "0.1, © 2011-2018 Natalia Portillo"
+ };
\ No newline at end of file