C++ help needed!

hi all
i’m trying to build a Qt webbrowser that compiles just in fedora 15,but refuses to build in haiku because of some sort of workaround in the code??(i think)
here is the error msg:

3rdparty/qtlocalpeer.cpp: In constructor 'QtLocalPeer::QtLocalPeer(QObject*, const QString&)':
3rdparty/qtlocalpeer.cpp:104:54: error: '::getuid' has not been declared
make[1]: *** [../build/qtlocalpeer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/boot/home/Desktop/nowrep-QupZilla-1c6bd7e/src'
make: *** [sub-src-make_default] Error 2
~/Desktop/nowrep-QupZilla-1c6bd7e> 

it’s probably not too difficult to solve but i’m not a c++ guy,so i hope to find some help here.

and here is the .cpp file in question

#include “qtlocalpeer.h”
#include <QtCore/QCoreApplication>
#include <QtCore/QTime>

#if defined(Q_OS_WIN)
#include <QtCore/QLibrary>
#include <QtCore/qt_windows.h>
typedef BOOL(WINAPI* PProcessIdToSessionId)(DWORD, DWORD*);
static PProcessIdToSessionId pProcessIdToSessionId = 0;
#endif
#if defined(Q_OS_UNIX)
#include <time.h>
#endif

namespace QtLP_Private
{
#include “qtlockedfile.cpp”
#if defined(Q_OS_WIN)
#include “qtlockedfile_win.cpp”
#else
#include “qtlockedfile_unix.cpp”
#endif
}

const char* QtLocalPeer::ack = “ack”;

QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId)
: QObject(parent), id(appId)
{
QString prefix = id;
if (id.isEmpty()) {
id = QCoreApplication::applicationFilePath();
#if defined(Q_OS_WIN)
id = id.toLower();
#endif
prefix = id.section(QLatin1Char(’/’), -1);
}
prefix.remove(QRegExp("[^a-zA-Z]"));
prefix.truncate(6);

QByteArray idc = id.toUtf8();
quint16 idNum = qChecksum(idc.constData(), idc.size());
socketName = QLatin1String("qtsingleapp-") + prefix
             + QLatin1Char('-') + QString::number(idNum, 16);

#if defined(Q_OS_WIN)
if (!pProcessIdToSessionId) {
QLibrary lib(“kernel32”);
pProcessIdToSessionId = (PProcessIdToSessionId)lib.resolve(“ProcessIdToSessionId”);
}
if (pProcessIdToSessionId) {
DWORD sessionId = 0;
pProcessIdToSessionId(GetCurrentProcessId(), &sessionId);
socketName += QLatin1Char(’-’) + QString::number(sessionId, 16);
}
#else
socketName += QLatin1Char(’-’) + QString::number(::getuid(), 16);
#endif

server = new QLocalServer(this);
QString lockName = QDir(QDir::tempPath()).absolutePath()
                   + QLatin1Char('/') + socketName
                   + QLatin1String("-lockfile");
lockFile.setFileName(lockName);
lockFile.open(QIODevice::ReadWrite);

}

bool QtLocalPeer::isClient()
{
if (lockFile.isLocked()) {
return false;
}

if (!lockFile.lock(QtLP_Private::QtLockedFile::WriteLock, false)) {
    return true;
}

bool res = server->listen(socketName);

#if defined(Q_OS_UNIX) && (QT_VERSION >= QT_VERSION_CHECK(4,5,0))
// ### Workaround
if (!res && server->serverError() == QAbstractSocket::AddressInUseError) {
QFile::remove(QDir::cleanPath(QDir::tempPath()) + QLatin1Char(’/’) + socketName);
res = server->listen(socketName);
}
#endif
if (!res) {
qWarning(“QtSingleCoreApplication: listen on local socket failed, %s”, qPrintable(server->errorString()));
}
QObject::connect(server, SIGNAL(newConnection()), SLOT(receiveConnection()));
return false;
}

bool QtLocalPeer::sendMessage(const QString &message, int timeout)
{
if (!isClient()) {
return false;
}

QLocalSocket socket;
bool connOk = false;
for (int i = 0; i < 2; i++) {
    // Try twice, in case the other instance is just starting up
    socket.connectToServer(socketName);
    connOk = socket.waitForConnected(timeout / 2);
    if (connOk || i) {
        break;
    }
    int ms = 250;

#if defined(Q_OS_WIN)
Sleep(DWORD(ms));
#else
struct timespec ts = { ms / 1000, (ms % 1000) * 1000 * 1000 };
nanosleep(&ts, NULL);
#endif
}
if (!connOk) {
return false;
}

QByteArray uMsg(message.toUtf8());
QDataStream ds(&socket);
ds.writeBytes(uMsg.constData(), uMsg.size());
bool res = socket.waitForBytesWritten(timeout);
res &= socket.waitForReadyRead(timeout);   // wait for ack
res &= (socket.read(qstrlen(ack)) == ack);
return res;

}

void QtLocalPeer::receiveConnection()
{
QLocalSocket* socket = server->nextPendingConnection();
if (!socket) {
return;
}

while (socket->bytesAvailable() < (int)sizeof(quint32)) {
    socket->waitForReadyRead();
}
QDataStream ds(socket);
QByteArray uMsg;
quint32 remaining;
ds >> remaining;
uMsg.resize(remaining);
int got = 0;
char* uMsgBuf = uMsg.data();
do {
    got = ds.readRawData(uMsgBuf, remaining);
    remaining -= got;
    uMsgBuf += got;
}
while (remaining && got >= 0 && socket->waitForReadyRead(2000));
if (got < 0) {
    qWarning("QtLocalPeer: Message reception failed %s", qPrintable(socket->errorString()));
    delete socket;
    return;
}
QString message(QString::fromUtf8(uMsg));
socket->write(ack, qstrlen(ack));
socket->waitForBytesWritten(1000);
delete socket;
emit messageReceived(message); //### (might take a long time to return)

}

Need to add:

#Include <unistd.h>

in

#if defined(Q_OS_UNIX)

So it will look like this:

#if defined(Q_OS_UNIX)
#include <time.h>
#include <unistd.h>
#endif

https://bugreports.qt.nokia.com/browse/QTSOLBUG-102
http://qt.gitorious.org/qt-creator/qt-creator-ru/blobs/903457ee6954e40ff41aa01e19e8f6ccbb5c8384/src/shared/qtsingleapplication/qtlocalpeer.cpp

With all respect, khallebal, you should consider posting that sort of thing on the Devs’ mailing list rather than here:

http://www.freelists.org/list/haiku-development

I only lurk there myself, but they appear to be very helpful and welcoming of new coders.

hi
@ kedwards
thanks alot for your help that did the trick the app compiled just fine,unfortunatly i don’t think this app was written with a broad support for other platforms in mind.
1 there is no preferences window like the windows or linux versions just a settings file in the config dir
2 the theme manager is also not available, same for the plugin manager,all of these are available on the 2 plaforms i mentioned.
and in the end the first website i tried to load it froze and it won’t restart anymore, trying for terminal i get this output.

Welcome to the Haiku shell.

~/Desktop> ../../apps/qupzilla/qupzilla 
Reimplemented: void  QApplicationPrivate::createEventDispatcher

qt_init()
Reimp: HQApplication::HQApplication

Unimplemented: QApplication::setOverrideCursor

QtLockedFile::lock(): fcntl: Permission denied
QtLockedFile::lock(): fcntl: Permission denied
qt_cleanup()
~/Desktop> 

this seems like a problem with the char encoding to me?
i’ll try to compile a new one and then run it with the same version of Qt and see what will happen.
it probably crashed because i compiled it on Qt4.7.3 and ran it on Qt4.8.
@ michel
you’re probably right about not posting this kind of things on this site,but i think the guys on the dev_lists won’t apreciate either posting this kind of newbie questions on that list because it’s meant for haiku dev discussions only and they won’t be happy with everyone bugging them about anything and everything.

[quote=khallebal]
@ michel
you’re probably right about not posting this kind of things on this site,but i think the guys on the dev_lists won’t apreciate either posting this kind of newbie questions on that list because it’s meant for haiku dev discussions only and they won’t be happy with everyone bugging them about anything and everything.[/quote]

Although you are right about how these type of questions might be unwelcome on the development lists, however they are more than welcome on the haiku-3rdparty mailing list.

Any question about developing your own app or even a request for clarification of an api can be made on this list.

http://www.freelists.org/list/haiku-3rdparty-dev

qupzilla!!!

This is without doubt one of the very best apps I think we could hope to get working well under Haiku soon- this or QtWeb:

http://www.qtweb.net/

I realise there is no official flash plugin for Haiku and nor is this likely to change any time soon although we may be able to get GNASH or Lightspark to run under qupzilla or qtweb before web+ can compete feature-wise with these two.

If those were the only two problems you experienced with qupzilla under Haiku khallebal then I’d love to get this packaged up somehow!

EDIT:

I’ve just found a QtWeb package for Haiku - it seems to be over a year old so dunno if it will work and I’d still like to see a Haiku qupzilla package if it works well enough.

well,i actualy i got in touch with the author since i wrote this,and he was kind enough to add a few lines of code for haiku in the source,so now qupzilla compiles fine with a few changes in the defines file,i haven’t upstreamed all the changes needed yet,but you can compile it yourself,if you know how,i have a copy of the latest version,i just don’t have where to post it.
if you want to build it here is a howto:

so to build qupzilla follow these steps

1)remove the following lines from the files “lib.pro” and “main.pro

unix:QT += dbus

2)change the paths for the install routine in the “defines” file to the
haiku dir structure,you only need to change 3 lines as follows:
from:

!mac:unix {
d_prefix = $$(QUPZILLA_PREFIX)
binary_folder = /usr/bin
library_folder = /usr/lib
data_folder = /usr/share/qupzilla

to:

!mac:unix {
d_prefix = $$(QUPZILLA_PREFIX)
binary_folder = /boot/apps/qupzilla
library_folder = /boot/common/lib
data_folder = /boot/apps/qupzilla

3)copy and past this code into pe,save it as qupzilla and give it the “.rdef” extension.

resource app_signature “application/x-vnd.Qupzilla”;

resource app_version {
major = 1,
middle = 1,
minor = 8,
variety = B_APPV_ALPHA,
internal = 0,
short_info = “Qupzilla”,
long_info = “Qupzilla ©2010-2012 The Qt/WebKit Project”
};

resource app_flags B_SINGLE_LAUNCH;

resource file_types message {
“types” = “text/html”,
“types” = “image/gif”,
“types” = “image/jpeg”,
“types” = “image/png”,
“types” = “application/x-vnd.Be-bookmark”,
“types” = “text”,
“types” = “application/x-vnd.Be-doc_bookmark”,
“types” = “application/x-vnd.Be.URL.file”,
“types” = “application/x-vnd.Be.URL.ftp”,
“types” = “application/x-vnd.Be.URL.http”,
“types” = “application/x-vnd.Be.URL.https”
};

resource vector_icon {
$“6E636966BB05FF03B7E6EA03BAE8EB03B6E1E503BAEBEF03BAEDF103B7EAEF03”
$“B8E8EB03BBEBEF03BAEAEE03BBF1F603BBEBF003BAEAEF03B8E8EC03B9EBEF03”
$“B2E0E403B8EBF003B6E6EA03BAE9ED03B4E5E903B6EBF003B3E8EE03B5E9ED03”
$“B8E8ED03B6E5EA03B6E3E703B4E7EC03B7E5E905FE03ADE2E703BAEFF403BCEE”
$“F303B2E9EE05FB03B4E9EE05F403B5E5EA0382D5E905F20380D7EB05FC05FA03”
$“B4F1F705F805EE03ABE3E903B2EDF20363C5DB0381D5E803B6ECF105ED03F1F0”
$“F005E803AEE5EA0378D7ED037ACCDE05F605E9036FD6ED0362C9E105E603B2E7”
$“EC0360CDE503A4E1E60362D7F20369D7F0033BF1F60363D8F305E40384D6E903”
$“5FD8F503A4E6EC0360D4EF035CD9F6035AD3EF0364D2EA036BD1E9036BCFE603”
$“8FD6E6035BD5F30321757D032780890388D5E6035BD9F7032B8F97039ADCEA03”
$“81C8D8034DF4FA0392D2E1039AD7E30382D1E10356D5F50362CCE40363CCE403”
$“5FD5F003A8E2EF032A8B930358D5F3035AD7F40364D0E905D40390DFF10385E0”
$“F703A3DCE8039ADFEF0360D8F4032C949E0396E2F3039BE0F00393E2F30380E2”
$“FA03CEF3FB039AE1F203B2E5F0032F9DA7032C99A303A2E4F40391E6FB03CAEF”
$“F603AFE9F70396E7FA0390E4F90383E3FA0331ACB703ACE8F50331A3AC0332AA”
$“B503C7EEF703CAF2FC032E9FA903C7F0F903A3EAFB0336B3BE0333ADB803D0F3”
$“FB03A8EAFA03B3EDFA03ACECFB0331A7B205C20333B2BE05BB03C5C5C603D2F4”
$“FB05B803C2F0FA05BF033BC2CF03E8FBFF0335BCCA0334B9C503EDFBFF033DC5”
$“D1032EA4AF0337BFCC033AC4D203BFF0FC0325A1AC0333C7D6032DACB803E8FA”
$“FF033CD8E605C903D4F6FD0335B5C20339C3D00336C2CF03E4FAFF03F1FDFF03”
$“36CAD8033BC7D4033DC9D40337BDC8033CC7D2033ABFCB0330B0BC033BC2CE03”
$“38BECA033AC0CC0331B6C40339BFCA0336B9C50338BCC9033AC2CE033ECBD703”
$“3ECED90338BECBC00A042020206060606020060AE7FF0FB4E424B55424B4E424”
$“B5B0B5FD29B53128B53128B56DB6A8B663B6C9B5DFB709B663B6C9B517B54AB5”
$“17B54AB64DB5FDB836B843B73CB747B87BB889B97CB92FB90DB945BA7FB8FEB8”
$“DBB748B91EB793B820B676B65BB4A7B76CB517B5F2B47B0605FB03B67C24B6E3”
$“24B67C24B787B5B3BA12B8E0BA12B8E0BA05B775B72FB4CBB7D4B60AB72FB4CB”
$“B77BB4E4B77BB4E4B73BB48B0A062B24B77BB4E4B72FB4CBB944B795BA45B8AD”
$“B7AE240608AFA9B7AE24B7AE24B7EAB581BA122BB908B77ABA122BBA78B7FB31”
$“B6E2B7482DB4E42E25B8C7B4CB06058B03B8C724B99D24B8C724BA78B77B33B9”
$“46B517BA78B6C9BA78B6C9BAC8B5E30A11B9932431B531BA122532B54ABA45B5”
$“4ABA45253428BADE2833B5E334B6E235B6AFBBAAB748BBDDB715BBF7B715BBF7”
$“B74837B74835240A043524BC43B748BCDCB74837240A063724BCDCB72F3FB6E2”
$“3FB6C9BE5BB6C9BE5B240A0ABE5B24BE5BB6C9BFD9B6AFBFD9B4E4C0A5B531C0”
$“BFB4CBC0D8B4CBC0D8B51743B517432406074A3C4324C10BB5B0C125B54A44C1”
$“3EB6E2C13EB6E2C1CBB67CC1F124C1EFB53BC1F1240A0BC1F124C171B6E24628”
$“C23D28C23DB54A47B54AC2A3B64949B4CBC323B663C33CB663C408240A09C408”
$“2448B7484AB67CC3D5B67CC389B77BC323B77BC323B795C3D5B7AE4E240A064E”
$“244AB7E1C46E2CC5ED25C587B517C5A0240207C587B517C5AEB460C587B517C5”
$“ED25C5ED25C59BB5B44B2CC4C1B7614B2CC43BB814C43BB814C566B77B51B4E4”
$“C595B5BD51B4E44CB8474CB847C57DB7C1C71F24C6C7B5A0C688240609FF3F02”
$“C71F24C71F24C689B5C64CB847C58BB76FC524B74751B4E4C66DB619C590B581”
$“C3D52CC537B838C413B848C521B8C7C496B8A2C521B8C7C4D4B847C4D4B847C5”
$“36B842C5872CC558B81BC5872C4EC76B240607F33E53B54AC769B46053B54AC7”
$“D1C76BB5E3C76BB5E3C6CBB5E950B72FC65EB6A850B72FC71FB663502C502CC7”
$“07B74A5724C891B594C82B24060EBEA8AA0A5724C587B8C7C587B8C7C66DB820”
$“5529C6FAB6D55529C7852B5453B7FB55B748562BCA6826C851B6E259B531C936”
$“2557B54AC91D24060AAABE0FC91D2457B54AC9362559B531C851B6E2CA6826CA”
$“6826C98BB6E9C69FB92DC75FB794C69FB92D5BB5E3CA3529CA3529CB10B651CA”
$“CE24CACEB554CACE240607FA292EB4B1B87A252DB4E42DB4E4B850B57931B748”
$“B93EB6FA31B748B6E2BA12B715322A060D6AE44B00C0BFB4CBC0A5B531BFD9B4”
$“E4B6AFC0A52AC1F1B77B4AB7E14AB7E1C357B751C13EB6E2C1EBB6EDC13EB6E2”
$“44B54AC125B5B0C10B060C2AF1A2C323B4CBC2A3B64947B54AC23D284646B5E3”
$“46B5E3C0CEB6CDC389B77BC2C1B776C389B77BC3D5B67C4A48B74849B4CB061C”
$“8AA2AABE12AA8FB9DF2533B6C9BA78B946B51733B77BBA78BA122ABA78B7FBBA”
$“122BB979B77BBA452EBC5DB847BC10B7FBBC102CBC102CBCB4B7BDBDDB2BBD81”
$“B812BDDB2BBC76B795BC43B6E237B748BBAA35B6AF34B6E233B5E3BADE283428”
$“3428BAF5B5E3BA45B54ABA59B4A4BA45B54A32BA1225060C8AFA2FC738254E2C”
$“C587C4D4B847C53A2EC606B7954EB8C74EB8C7C605B860C71FB663C6C7B71BC7”
$“1FB66350B72F50B72FC671B6B8C76BB5E3C6D2B5F4C76BB5E3C7D1B54A530613”
$“BFAF9AAA3FB517B54AB634B5B9B517B54AB663B6C9B663B6C9B5DAB6F1B53128”
$“B580B698B53128B5FD29B4E4B5B0B4E4B5B0B4E4B685B597B7AEB4ADB755B597”
$“B7AE26B72FB5B0B74825B67CB6E2B7E1B7FBB6492CB77BB8ADB715B814B814B8”
$“AD2CB847B7E12DB7E12DB854B8A0B97930B8CEB94FB902B8D4B7ECB7E3B868B8”
$“68B71EB7080A07CA68B5E3532EC7852FC69FB9DFCACE2ACACEB663CA35290607”
$“FA1A25B67CB5B0B74826B72F26B72FB5C7B852B8C7BA12B7B7B994B8C7BA12B6”
$“492CB6E2B7FBB7E10608EBCF4EB8C7C66CB8424EB8C7C606B7954DB8C74DB8E0”
$“4DB8E0C53DB8F4C5EDB942C59AB948C687B937542BC77BB7E3542BC785552955”
$“29C6D5B6C206247FFFFCFFAFF6BF6AFABC76B795BC8DB729BC76B795BDDB2BBD”
$“DB2BBD5EB803BC102CBCBFB7ACBC102CB7FBBC5DB847BC5DB847BBD2B867BAC5”
$“B84EBB39B823BA1FB88DB913B9ACB98BB932B729BB9BB6AFC059B6AFBDBEB6AF”
$“C059B6C9B72FBF73B72FBF73B8B2BF6AB900BD04B82C3BB99FBC79BB11BB77BA”
$“CDBC50BB11BB77BA5F35BA5F35BA5FBA7835B8E0BAA6B97935B8E033BB1133BB”
$“11BB0FBB0CBCF9BA8CBCD7BB2BBD19B9FEBCC330BC0BBA0BBCC3BA5EBE7435BE”
$“A2BAA6BE7435BF27343FBB11BFA6BADEBAC5BEDABA45BEDABA45C00BBAAB44B8”
$“E0C0F1BA16C06DB882BE5BB748BF03B805BF75B7A9C18BB8DEC076B866C1EBB9”
$“07C2A3B8ADC287B932C2A3B8ADC36FB8C7C3D5B87AC3A22DC3EFB814B7FBC1F1”
$“B77BC0A52AC0A5B6AFC0A5B6AFBF92B6AFBD75B70FBE81B6D7BD14B7230607AB”
$“3EC6D2BA45C706B9E3C6D2BA45C9CF2EC99CB861CA352CC9E9B7E1CACE2ACACE”
$“2AC99DB749C7B2B962C883B888C766B9B10608AA7EC9E9B7E1CA352CC9CF2EC7”
$“05BA5FC738BADEC76BBADEC76BBADEC820B9FECACEB8C7C9C3B934CACEB8C7B7”
$“2F0607AF2ABE5BB748BE5BB748BECAB80244B8E0C088B8A744B8E043B9F9C20A”
$“B979C270B993C1F1B946C20A2F060AFFAA0A55B74855B748C794B7E5C69FB9F9”
$“C544B92EC69FB9F951BA4551BA45C738BA6DC851B979C7DAB9FCC851B979C6D2”
$“BA45C804B913C69FB9DFC7852FC69FB92DC851B74806076B3AB4E42BB623B7CF”
$“B4E42B2A30B6AFB979B993B87ABA78B8AD32B8ADBA12B8ADBA12B7BCB9260202”
$“B4E4B7AEB59DB7F5B4E7B8862A30B61FB991B6A2B8AB0A08B715B8142BB8C7B8”
$“C7B9F9B8E0B9F9B94630B7E12D2CB847B814B8AD0609ABBE03C3A22DC46FB822”
$“C3A22DC3D5B87AC36FB8C7C33C2EC2A3B8ADC1F1B913C1F1B913C29FBA094C2F”
$“4AB9204C2FC46EB8ADC653B9DFC653B9DFC5F7B9260606E60BB4E4B861BA45B5”
$“7D33B59733B59733B655BA292CBB11B740BA702CBB11B861BA45061CAAAA11BD”
$“A9BD69C46EB8AD4C2FC27030C33C31C18BBB11C072BBF741BBDDBFD9BC43BC5D”
$“C059BC76BFF338C125BC5DC125BC5DC12DBC02C1A4BBDDC14ABBEBC1A4BBDDC1”
$“71BBAABB91C1F1BBAAC257344BBA5FBA45C3D5B9F9C3D5B9F9C40CBA11C46EB9”
$“F9C460BA45C46EB9F9C4BBBA12B92DC507B993C56D30B92D06033BC76BBB2BC7”
$“54BA45C76BBB2BCACEB993CACEB8C7CACEB8C7C9FEB8FB060DAFAA1A02BB2BB8”
$“E0BB2BB8E0BAA9B9B0BA5F35BA5FBA68BA5F35BB11BB77BAC5BBDDBADEBC43BB”
$“77BBDD36BBF7BC43BBDDBC76BB9138BB2BBB113335B8E00611F6A6BEEA03C4BB”
$“B92DBA12C46EB9F9C46EB9F9C46EBA52C3D5B9F9C411BA07C3D5B9F94BBA45BA”
$“5FC25734C1F1BBAA483449BB1149BB11C3BFBAA34DBAC5C45FBAA84DBAC5C4BB”
$“BA5FC587334EBA45C5ED32C63931C63931C5C7B972C507B993C587B941C507B9”
$“9306081FFD38303830BC41BA1D3734BD86BAC93734BB1138BB2BBC4335BC4335”
$“BC9BBB51BE0BBAB3BE72BB793BBA28BCC330BD00BA14BCC33006106FEAABA643”
$“B97943B979C071BA66BEDABA45BFC8BA7DBEDABA45BFA6BAC5BADE3FBB11BF27”
$“34BE7435BE41BB11BE41BB11BE42BB5D3DBB91BE40BB803DBB91BE5BBC433FBB”
$“4443BAABC171B9F9B9DF43B9F9C125B9790606AF0FC20AB979C20AB979C1A7B9”
$“E043BAABC0EEBA0743BAAB3FBB443D3742BB4442BB44C105BA77C323B9DFC23C”
$“B9EFC323B9DF0604EBC785BB11C880BA93C785BB11C79EBB7759BA57CACEB993”
$“CACEB993C9B4B9A40203C32331C336BA80C249BA0D42BB44C0E2BA5242BB44C1”
$“8BBB11C18BBB11C1EDBAB4061AAAAFA669A6AA0AC5ED324EBA45C58733C4BBBA”
$“5F4DBAC54DBAC5C447BAD1C2A3BBF7C2DBBB4FC2A3BBF746BBDDC25737C17138”
$“BDA8C20ABD75C257BD29BCC3C2A3BCDCC32338BC764737BC10C56D34C5A0BA78”
$“C66CBB11C606BAAB50BA4551BA5FC69FB9F9C66C310A0754BB77C80437CA0235”
$“CA68BAC5CA35BA78CACEBA5FCACEB9DF060BE69B3EB4E4BA45BCA92738B517BB”
$“DDB517BBDDB563BBD0B57DBB77B57936B57DBB77B6AF36BBAAB57D34B795BBDD”
$“B7FBBB2BB7FBBB2BB79BBAABB59733B60031B59733060ABF4F0E50BA45C6F0BA”
$“B650BA45C606BAABC606BAABC68CBB1AC653BC10C684BB73C653BC10C606BBF7”
$“C5A0BD42C5A0BD42C62DBD34C6B938C6ABBD32C6B93852BD42C738BD29C738BD”
$“A8C738BDA8C794BCCC06114FF6AAEA03C66CBA5FC76CBA3AC6CFBB8053BDA8C7”
$“51BC6E53BDA8C738BD2952BD4238C6B938C6B938C6A7BCF550BD0F51BD1150BD”
$“0FC66CBD8F52BD75C66CBE0EC5073BC653BE41C5D33FC76BBF27C76BBEA7C76B”
$“BEA7C7F8BE77C79EBD8FC7A8BE01C78EBCC10609FA2601CA35BA78CA68BAC5CA”
$“0235CA0235C95DBB6DC83738C813BBC7C83738CA9BBBF7BC10CA68BC43CACEBA”
$“5F06057E02C5A0BA78C56D34C56D34C46DBAF9C309BC10C3C2BB6BC309BC1037”
$“C5D3BB2B060F7F6FBC3E49BB11C397BAAB49BB1148344834C27BBB7CC171BB91”
$“C21DBBA6C171BB91BBAAC1A4BBDDC1A4BBDDC143BBE5C125BC5DC11ABBF7C125”
$“BC5DC0BFBC7638C125C125BDA8C125BDA8C199BD8FC17138C171BCF3C17138C2”
$“573746BBDDC2A3BBF7C2A3BBF7C305BB47C4BBBAC5C40CBB11C452BA890A09C5”
$“D3BAC5C5D3BB2BC52136C521BBDD4F39C5ED39C606BBF7C653BC1051340A0AB5”
$“7D34B6AFBBAAB6AF36B57DBB77B517BBDD2738B4E4BCA9B4E4BDDBB6A7BDC7B7”
$“7B360611AAAAE49F02BE0E34BC5D35BC76BB91BC43BBDD36BBF7BB77BBDDBADE”
$“BC4334BBF733BC10BB2BBCC3BB11BC5DBB11BC5DBB55BC78BBF6BCC0BBA8BCC6”
$“BCCBBCABBDDBBBF7BCDFBBB9BDDBBBF7363CBBDDBE41340604EBC73834C80DBB”
$“A9C73834C796BD29C7CEBE32C8B7BE5BC8B7BE5BC8ABBD46060A6BA40FBE4137”
$“BF40BC36BE41373CBD8FC059BC76BC5DBFD9BC4341BBDDC072BBF7C125BB44C1”
$“25BB44C0C6BB44BFEEBB55C044BB2EBF30BBAA061B669A86A8FA8A2F47BC1037”
$“C323BC7638C2A3BCDCC257BCC3BD29C20ABD75C125BDA83BC18B44C03FC171C1”
$“7ABF0DC1D7BDA8463BC3A2BCDCC36FBCA9C36F38C36F38C3FFBC8F4CBBF7C449”
$“BC804CBBF74DBC43C4D4BCDCC507C53ABC43C4D4BBDDC4D4BBDDC540BBCBC5A0”
$“BB44C570BBA8C5A0BB44C404BC12060CEAFF84BE41BB913CBBDDBDDB36BDDBBB”
$“F7BDDBBBF7BCF0BBA2BC0FBCA7BCD5BC65BBB9BCC3BB11BC5DBB60BC72BB34BD”
$“E3BCC3BCD0BBD9BD1FBD42BCA6BE0E37BDDABCC1BE0E373CBCA9BE413DBB9106”
$“0A7FAA0FC4D4BBDDC598BBEAC4D4BBDDC53ABC43C53ABC43C4D8BD184B3CC52B”
$“BDAC4B3CBE41C5873CC5073BC66CBE0E52BD75C66CBD8FC66CBD8FC64EBD28C5”
$“A0BD42C5FEBD39C5C8BC97060C9FEAFF4CBBF74CBBF7C439BC6CC36F38C3FCBC”
$“8EC36F38BCA9C3A2BCDC463BC1D7BDA8C1A4BE7446BF7346BF73C365BF33C389”
$“3BC25FBDD8C3893BC36FBD75C36FBD75C3CFBD57C3EFBCC3C3E4BD24C476BCD2”
$“4DBC43C4C4BCD44DBC430A14C9CFBBF7C9CFBC105ABC10C983BC76C98338C9CF”
$“38C9CFBCA9C983BD0FCA68BD42C99CBDA8C9CFBDF5C8B7BE0EC8B73CCA9B3CCA”
$“9BBE41CA68BE74CACEBE74CACEBC43CA68BC43CA9BBC100609FE9A02B99338B9”
$“93BCA9B993BCA9BA7ABCBABA71BDD9BA1DBD45BA9EBE27BB443DBAFABE5CBB44”
$“3D35BE74BADEBE0EBDF5BBDDBE0EBAC5BC10060BBE6A24C837BC5D55BC5D55BC”
$“5DC85FBD69C9CFBDF5C8A3BE2BC9CFBDF5C99CBDA8CA68BD42C983BD0FC9CFBC”
$“A938C983BC765ABC10060CAAFEA8BE0E37BDF5BD0FBC10BE0EBD42BEA7BD8FBE”
$“5BBD42BF27BD42BF27BDA9BEDCBE1DBDF7BDCCBE58BED7BD1DC125BD8FC09DBC”
$“2EC125BD8FC13EC12538BF30BCCF3CBD8F0203BBAABDA8BC14BCCFBC91BE49BD”
$“F5BD0FBD0CBD20BDF5BD0FBE0EBC76BE0EBC76BD38BCAA0204B8C73AB8F3BCE1”
$“B8C73AB92DBDDBB92DBDDBB96DBDD7B9F7BDD2B9B8BDE4BA5FBDB6BA36BCD1BA”
$“82BD1EB9BCBC590604FBBF0DBD75BF33BD10BF0DBD75C0A5BDA843BDF543BDF5”
$“C0EDBD9FC0C5BCD2C108BD14C068BC760604EBC507BCA9C585BDD4C507BCA9C3”
$“EFBCC3C36FBD7549BDDB49BDDBC42DBE1E06099ABD02B8ADBD42B7FBBF0DBF27”
$“B87ABF40402E402E40B8A4BF57B92DBF0DB8CEBF37B92DBF0D303B2FBD420608”
$“F6FE43BD42BDF5C0A5BDA8C0A5BDA8BFAFBD93BDDBBEC1BDABBD0DBDDBBEC1BE”
$“74BE5BBEC13DBEC13DBF4CBE4142BEC1C01EBE4EC15BBE5BC125BD42C128BE1D”
$“C125BD42060BA6FC1AB4E4BDDBBEC1B67C3EB71548B72FB77BC2A3B77BC2A3B7”
$“8CC3142DC389B7BDC364B7E7C321B7FBC23DB76CC299B7FBC23DB72FC10BB6AF”
$“C125BDDB0612AB2AAF640E30BDDBBA3DBDD930BDDBBAC5BEDA32BEC1BAABBF27”
$“BA78BF8DBC10BFA6BBF7BF73BC5D37BF0D37BF0DBCC2BF00BD8FBE5BBD54BEF9”
$“BD8FBE5BBD42BEA7BBF73BBBDDBE0EBADEBDF5BE0E35BE74BB443DBB443DBA9B”
$“BDF2061DBFAA1A12917E4402C1253BC1253BC143BE7342BEC1C106BE68C037BE”
$“3EBEC13DBF3BBE37BEC13DBE74BE5BBDA83D3ABF27BD42BEDA37BF0DBC433FBD”
$“29BF0D3FBD423B40C00CBFA6BE0EBF8DBEA7BF73BE5B3FBE743EBEDABF0DBEDA”
$“BF0DBF69BE8FC0D8BEDAC029BED6C0D8BEDABF4043BEDAC10BBF8DC18B3B0606”
$“3F0F45BFA6C213BF87C1CEC027C2DAC07BC22BC125C366BFF5C3EFBE0EC3B7BE”
$“C2C3EFBE0E49493B493BC28CBDE3C2DBBF09C313BE84C2B5BF66060D7EA69F01”
$“49BDDBC3EFBE0EC3EFBE0EC396BED347C0A5C352C03947C0A5C0BF49C0A542C3”
$“89BF73C455BF8DC4D43EC4D43EC4B4BE804BBE41C49FBE4B4BBE413C4CBE0EBD”
$“F50608ABE630BE0EB9FEBE3430BE0EB9133EB979BEC130BF73BAAB3FBF2732BE”
$“C1BAC5BEDABAC5BEDABA90BE200606BE0A4C3CC4D43EC4D43EC43CBF26C4D4BF”
$“F3C455BFB1C4D4BFF3C4BBBF404FBF8DC653BE410A0DC8B73CC76BBEA7C738BF”
$“F353BFF353BFA6C76BBFA6C76BBFF3C785BFF3C785BF0DCACE3DCACEBE74CA68”
$“BE74CA9BBE410606BE0229BE41B6AFC125B6AFC125B76FC105B7AE3FB7ACC004”
$“B7AE3FB72FBF73B6C9C059B6AF060F8A846A3EC1A4BE74C171C03F44C13EBF8D”
$“C125C00CC10B42BF40C10BC171C1714446C18BC0BF47C0D845BFA645BFA6C254”
$“BF73C1D7BE74C210BEDEC1D7BE74060333C903C00CC903BEC6C903C00CCACECA”
$“CE3DCACE3DC99CBEA6060BF69119B4E4BEC1BFF3B64940B64940B60DC01BB54A”
$“C00CB5B0C00CB54AC00CC059B649C0BFB517C0D8C10BB67C433E0606AB0FB946”
$“BEC1B99BBF0BB946BEC1B8ADC13E3144B993C125B993C10BB993C10BBA8AC0F6”
$“B92D40B992C009B95ABF6B0611AB913E1203BEDABF0DBF45BE7FBEDABF0DBE74”
$“3EBE5B3FBEA7BF73BF8DBE0EBFA6C07240C03FBF4042BF7342BF73C0CDBF38C1”
$“0BC00C43BFD6C10BC00CC125C10BBEDA43BF40C0D8C0D8BEDAC0D8BEDAC03FBE”
$“D20606660FC8D0BEDAC171CACEC1F1C00CC903C00CC903C00CC903BF8DC969BE”
$“DAC8F2BF23C969BEDA060BEF9329B92DBEDAB92DBEDAB85BBFBCB847C171B88F”
$“C054B847C1712BC125B7FBC23DB7FBC23DB795C253B7AEC309B7AEC2AEB7AEC3”
$“092CC257B97945C1A4B8ADC13E30BEDA0605E703C79EBF0DC7EABEFDC79EBF0D”
$“BFF3C8D0C00CC8D0C0A5C8D0C0A5C8F4C04DC8ABBEE9C91ABF1AC860BEC90204”
$“BD0FBF0DBD0FBF0DBC3BBF5838C072BC50BFAB38C0723B413B41BDC0BFAEBD29”
$“3FBDB3BF50BD293F060ACA1309C785BF0DC738C13E53C76BC0BFC76BC0BFC7D1”
$“C0BFC89D42C881C10EC89D42C8B744C8D0C00CC79EBFF30604EBB77BC171B6C9”
$“C0FDB77BC1712BC125B847C171B87ABF40B87ABF40B7A8BF1D0A044FBF40C507”
$“C0A5C70543C76BBF270608ABE6C03FBF40C0E7BF98C03FBF40C10BC1D7C13EC1”
$“A4C257C270C2BD46C20AC17144C10BC171C10BC171C0DEC0C8060AAAC60BC4BB”
$“BF40C4D4BFF3C389BF73C32342C3A2C072C0D84947C20A47C20AC3C5C1C4C5A0”
$“BF73C51FC099C5A0BF734DBF4006052F02B92DBF8DB92DBF8DB98DC07536C03F”
$“BB51C1D736C03F3743BC43BC10BFA606108B1299FEBBF7BF73BC7ABF9EBBF7BF”
$“73BC43C0BFBC5D3842BC10C1F1BC76C13E38C1D73AC18BC1A4BD0FC1D7BD8FC1”
$“A4BD8FC20ABD8FC20ABE09C1CEBDCEC094BE95C0E1BD82C076BCA9C0D8BCF4C0”
$“BFBC9DC0590607EB3753BFA6C79EC05E53BFA6C633C2BAC653C3EFC66CC3EFC6”
$“6CC3EFC680C2F25446C6CB475446C20A52C1D752C1D7C70BC1220610861199F1”
$“B4E4BFF3C125B66326C1A4C1D729C0A5B67C43B517C10BC0D8B649C0BFC059B5”
$“4AB54AC00CB54AC00CB5AAC00CB6494028C02FB649400607FE1B3B403B413B41”
$“BD40C02FBCA9C0D8BCC1C047BD19C0BCBDA8C03FBD80C0B7BE05C060BEC1C00C”
$“BEA5C08BBEC1C00CC072C05940060DAF667F02BEC1C00CBEC1C00CBE7DC074BD”
$“A8C03FBE13C059BDA8C03F3CC125C072C20A3D43C0D8C125C20A46C0BF46C0BF”
$“46C0F8C2DBC23D47C1DCC393C1ECC2A2C1A4C23DC138C2BDC1A4C23DC20AC008”
$“C00C06033B36C03FBC68C0A936C03F33C125BBDDC1D7BBDDC1D7BC29C1440604”
$“4F46C0BF46C0BFC1CFC1E749C0D8C33EC20949C0D8C3A2C0720609AADA034945”
$“4BC20AC408C2574CC2A3C4A1C257C56DC1D745C53AC18BC53AC18BC66844C521”
$“C072C520C075C521C0720A0FBC5D42BBDDC1D7BA12C0D8B993C10BB993C125BB”
$“9147BBDDC1F1BBF7C1F1BBDDC2BDBDF5C33CBDF5C323BD8FC309BDA847BC10C1”
$“F138420608AFDAC89D4257C142C85843C76BC0BFC7D9C0C0C76BC0BF53C13EC7”
$“1FC10B52C1D7C851C23DC2A3C86AC2A3C86AC2A3C883C1EE0608EAABC5A043C5”
$“3AC18BC56D45C56DC1D7C56DC1D7C4EDC1F1C587C270C58EC24FC587C270C5ED”
$“C20AC653C2705243061AA7A619FEAFFA0F3DC0D8BF56C0FD3DC0D843C072C20A”
$“BE65C137BD8FC20AC1A4BD0FC1D73AC1A4C18B38C1D7C13EBC7637C1F137C20A”
$“37C20ABD43C27EBF73C2BDBE40C2BDBFFEC2BD43C323C0A5C29843C32344C309”
$“44C309C17AC3B0C25747C275C326C25747C2A346C257C270C13EC1A4C1A4C20A”
$“C1A4C23DC1A4C23DC106C2A4C23D47C1E6C2ADC1BDC372C0BF46C10FC2D7C0BF”
$“46C12546C12546C092C1940A09B4E4C125B4E448B6C9C270B6AF44294429C1D7”
$“26C1D726C1A4B663C1250A082FC13EBA78C257BA78C270BA45C2A3BB1148BB11”
$“C33CBBAAC270BABBC1DE06033EC8B74456C25756C257C9ACC293CACEC20AC9F7”
$“C2E7CACEC20A0605BE0230C18B2CC2572CC2572CC3D3B993C270B93A4AB993C2”
$“7032C2BDBA78C2700204C323C2D6C329C1F9C379C2EAC438C2F9C3DDC314C4C3”
$“C2D0C408C257C465C266C408C2574BC20A4BC20AC323C1A80609FFBF02C25747”
$“C25747C249C30844C309C1B6C39744C30943C32343C323C0BEC289BD8F48BDDF”
$“C270BE27C2F2BF40C34EBEA8C33CBFE8C360C10BC3A2C08AC31BC1A6C38547C2”
$“A3C295C36F47C2A3C33CC2BDC323C1D70609AAEA03BBDDC1F134C46EB92D49BA”
$“C3C4BCBADE4FBB11C4D43BC653BDDBC653BDDBC653BD9CC59CBB2BC4A1BBD8C4”
$“EFBB2BC4A1060DBEAAEA03C5EDC20AC587C270C587C270C575C1FFC4A1C2574D”
$“C246C4A1C2574BC309C4D4C33C4CC389C507C408C521C33CC4BB48C507C323C5”
$“87484FC46E4FC46EC67BC3EA50C20AC66CC2D750C20A0604EFC5D34CC65BC36B”
$“C653C46651C389C6C2C41351C389C837C33CC851C23DC851C23DC6C7C1F3060A”
$“AF9A065B465B46CA4DC321C86AC23DC912C272C86AC23D5549C89DC32356C389”
$“5AC36F49C9CFC309CACEC33C4606052F02B6C9C23DB6C9C23DB5CFC309B4E4C4”
$“08B4E4C273B4E4C408B72FC389B7482AC23D0A08B993C2702FC36FB913C36FBA”
$“C5C36FBB44C3A235C323BB11C33CBB11480605BF0336C270BC31C2F1BBCEC2F3”
$“38C323BC13C30FBCC2C442C072C3A2C02CC4EDC072C3A2BE744ABDF5C33CBDF5”
$“C33CBD4CC3390605EF03B72FC2A3B72FC2A3B735C37FB847C507B7D0C454B847”
$“C5072FC521B8ADC3A2B8ADC3A2B80CC39DB77BC2A3B7A5C33CB77BC2A3060EF6”
$“BFAA0A47C2A3C2BDC46EC389C46EC389C3F3C39B49C455C392C3EBC3C7C432C4”
$“554CC404C427C41EC4ABC46BC506C403C512C4E9C4F5C5D3C4BBC545C4BAC5D3”
$“C4BBC58748C507C323C4BB48C521C33CC507C4084CC389C4D4C33C0606AA0FBB”
$“AAC2BDBB774A3BC46F3F4DBFF3C46EBFF3C46EBF004B38C323BCEEC44C38C323”
$“0204BFF34DC053C393BFF34DC059C521C059C521C0FDC3EBC372C40CC245C449”
$“C3D0C3F9C46EC389C40FC3A2C367C2290609A7FA03BD8F48BE4A48BD8F48C309”
$“BDF5C323BDDBC36FBE744AC072C3A2C059C3EFC059C3EFC085C3D6C0A849C0EB”
$“C394C073C324BFA6C34CBFE7C348BEE8C35406141A16A5EA47C9CFC3095A49C3”
$“6FC837C86AC3A24AC3D5C837C3EFC408C91DC43BCA024DCA9BC4D4CA68C46ECA”
$“024CC9E9C408C9E9C408CA32C400CA024ACA69C3C7CA024AC3A2CACEC33C060A”
$“3EAA0A2DC3892DC3A22DC3A2B933C3E0BAC54DBA05C40CBAC54DBADEB92D4934”
$“C46EBB44C3A2BAC5C36F33C394B9ACC323060DAF16A502C804C33CC804C33CC7”
$“9DC471C9E9C56DC8ADC53FC9E9C56D5AC507C91DC43BC837C408C3EFC3D5C86A”
$“4AC3A2C837C36F56C389C89DC3230608F6A9B748C33CC389B72FC389B72FC389”
$“B6D0C32AB4E4C408B55EC3E6B4E4C408C56DB57DC521B54AC4D4B77B4A0609FA”
$“F902C7D1C33C51C389C6B94AC6B94AC64DC46E4DC4BB4FC4BA4DC4BBC5A04EC5”
$“3AC5D34EC5D34EC626C4ECC71FC4BBC697C4ABC71FC4BBC804C33C06076A3EC0”
$“D8C36FBD4252BFF3C738C71FBE41C66CBE4150BE4150BF3CC59FC10BC36FC092”
$“C46EC10BC36F0606AB0EB748C3A2B775C3ECB748C3A2B54AC4D4B57DC521B4E4”
$“C5A0B7154C2A4B2A4BB741C4040203BAABC5D3BA5AC5AEBAE3C507B901C3B7BA”
$“12C370B818C3F231C54FB981C52BBA15C5760205BB77C3EFBBEEC335BBF9C41E”
$“BCF5C4A0BC7AC45CBD40C4C9BDC6C534BD76C517BE06C54CBF42C4C9BFC4C57F”
$“BF0DC4803CC480BE75C48BBD81C466061186AAE2AB01CA02C3A24ACA4FC9E9C4”
$“08CA024CCA68C46ECA9BC4D4CA02C4BB5AC521C9CFC9E9C56D54C45554C45555”
$“C50CCA02C5EDC93FC5A6CA02C5EDC9CFC5A0CA4FC56DCACEC587C3A2060CABA9”
$“E9B77B4AB7CDC41AB77B4A2A4BB7154CB517C587C5A0B57DC58726C5EDB748C4”
$“D44DB6C9C56DB7E14CB77BC4BBB77BC4BBB7BAC4550607FA3F2E4AB8C7C521B8”
$“C7C53AB8C7C53ABA24C5CEBD29C69FBB94C7AEBC58C65CBADEC5A035C669BADE”
$“C5A0BAABC5D3BAABC5D3B9B3C52BB8C74AB8E1C507B8C74A0A07354A35C43BBB”
$“AA4BBC5DC4A1BC5DC507BE41C5D3BEDAC56D0606BE09BB44C3EFBB2BC4A1BB2B”
$“C4A1BBBAC4FDBE5BC5A0BE0CC6B5BE5BC5A0BC5DC507C4A1BBAA4B0608ABEAC0”
$“59C521C0BDC412C059C521C03FC4D4BFF3C4BBBEA7C606C00CC5EDC0F5C497C3”
$“3C4BC33CC3EFC33CC3EFC236C40E0607FF3DC79EC408C79EC408C782C440C759”
$“C4D2C746C48EC793C58ECA4F52C999C6BBC9DDC62B54C507C87EC56A54C5074D”
$“CA4FC653CA4FC653C9F0C59D544CC86EC4D9544C060A9BBE0D46C4A1C26AC455”
$“46C4A1C2D64CC4A146C4D4C257C56DC125C587C125C587C184C5E3C270C56DC2”
$“26C5E4C270C56DC43BC455C43B49C45549C455C300C3F40611AAA6AAEA032CC4”
$“3BB77BC4BBB7E14CB6C9C56DB7484DC4D4B517C5EDB54A50B5315127C653B54A”
$“53B61652B5FDC738B7954FB761C6A8B54A57B54A57B6E3C839B8ADC587B775C6”
$“9BB8ADC587060AAB7E0FC3EFC521C3DAC4B5C3EFC521C389C53A4AC587494E47”
$“C606C20AC5EDC20AC5EDC2A3C7224BC56DC483C5824BC56D4EC46EC53AC46EC5”
$“3AC428C4E2C455C455C427C4B9C3EBC47D060967EA03C00C4FC083C573C00C4F”
$“C5D3C1D7C606C5EDC125C587C257C56D46C4D4C2D6C4A1C2D6C4A1C25BC473C0”
$“CDC4A8C132C43FC074C5050A07C71F4CC5D34E4EC53A4DC5A0C507C53A4BC6B9”
$“C6D2C56D060886F44B4EC56DC46EC20AC6B9C257C6D2C1F1C76BC1F1C76BC3AD”
$“C7ECC507C4A1C4A9C5FBC507C4A106033EBB11C4D434C60634C606BBB6C64C3B”
$“50BD41C7063B500A11C270C56DC18B4FC18BC5D3C1D7C5EDC1D7C606C00CC5D3”
$“C00CC5EDC20AC69F46C69FC2BD51C20AC5ED47C606494E4AC587C389C53AC3EF”
$“C521C3EF4D06067F0AC71FC4D4C71FC4D4C76BC5A4C8B7C69FC81DC608C94EC6”
$“67CACEC7D1CA35C796CACEC7D1C6B9CA3551CA4F5206031FB8614DB8614DB8C7”
$“C61DBB7752BA45C6EBBB7752C6D20A08544D54C5075AC6B9CACEC6B9CACEC587”
$“CA4FC56DC9CFC5A0CA4FC6530605FE02C6B9C5A0C851C66CC851C66CC8A1C76C”
$“CA4F54C965C77ECA16C746C8B7C69FC936C64FC8B7C69FC738C50706079B3FC2”
$“A354C303C711C2A354C36FC79E54C13EC89DC13EC8B7C13EC8B7C30CC898C6B9”
$“4EC5F1C6FDC5F5C59BC4A151C559C62AC3FAC6D6060DBE8A4A02B4E4C5A0B4E4”
$“C99CB4E4C99CB57EC953B66355B619C8B8B66355B53157B57DC804B597C78525”
$“27C653B53151B54A50B517C5EDB57DC5870205B4E4C9E9B53DC8D3B5F0C980B7”
$“C5C71FB70DC7FBB84251B92DC653B867C5F1B920C604B881C5A7B8EEC578B808”
$“C5DBB75AC71EB7A1C6B5B6B4C80F0609A7FA03C66C4FC72F4EC66C4FC5D35A57”
$“C9E9C8515B565AC7EBCACE55CACE55CA93C76CC91DC763C9ABC79AC8B2C739C8”
$“51C66CC87CC6CDC78CC671060BAB223AB77B4FB7B4C707B77B4FB5FDC738B616”
$“52B54A53B597C69FB57D25C785B597B57DC804B53157B54A57B54A57B610C7FA”
$“0606A70CBE4150BF98C576BE4150C639C0BFC713C20AC71F46C257C6B9C257C6”
$“B9C126C6180204C653C5D3C794C668C699C66BC79EC738C727C6C6C88CC820CA”
$“CE5AC99EC98DCAA0C98DC9A6C8CECA0EC932C8A9C7D906086BE8C639C5EDC789”
$“C6D8C639C5EDC5EDC653C8D057C8B7C90359C99CC99C585AC99C5AC99CC92EC8”
$“4C0608FBFB27C99CB629C8B027C99CB8E0C6B9B5E3CA35B5E3CA35B6F159B8BF”
$“53B7F9C834B91752B92DC606B9A0C67EB92DC606B913C6532FC6062FC606B82B”
$“C625B7BB53B822C6BFB72C55060EFFA9E60F35C6B9BC9DC722BBABC735BCDCC7”
$“A8BC5DC763BD64C7F3BEA7C892BE12C86AC047C902C36F54C1F6C84CC36F54C7”
$“9EC2A354C20AC78546C7D1BEDA55C804BFD9C7D1BFD954BFD954BEB954BCA9C7”
$“1FBDA3C7C0BCA9C71F3C503C50BD02C66C0605FB03B979C653B9B0C6C8B979C6”
$“53B72A58B5E3CB01B5E3CB01B662CAEAB6E85AB69BCA7AB792C94CB8D9C79EB8”
$“39C874B91CC7420203B993C653BA0FC672BA91C7B5BE5BC8D0BCBBC87EBDD1C7”
$“CBBADEC6FEBBD8C773BA6BC6C80606E60FBE41C653C66CBFF3C71FBFF3C738BF”
$“F3C738BEF2C738BCA9C71FBD8BC6A4BE06C862C13EC73840C751C13EC738060B”
$“ABCA3FC804CA9BC71FCA20C804CA9BC65355C6B9C851C606C71F54C8D0C785C8”
$“37C79EC804C89DC804C89DC7BAC7D4C652C68DC6FFC709C5F6C64DC541C6EFC5”
$“65C67FC527C746C5C2C7EBC594C7ADC65DC8B706058F02B99351B99351B8A6C8”
$“00B649CB01B6D6C95AB649CB01B8C733C785BB2BC79E0607FF3B27C99CB6E3C8”
$“E827C99CB7FBC705B7FBC705B76EC747B6ADC837B716C7CBB5C6C921B4E4CB01”
$“B4E4C9A8B65BCB01B81455B766C94FB81455B5E3CA35B8E0C6B9B8E0C6B9B797”
$“C7130A08BF8DC79EBF8D54BFD954BFD9C7D1BEDAC804BEDA5546C7D1C20A5202”
$“05BAC552BC50C6EEBAC552BAC5C705BAC5C705BC21C774BEA8C8DABD54C873BF”
$“9BC923C1A4C89DC0B8C8D1C0CFC84ABEC1C892BFA7C8CFBD58C8330606BF0AC7”
$“D152C7D152C845C7E5CACEC9CFC9D3C959CACEC90A5AC7EBCB0DC8175AC7EB5B”
$“56C9E9C8515A57060CABAAF8C3EF54C437C785C3EF54C455C851C4BBC837C53A”
$“C8D04DC7EB52CACEC606C9E9C66CCB01534FC86AC6B9C936C6B9C936C682C8B6”
$“C506C720C59DC72EC4A8C71A0608FFEBC606C71FC7A2C7EEC66EC819C7E1C9CF”
$“C73FC8F5C82ECA35C86ACB01C892CA79C86ACB01CACECB01CACECB01CACECA12”
$“C99C58CA64C9C4C99C58CA4F5B59CA4FCA02CACECA02CACE55CA4B020433C785”
$“33C785B9ECC88CB8C7CB01B8F3C9C5B91ACB01B9E8CAE7B99FCB1ABA87CA77BB”
$“2BC79EBB7AC84FBB2BC79E06088F68BB2BC79EBB2BC79EBB7CC8B7B9F9CB01BA”
$“44C9F9B9F9CB01BC43BCC356BCA9BC5DC8B738C86AC8510607AA3E4A54C3EF56”
$“4955C3EF574CCB014FCB014FCB01C54CC9D5C3EF54C3EFC92AC3EF540606FB0E”
$“C3D5C7D1C464C819C3D5C7D1C4A4C9CCC5A0CACEC5A0CACEC668CA65C521C91D”
$“C5A1C96CC521C91DC53AC99CC521C99CC521C99CC4E7C9090609ABA203C2D6C8”
$“37C363C804C2D6C837C36FC96949C9034BCA9BC3D5CB014CC3EF574955C3EF56”
$“C3EF56C3BEC7D3060BABF2384DC7EBC59BC87E4DC7EBC53AC8D0C4BBC837C455”
$“C851C521C99CC53AC521C91DC521C91DC5CBC9BA4FCB01C601CA254FCB01C66C”
$“C606C9E952CACE52CACEC6B3C9EF0608EAFFC65355C804CA9BC6D2C91D4FC86A”
$“4FC86AC5E2C923C762CAE7C6C4CA7BC7A0CB12C887CAAEC87FCB1BC88CCA6DC8”
$“1BCA01C83DCA2EC7A6C96DC6D2C837C729C8DBC6D2C8370608AFAAC785C837C7”
$“85C837C7BFC953CA02CACEC8D5CA9FCA02CACE59CA4FCA4F5BC903C8B7C8D057”
$“C7D1C837C804C89D060D8BC48B03BC5DC8B7BC7AC84ABC5DC8B7BCA956BCC3BC”
$“43CB01BC765B3838CACE38CACEBD13CA8C3AC983BD7ACA183AC983BD8FC903BD”
$“75BD4258BD29C86ABD29C86ABCC7C8600607CF2B47C85147C851C25DC931C33C”
$“CB01C2EBCA35C33CCB01C3D54BCA9B4BCA9BC40CCA1249C903C3CBC95249C903”
$“C36FC969C2D6C8510A0DC13EC8B744C936C171C936C171C8D0C1A4C8D0C1D759”
$“46C99CC1F1CA68C20ACA68C23DCA02C2A3CB01C33CCB0147C86A060E2A4FA40F”
$“BD0F56BD4258BD75C903BD8F3AC9833AC983BD6AC9E0385BBCCCCB01385BBC76”
$“CB01BF275BBEDACA9BBEC15A3DCA353DCA35BE72C9C3BEA757BE5CC94BBEA757”
$“0A0CBEC157BEC1C90341C90341CACEBF73CA023FCB0143CB01C0BF57C0D857C1”
$“25CA68C13ECA68C10BC8D00A10C10BC8D0C13ECA68C125CA68C0D857C0BF5743”
$“CB01C2A3CB01C23DCA02C20ACA68C1F1CA6846C99CC1D759C1A4C8D0C171C8D0”
$“C171C93644C9360A0ABE74573DCA35BEC15ABEDACA9BBF275BBF27CB013FCB01”
$“BF73CA0241CACE41C903C00A000100000A010101000A020102000A030103000A”
$“040104000A050105000A060106000A070107000A080108000A090109000A0A01”
$“0A000A0B010B000A0C010C000A0D010D000A0E010E000A0F010F000A10011000”
$“0A110111000A120112000A0D0113000A130114000A140115000A150116000A16”
$“0117000A170118000A180119000A19011A000A1A011B000A00011C000A1B011D”
$“000A17011E000A1C011F000A1D0120000A1E0121000A1F0122000A200123000A”
$“210124000A220125000A230126000A240127000A250128000A260129000A2701”
$“2A000A28012B000A29012C000A2A012D000A2B012E000A2C012F000A2D013000”
$“0A2E0131000A2F0132000A300133000A310134000A320135000A330136000A34”
$“0137000A350138000A360139000A37013A000A38013B000A39013C000A3A013D”
$“000A3B013E000A3C013F000A3D0140000A3E0141000A3F0142000A400143000A”
$“410144000A420145000A430146000A440147000A450148000A460149000A4701”
$“4A000A48014B000A49014C000A4A014D000A4B014E000A4C014F000A4D015000”
$“0A4E0151000A210152000A4F0153000A500154000A510155000A520156000A53”
$“0157000A540158000A550159000A56015A000A57015B000A58015C000A59015D”
$“000A5A015E000A5B015F000A5C0160000A5D0161000A5E0162000A5F0163000A”
$“600164000A610165000A620166000A630167000A640168000A650169000A6601”
$“6A000A67016B000A68016C000A69016D000A6A016E000A6B016F000A6A017000”
$“0A6C0171000A6D0172000A6E0173000A6F0174000A700175000A710176000A72”
$“0177000A730178000A740179000A75017A000A76017B000A77017C000A78017D”
$“000A79017E000A7A017F000A7B0180000A7C0181000A7D0182000A7E0183000A”
$“7F0184000A800185000A810186000A820187000A830188000A840189000A8501”
$“8A000A86018B000A87018C000A88018D000A89018E000A8A018F000A8B019000”
$“0A8C0191000A8D0192000A8E0193000A8F0194000A900195000A910196000A92”
$“0197000A930198000A940199000A95019A000A96019B000A97019C000A98019D”
$“000A99019E000A9A019F000A9B01A0000A9C01A1000A9D01A2000A9E01A3000A”
$“9F01A4000AA001A5000AA101A6000AA201A7000AA301A8000AA401A9000AA501”
$“AA000AA601AB000AA701AC000AA801AD000AA901AE000AAA01AF000AAB01B000”
$“0AAC01B1000AAD01B2000AAE01B3000AAF01B4000AB001B5000AB101B6000AB2”
$“01B7000AB301B8000AB401B9000AB501BA000AB601BB000AB701BC000AB801BD”
$“000AB901BE000ABA01BF00”
};

then compile it using this command:

rc qupzilla.rdef

this will generate a binary qupzilla.rsrc
then add the resources to the browser with the following command.

xres -o /path/to/qupzilla/binary /path/to/qupzilla.rsrc

that’s it good luck

khaled.

Thanks for that Khaled!

Thats great news that Qupzilla now has some support for Haiku! Thats more than we can say for Firefox and Chromium and pretty much the rest of them too except web+ and maybe Qtweb?

Unfortunately I don’t have a machine that can run Haiku here with me now but I should be able to try you build guide tomorrow - thats if you can’t get your binary uploaded somewhere for us instead, which would be the preferred mode of testing for me! :slight_smile: I’m sure Haikuware would be happy to host and share it for you - have you tried submitting it to them yet?

I’ve not got round to trying the Haiku port of Qtweb yet - have you? I’m curious which of these Qt/ webkit browsers currently runs the best under Haiku?

the pkg is a little bit big to submit to haikuware,the limit there is 2MB i think.
just take my word for this one,qupzilla is the best Qt/webkit browser i’ve seen,unfortunatly qt browsers crash quite often in haiku,and qupzilla is no exception.the crashes are caused by buggy webkit internals.hopefuly the maintainer will fix them before the alpha4.

Weird, as far as I know Haikuware’s limit is 200 megs.
Anyway, there was some activity recently on Haiku’s QT port, see http://qt.gitorious.org/+qt-haiku/qt/qt-haiku-port/commits/4.8-haiku
Too bad one would have to compile it himself to check that… if it compiles in the currect state ofc.

Nice job porting Qupzilla by the way, it is one damn good browser.

The upload limit at Haikuware’s repository is a lot more than 200mb, so a 2mb file is fine (the forum has a 2mb limit).

The upload limit at Haikuware’s repository is a lot more than 200mb, so a 2mb file is fine (the forum has a 2mb limit).[/quote]

it looks like i mixed up things!
in that case i’m going to compile a binary with the latest source and submit it there for everyone.
thanks Karl for hosting software for haiku.

khaled

I cant’ await to see qt working again on haiku neightlies.
I need badly the S.T.E editor again, since i can write faster code using it. (now i have to use the pe editor).
By the way, on tuesday i will release a new version of documentviewer, with some new interesting features.

Qupzilla is at haikuware.com now,go get it.