You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/kivio/kiviopart/kivioglobal.cpp

1318 lines
62 KiB

/* This file is part of the KDE project
Copyright (C) 2003-2004 Peter Simonsson <psn@linux.se>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "kivioglobal.h"
#include <tqdom.h>
#include <tqpixmap.h>
#include <tqprinter.h>
#include <kdebug.h>
#include <tdeglobal.h>
#include <tdelocale.h>
#include <KoGenStyles.h>
#include <KoZoomHandler.h>
#include <KoGlobal.h>
#include "kivio_common.h"
#include "kivio_settings.h"
#include "kivio_stencil.h"
#include "kivio_intra_stencil_data.h"
#include "kivio_screen_painter.h"
struct PaperSizeDef {
const char* title;
float width;
float height;
int unit;
};
void Kivio::savePageLayout(TQDomElement& e, const KoPageLayout& layout)
{
XmlWriteFloat(e, "width", layout.ptWidth);
XmlWriteFloat(e, "height", layout.ptHeight);
XmlWriteFloat(e, "marginLeft", layout.ptLeft);
XmlWriteFloat(e, "marginRight", layout.ptRight);
XmlWriteFloat(e, "marginTop", layout.ptTop);
XmlWriteFloat(e, "marginBottom", layout.ptBottom);
XmlWriteString(e, "format", KoPageFormat::formatString(layout.format));
XmlWriteString(e, "orientation", Kivio::orientationString(layout.orientation));
}
// ## TODO: remove this method, now that layout.saveOasis() does it all
KoGenStyle Kivio::savePageLayout(const KoPageLayout& layout)
{
return layout.saveOasis();
}
KoPageLayout Kivio::loadPageLayout(const TQDomElement& e)
{
KoPageLayout layout;
if(e.hasAttribute("unit")) {
// Compatibility with Kivio <= 1.2.x
kdDebug(43000) << "Compatibility mode..." << endl;
KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, "unit", 0));
layout.ptWidth = KoUnit::fromUserValue(XmlReadFloat(e, "width", 0.0), unit);
layout.ptHeight = KoUnit::fromUserValue(XmlReadFloat(e, "height", 0.0), unit);
layout.ptLeft = KoUnit::fromUserValue(XmlReadFloat(e, "marginLeft", 0.0), unit);
layout.ptRight = KoUnit::fromUserValue(XmlReadFloat(e, "marginRight", 0.0), unit);
layout.ptTop = KoUnit::fromUserValue(XmlReadFloat(e, "marginTop", 0.0), unit);
layout.ptBottom = KoUnit::fromUserValue(XmlReadFloat(e, "marginBottom", 0.0), unit);
Kivio::setFormatOrientation(layout);
kdDebug(43000) << "Ready." << endl;
} else {
layout.ptWidth = XmlReadFloat(e, "width", 0.0);
layout.ptHeight = XmlReadFloat(e, "height", 0.0);
layout.ptLeft = XmlReadFloat(e, "marginLeft", 0.0);
layout.ptRight = XmlReadFloat(e, "marginRight", 0.0);
layout.ptTop = XmlReadFloat(e, "marginTop", 0.0);
layout.ptBottom = XmlReadFloat(e, "marginBottom", 0.0);
layout.format = KoPageFormat::formatFromString(XmlReadString(e, "format", pageSizeString(TDEGlobal::locale()->pageSize())));
layout.orientation = Kivio::orientationFromString(XmlReadString(e, "orientation", "Portrait"));
}
return layout;
}
KoUnit::Unit Kivio::convToKoUnit(int tkUnit)
{
switch(tkUnit) {
case 0:
return KoUnit::U_PT;
case 1:
return KoUnit::U_MM;
case 2:
return KoUnit::U_INCH;
case 3:
return KoUnit::U_PI;
case 4:
return KoUnit::U_CM;
case 5:
return KoUnit::U_DD;
case 6:
return KoUnit::U_CC;
}
return KoUnit::U_PT;
}
TQString Kivio::orientationString(KoOrientation o)
{
if(o == PG_LANDSCAPE) {
return "Landscape";
}
return "Portrait";
}
KoOrientation Kivio::orientationFromString(const TQString& s)
{
if(s == "Landscape") {
return PG_LANDSCAPE;
}
return PG_PORTRAIT;
}
void Kivio::setFormatOrientation(KoPageLayout& layout)
{
const PaperSizeDef PapersTable[] = {
{"A0",841,1189,KoUnit::U_MM},
{"A1",594,841,KoUnit::U_MM},
{"A2",420,594,KoUnit::U_MM},
{"A3",297,420,KoUnit::U_MM},
{"A4",210,297,KoUnit::U_MM},
{"A5",148,210,KoUnit::U_MM},
{"B4",250,353,KoUnit::U_MM},
{"B6",125,176,KoUnit::U_MM},
{"C4",229,324,KoUnit::U_MM},
{"C5",162,229,KoUnit::U_MM},
{"C5",114,162,KoUnit::U_MM},
{"DL",110,220,KoUnit::U_MM},
{"Letter",8.5,11,KoUnit::U_INCH},
{"Legal",8.5,14,KoUnit::U_INCH},
{"A",8.5,11,KoUnit::U_INCH},
{"B",11,17,KoUnit::U_INCH},
{"C",17,22,KoUnit::U_INCH},
{"D",22,34,KoUnit::U_INCH},
{"E",34,44,KoUnit::U_INCH},
{"null",0,0,-2} // -2 for end of list
};
int j = 0;
PaperSizeDef sizeDef = PapersTable[0];
bool found = false;
float width, height;
layout.format = PG_CUSTOM;
layout.orientation = PG_PORTRAIT;
while((sizeDef.unit != -2) && !found) {
width = KoUnit::fromUserValue(sizeDef.width, static_cast<KoUnit::Unit>(sizeDef.unit));
height = KoUnit::fromUserValue(sizeDef.height, static_cast<KoUnit::Unit>(sizeDef.unit));
if((layout.ptWidth == width) && (layout.ptHeight == height)) {
layout.format = KoPageFormat::formatFromString(sizeDef.title);
layout.orientation = PG_PORTRAIT;
found = true;
} else if((layout.ptWidth == height) && (layout.ptHeight == width)) {
layout.format = KoPageFormat::formatFromString(sizeDef.title);
layout.orientation = PG_LANDSCAPE;
found = true;
}
sizeDef = PapersTable[++j];
}
}
KoSize Kivio::loadSize(const TQDomElement& e, const TQString& name, const KoSize& def)
{
KoSize size;
if(e.hasAttribute(name + "Unit")) {
// Compatibility with Kivio <= 1.2.x
KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, name + "Unit", 0));
size.setWidth(KoUnit::fromUserValue(XmlReadFloat(e, name + "Width", def.width()), unit));
size.setHeight(KoUnit::fromUserValue(XmlReadFloat(e, name + "Height", def.height()), unit));
} else {
size.setWidth(XmlReadFloat(e, name + "Width", def.width()));
size.setHeight(XmlReadFloat(e, name + "Height", def.height()));
}
return size;
}
void Kivio::saveSize(TQDomElement& e, const TQString& name, const KoSize& size)
{
XmlWriteFloat(e, name + "Width", size.width());
XmlWriteFloat(e, name + "Height", size.height());
}
TQString Kivio::pageSizeString(int pageSize)
{
TQString psStr = "A4";
switch(pageSize) {
case TQPrinter::A0:
psStr = "A0";
break;
case TQPrinter::A1:
psStr = "A1";
break;
case TQPrinter::A2:
psStr = "A2";
break;
case TQPrinter::A3:
psStr = "A3";
break;
case TQPrinter::A5:
psStr = "A5";
break;
case TQPrinter::A6:
psStr = "A6";
break;
case TQPrinter::A7:
psStr = "A7";
break;
case TQPrinter::A8:
psStr = "A8";
break;
case TQPrinter::A9:
psStr = "A9";
break;
case TQPrinter::B0:
psStr = "B0";
break;
case TQPrinter::B1:
psStr = "B1";
break;
case TQPrinter::B10:
psStr = "B10";
break;
case TQPrinter::B2:
psStr = "B2";
break;
case TQPrinter::B3:
psStr = "B3";
break;
case TQPrinter::B4:
psStr = "B4";
break;
case TQPrinter::B5:
psStr = "B5";
break;
case TQPrinter::B6:
psStr = "B6";
break;
case TQPrinter::B7:
psStr = "B7";
break;
case TQPrinter::B8:
psStr = "B8";
break;
case TQPrinter::B9:
psStr = "B9";
break;
case TQPrinter::C5E:
psStr = "C5";
break;
case TQPrinter::Comm10E:
psStr = "Comm10";
break;
case TQPrinter::DLE:
psStr = "DL";
break;
case TQPrinter::Executive:
psStr = "Executive";
break;
case TQPrinter::Folio:
psStr = "Folio";
break;
case TQPrinter::Ledger:
psStr = "Ledger";
break;
case TQPrinter::Legal:
psStr = "Legal";
break;
case TQPrinter::Letter:
psStr = "Letter";
break;
case TQPrinter::Tabloid:
psStr = "Tabloid";
break;
case TQPrinter::Custom:
psStr = "Custom";
break;
case TQPrinter::A4:
default:
psStr = "A4";
break;
};
return psStr;
}
TQPixmap Kivio::arrowHeadPixmap()
{
const char* lineends[] = {
"50 272 2 1",
" c #000000",
"X c #ffffff",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X",
"X X XXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX X XXXX X XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX XXXXXX X",
"X X XXXXXX XXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXX X XXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XX XXX XX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXX X",
"X X XXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"//,
/*"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X X XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X X XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X X XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",*/
/*"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXX X",
"X X XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X",
"X X XXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X",
"X X XXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX X",
"X X XXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX X",
"X X XXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X",
"X X XXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XX XXXXXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX XXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX XXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX XXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX XXXXX X",
"X X XXXXXXXXXXXXXXX XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X",
"X X XXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X",
"X X XXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX X",
"X X XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XX XXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX XXXXXXX X",
"X X XXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX XXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXX XX XXXXXX XXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"*/
};
return TQPixmap(lineends);
}
TQPixmap Kivio::connectorTargetPixmap()
{
const char * connectorTarget_xpm[] = {
"7 7 3 1",
" c None",
". c #FFFFFF",
"+ c #051EFF",
" . . ",
".+. .+.",
" .+.+. ",
" .+. ",
" .+.+. ",
".+. .+.",
" . . "};
return TQPixmap(connectorTarget_xpm);
}
TQPixmap Kivio::lockPixmap()
{
const char * lock_xpm[] = {
"10 10 3 1",
" c None",
". c #FFFFFF",
"+ c #000000",
" .. ",
" .++. ",
" .+..+. ",
" .+..+. ",
" .++++++. ",
" .+....+. ",
" .+. .+. ",
" .+....+. ",
" .++++++. ",
" ...... "};
return TQPixmap(lock_xpm);
}
TQString Kivio::systemDefaultUnit()
{
TQString defMS = "cm";
if(TDEGlobal::locale()->measureSystem() == TDELocale::Imperial) {
defMS = "in";
}
return defMS;
}
TQPixmap Kivio::generatePixmapFromStencil(int width, int height, KivioStencil* stencil)
{
KoZoomHandler zoomHandler;
TQRect rect = zoomHandler.zoomRect(stencil->rect());
double zw = (double)(width - 2) / (double)rect.width();
double zh = (double)(height - 2) / (double)rect.height();
zoomHandler.setZoomAndResolution(tqRound(kMin(zw, zh) * 100.0), KoGlobal::dpiX(), KoGlobal::dpiY());
rect = zoomHandler.zoomRect(stencil->rect());
TQPixmap pix(width, height);
pix.fill(TQt::white);
KivioScreenPainter kpainter;
kpainter.start(&pix);
kpainter.translateBy(-rect.x() + ((width - rect.width()) / 2), -rect.y() + ((height - rect.height()) / 2));
KivioIntraStencilData data;
data.painter = &kpainter;
data.zoomHandler = &zoomHandler;
stencil->paint(&data);
kpainter.stop();
return pix;
}